Best for
- Use when this named workflow matches the task.
anthony-chaudhary/fak/.claude/skills/phased-plan/SKILL.md
Ceremony rules for shipping a phase of a phased plan — when to release, when to emit a handoff prompt, how far to go on type-strengthening, when to fold or split phases, and the hero-exit rule that prevents plans from becoming open-ended. Load when shipping a phase of a docs/*-plan.md (or equivalent) plan. Use when this named workflow matches the task.
Decision brief
Load this skill when you finish (or are about to finish) a phase of a phased plan. It governs four things: handoff prompts, releases, plan-shape rules (hero-exit, phase-split, hygiene-queue), type-strengthening. "The project's release skill" referenced below is this repo's own /…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/anthony-chaudhary/fak --skill ".claude/skills/phased-plan"Inspect the Agent Skill "phased-plan" from https://github.com/anthony-chaudhary/fak/blob/9646744c1510476dcd1104bbdafce9ba39c68f65/.claude/skills/phased-plan/SKILL.md at commit 9646744c1510476dcd1104bbdafce9ba39c68f65. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
A plan is tombstone-eligible the moment implementation ships and a monitor is attached. "Monitor" = either a registered soak watch or a CI invariant that fires on regression. The 100%-phases criterion conflates engineering work with passive evidence-gathering and produces the "8…
Before splitting work into two phases, ask: "does phase N+1 need evidence that phase N produces?"
Optional for low-blast-radius edits. A phase may skip the Phase 0 baseline freeze when all three hold: change is ≤50 LOC, rollback is a single revert, and failure mode is observable post-hoc from existing telemetry. The plan still names the metric and expected direction; it just…
Emit a copy-paste handoff prompt only at a session boundary — when the user signals they are wrapping up, clearing context, or otherwise ending the session ("wrapping up", "/clear next", "done for the day", compaction imminent). Do NOT emit one after every phase completion withi…
Run the project's release skill only when the phase produced a user-visible behavior change or modifies shipped code paths. The commit still lands either way — the release ceremony (version bump, changelog entry, tag, push, release artifact) is reserved for code that will be vis…
Permission review
The documentation asks the agent to run terminal commands or scripts.
git add <baseline-dir>/ <baseline-registry-file>The documentation asks the agent to run terminal commands or scripts.
git diff --cached --name-only # AUDIT — both paths presentEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 32 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Load this skill when you finish (or are about to finish) a phase of a phased plan. It governs four things: handoff prompts, releases, plan-shape rules (hero-exit, phase-split, hygiene-queue), type-strengthening. "The project's release skill" referenced below is this repo's own /release.
Git authorization. Loading this skill is the user's explicit authorization to run git add and git commit for the phase-ship commit and for any Phase-0 baseline snapshot the ceremony spells out. The "never commit unless asked" default does NOT apply here — committing the phase artifact IS the skill's job. The skill does NOT authorize git push or git tag directly — those happen via the project's release skill (which has its own authorization), or require explicit user confirmation if invoked outside it. Force-push, history rewrites, branch deletion, and git reset --hard always require explicit user confirmation. Use targeted pathspecs only — never git add -A/-u/..
Emit a copy-paste handoff prompt only at a session boundary — when the user signals they are wrapping up, clearing context, or otherwise ending the session ("wrapping up", "/clear next", "done for the day", compaction imminent). Do NOT emit one after every phase completion within a live session; the plan doc + issue tracker already carry continuation context for in-session work. Format when you do emit:
--- NEXT-STEP PROMPT (copy into new session) ---
Continue <plan-id> (<doc path>). Just shipped: <one-line summary of completed phase>.
Next phase: <next phase id + title>. Goal: <1-sentence goal>. Key files/refs: <paths>.
Start by reading <doc path> and the listed files, then propose a short implementation plan before editing.
--- END ---
≤6 lines, self-contained, includes plan doc path + next phase id.
Run the project's release skill only when the phase produced a user-visible behavior change or modifies shipped code paths. The commit still lands either way — the release ceremony (version bump, changelog entry, tag, push, release artifact) is reserved for code that will be visible to the operator running the tool.
Do NOT release for:
Do release for: new/changed CLI flag or subcommand, new/changed handler or API endpoint, behavior change in core pipelines, schema changes, bug fixes that affect runtime, new skill or meaningful skill-logic change.
When in doubt, skip the release and batch with the next shippable phase. Version numbers should carry signal — raise the bar, not the cadence.
Before invoking the release skill, answer:
Three "no"s → docs-only commit on the working branch with no version bump, no tag, no archive, no release entry.
Every phased plan has a single 1-hop hero metric in its header. When that metric reaches its target, the next phase queued is the close-out — not another sub-phase, not a refactor of an adjacent surface, not "while we're in here."
Before queuing the next phase of a plan whose hero metric you just moved, re-read the metric:
Plans without hero-exit become open-ended consolidation projects that consume slot budget without delivering closure. If work past the hero looks legitimately load-bearing, that means the plan named the wrong hero — fix the metric first (one PR, header only), then continue. Don't ship past a stated hero without auditing it.
A plan is tombstone-eligible the moment implementation ships and a monitor is attached. "Monitor" = either a registered soak watch or a CI invariant that fires on regression. The 100%-phases criterion conflates engineering work with passive evidence-gathering and produces the "85-95% stuck for weeks" portfolio pattern.
Rules:
≥5 events beats 7d when traffic is bursty); use composite gates (metric ≥ X for N consecutive periods) for noise-prone metrics.Before splitting work into two phases, ask: "does phase N+1 need evidence that phase N produces?"
Splitting on operator-fatigue lines is a major producer of fragmentation. The historical default ("each phase fits one agent session") is wrong when phase N and N+1 are reversible code chains the same agent could ship together.
Anti-pattern: observability-before-guard splits ("observe" then "act"). When the change is low-risk, bake telemetry into the implementation phase and let the soak prove it.
Hygiene-umbrella plans (cleanup, deprecation, tech-debt collections) accumulate open-ended cleanup. Convention:
inflight items + closed in last 7d count.% complete from the plan-doc header (it forces inventing new phase numbers when sibling cleanups surface mid-session).Distinguishing test: if you can answer "does the new sub-task need evidence the prior sub-task produces?" with "no, it's just more cleanup of the same shape" → it's a queue item, not a phase.
A single investigation with several suspected causes is one plan with phases (Phase 0 baseline → Phase 1..N each a measured fix), not N sibling plans. Sibling plans are justified only when the causes are already proven independent and each has its own hero metric.
Rule: no new plan doc until a Phase-0 baseline names a metric that no existing plan can host. Before opening any new plan, check whether an existing active or hygiene plan can host the work. Prefer a phase/queue-item on an existing plan; open a new doc only when that genuinely fails.
Optional for low-blast-radius edits. A phase may skip the Phase 0 baseline freeze when all three hold: change is ≤50 LOC, rollback is a single revert, and failure mode is observable post-hoc from existing telemetry. The plan still names the metric and expected direction; it just doesn't pre-freeze a numeric. The measure-then-change axiom is load-bearing for risky changes — wiring substrate, changing dispatch behaviour, touching a hot path — and remains mandatory for those.
When a phase DOES produce a measure-then-change baseline, it must land in git the same way every time: same commit, registry row (in whatever baseline-tracking file the project uses), no exceptions. Skipping the registry row is the producer for orphan baselines that survive plan-aborts and pile up.
# Atomic — one commit, both assets. Never just the dir, never just the row.
git add <baseline-dir>/ <baseline-registry-file>
git diff --cached --name-only # AUDIT — both paths present
git commit -m "<plan>: <phase> — baseline snapshot (measure-then-change)" -- \
<baseline-dir>/ <baseline-registry-file>
The registry row encodes "this baseline exists, here's what it measures, here's its rebaseline cadence." Without it, future tools can't audit the on-disk dir against ground truth — only the operator's memory ties them.
If the plan aborts: keep the baseline dir + registry row in git as historical evidence. Annotate the registry row's notes with the abort reason. Deletion is a separate operator decision after the plan has been tombstoned.
No release ceremony, no version bump — Phase 0 is observation-only by definition (per "Releases — only on shippable code change" above).
If the project uses GitHub/Linear/etc. for umbrella issues:
- [ ] task-list checkboxes inside the issue body so the issue card shows X-of-N progress automatically.The project's CLAUDE.md / AGENTS.md should name the issue-tracker URL and label conventions.
Type the new payload/struct/enum/config-key the phase itself adds. Do not scope-creep into surrounding untyped code — that's a separate cleanup, not part of the phase.
Literal/Enum for closed string sets the phase introduces; return-type annotations on new functions.type Foo string + consts) for any new closed string set; concrete error type when callers of new code will branch on it.Skip silently when the new thing is genuinely dynamic (third-party shape) or typing would force a breaking change outside the phase's scope.
Frequently asked questions
Load this skill when you finish (or are about to finish) a phase of a phased plan. It governs four things: handoff prompts, releases, plan-shape rules (hero-exit, phase-split, hygiene-queue), type-strengthening. "The project's release skill" referenced below is this repo's own /…
The source record exposes this install command: npx skills add https://github.com/anthony-chaudhary/fak --skill ".claude/skills/phased-plan". Inspect the command and pinned source before running it.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
vasilyu1983/AI-Agents-public
Scans public GitHub repos for agent skills, dev practices, and code patterns. Use when enriching skills, setting team policy, or researching a build domain.
open-edge-platform/edge-ai-libraries
Deploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall, and translation from Docker Compose setup_env.sh variables into Helm override values. Use this skill when the user says "deploy chatqna core to kubernetes", "helm install chatqna-core", "configure values.yaml", "convert compose config to helm", or "translate setup_env.sh to chart values".
almanak-co/sdk
Build, test, and deploy DeFi trading strategies using the Almanak SDK. ALWAYS use this skill when the user mentions almanak, DeFi strategy, trading strategy, yield farming, liquidity provision, token swap, borrowing, lending, perpetuals, staking, vault deposit, bridging tokens, backtesting, paper trading, or on-chain execution. Use for writing strategy.py files, composing intents (Swap, LP, Borrow, Supply, Perp, Bridge, Stake, Vault, Prediction), working with config.json strategy parameters, run
nexus-substrate/nexus-agents
Execute a release following project standards. Use when publishing a new version, creating release tags, or deploying. Triggers on "release", "publish", "version bump", "create release".