Port attribution layer from pbnz-skills v0.2.0 as v0.2.1#1
Conversation
…v0.2.1 Ports the full attribution stack that originally landed in PBNZ/pbnz-skills v0.2.0 before newton-skill was established as Newton's canonical home: - NOTICE.md at repo root (MIT licence text + attribution chain for andrej-karpathy-skills upstream) - Attribution-when-building-on-others'-work principle added to SKILL.md Core principles, framed as the second half of Reuse before reinvention - Self-eval gate item 10 (mandatory pre-delivery attribution check) - Credits footer at end of SKILL.md with absolute NOTICE URL so attribution travels with the skill when distributed as a release asset - Related-work section in plugin README pointing to NOTICE via relative link - Version bump to 0.2.1 in plugin.json and marketplace.json - Tool-rules regenerated from updated SKILL.md via scripts/generate-rule-files.py Behaviour unchanged; frontmatter, name, description, and trigger rules identical to 0.2.0. The skill now attributes derived work as part of normal operation, not just documents that it should. See CHANGELOG.md v0.2.1 entry for the full record, including provenance note pointing to the pbnz-skills v0.2.0 origin.
There was a problem hiding this comment.
Pull request overview
Ports the attribution/NOTICE layer for the Newton skill into this repository (previously landed in pbnz-skills), so downstream redistribution preserves licensing and provenance while keeping Newton’s runtime behavior unchanged.
Changes:
- Added a root
NOTICE.mdwith MIT license preservation and a section-by-section derivation breakdown for upstream material. - Updated Newton documentation/rules (
SKILL.md+ generated tool-rules) to include an attribution principle, a self-eval attribution gate, and a credits footer. - Bumped plugin/marketplace versions to
0.2.1and added a0.2.1changelog entry.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
tool-rules/copilot-instructions.md |
Regenerated Copilot rule-file to include attribution principle + credits/footer. |
tool-rules/.windsurfrules |
Regenerated Windsurf rule-file to include attribution principle + credits/footer. |
tool-rules/.cursorrules |
Regenerated Cursor rule-file to include attribution principle + credits/footer. |
tool-rules/.clinerules |
Regenerated Cline rule-file to include attribution principle + credits/footer. |
plugins/newton/skills/newton/SKILL.md |
Canonical Newton skill updated with attribution principle, self-eval gate item, and credits footer. |
plugins/newton/README.md |
Added “Related work and influences” section pointing to NOTICE.md. |
plugins/newton/.claude-plugin/plugin.json |
Version bump to 0.2.1. |
NOTICE.md |
New NOTICE file documenting upstream lineage + MIT license text preservation. |
CHANGELOG.md |
Added v0.2.1 entry and updated release links. |
.claude-plugin/marketplace.json |
Version bump to 0.2.1. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| Reuse creates obligations. When Newton produces something that incorporates or builds on third-party work — an existing library, a sample, a community pattern, another skill or agent, someone else's published observations — attribution travels with the reuse. This principle is the second half of *Reuse before reinvention*: having found something worth reusing, close the loop by crediting it. | ||
|
|
||
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
There was a problem hiding this comment.
This sentence is slightly misleading about Apache-2.0: Apache-2.0 requires preserving an existing NOTICE file and its contents when one is provided upstream, but it doesn’t inherently require creating a NOTICE file for every Apache-licensed work. Consider rephrasing to avoid overstating the obligation (e.g., preserve NOTICE if present; include one when upstream provides notices).
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". | |
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires preservation of applicable notices, including an upstream `NOTICE` file when one is provided. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
|
|
||
| Reuse creates obligations. When Newton produces something that incorporates or builds on third-party work — an existing library, a sample, a community pattern, another skill or agent, someone else's published observations — attribution travels with the reuse. This principle is the second half of *Reuse before reinvention*: having found something worth reusing, close the loop by crediting it. | ||
|
|
||
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
There was a problem hiding this comment.
This sentence is slightly misleading about Apache-2.0: Apache-2.0 requires preserving an existing NOTICE file and its contents when one is provided upstream, but it doesn’t inherently require creating a NOTICE file for every Apache-licensed work. Consider rephrasing to avoid overstating the obligation (e.g., preserve NOTICE if present; include one when upstream provides notices).
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". | |
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires preserving copyright, licence, and any upstream `NOTICE` file contents when provided. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
|
|
||
| Reuse creates obligations. When Newton produces something that incorporates or builds on third-party work — an existing library, a sample, a community pattern, another skill or agent, someone else's published observations — attribution travels with the reuse. This principle is the second half of *Reuse before reinvention*: having found something worth reusing, close the loop by crediting it. | ||
|
|
||
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
There was a problem hiding this comment.
This sentence is slightly misleading about Apache-2.0: Apache-2.0 requires preserving an existing NOTICE file and its contents when one is provided upstream, but it doesn’t inherently require creating a NOTICE file for every Apache-licensed work. Consider rephrasing to avoid overstating the obligation (e.g., preserve NOTICE if present; include one when upstream provides notices).
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". | |
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires preserving applicable notices, including an upstream `NOTICE` file and its attribution notices when one is provided. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
|
|
||
| ## Credits | ||
|
|
||
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. |
There was a problem hiding this comment.
The credits footer links to NOTICE on the main branch. That can drift over time and won’t necessarily match the version of the skill a user installed (especially from a tagged release asset). Consider linking to a versioned tag (e.g. blob/v0.2.1/NOTICE.md) or another immutable reference so attribution stays accurate for that release.
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. | |
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](../../../../NOTICE.md) file. |
|
|
||
| Reuse creates obligations. When Newton produces something that incorporates or builds on third-party work — an existing library, a sample, a community pattern, another skill or agent, someone else's published observations — attribution travels with the reuse. This principle is the second half of *Reuse before reinvention*: having found something worth reusing, close the loop by crediting it. | ||
|
|
||
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
There was a problem hiding this comment.
This sentence is slightly misleading about Apache-2.0: Apache-2.0 requires preserving an existing NOTICE file and its contents when one is provided upstream, but it doesn’t inherently require creating a NOTICE file for every Apache-licensed work. Consider rephrasing to avoid overstating the obligation (e.g., preserve NOTICE if present; include one when upstream provides notices).
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". | |
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires preserving applicable notices, including an upstream `NOTICE` file when one is provided. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
|
|
||
| ## Credits | ||
|
|
||
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. |
There was a problem hiding this comment.
The credits footer links to NOTICE on the main branch. That can drift over time and won’t necessarily match the version of the rules a user installed. Consider linking to a versioned tag (e.g. blob/v0.2.1/NOTICE.md) or another immutable reference.
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. | |
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](../NOTICE.md) file. |
|
|
||
| ## Credits | ||
|
|
||
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. |
There was a problem hiding this comment.
The credits footer links to NOTICE on the main branch. That can drift over time and won’t necessarily match the version of the rules a user installed. Consider linking to a versioned tag (e.g. blob/v0.2.1/NOTICE.md) or another immutable reference.
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. | |
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](NOTICE.md) file. |
|
|
||
| ## Credits | ||
|
|
||
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. |
There was a problem hiding this comment.
The credits footer links to NOTICE on the main branch. That can drift over time and won’t necessarily match the version of the rules a user installed. Consider linking to a versioned tag (e.g. blob/v0.2.1/NOTICE.md) or another immutable reference.
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. | |
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](NOTICE.md) file. |
|
|
||
| Reuse creates obligations. When Newton produces something that incorporates or builds on third-party work — an existing library, a sample, a community pattern, another skill or agent, someone else's published observations — attribution travels with the reuse. This principle is the second half of *Reuse before reinvention*: having found something worth reusing, close the loop by crediting it. | ||
|
|
||
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
There was a problem hiding this comment.
This sentence is slightly misleading about Apache-2.0: Apache-2.0 requires preserving an existing NOTICE file and its contents when one is provided upstream, but it doesn’t inherently require creating a NOTICE file for every Apache-licensed work. Consider rephrasing to avoid overstating the obligation (e.g., preserve NOTICE if present; include one when upstream provides notices).
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires notice preservation and a `NOTICE` file where attribution notices are declared. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". | |
| - **Licence obligations come first.** If the reused material has a licence, follow it. MIT and BSD require copyright notice preservation. Apache-2.0 requires preserving applicable notices, including an upstream `NOTICE` file and its attribution notices when one is provided. GPL / AGPL carry copyleft implications that may affect the containing work. If the licence isn't quickly identifiable, flag that — don't guess, and don't assume "it's on GitHub so it's probably fine". |
|
|
||
| ## Credits | ||
|
|
||
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. |
There was a problem hiding this comment.
The credits footer links to NOTICE on the main branch. That can drift over time and won’t necessarily match the version of the rules a user installed. Consider linking to a versioned tag (e.g. blob/v0.2.1/NOTICE.md) or another immutable reference.
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/main/NOTICE.md) file. | |
| Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** sections adapt material from the [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) repository by Jiayuan (`forrestchang`), distilling Andrej Karpathy's public observations on LLM coding pitfalls. That upstream project is MIT-licensed; the licence text and a section-by-section breakdown of what is derived from it are preserved in this repository's [NOTICE](https://github.com/PBNZ/newton-skill/blob/v0.2.1/NOTICE.md) file. |
Summary
Ports the full attribution stack that originally landed in
PBNZ/pbnz-skillsv0.2.0 (2026-04-19) beforenewton-skillwas established as Newton's canonical home. With Newton now retiring frompbnz-skills, the attribution work needs to live where Newton actually lives.What changes
NOTICE.mdat repo root — Apache-2.0 NOTICE with full MIT licence text and three-layer attribution chain formultica-ai/andrej-karpathy-skills(Karpathy → Jiayuan/forrestchang → PBNZ).SKILL.md— three surgical insertions:Attribution when building on others' workprinciple in Core principles, framed as the second half of Reuse before reinvention.NOTICE.mdso attribution travels with the skill when distributed as a release asset.plugins/newton/README.md— Related work and influences section pointing toNOTICE.mdvia relative link for repo-tree readers.0.2.0→0.2.1inplugin.jsonandmarketplace.json.CHANGELOG.md— v0.2.1 entry with provenance note pointing back at thepbnz-skillsv0.2.0 origin.scripts/generate-rule-files.pyso thesync-rulesworkflow stays green.Behaviour change
None for users who invoke Newton — frontmatter, name, description, and trigger rules are identical to 0.2.0. What changes is that Newton now attributes derived work as part of normal operation (new principle + new gate item), not just documents that it should.
Verification
Local validators all clean before push:
validate_marketplace.py— OKvalidate_plugins.py— OKvalidate_skills.py— OKcheck_skill_safety.py— OKcheck_no_private_contact.py— OKDiff is proportionate to intent (~17 lines into SKILL.md, ~6 into plugin README, ~24 into CHANGELOG, +66 NOTICE.md, version bumps, regenerated tool-rules).