Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"name": "newton",
"source": "./plugins/newton",
"description": "Reasoning and sparring partner mode.",
"version": "0.2.0"
"version": "0.2.1"
}
]
}
24 changes: 23 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,27 @@ Format follows [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/); v

## [Unreleased]

## [0.2.1] — 2026-04-19

Attribution layer for Newton's debt to upstream prior art. Behaviour of the skill when invoked is unchanged — 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, and the repository carries the licence and credit trail that should have landed with `0.2.0`.

### Added

- `NOTICE.md` at repo root — attribution and MIT licence preservation for material adapted from [`multica-ai/andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) by Jiayuan (`forrestchang`), which distils [Andrej Karpathy's public observations](https://x.com/karpathy/status/2015883857489522876) on LLM coding pitfalls. Includes a section-by-section breakdown of what Newton derives from upstream and a three-layer attribution structure (originator of ideas → upstream author → integrator).
- Newton skill: new **"Attribution when building on others' work"** principle in the Core principles section, covering licence obligations, community norms even without a licence, specificity about what was borrowed, placement that survives redistribution, and distinguishing the three layers of credit. Framed as the second half of *Reuse before reinvention*.
- Newton skill: self-evaluation gate item 10 — mandatory attribution check for any work that incorporates or builds on third-party material before delivery.
- Newton skill: Credits footer at the end of `SKILL.md` — names `andrej-karpathy-skills` as the source of the *Simplicity in what's produced* and *Editing existing work — surgical changes only* sections, with an absolute GitHub URL to `NOTICE.md` so attribution travels with the skill when distributed as a release asset.
- Plugin README (`plugins/newton/README.md`): "Related work and influences" section pointing at `NOTICE.md` via a relative link for repo-tree readers.

### Changed

- Newton skill grew a behavioural principle and a pre-delivery gate check — Newton now attributes derived work as part of normal operation, not just documents that it should. Frontmatter, name, description, and trigger rules are unchanged; invocation behaviour is identical.
- `plugin.json` and `marketplace.json` versions bumped to `0.2.1`.

### Provenance

- This attribution layer was first landed in `PBNZ/pbnz-skills` as its `0.2.0` release (2026-04-19) before `newton-skill` was established as Newton's canonical home. It is ported here so the authoritative Newton repository carries the same attribution trail. The `pbnz-skills` Newton entry is being retired in favour of a pointer to this repo; see that repository's `0.3.0` changelog entry for the retirement record.

## [0.2.0] — 2026-04-18

Initial public release as a standalone repository. Newton was previously distributed inside the `pbnz-skills` multi-plugin marketplace; this release migrates it to its own home at [`PBNZ/newton-skill`](https://github.com/PBNZ/newton-skill) so it can version, release, and be installed independently.
Expand All @@ -29,5 +50,6 @@ Initial public release as a standalone repository. Newton was previously distrib
- Sub-agent decomposition is deferred to v0.3.0.
- READMEs are English-only at v0.2.0. Translations and a landing-page language switcher are tracked in issues.

[Unreleased]: https://github.com/PBNZ/newton-skill/compare/v0.2.0...HEAD
[Unreleased]: https://github.com/PBNZ/newton-skill/compare/v0.2.1...HEAD
[0.2.1]: https://github.com/PBNZ/newton-skill/releases/tag/v0.2.1
[0.2.0]: https://github.com/PBNZ/newton-skill/releases/tag/v0.2.0
65 changes: 65 additions & 0 deletions NOTICE.md
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.
2 changes: 1 addition & 1 deletion plugins/newton/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
"name": "newton",
"description": "Reasoning and sparring partner mode for rigorous, calibrated engagement — honest pushback, current-sources research, reuse-before-rebuild checks, and surgical edits. Opt-in by explicit invocation.",
"version": "0.2.0",
"version": "0.2.1",
"author": {
"name": "PBNZ"
},
Expand Down
6 changes: 6 additions & 0 deletions plugins/newton/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ Newton only activates when you explicitly summon it by name:

Full invocation and quick-start guidance lives in [`skills/newton/SKILL.md`](skills/newton/SKILL.md).

## Related work and influences

Newton's **"Simplicity in what's produced"** and **"Editing existing work — surgical changes only"** principles adapt material from [`andrej-karpathy-skills`](https://github.com/multica-ai/andrej-karpathy-skills) by Jiayuan (`forrestchang`), which distils Andrej Karpathy's public observations on LLM coding pitfalls into a set of Claude Code guidelines. That upstream project is MIT-licensed; its licence text, a section-by-section breakdown of what Newton derives from it, and the three attribution layers (Karpathy → upstream authors → Newton as integrator) are preserved in this repository's [NOTICE](../../NOTICE.md) file.

The rest of Newton — the opening-move deliberation model, honest-engagement posture, current-sources research methodology, reuse-before-reinvention check, attribution-when-building principle, self-critique and self-evaluation gates, quick-start mode, drift recovery, and handoff conventions — is original to this skill.

## Licence

Apache-2.0. See [LICENSE](../../LICENSE).
Expand Down
17 changes: 17 additions & 0 deletions plugins/newton/skills/newton/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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".
Copy link

Copilot AI Apr 18, 2026

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).

Suggested change
- **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".

Copilot uses AI. Check for mistakes.
- **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.
Expand Down Expand Up @@ -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.

Expand All @@ -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.
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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.

Copilot uses AI. Check for mistakes.
Loading
Loading