Be: Autonomous task-to-PR execution

VerifiedCaution

Interactive alternative to /do that opens with an interview, then autonomously implements a task to a reviewed, shipped PR, including a review gauntlet and CI.

Sby Skills Guide Bot
DevelopmentAdvanced
9/5/2026
Claude Code
#pull-request#code-review#autonomous-workflow#ci#agent-orchestration

Recommended for

Automated summary

Runs an explicit `/be` workflow that interviews the user once, then autonomously implements a task, sends it through a serial AI review gauntlet, runs CI, and produces a reviewed pull request with evidence.

Strengths

  • A batched upfront interview captures plan-first choice, task kind, and debate peer before autonomous execution.
  • Chains several review stages—lens reviews, agent debate, simplification, and code-police—each editing the branch in turn.
  • Reads project-specific commands and PR evidence requirements from `.agency/do.md` and reuses them throughout the workflow.
  • Explicitly propagates “execute now” autonomy to subagents and resumes interrupted phases rather than stopping.

Limitations

  • Must be invoked explicitly as `/be` or `$be`; it is never selected from a natural-language request.
  • Depends on Claude Code-specific features and companion skills such as `/atlas` and `/agent-debate`, plus a `.agency/do.md` project file.
  • The full autonomous review gauntlet can be heavy for small changes; `--skip-gauntlet` is an explicit human-only opt-out.
When to use it

Use when you have an issue URL or a clear task and want it carried through implementation, multi-stage AI review, CI, and a PR with minimal further interaction.

When not to use it

Avoid for quick one-line fixes, exploratory work where you want to stay in the loop, or environments without the required companion skills and project config.

Security analysis

Caution
Quality score80/100

No destructive, exfiltrating, or obfuscated behavior appears in the text — no curl|sh, no secret handling, no base64 payloads, and it actively warns against dangerous process-killing patterns. However, it is a high-blast-radius orchestration workflow: it pushes branches, opens PRs, spawns daemons, runs repo-defined shell commands, and is designed to proceed without further human confirmation, so 'caution' rather than 'safe' is warranted.

