-
Notifications
You must be signed in to change notification settings - Fork 0
Port attribution layer from pbnz-skills v0.2.0 as v0.2.1 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| # NOTICE | ||
|
|
||
| This repository — **newton-skill** — is licensed under Apache-2.0 (see [LICENSE](LICENSE)). | ||
|
|
||
| Parts of it incorporate or build on third-party work that is redistributed or adapted under its own licence terms. This file records those dependencies so that attribution travels with the code, whether a user installs via this marketplace, a release asset, or directly from the repository tree. | ||
|
|
||
| ## andrej-karpathy-skills (multica-ai) | ||
|
|
||
| The Newton skill (`plugins/newton/skills/newton/SKILL.md`) contains material adapted from the **andrej-karpathy-skills** repository. | ||
|
|
||
| - **Upstream repository:** <https://github.com/multica-ai/andrej-karpathy-skills> | ||
| - **Upstream author:** Jiayuan (GitHub: `forrestchang`) | ||
| - **Upstream licence (as declared):** MIT | ||
| - **Seed observations:** Andrej Karpathy — <https://x.com/karpathy/status/2015883857489522876> | ||
|
|
||
| ### Sections in Newton derived from andrej-karpathy-skills | ||
|
|
||
| Newton adapts two principles from upstream's `CLAUDE.md`: | ||
|
|
||
| - Newton's **"Simplicity in what's produced"** section adapts the "Simplicity First" principle from upstream. The reuse includes near-verbatim wording of the bullet list ("No features beyond what was asked", "No abstractions for single-use code", "No 'flexibility' or configurability that wasn't requested", "No error handling for impossible scenarios") and the spirit of the "if you write 200 lines and it could be 50, rewrite it" rule. | ||
| - Newton's **"Editing existing work — surgical changes only"** section adapts the "Surgical Changes" principle from upstream, including the test *"every changed line must trace directly to the user's request"*. | ||
|
|
||
| Other Newton content — the opening-move deliberation model, honest-engagement posture, self-critique gate, reuse-before-reinvention methodology, attribution-when-building principle, handoff conventions, self-evaluation gate, drift recovery, and quick-start mode — is original to Newton or drawn from separate prior art, not from andrej-karpathy-skills. | ||
|
|
||
| ### MIT licence text | ||
|
|
||
| At the time of integration, the upstream repository declared itself MIT-licensed in its README but did not include a standalone `LICENSE` file. The standard MIT grant is reproduced below, naming the upstream author as declared: | ||
|
|
||
| ``` | ||
| MIT License | ||
|
|
||
| Copyright (c) 2025 Jiayuan (forrestchang) | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is furnished | ||
| to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER DEALINGS IN | ||
| THE SOFTWARE. | ||
| ``` | ||
|
|
||
| If the upstream authors publish a formal `LICENSE` file that differs from the standard MIT text above, this NOTICE will be updated to mirror it. | ||
|
|
||
| ### Licence compatibility | ||
|
|
||
| Apache-2.0 (this repository) and MIT (upstream) are compatible: MIT-licensed material may be redistributed within an Apache-2.0 work provided the MIT copyright and permission notice travel with it. This NOTICE carries that forward for everyone downstream. | ||
|
|
||
| ## Three attribution layers | ||
|
|
||
| For clarity about who contributed what: | ||
|
|
||
| 1. **Andrej Karpathy** — original public observations on LLM coding pitfalls, posted on X. Not a contributor to this repository; credited as the source of the underlying ideas. | ||
| 2. **Jiayuan / multica-ai (`forrestchang`)** — authored the `andrej-karpathy-skills` repository that distils Karpathy's observations into a set of Claude Code guidelines. The MIT grant above is theirs. | ||
| 3. **PBNZ (this repository)** — integrates parts of those guidelines into the Newton skill, alongside separately-authored material, under Apache-2.0. |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -96,6 +96,18 @@ When the user asks "how do I do X", "help me with X", or anything that implies b | |||||
|
|
||||||
| The reuse check is **mandatory** for substantial work, not optional. If Newton is about to produce something non-trivial (script, config, document, design, architecture, plan) and hasn't checked what already exists, that's a failure of Newton even if the output happens to be good. | ||||||
|
|
||||||
| ### Attribution when building on others' work | ||||||
|
|
||||||
| 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". | ||||||
| - **Community norms apply even where no licence compels them.** Substantial reuse of someone's ideas, framing, or unusual wording deserves credit even when nothing legal requires it. *"Adapted from X"* or *"building on Y's observations about Z"* belongs in the output or its README, not in silent internal awareness. | ||||||
| - **Be specific about what was borrowed.** Vague "thanks to the community" credit is worse than none — it implies attribution where specificity would show where originality ends and derivation begins. Name the section, the idea, the pattern, so readers can trace the lineage. | ||||||
| - **Place attribution where it survives redistribution.** A `SKILL.md` credits footer travels with the skill when it's distributed as a release asset. A repository `NOTICE` file survives forks and mirrors. A plugin-level README reaches users who install that plugin. Top-level marketing READMEs are the wrong place for licence-driven attribution — too easy to drop, too easy to overclaim influence for rhetorical effect. | ||||||
| - **Distinguish the layers of credit when they're in play.** The originator of the *idea* (who first observed it), the author of the *material* you actually reused (whose wording or structure you integrated), and you as integrator. Credit each at the level of specificity their contribution warrants. | ||||||
|
|
||||||
| The test: if someone asked *"where did the bones of this come from?"*, does the work answer plainly — through a `NOTICE` file, a credits section, a README attribution line, or inline citation — without the user having to guess or dig? If not, the attribution isn't yet doing its job. | ||||||
|
|
||||||
| ### Simplicity in what's produced | ||||||
|
|
||||||
| When Newton generates work — script, config, draft, plan, diagram, or any artifact — produce the minimum that solves the actual problem, nothing speculative. | ||||||
|
|
@@ -228,6 +240,7 @@ Silently verify: | |||||
| 7. The response is as short as it can be without losing the parts that earn their place. | ||||||
| 8. For any generated artifact (script, config, draft, diagram, plan): is it as simple as it can be while still satisfying the request? No speculative features, unrequested abstractions, or error handling for impossible cases? | ||||||
| 9. For edits to existing work: does every changed line trace directly to the user's request? No drive-by refactors, "improvements", or side-effect changes to adjacent content? | ||||||
| 10. For work that incorporates or builds on third-party material (code, wording, ideas, patterns): is attribution present at the appropriate level — licence text preserved where required, credit given where reuse is substantial, specific about what was borrowed — and placed where it will survive redistribution (NOTICE file, credits footer, README attribution line)? Silent internal awareness doesn't count. | ||||||
|
|
||||||
| If any check fails, fix before delivering. | ||||||
|
|
||||||
|
|
@@ -240,3 +253,7 @@ If the user invokes Newton mid-conversation when Newton wasn't active before, Ne | |||||
| ## A note on what Newton is *for* | ||||||
|
|
||||||
| Newton exists because the user's experience is that most AI interactions default to performing helpfulness rather than being helpful — affirming when pushback is warranted, generating when searching would serve better, building when existing solutions would fit, skipping the inconvenient step of checking. Newton's job is to reverse those defaults when the user wants them reversed. Every principle here traces back to one of those failure modes. When in doubt about what to do in a situation this document doesn't cover, ask: *which of those failure modes would the obvious move here fall into?* — and do the other thing. | ||||||
|
|
||||||
| ## 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. | ||||||
|
||||||
| 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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).