implement-change

A process for building one software change from its specification through review-ready commits. It uses Jujutsu, a version-control tool, with a linear stack of changes rather than development branches.

In plain words
What is it for?
Use it to start a change on the current code tip, implement a feature slice, follow the repository's worktree and collaboration rules, and prepare a review-clean result.
Why use it?
It gives the work a repeatable structure and reduces confusion about where changes belong, how they are ordered, and when they are ready to land.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/leifericf/agentic-sdk/implement-change
Any agent
npx skills add leifericf/agentic-sdk --skill implement-change
Clone the repo
git clone --depth 1 https://github.com/leifericf/agentic-sdk

Made for: Claude Code, Codex.

Per session 20 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,553 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00020 $0.01553
Opus 5 $0.00010 $0.00776
Sonnet 5 $0.00004 $0.00311
Haiku 4.5 $0.00002 $0.00155

Measured 2d ago against content hash 9ffba397f993, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

implement-change scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/implement-change/SKILL.md · 120 lines

How it starts

The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.

implement-change

Role: the phase driver. Builds one change or slice from spec to a review-clean linear stack on the tip, ready for the maintainer to land.

Prerequisites

~/.agentic-sdk/<project>/project.edn exists with :lanes and :vcs. A spec (argument or conversation), or an approved feature plan to pick the next slice.

Procedure

Conforms to skills/shared/references/orchestration.md (dispatch, context budget, autonomy, resumption, runtime adaptation) and skills/shared/references/worktree-model.md (topology, ordering law, conflict law).

jj-first. Work is a linear stack of commits on the current tip; @ is the working-copy commit (describe it, jj new to advance). No development branches. The protected main line is a bookmark trailing the tip, advanced only at land time by the maintainer. Never base work on it: it forks history when main lags the tip.

  1. Initialize. Pick a slug. Start the next commit on the current tip, never on the main bookmark: jj new on the tip, then jj describe -m "<slug>: <one-line summary>". The change is the next commit (or commits) on the stack, referenced by change id and description, not a bookmark. Hold the one-paragraph change summary in context for the rest of the run to cite. A long run may keep a minimal, gitignored resume checkpoint under ~/.agentic-sdk/<project>/runs/<slug>/ recording what is done (units landed, rounds completed, findings still open); never committed, never the hand-off medium.
  2. Plan units. Scan the decision index (the ADR store from the descriptor) for records the spec touches first: a plan that contradicts an ADR goes to the maintainer before any dispatch. Record a real choice (where the rejected alternative was reasonable) via record-decision. With no explicit spec, the spec is the next runnable slice from the approved feature plan: respect the dependency graph, take its planned commits as the starting unit breakdown. Split the spec into units, each owning one module. Dispatch gather-module-context once per module for the whole phase and hold the brief, to embed into the writer dispatches in step 3 and every review-round-runner dispatch in step 6. Every unit gets a test unit and an implementation unit. State each unit's spec in three to six lines. Size every unit to one agent in one sitting: if it needs a second dispatch to finish, it was two units.
  3. Write. Test units first, implementation units second. Within each wave, dispatch in module-batches: one batch is all modules with independent work at that wave, run in parallel via the Agent tool. Wait for the batch, collect the writers' returns (LANDED <change-id> plus any CHANGELOG: lines; hold both in context), then the next wave. Each dispatch prompt carries the unit's complete spec plus its module brief, self-contained so the writer never needs this session's context. The writer loads write- for the active language (write-c, write-zig, write-clj, write-elixir) or write-tests. Fan out where the runtime supports nested dispatch, else run inline per the adaptation rule in orchestration.md.
  4. Integrate. Inline mode: writers committed in module order (leaf modules first, then dependents, then the app or top-level composition; tests before their implementations within each module), nothing to fold. Worktree mode: fold each writer's change into the stack in module order, tests before implementations. A needs-cross-module writer becomes one fresh writer with the union of the cross-module work, folded in after, then continue.
  5. Verify. One verifier on the stack running verify-lanes against the project's lanes (from the descriptor): the cheap tier on every unit. FAIL feeds back to an editor and re-verifies, twice max, then escalates and the round continues.
  6. Review rounds, capped at two. Dispatch one review-round-runner on the stack scope, embedding the per-module briefs from step 2 in its prompt. It runs run-review-round: fans out the active check-* dimensions over the scope, runs the spine triage task, dispatches editor waves by level via apply-findings, and re-verifies. Run a second round only if a high- or medium-severity correctness or security finding remains open after the first, or the phase touches three or more modules, a native edge between languages, or untrusted input. Never more than two. Low-severity and style-only findings a would-be third round would raise are not a new round: record them as forward tasks in the decisions log per the forward-only law. Each round returns exactly one summary line; hold those lines in context.
  7. Land. The history is already a linear stack on the tip; nothing to restack. Update the changelog via write-changelog (if the project keeps one; alpha/beta projects do not, and write-changelog returns no line): create the ## Unreleased heading if absent; append each CHANGELOG: line the writers and round-runners returned, grouped by category prefix. Describe the change via write-commit. Then show the maintainer: the stack head, the commit list, the changelog diff (if any), the round summaries, and any escalations held. Advancing main is the maintainer's call: offer, do not assume. An autonomous run never advances main itself. On a yes, the maintainer advances the bookmark over the stack and pushes. A clean run can delete its resume checkpoint.

Read the full file on GitHub · 120 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 120 lines · 20 tokens per session scan A 9ffba397f993

Subscribe to this mod's changes

implement-change is a skill published in the GitHub repository leifericf/agentic-sdk (5 stars, last pushed 13d ago), licensed MIT. It adds 20 tokens to every session and 1,553 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

agent-host-chat-contributions

Build and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.

microsoft/vscode · 56 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens