Pr
π 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 prAssembled 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
Create a pull request: detect base branch, verify not protected, run lint/pre-commit if configured, push, open PR with a generated description that always carries an Assumptions section. Falls back to push + compare URL without gh.
SKILL.md
3.7 KB, 889 tokens by cl100k_base, as published. Nobody here has run it
Progress Contract
Register these steps as a native task list at Step 1, before beginning. Report progress as "N steps remaining, size class S/M/L" β never wall-clock ETAs.
Steps: (1) resolve-base, (2) guard-branch, (3) lint, (4) push, (5) open-pr.
Arguments
[base-branch]β explicit base branch for the PR. If omitted, resolve viagit symbolic-ref refs/remotes/origin/HEAD(strip to branch name); if unset, usemainif it exists, elsemaster. State the resolved base before proceeding.
Workflow
Step 1 β Resolve base
Determine the base branch using the rule above. Print:
"base branch: <name> (source: <arg|detected>)."
Step 2 β Guard current branch β STOP if protected
Get the current branch: git rev-parse --abbrev-ref HEAD.
REFUSE if the current branch matches any protected name: main, master, staging,
production, qa, develop, or the resolved repo default.
Print: "REFUSED: current branch '<name>' is protected. Check out a feature branch and re-run."
Do not proceed further.
Step 3 β Lint / pre-commit
Check whether the project configures a lint or pre-commit step (look for
.pre-commit-config.yaml, a lint or check target in Makefile, or a lint command in
CLAUDE.md). If found, run it. If it fails, report the output and stop β do not push broken
code.
If no lint config is found, skip silently and note "no lint config detected.".
Step 4 β Push
Push the current branch to origin: git push -u origin <current-branch>.
Step 5 β Open PR
With gh: run gh pr create --base <base> --title <title> --body <body>.
Derive the title from the branch name or the most recent commit subject (β€ 72 chars).
PR body template:
## Summary
<bullet points from commits on this branch not yet on base>
## Assumptions
<content of `## Assumptions` from the plan, or "None beyond the plan" if absent>
## Test plan
<bullet list of test files or manual checks run>
Carry the ## Assumptions section verbatim from the plan file used in the preceding
/octo:implement run (.claude/plans/ latest by name). The section is always present, even when empty β write
"None beyond the plan" rather than omitting it.
No AI attribution in the PR body, title, or any commit message β ever.
Without gh: push (Step 4 is already done), then print:
Compare URL: https://github.com/<org>/<repo>/compare/<base>...<current-branch>
Open the URL above to create a PR manually.
Derive the GitHub org/repo from git remote get-url origin.
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.