Plan
Explore the codebase and produce an implementation plan with numbered, independently verifiable tasks. Surfaces every assumption (SAFE/RISKY); RISKY + hard-to-reverse decisions come back as questions before the plan is final.From its SKILL.md
npx -y skills add eduardkumskyi/octo --skill planAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.9 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Progress Contract
Register these steps as a native task list at Step 2, before beginning exploration. Report progress as "N steps remaining, size class S/M/L" β never wall-clock ETAs.
Register steps in the native task list named π <n>/<total> β <step name>; update each to in_progress/completed as you go β the checklist is the user's primary progress view.
Steps: (1) read-project-context, (2) register-progress, (3) explore, (4) author-plan, (5) plan-self-review, (6) assumption-gate, (7) save-and-register.
Arguments
<task description>β what to plan. If.claude/octo/specs/contains a spec for this work (or the user names one explicitly), the plan MUST consume it: load the spec before exploration, carry every## Assumptionsitem forward into the plan's own Assumptions section, and ensure every spec requirement maps to at least one Implementation Step.
Workflow
Step 1 β Read project context
Read the host project's CLAUDE.md. If it is absent or missing a needed section:
- State what is missing explicitly.
- Offer to scaffold a minimal
CLAUDE.mdand wait for the user's answer before proceeding. - Detect what you can from repo artifacts (lockfiles,
Makefile,pyproject.toml, CI config,package.json). Label every inferred convention[DETECTED].
Step 2 β Register progress
Create the native task list for this session (all seven steps). This is the single source of truth for human-visible progress β do not maintain a separate running log.
Step 3 β Explore
Division of labor: this skill owns orchestration, gates, and file I/O. The architect agent owns thinking and plan text. Do not duplicate architect reasoning here.
Partition the codebase into disjoint domains. Dispatch up to 10 parallel Explore or architect subagents in a single message (one tool-use block per agent) β this MUST be a single message; serial exploration when parallel dispatch is possible is a defect, not a style choice.
Retry rule: if a subagent returns empty or contradictory findings, retry it once with a
narrower scope. After one retry, report the gap in ## Open Questions rather than blocking.
If two subagents return contradictory findings about the same area, surface the conflict in Open Questions β never resolve it silently.
Step 4 β Author the plan
Dispatch the architect agent with the task description, all exploration findings, any
relevant spec from .claude/octo/specs/, and any lessons from .claude/octo/lessons/*.md.
The architect produces:
- Context β what was read and explored; which lessons were relevant; which spec (if any) was consumed.
- Design β approach, architecture decisions, trade-offs.
- Implementation Steps β numbered, atomic; each step MUST include:
- Exact file paths for every file to be created or modified.
- TDD steps in order: write failing test β run to confirm it fails β implement minimally β run to confirm it passes β commit with a conventional message.
Interfaces:block β consumes and produces, with exact names and signatures so the task can be executed by a fresh agent without reading sibling tasks.- Verification command with expected output β a command that, when run after the task, confirms it is complete.
- No-placeholders rule: TBD, "add error handling", "similar to task N", or steps without concrete content are plan defects. Every step must have complete, actionable content.
- API/Schema Checklist (when applicable).
## Assumptionsβ every non-obvious decision markedSAFEorRISKY; if a spec was consumed, all spec Assumptions are carried here verbatim.## Open Questionsβ specific questions with who owns the answer and what the plan does in each case.
Do not restate the architect's output β use it verbatim as the plan body.
Step 5 β Plan self-review
Before presenting the assumption gate, scan the plan for defects:
- Spec coverage (if a spec was consumed) β every spec requirement maps to at least one numbered Implementation Step; flag any requirement without a matching step.
- Placeholder scan β no TBD, TODO, "add error handling", "similar to task N", or blank acceptance criteria anywhere in the Implementation Steps.
- Interface consistency β the
Interfaces:block of each step lists outputs that are consumed by later steps; verify names and signatures are consistent across the chain.
Fix all defects inline before proceeding. Do not present the assumption gate over a plan that fails any of these checks.
Step 6 β Assumption gate β STOP
Scan the ## Assumptions section for any item marked RISKY where the consequence is also
hard to reverse (e.g. schema migrations, public API removals, irreversible data transforms).
If any such item exists: STOP. Do not save the plan. Present RISKY assumptions via AskUserQuestion: one question per assumption, the options being the concrete alternatives (recommended option first, labeled '(Recommended)'); never a prose wall. Wait for answers. Update the plan's Assumptions and Open Questions accordingly, then continue to Step 7.
If no RISKY + hard-to-reverse items exist, proceed immediately.
Step 7 β Save and register
-
Derive the slug: lower-case the task title, replace spaces and special characters with
-, collapse runs of-. Example:"Add OAuth flow"βadd-oauth-flow. -
Write the plan to
.claude/plans/YYYY-MM-DD-<slug>.mdusing today's date. -
Register
.claude/plans/and.claude/octo/in.git/info/exclude: read the file (create the file if it does not exist), append each line only if it is not already present. Never modify the project's.gitignore. -
Report the saved path and the total step count to the user.
Shared Conventions
- Commits: conventional format
type(scope): brief descriptionβ no AI attribution, noCo-Authored-Bylines of any kind. - Never push directly to protected branches (protected branches β see the octo guard's list).
- Never use
--no-verifyor force-push. - Parallel-first: dispatches that do not consume each other's output MUST go in a single message. Dispatching sequentially what could run concurrently is a defect, not a style choice. Cap β10 concurrent lanes; more work than lanes β batch waves.
- Reader-first output: lead with the outcome in one sentence; keep the visible reply short and dev-readable β only what changes the reader's next action. Full detail (complete reports, evidence, logs) goes to a file under
.claude/octo/reports/YYYY-MM-DD-<skill>-<slug>.mdwith the path given in chat β never dumped into the conversation.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.