Findings
  • •Delegates command execution to repo-supplied config: it reads `.agency/do.md` for check/fmt/test/CI commands and runs them, so a hostile or careless repository config can direct arbitrary command execution.
  • •Performs state-changing remote operations autonomously — `git fetch`/branch/commit/push, `gh pr create`, backgrounded daemons on remote 'pu boxes', and CI/evidence runs — with no per-step human confirmation after the opening interview.
  • •Explicitly mandates unattended autonomy ('fully autonomous... no further questions, no stopping between steps') and instructs subagents to 'execute now; don't wait for confirmation', reducing human checkpoint opportunities (partially mitigated by 'Never merge — the human does' and the human-only `--skip-gauntlet` opt-out).
  • •Depends on a chain of other skills not included in this submission (`/forge-pr`, `/be-review`, `/ci`, `/evidence`, `/atlas`, `/agent-debate`, `/dev-server`, `/nix-typescript`, `/kolu`), whose behavior cannot be audited from this file.
  • •Positive mitigation worth noting: it explicitly bans `pkill -f` / `pgrep` substring kills and requires PID-scoped teardown, and forbids committing to master.
  • •No prompt-injection or role-manipulation attempt found in the skill text itself.
  • •Declares no allowed-tools yet the workflow assumes shell/git/gh/nix/systemctl access: `git fetch`/commit/push, `gh pr create --draft`, `just check`, `vite build`, `nix run`, `systemctl --user is-active kolu`. Powerful tools used for legitimate development purposes, but the permission model is undeclared and mismatched with the described actions.
  • •Explicitly instructs propagating autonomy to subagents ('execute now; don't wait for confirmation') and resuming after user interjections or /compact 'in the same turn, unasked' — reduces human-in-the-loop checkpoints and could lead to unattended edits/commits.
  • •Under a coordinator, instructs 'never message the human directly' and blocks on a file-channel reply — a routing convention, but narrows direct human oversight for questions surfaced mid-run.
  • •Uses `--skip-gauntlet` as an explicit opt-in only (good), never merges (defers to human), and forbids `pkill -f` by substring (defensive) — no destructive, exfiltrating, or obfuscated actions observed; no injected instructions against the auditor.
How this analysis is made

Examples

Fix a GitHub issue
/be https://github.com/acme/api/issues/482
Implement a feature from a prompt
/be add CSV export to the admin reports page
Skip the review gauntlet
/be --skip-gauntlet https://github.com/acme/web/issues/129

name: be description: Modern, interactive alternative to /do — clarify intent up front, then take a task end-to-end with a serial AI review gauntlet (lens review (lowy ∥ hickey) → agent debate → simplify → code-police, each editing the branch in turn) → CI → evidence. ONLY invoke when the user explicitly types /be or $be; never auto-select from a natural-language request. argument-hint: "[--skip-gauntlet] <issue-url | prompt>"

Be

Take a task to a shipped, reviewed PR. /be opens with a short interview — then is fully autonomous from §1 onward: no further questions, no stopping between steps, sensible defaults throughout. The only sanctioned pause after §0 is the plan-review handoff in §1 (when "plan first" was chosen). Concise by design — mechanics live in the skills it calls. Why the rules below exist: RATIONALE.md — read when editing this skill, not running it.

An interruption is a detour, not an exit. A user interjection, a field bug, a limit, a /compact — each suspends the phase machine. Handle it, then name the phase you were in and resume it in the same turn, unasked. A step that was in flight did not run — restart it; never count it done. Never close a turn on "let me know if you want me to continue".

Propagate autonomy to subagents. Every delegation brief says execute now; don't wait for confirmation — a subagent that returns a plan with no tool uses gets resumed with "execute now", not surfaced to the user.

Arguments

Parse $ARGUMENTS for flags; the remainder is the issue URL or task prompt. --skip-gauntlet skips §4 entirely — an explicit human opt-out /be may never invent mid-run.

0. Interview

One batched AskUserQuestion call before any work — your only chance to ask, so surface every material unknown now. Don't pad; honor anything already pinned in the prompt.

  • Plan first? — Atlas-note plan for review before implementing, or implement straight (default straight unless large/ambiguous; an existing plan note in the prompt is the plan of record — skip the question).
  • Task kind — bug fix · feature · refactor/chore (sets §2's test strategy).
  • Debate peer — claude, codex, or grok for /agent-debate. No default: honor a peer named in the prompt, else ask.

Coordinator exception: when a delegating brief routes questions to its channel (e.g. via /kolu), that channel replaces AskUserQuestion for the whole run — write the questions to a file, send a one-line pointer, block on the reply. This includes anything surfacing later: a falsified premise, a scope fork, a design call. Never open a question dialog in your own PTY under a coordinator, and never message the human directly.

1. Set up

  • git fetch origin; branch off origin/<default>. Never commit to master.
  • Read .agency/do.md for the project's check / fmt / test / ci commands and its ## PR evidence section; reuse them throughout.
  • If planning first: author the plan as an Atlas note via /atlas (status: proposed). Keep it high-level — what changes and the structural shape, with a UI mockup if anything renders — but ground every load-bearing low-level fact against the installed code (lockfile versions, a library's emitted markup, a framework's runtime behavior): verify empirically, don't recall from training. Self-check (high-level ✓ prototype-if-visual ✓ facts-grounded ✓ renders clean ✓), push, hand over the preview links, and wait for the user's go — the one sanctioned pause. The plan ships in the PR.

2. Implement

Honor the design philosophy first (conventions.md → Design philosophy: fail-fast · electricity boundaries · reuse the source of truth) and state in the plan or PR body how the change honors each. A violation is a defect to fix now, not a review finding to wait for.

  • Bug: reproduce before you theorize — and treat an inherited diagnosis (an issue's trace, a prior session's sketch, a hand-off) as a hypothesis to falsify, never a fact to extend; the more authoritative it reads, the more it needs a from-scratch repro. Pin the one observable fact the bug produces, build a reproduction that exhibits it and is red on current code (an e2e test via /test when it can express the bug, else a scripted repro), then fix until it flips green. A repro that passes is a broken repro — fix the repro, never conclude "no bug". The fix makes the feature work, not disappear: disabling, defaulting off, or degrading a platform is a mitigation to reject, not a fix. Venue: building and running repros is heavy work — whenever systemctl --user is-active kolu is active, it runs on an ephemeral pu box, never locally; load /dev-server §0 first, and never pkill -f by substring (resolve PIDs by remembered port, or let the box go).
  • Feature: write the covering test before or alongside the change.
  • Refactor/chore: rely on existing coverage.

These branches key to the change in hand, not the phase you're in: a bug that surfaces mid-gauntlet or from CI re-enters the Bug branch from the top, red repro included, before any fix commit. A fresh diff is when a guess feels most like knowledge.

Sync the docs. .agency/do.md → ## Documentation is a principle, not a checklist: grep every doc surface for the term you touched — README.md, every packages/*/README.md, website/ (hand-listed commands and roadmap prose go stale), docs/atlas/ — and for each hit either edit it or note why it's still accurate. Skip only when genuinely doc-neutral.

Changelog. Any user-facing change appends one <Change kind="…"> line to website/src/content/changelog/unreleased.mdx under its product-area heading, written as prose a user reads. PR link is backfilled in §3. The file is merge=union, so appends never conflict.

Run check and fmt, commit (conventional message), push. Two traps a green just check does not cover: (a) a changed bundler/server entrypoint that imports a workspace package can typecheck yet fail the real build — run vite build / nix run .#<pkg> on a pu box now, don't leave it for CI; (b) any package.json/pnpm-lock.yaml change stales the fetchPnpmDeps hash (kolu: nix/workspace.nix) and reds every linux nix lane — load /nix-typescript and refresh the hash in the background immediately so it rides this commit.

3. Open the PR

Before any review, so findings land on a real PR: load /forge-pr and gh pr create --draft with a genuine title/body. Backfill the changelog entry's pr={<n>} and push. If there's a plan note, finalize it via /atlas (status: implemented, <PrLink pr={<n>} />) so it rides this PR.

4. Review gauntlet

With --skip-gauntlet: skip this section, note the skip in Done. Otherwise run /be-review — it owns the serial order, tracks, and push-then-comment discipline. Pass the interview's --agent, the base, a rationale (so lenses don't flag deliberate decisions), and context (task intent and key decisions, so reviewers inherit what you know).

Non-negotiable. Context or budget pressure never justifies skipping a reviewer, trimming the set, or substituting a hand-rolled review — autonomy means don't ask permission per step, not decide which steps matter. If a mandatory step is genuinely infeasible, stop and ask the user then and there. Adjudicate any unresolved lens finding yourself before moving on.

Performance pass. If the diff touches a perf-sensitive surface (SolidJS reactivity, the surface wire, terminal/canvas rendering, timers/listeners, the client bundle, kaval), review it against docs/atlas/src/content/atlas/performance.mdx — don't regress a banked win or add a catalogued anti-pattern; update the note via /atlas when the change banks or surfaces one (measured, not guessed).

5. Ship — CI and evidence in parallel

Heavy work stays on pu boxes (see §2's venue rule). /ci and /evidence are independent — run them concurrently.

Sync master first: git fetch origin and merge origin/<default> unless it's already an ancestor — a long gauntlet leaves CI testing a stale base. A real conflict is yours to resolve now. Don't merge while a gauntlet round is still committing; let it settle first.

  1. /ci, backgrounded. .agency/do.md's CI section is the source of truth and supersedes anything here. Two-platform by construction; react to red nodes the instant they land; confirm the settled run carried both platforms before reporting green.
  2. /evidence, concurrently, per .agency/do.md → ## PR evidence. For bug fixes, demonstrate the fixed behavior even without a visual diff.
  3. Join before Done: CI green on the final HEAD and evidence posted; if a late fix changed visible behavior, re-capture. Teardown of any daemon you spawned follows /dev-server §5 — kill the PID you captured at spawn, never pgrep/pkill by substring.

Done

Report the PR URL, gauntlet outcome (fixes applied, adjudications, peer + consensus, police findings — or that --skip-gauntlet skipped §4), and CI status. Never merge — the human does.

ARGUMENTS: $ARGUMENTS

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/be-autonomous-task-to-pr-execution-mtnxbrbt/download' --output '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md.part' && mv '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md.part' '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md' && test -s '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/be' && cp -R '.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt' '.claude/skills/be'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt'

openskills read 'be-autonomous-task-to-pr-execution-mtnxbrbt'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/be-autonomous-task-to-pr-execution-mtnxbrbt/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills