agentsclimarketplace

Pr

Skill eduardkumskyi/octo/skills/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.

Install
npx -y skills add eduardkumskyi/octo --skill pr

Assembled 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 via git symbolic-ref refs/remotes/origin/HEAD (strip to branch name); if unset, use main if it exists, else master. 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, no Co-Authored-By lines of any kind.
  • Never push directly to protected branches (protected branches β€” see the octo guard's list).
  • Never use --no-verify or 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>.md with 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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.