phase-amend
Skill0 starsChanged 3 months agoMITView on GitHub
Use this skill in the phase-skills authoring repo whenever the user wants to change a rule, convention, terminology, or format of the phase workflow and have it stay consistent across the whole suite. Trigger on "change the phase rule", "update the numbering convention", "phases should now…", "update the phase skills to…", "propagate this convention", "add/rename a response banner", "the index should…", "make the skills consistent", or any edit to a shared phase convention — even if the user names only one file. A single convention is duplicated across the canonical docs, all the phase-* skills' embedded copies, the template assets, the portable charter, CLAUDE.md, and a memory; editing one by hand silently drifts the rest. This skill maps every place the convention lives, applies the change everywhere, verifies no drift remains, and overrides the installed .claude/skills copies. Prefer it over hand-editing whenever a change touches a shared rule rather than one skill's private wording.
- Deletes or force-pushes
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- phase-adoptSkill
- phase-amendSkill
- phase-auditSkill
- phase-decomposeSkill
- phase-loopSkill
- phase-project-initSkill
- phase-recapSkill
- phase-trackerSkill
- phase-adoptSkill
- phase-amendSkill
- phase-auditSkill
- phase-decomposeSkill
- phase-loopSkill
- phase-project-initSkill
- phase-recapSkill
- phase-trackerSkill
- phase-adoptSkill
- phase-auditSkill
- phase-decomposeSkill
- phase-loopSkill
- phase-project-initSkill
- phase-recapSkill
- phase-trackerSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 68
Check the cross-file invariants that must agree exactly:
- Very specific: line 73
Every SKILL.md carries the same suite version, matching plugin.json, marketplace.json, and the newest CHANGELOG.md heading.
- Very specific: line 74
Run python3 scripts/validate_repo.py — it proves both mirror roots and all four version locations agree.
- Very specific: line 100
Do not edit revere_portal_CLAUDE.md — it is a frozen reference artifact and its old conventions are intentional.
- Distinctive: line 101
Do not treat propagation as literal find-and-replace — follow the concept through each file's own phrasing and reasoning.
- Distinctive: line 102
Do not stop at the canonical docs.
- Very specific: line 103
Do not forget the two non-obvious locations: the memory and the installed .claude/skills/ copies.
- Distinctive: line 104
Do not run as a phase; amending the suite is repo maintenance, not tracked phase work.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Phase Amend
This is a maintenance skill for the phase-skills authoring repo itself — not one of the seven workflow skills that ship into other projects. Its job: apply a change to a shared phase-workflow convention consistently everywhere it is expressed.
Why this exists
The conventions are deliberately duplicated. The canonical docs (TERMINOLOGY.md, templates/, phase_project.md) are the source of truth, but every skill also embeds the conventions it needs so it stays self-contained when dropped into a project alone. That duplication is a feature — and a liability: change the phase-number grammar in phase-tracker only, and phase-recap, the charter, CLAUDE.md, and the memory now disagree. Nothing at runtime catches that drift; a human reading one skill months later just gets a wrong rule.
So the value of this skill is not editing — it's knowing the full sync surface for a given convention and hitting all of it in one pass, then proving nothing was missed.
The sync surface
Where each shared convention lives. Grep to confirm before editing (files shift as the suite grows) — treat this as the starting map, not gospel.
| Convention | Lives in |
Phase-number grammar (MAJOR.MINOR.PATCH, digits-only, branch=Minor, Patch=commit) | TERMINOLOGY.md (hierarchy), phase-tracker (Terminology, Step 1, File-naming, Git rules), phase-recap (numbering-signal nuance), phase-decompose, phase-adopt (numbering origin), phase_project.md, CLAUDE.md, the plan/log template asset headers |
| Capitalization of Major/Minor/Patch | TERMINOLOGY.md, every skill, templates/response_templates.md, phase_project.md, CLAUDE.md |
| Appendability (never seal a Major; number near the theme) | TERMINOLOGY.md (Core principle), phase-audit (not-drift), phase-decompose (numbering room), phase-tracker (clustering), phase_project.md, CLAUDE.md, the phases-always-appendable memory (outside the repo — see below) |
| Index ordering (chronological, bottom = newest) | phase-tracker (Step 3), phase-recap (Step 1 + nuance), phase-audit, the phase_index.md asset, phase_project.md, CLAUDE.md |
| Response banners (the set + count) | templates/response_templates.md (catalog), phase-tracker (🟦🟩🏁🔧), phase-recap/recap_template.md (🧭), phase-loop (🔁), phase-audit (🩺), phase_project.md (full list), CLAUDE.md (names + count) |
| The phase cycle pipeline | phase-tracker, phase_project.md, CLAUDE.md |
| Git / worktree / PR rules (git itself is optional — init asks; a no-git project skips branch/worktree/commit/PR) | phase-tracker (Git rules, "Projects without git", Mode 2 Step 4), phase-loop (branch strategy), phase-project-init (Step 2 git question) / phase-adopt (docs-lane vs bootstrap), phase-audit (no-git note), phase_project.md, TERMINOLOGY.md (phase cycle) |
| Plan / log section lists | phase-tracker (Mode 1 Step 3, Mode 2 Step 2), the two template assets |
| Scoped-recap scope rules | TERMINOLOGY.md (table), phase-recap (Mode B), templates/recap_template.md, CLAUDE.md |
Knowledge bundle (development/ holds only concepts; no separate schema file or validator tool; evidence outside) | TERMINOLOGY.md (Knowledge-bundle terms), phase-tracker ("Plans and logs are concepts", Modes 1–2, Step 3.5, commit step), phase-audit (checks 11–12), phase-project-init (Step 3 + assets), phase-adopt (install step), phase-recap (front matter over prose), phase-decompose / phase-loop (the umbrella is a record too), phase_project.md, CLAUDE.md, the development-is-a-knowledge-bundle memory, and the asset payload under phase-project-init/assets/development/** |
| Suite version (one version for all eight skills; SemVer; not a phase number) | VERSIONING.md (canonical), .claude-plugin/plugin.json, .claude-plugin/marketplace.json, every SKILL.md frontmatter and both mirrors of each, the newest CHANGELOG.md heading, CLAUDE.md (Versioning section + the frontmatter-keys line), README.md (Versioning section) |
| Concept contract (front-matter fields, footer labels, pair-status rule) | the two phase template assets (the templates are the contract — there is no schema file or validator), phase-tracker ("Plans and logs are concepts"), phase-audit (check 11), phase_project.md |
Two locations are easy to forget because they aren't plain repo .md files:
- The memory at
~/.claude/projects/-home-aksel-Documents-phase-skills/memory/(e.g.phases-always-appendable.md+ theMEMORY.mdpointer). A principle change must update the memory too, or a future session recalls the old rule. - The installed copies at
.claude/skills/<name>/. These are the real skills the harness loads; the root dirs are the working versions. Edits to root do nothing until the installed copy is overridden (final step).
Procedure
1. Pin down the change
State it as from → to, and why. A rule change often implies more than its sentence: changing the numbering grammar ripples into file-naming, branch names, and every worked example. Enumerate the ripples before editing, so the propagation is complete rather than literal.
2. Locate every occurrence
Grep the whole repo for the old form and the concept, not just the exact string — conventions are paraphrased differently per file (the banners appear as a table row in one place, a bullet list in another, a count in a third). Cross-check against the sync-surface table. Include the memory dir.
3. Apply canonical-first
Edit in this order so the source of truth leads and the copies conform to it:
- Canonical —
TERMINOLOGY.md,templates/,phase_project.md. - Embedded copies — each affected skill, matching the canonical wording (adapted to that skill's voice; the rule must match, the prose needn't be identical).
- Assets — the plan/log/index templates under
phase-project-init/assets/, and the shipped charter copyphase-project-init/assets/phase_project.md, which must stay byte-identical to the rootphase_project.md(re-copy it after any charter edit;validate_repo.pyenforces the match). CLAUDE.md— the invariants list, repo contents, architecture notes.- Memory — update the relevant memory file and
MEMORY.md.
Preserve each file's voice and altitude; this is not a find-and-replace. When a skill explains why a rule holds, update the reasoning too, not just the statement.
4. Verify no drift
Prove the change landed everywhere and the old form is gone:
grepthe repo (and memory dir) for the old form — expect zero hits outsiderevere_portal_CLAUDE.md(the frozen reference artifact — never edit it).- Check the cross-file invariants that must agree exactly:
- Banner set + count identical across
response_templates.md,phase_project.md, andCLAUDE.md. - Phase-number grammar and examples identical across
TERMINOLOGY.md,phase-tracker,phase_project.md,CLAUDE.md. - Appendability present in
TERMINOLOGY.md,phase-audit,phase-decompose, the memory,CLAUDE.md. - Index "bottom = newest" wording consistent across
phase-tracker,phase-recap, thephase_index.mdasset,phase_project.md,CLAUDE.md. - Every
SKILL.mdcarries the same suite version, matchingplugin.json,marketplace.json, and the newestCHANGELOG.mdheading.
- Banner set + count identical across
- Run
python3 scripts/validate_repo.py— it proves both mirror roots and all four version locations agree. - If the change added/removed a skill or banner, re-count everywhere a count is stated in prose — e.g. the "…labeled response modes" line and the "…skills" line in
CLAUDE.mdand the template headers. These spelled-out numbers are the most common drift: they read fine in isolation but silently contradict the list they head.
5. Refresh both mirror roots
The root phase-*/ dirs are the source of truth. Two mirrors must match them byte-for-byte, whole-directory: .agents/skills/<name>/ (the ChatGPT/Codex export) and .claude/skills/<name>/ (what the harness actually loads here — edits to root do nothing until this copy is overridden). Refresh both from the repo root:
for s in <changed-skill-dirs>; do
rm -rf ".agents/skills/$s" && cp -R "$s" ".agents/skills/$s"
rm -rf ".claude/skills/$s" && cp -R "$s" ".claude/skills/$s"
doneThen run /reload-skills. (Only the skills you changed need refreshing; canonical docs and the charter aren't loaded as skills.)
5b. Version the change if it moves a convention
If the change alters a convention installed projects depend on, follow VERSIONING.md: record it under CHANGELOG.md's Unreleased heading, and if you are cutting a release, bump plugin.json, marketplace.json, and every SKILL.md frontmatter together. A convention edit with no changelog line is how a release note goes missing.
6. Report
List what changed, grouped by convention, and name every file touched (including memory + installed copies). Flag anything you chose not to change and why — e.g. an intentional wording difference — so the user can spot an accidental omission.
What this skill should not do
- Do not edit
revere_portal_CLAUDE.md— it is a frozen reference artifact and its old conventions are intentional. - Do not treat propagation as literal find-and-replace — follow the concept through each file's own phrasing and reasoning.
- Do not stop at the canonical docs; the embedded skill copies are what make a skill self-contained, so they must match.
- Do not forget the two non-obvious locations: the memory and the installed
.claude/skills/copies. - Do not run as a phase; amending the suite is repo maintenance, not tracked phase work.
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.

