change-planning
Skill0 starsChanged 10 days agoMITView on GitHub
Use when turning an idea, request, or problem into an approved plan - brainstorming, research, blueprints, phased plans, and OpenSpec proposals, designs, specs, and tasks - and when updating, verifying, syncing, or archiving OpenSpec changes. Complements, never replaces, the native openspec-* skills.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- paulwing/paulwing-codex-skillstheir own version, first seen Jun 21, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- paulwing/paulwing-codex-skills★ 1same 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 repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- backend-engineeringSkill
- change-reviewSkill
- device-healthSkill
- genai-engineeringSkill
- instruction-maintenanceSkill
- pakemSkill
- pakem-updateSkill
- project-bootstrapSkill
- release-deliverySkill
- root-cause-debuggingSkill
- sensitive-operationsSkill
- state-and-handoffSkill
- ui-ux-qualitySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 6 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 37
Interviewer: - ask a few focused questions at a time until the problem, users, constraints, and acceptance are clear.
- Very specific: line 40
Researcher: - read the existing code, specs, and research/, and check current official documentation or credible studies before forming an …
- Distinctive: line 57
When specific answers are missing (project facts, case decisions, settings a tool cannot decide), interview with a firm finish so it never …
- Distinctive: line 64
Ask the rest in one message, grouped, each with a default.
- Distinctive: line 66
Follow up only on answers that fail a check or contradict each other, in one message.
- Distinctive: line 67
Never start a third round.
- Very specific: line 91
Never store production data or secrets in research/.
- Very specific: line 95
When work spans several changes (a new product, a backend from scratch, a migration), write research/notes/YYYY-MM-DD-<topic>-plan.md using …
- Very specific: line 117
Keep openspec/config.yaml context and rules real and current (template: assets/project/openspec-config.yaml.tmpl in the project-bootstrap …
- Very specific: line 137
Keep an unknown cause explicitly unknown: plan reproduction and diagnosis first (root-cause-debugging), then update the design with the …
- Very specific: line 145
Keep the branch local until the owner accepts the result, unless the owner asks for a backup push or the project overrides …
- Very specific: line 167
When archiving several older changes, archive them in dependency order, check each command's exit status before the next, and write a real …
- Distinctive: line 172
If production later disproves something, open a new corrective change.
- Very specific: line 174
Remove obsolete generated command or skill copies when openspec update replaces them.
≈ “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
Change Planning
Path from idea to approved, verifiable work. Projects plan in native OpenSpec
(default:openspec); one that overrides it plans in the format its ## Overrides names,
with the same stages and approval. The owner approves before implementation.
1. Stages
- Intake - restate the outcome, constraints, non-goals, and who decides.
- Brainstorm - interview, research, challenge, recommend (section 2).
- Research and blueprint - record findings, prototypes, and evidence in
research/(section 3). Larger work gets a phased plan (section 4). - Spec - one OpenSpec change per independently shippable outcome (section 5), written on the implementation branch and kept local.
- Approval - the owner approves the change in the session before any implementation; nothing is pushed for review at this stage.
- Implement - on the same branch; tasks completed with their evidence; the plan and specs updated with every change.
- Verify -
verification.mdper change (section 7). - Accept and deliver - revise until the owner accepts the result, sync and archive (section 8), then push and open one merge request with specs and code.
- Lessons - general lessons become framework candidates
(
instruction-maintenance).
Skip nothing silently. If the owner asks to move faster, say which stage is being compressed and what risk that carries.
2. Brainstorm and discussion
The agent plays four roles at once:
- Interviewer - ask a few focused questions at a time until the problem, users, constraints, and acceptance are clear; then summarize back and get confirmation before proposing solutions.
- Researcher - read the existing code, specs, and
research/, and check current official documentation or credible studies before forming an opinion. - Challenger - name weak assumptions, contradictions, risks, and cheaper alternatives. Disagree plainly when the evidence supports it.
- Advisor - present two or three viable options with trade-offs and state which one you recommend and why.
Raise constraint fit (budget, deadline, who maintains and edits it after handover, hosting and operations capability, scale, data sensitivity) when it could change the choice; it is judgment, not a mandatory section.
A brainstorm is done when the owner has confirmed the problem statement and chosen
an option. Record it with the discussion summary
format in research/notes/.
Gap interviews
When specific answers are missing (project facts, case decisions, settings a tool cannot decide), interview with a firm finish so it never loops:
- List the gaps first; the list is fixed for this interview. Add a question only for a blocker no gap covers.
- Answer what the repository already proves (code, docs,
AGENTS.md, earlier decisions) without asking, and say so. - Ask the rest in one message, grouped, each with a default; "use the defaults" is a complete answer.
- Follow up only on answers that fail a check or contradict each other, in one message. Never start a third round.
- Finish when every gap is answered, provisional (a stated, reversible working
assumption with a revisit trigger), or pending (waiting for outside information:
what is missing, from whom, and when to ask again), each recorded with its reason in
the change,
AGENTS.md, orPROJECT_STATE.md.
Work continues on everything a pending gap does not block; keep that choice open in the design (a setting instead of a constant). Raise a pending gap again only when it is due: its date passed, or the work reached what it blocks.
3. The research folder
research/
notes/YYYY-MM-DD-<topic>.md discussion summaries, audits, decisions, findings
prototypes/<topic>/ throwaway builds and design alternatives
evidence/<change-or-topic>/ screenshots, benchmark output, verification outputresearch/is working material: it stays out of what a client receives, unless the engagement includes it. A profile may also keep it out of the repository (via.git/info/excludeor a private remote).- Reusable checks do not belong here; version them under
tests/orscripts/verify/. Only their outputs go toresearch/evidence/. - Never store production data or secrets in
research/.
4. Phased plan for larger work
When work spans several changes (a new product, a backend from scratch, a
migration), write research/notes/YYYY-MM-DD-<topic>-plan.md using the
phased plan template before the first proposal: phases
in dependency order, each with scope, the OpenSpec changes it will produce, and a
verification gate. Get it approved, then propose changes phase by phase.
5. OpenSpec
Native tooling authority
- Inspect the installed CLI (
openspec --version), project configuration, and generated instructions before working. Use the nativecoreprofile unless the project documents a reason for another. - Generated
openspec-*skills and commands are tool-owned. Create and refresh them only withopenspec init/openspec update; never hand-author or imitate them. - Query the CLI (
openspec status,openspec instructions,openspec validate) instead of reconstructing its rules from memory. - Validation gate:
openspec validate --allmust report no errors. Also run it with--strictand record any warnings as follow-up work; do not block on warnings, and never reshape specs only to silence them. Never claim OpenSpec ran when it did not. If the CLI is unavailable, say so and use a clearly labelled manual fallback. - Keep
openspec/config.yamlcontextandrulesreal and current (template:assets/project/openspec-config.yaml.tmplin theproject-bootstrapskill).
Artifact quality
- Proposal: Why; Expected Outcome (observable result for the user or owner);
What Changes; Non-goals; Capabilities affected; Impact. State whether the change
adds a project capability (
Capabilities:inAGENTS.md) and which standards that switches on. - Design: context; goals and non-goals; numbered decisions, each with rejected alternatives and why; data, API, and failure behaviour; compatibility, migration, recovery, and rollback when relevant; risks; open questions.
- Spec deltas: testable requirements using SHALL with WHEN/THEN scenarios, including failure and permission scenarios. Never satisfy validation by wrapping a requirement's text in a generic scenario; write a real WHEN/THEN case or leave the warning recorded as follow-up work.
- Tasks: grouped in phases; each phase ends with an "Expected Result" line; every task names the evidence that proves it (command, test, HTTP check, browser check). The last task, after the owner accepts the result, archives the change, pushes the branch, opens the one merge request, and reports its URL.
- Keep an unknown cause explicitly unknown: plan reproduction and diagnosis first
(
root-cause-debugging), then update the design with the supported explanation.
6. Approval and change control
- Present the change for approval in the session before implementation; do not open
a merge request for plans or specs alone. Record the approval and its date in the
proposal and
PROJECT_STATE.md. Once approved, execute without asking again. - Keep the branch local until the owner accepts the result, unless the owner asks for
a backup push or the project overrides
default:mr-policy(for example, draft merge requests opened early). - Material changes to scope, behaviour, compatibility, or acceptance are surfaced and approved before they are implemented; update the active artifacts first.
- Mark a task complete only when its implementation and its named evidence are complete. A checked box is not proof.
7. Verification record
Each change keeps verification.md beside its artifacts
(template): revision tested, commands and
results with counts, environments and data used (synthetic), browser widths or
devices, what was not verified and why. Native openspec validate proves artifact
structure only, never application correctness.
8. Sync and archive
- Archive once the spec deltas are synced and the verification record is complete,
in the same merge request as the implementation. Steps that can only happen after
the merge (a deployment, a production check) are recorded in
PROJECT_STATE.mdand verified there, not in a separate archive merge request. - When archiving several older changes, archive them in dependency order, check each
command's exit status before the next, and write a real
## Purposefor any main spec created from them (archives of legacy deltas leave it empty). - Owner-side confirmation in production does not block archiving: record it under
"Awaiting owner confirmation" in
PROJECT_STATE.mdwith the date. - If production later disproves something, open a new corrective change; never edit an archived change as a shortcut.
- Remove obsolete generated command or skill copies when
openspec updatereplaces them.
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.

