Plan
π octo β portable AI-agent workflow plugin: plan β build β review-until-clean, a lessons engine that absorbs every bug it sees, an autonomous studio mode, and Mission Control. Every bug leaves a scar; octo remembers. Works with Claude Code and any Agent Skills harness.
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.
What its author says it does
Copied from the file, not written here
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.
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.