Go
π 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 goAssembled 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
The front door: describe what you want in a sentence β octo sizes the ceremony automatically. Small fix β implement + verify in minutes; feature β full build; subsystem β spec, plan, then build. Announces the chosen gear; override with -s/-m/-l.
SKILL.md
3.9 KB, 896 tokens by cl100k_base, as published. Nobody here has run it
Progress Contract
OCTO_ROOT = ${CLAUDE_PLUGIN_ROOT} when set; otherwise two directories above this skill's base directory (skills/<name>/ sits at <plugin-root>/skills/<name>/). Resolve once at start.
Register steps as a native task list before doing any work. Report progress as "N steps remaining" β 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-context, (2) classify, (3) route.
Arguments
<task description>β what to do. Required; if omitted, ask once then proceed.-sβ force Small gear.-mβ force Medium gear.-lβ force Large gear.
Workflow
Step 1 β Read context
Read the host project's CLAUDE.md. If absent, detect conventions from repo artifacts
(pyproject.toml, Makefile, package.json, CI config) and label them [DETECTED].
Step 2 β Classify
If a gear flag (-s, -m, -l) is present, use it and skip classification.
Otherwise, classify the task into one of three gears:
| Gear | Definition |
|---|---|
| S β Small | Localized change, β€2 files, no design decisions needed (typo, config tweak, small bug) |
| M β Medium | A feature with tests but a clear shape β no upfront design session needed |
| L β Large | New subsystem, multiple components, or design decisions needed before building |
Announce the chosen gear before routing:
Gear: M β <one-line reason>. Override with -s/-m/-l.
Step 3 β Route
Gear S β Small
Dispatch one implementer subagent with the task. If the change affects behavior (not just whitespace or config comments), also dispatch one test-engineer subagent in the same message β parallel-first applies here.
Pass each subagent: the task description, detected CLAUDE.md conventions, and any
relevant lessons from .claude/octo/lessons/*.md.
Run targeted tests using /octo:test selection logic: map changed files to test files via
CLAUDE.md rules, mirrored paths, same-name matches, and import heuristics. Print the
selection and rationale before running.
On green, make a conventional commit: type(scope): <brief description>.
End the chat output with a Try it block produced from verifier or test-run evidence: the exact command(s) the user can run to see the result, plus the observed output (oneβtwo lines). No delivery without a try-it.
Gear M β Medium
Run the full /octo:build workflow. Reader-first and try-it rules from that skill apply.
Gear L β Large
Run /octo:spec first, then /octo:plan, then /octo:build. Each step's own gates and
unattended rules apply in full.
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.