implement-change
Skill1 starsChanged 2 days agoMITView on GitHub
Plan, make and check a code change from start to finish. Use this for any feature, bug fix, enhancement or behaviour change, including requests that sound small such as "add a field", "fix this" or "make it support X". It keeps the change small, complete and verified.
We split this skill into the rules it gives an agent
7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 13 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Restate the task: Write one sentence on the goal and a short list of what must be true when it is done.
- Very specific: line 23
Orient: If you have not read this area, follow orient-in-codebase.
- Distinctive: line 25
Find every affected place: Search for the names you will change.
- Very specific: line 34
Open the matching skill: Use secure-change for permissions, input or secrets, change-data-safely for stored data, and use-external-api for …
- Distinctive: line 41
Make one small edit at a time: Run the nearest test after each step.
- Distinctive: line 47
Review your own diff: Run git diff and read every line:
- Very specific: line 95
Use the template in verify-and-report.
“Common” is measured: kept by at least 6 in 10 of the 13 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Implement a change
A good change is complete and small. It updates every place that needs it and touches nothing else. The common failures are missing a related place, doing extra work, and stopping before anything was checked.
When to use
Any task that changes behaviour. For structure-only work use refactor-safely.
For a failure with an unknown cause, start with debug-failure.
Steps
- Restate the task. Write one sentence on the goal and a short list of what must be true when it is done. If two readings would produce different code, ask before you start.
- Orient. If you have not read this area, follow
orient-in-codebase. - Find every affected place. Search for the names you will change. Check callers, tests, docs, translations, schemas, config, and lists that repeat a value such as routes, plans or permissions. A missed copy is the most common cause of a half-finished change.
- Choose the smallest design. Reuse existing helpers and patterns. Do not add options, abstractions or dependencies the task did not ask for. Write the plan as a short list of files and what changes in each.
- Open the matching skill. Use
secure-changefor permissions, input or secrets,change-data-safelyfor stored data, anduse-external-apifor a third-party call. - Write a test first where practical. Make it fail for the expected reason
before you change the code. Follow
write-tests. - Make one small edit at a time. Run the nearest test after each step. If it breaks, you know which edit caused it.
- Handle the unhappy paths. For each new input or dependency, decide what happens when it is empty, invalid, slow, unauthorized or failing.
Review your own diff. Run
git diffand read every line:- Is each line needed for this task?
- Did you leave debug output, commented code or unused imports?
- Did you change formatting in unrelated lines?
- Are existing users and existing data still fine?
- Finish. Follow
verify-and-report.
Stop and ask when
- The requirement is ambiguous and the choice affects behaviour.
- The change needs a new dependency, a public API change or a data migration that the task did not mention.
- You have failed three times with the same approach.
Common mistakes
| Tempting move | Why it fails | Do this instead |
| Rewrite the whole file | Hides real changes and adds risk | Make targeted edits |
| Fix nearby issues too | Makes review harder and adds risk | Mention them in your report |
| Add a config option "just in case" | Adds code nobody needs | Build what was asked |
| Stop at the happy path | Most incidents are in failure paths | Handle each failure in step 8 |
| Say it should work | Nothing was tested | Run it and report the result |
Example
Task: "Add a nickname field to user profiles."
Weak plan: "Add nickname to the User model."
Strong plan:
Done when: users can save, see and clear a nickname of at most 40 characters.
Files:
- migrations/: add a nullable column
- models/user: add the field
- api/profile: accept, validate and return it; reject over 40 characters
- ui/profile: add the input and error message
- locales/: add the label in each language
- tests: both sides of the limit, blank value, another user's profile
Unchanged: existing users keep a null nickname.Report
Use the template in verify-and-report.
Other versions16 projects use a version of this.
Word for word · 2
- Remote-Arc/remote-arc★ 5100% same
- yaohuangguan/remote-arc★ 5100% same
Edited · 0
None found.
Wrote their own version · 14
- pnpm/pnpm★ 37ksame name
- verdaccio/verdaccio★ 18ksame name
- Codagent-AI/agent-skills★ 31same name
- manhds82/claude-code-anyllm★ 16same name
- taljeon/plzdo★ 9same name
- CsHeng/agent-skills★ 3same name
- otaviobarros/agent-engineering★ 3same name
- EJRyan89/coding-agent-skills★ 2same name
- SaKaNa-Y/skills★ 2same name
- matheusPavaneli/workbench★ 1same name
4 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use plan-change.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
BanKnightSkillplan-change
将已完成 spec/design 的 change 拆成可执行 plan 与 tasks。用户要把设计落成执行计划、任务清单或实现步骤时使用。
Also in 5 projects that use this
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- audit-test-suiteSkill
- change-data-safelySkill
- debug-failureSkill
- fix-flaky-testSkill
- hand-off-workSkill
- orient-in-codebaseSkill
- refactor-safelySkill
- review-codeSkill
- secure-changeSkill
- use-external-apiSkill
- verify-and-reportSkill
- write-pull-requestSkill
- write-testsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

