change-impact
Skill0 starsChanged 24 days agoApache-2.0View on GitHub
Finds existing requirements, screens, flows, API paths, events and acceptance ids a new feature may touch or depend on; proposes each as a Product question; records only confirmed links and protected acceptance ids for verifier reruns. Use at feature intake and before technical design when asked what existing behavior a change can break.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- marinvch/Cortextheir own version, first seen Nov 1, 2026
- Nomanriaz786/claude-consulting-teamtheir own version, first seen Nov 1, 2026
- kimgea/agent-kittheir own version, first seen Oct 15, 2026
- Seekers2001/docs-governancetheir own version, first seen Oct 13, 2026
- qshanx/docs-governancetheir own version, first seen Oct 13, 2026
- Quirkybrain/claude-code-swe-frameworktheir own version, first seen Sep 20, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- Seekers2001/docs-governance★ 320same name
- qshanx/docs-governance★ 253same name
- marinvch/Cortex★ 1same name
- Nomanriaz786/claude-consulting-team★ 1same name
- Quirkybrain/claude-code-swe-framework★ 1same name
- kimgea/agent-kit★ 0same name
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.
In this repository2 other files it gives its agents.
- spec-packageSkill
- technical-designSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 7 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Before anything else: read .willgt/skills.yaml at the repo root.
- Very specific: line 43
Do not edit skills/spec-package/ itself.
- Distinctive: line 44
Search results are candidates, not facts.
- Distinctive: line 54
Read the new feature's draft PRD requirement statements, flow nodes and edges, and named API paths and events.
- Very specific: line 58
Ask Product one question per candidate.
- Very specific: line 61
Ask Product whether any dependency is missing from the list (implicit or indirect).
- Distinctive: line 65
Read the intake record. Keep every confirmed and rejected candidate as is.
- Very specific: line 67
Add each new finding as a candidate with source: code-map, evidence test or consumer -> code path, status proposed.
- Distinctive: line 68
Ask Product to confirm each new candidate.
- Very specific: line 73
After confirmation, Product (or the implementer at Product's direction) writes confirmed protected_ac ids onto every work item of the …
- Distinctive: line 79
When asked to export an impact record for RDF, JSON-LD, or an external tool, this mapping is the export (there is no separate export binary …
- Distinctive: line 96
Do not write tracker or board registry data into the package.
- Very specific: line 97
After Product confirms the links, write the confirmed ids into the PRD ## Touches / ## Protected AC sections and the flow touches list.
- Distinctive: line 123
No tool runs this check; it is a method.
“Common” is measured: kept by at least 6 in 10 of the 4 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
change-impact (a check others call)
Before anything else: read .willgt/skills.yaml at the repo root. If it does not exist, run the setup in skills/spec-package/SETUP.md, then continue.
Contents
- Scope
- Hard rules
- Files and locations
- Intake run (Level 2, Product)
- Technical-design run (Level 3, implementer)
- Work items and verifier
- Link names and export
- Format status
- Run checklist
- Known limits
Scope
- type: a check. Called by Product at feature intake and by
skills/technical-design/SKILL.md. It is not the technical design. - input: the new feature's draft PRD / flow / work-item list, the existing spec-package files under
spec_root(skills/spec-package/FORMAT.md), and.willgt/skills.yaml. - output: one impact record per feature;
protected_acon each work item of the feature when the project tracks them. - decides links: Product. The AI proposes; Product confirms or rejects each candidate.
Hard rules
- Nothing is linked without a Product confirmation. A candidate starts
status: proposed. - Each candidate is asked as a question that names the target id and its evidence path, and ends with
?. - A rejected candidate never appears in
confirmed. - Candidates are append-only. Never delete one; never change a confirmed or rejected status except on a new Product answer, recorded with its date.
- Code-level results (technical-design run) add candidates with
source: code-map. They never remove or replace a confirmed link. - Do not edit
skills/spec-package/itself. In a project package, write only the optionaltouches/protected_acfields, only from Product-confirmed links. See Format status. - Search results are candidates, not facts. Recovered links miss implicit and indirect dependencies; Product confirmation is required for every link.
Files and locations
- Impact record:
.willgt/impact/<feature_id>.impact.yamlfromskills/change-impact/templates/impact-record.yaml(outsidespec_root). - Spec packages to search: under
spec_rootfrom.willgt/skills.yaml(defaultspec/). - Work items: when
work_trackeris notnone, name features withwork_item_ref(skills only store/read that reference string — never call a tracker API). Write confirmedprotected_acids onto each work item the project uses for the feature (frontmatter, issue body, or linked file — whatever the project already uses).
Intake run (Level 2, Product)
- Read the new feature's draft PRD requirement statements, flow nodes and edges, and named API paths and events.
- Search the existing package (bound
spec-packageroot):PRD.mdrequirement ids and statements,screen.yamlscreen_id / regions / actions,flow.yamlnodes and edges,openapi.yamlpaths,event.schema.jsontitles,ac.featurescenario ids. Search terms: nouns and verbs of each new requirement, shared screen_ids, shared paths, shared event names, shared grant keys. - Record each match as a candidate: kind, target_id, link (
affectsif the feature changes it,derived_fromif the feature relies on it unchanged,related_testfor an AC that must still pass), evidence path:line. Rule of thumb: An existing, already-passing test that exercises the touched route or function isrelated_testby default. Reclassify it toaffectsonly if the new feature changes what that specific test asserts. A target the feature extends additively without changing it for existing callers isrelated_testorderived_from, neveraffects, even when the search draft labelled it so; re-deriving the link type is Product's job. Resolve a bare test filename to its full path before recording evidence (two repos can hold files with the same name). - Ask Product one question per candidate. Example shape:
C3: GET /orders (spec/api/orders.openapi.yaml:12) — does bulk-discount change or rely on this path? - Record each answer:
confirmedorrejected,decided_by: product,decided_at. - Regenerate
confirmedfrom confirmed candidates only. - Ask Product whether any dependency is missing from the list (implicit or indirect). Record any named one as a candidate with
source: spec-searchand evidencenamed by product, status confirmed.
Technical-design run (Level 3, implementer)
- Read the intake record. Keep every confirmed and rejected candidate as is.
- Map code: tests that exercise the touched code paths; consumers of each touched API path and event (contract tests, client code, subscribers).
- Add each new finding as a candidate with
source: code-map, evidencetest or consumer -> code path, status proposed. - Ask Product to confirm each new candidate. The answer is Product's.
- Hand the confirmed list to
skills/technical-design/SKILL.md: each confirmedaffectsid needs failure behavior in the TRD (when design depth uses a TRD).
Work items and verifier
- After confirmation, Product (or the implementer at Product's direction) writes confirmed
protected_acids onto every work item of the feature (usingwork_item_refwhen set). - The verifier reruns each work item's own AC and every
protected_acid at that tip, on that environment. Evidence is saved per id. - A failing protected AC is a bug: the work goes back to in-progress with the AC id and evidence path. It is not a note.
Link names and export
When asked to export an impact record for RDF, JSON-LD, or an external tool, this mapping is the export (there is no separate export binary — do not refuse with "export is not built"):
- Open
.willgt/impact/<feature_id>.impact.yaml. - Take confirmed candidates only. Never export a candidate whose status is
proposedorrejected. - Label each link with the link name column below (
affects,related_test,derived_from) — not the record field names (touches,protected_ac,depends_on). - Map each link name to its export term. Subject = feature id; object = target id.
| Record field | Link name (use this) | Export term (not re-verified in this skill) |
| touches | affects | OSLC Change Management 3.0 oslc_cm:affectsRequirement (requirements); affects for other kinds |
| protected_ac | related_test | OSLC Change Management 3.0 oslc_cm:relatedTestCase |
| depends_on | derived_from | PROV-O prov:wasDerivedFrom |
Format status
touchesandprotected_acare optional fields of spec-package 2.1.0 (skills/spec-package/FORMAT.md§ Optional impact fields;PRD.mdandflow.yamltemplates). Approved by the decision owner.depends_onis not a spec-package field. Keep it in the impact record only.- Do not write tracker or board registry data into the package.
- After Product confirms the links, write the confirmed ids into the PRD
## Touches/## Protected ACsections and the flowtoucheslist; the impact record stays the history.
Run checklist
Copy and check off:
change-impact: <feature_id> level=<intake|technical-design>
- [ ] .willgt/skills.yaml present (or SETUP.md just run)
- [ ] Impact record found or created at .willgt/impact/<feature_id>.impact.yaml
- [ ] Searched under spec_root: PRD ids, screen.yaml, flow.yaml, openapi fragments, event schemas, ac.feature ids
- [ ] (technical-design) code map: tests -> code, API and event consumers
- [ ] Every match recorded as a proposed candidate with evidence
- [ ] One question per candidate asked to Product
- [ ] Every answer recorded with decided_by: product and date
- [ ] Asked Product for missing implicit or indirect dependencies
- [ ] confirmed regenerated from confirmed candidates only
- [ ] protected_ac written to every work item of the feature (work_item_ref when set)
- [ ] Only the optional touches / protected_ac fields written to the package (confirmed links only)Known limits
- Recovered links miss implicit and indirect dependencies. Research recorded in the proposal (ProReFiCIA, arXiv 2511.00262, abstract only): recall 85.7 percent, 95.8 percent with retrieval; precision not verified. A human confirms every link.
- The search is text and id matching. A dependency with no shared id or term is found only if Product names it.
- Code mapping depends on contract tests existing. A consumer with no test and no shared path string is not found.
- No tool runs this check; it is a method.
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.

