From run-paperclip
How to operate a Paperclip company from Claude Code: the board-operator vs embodied-agent personas, the cost-safe rule (never wake a claude_local agent server-side — embody locally instead), and the CLI/API command surface. Use whenever the user asks to run, operate, drive, or embody a Paperclip company, hire agents, hand off work, or drain a board from the terminal.
How this skill is triggered — by the user, by Claude, or both
Slash command
/run-paperclip:pc-operating-modelThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This is **model-invoked background knowledge**, NOT a slash command. Claude
This is model-invoked background knowledge, NOT a slash command. Claude
auto-loads it whenever the user talks about running, operating, driving, or
embodying a Paperclip company. It never appears in the / menu and you do not
invoke it explicitly — it just shapes how you think about Paperclip work. Load
the references/*.md files (listed at the bottom) on demand for detail.
🗣️ Talk like a helpful person, not a script. This file and the references are written for you in engineering terms — endpoints, Appendix op ids (
A.2,B13),claude_local, "persona", "embody", PRD§refs. The founder never hears any of that. Narrate outcomes in plain English ("Connected to your local Paperclip ✓", "Working through Acme's ready tasks now", "Finished: Fix signup bug ✓"); run the plumbing silently; translate the in-house words (claude_local/adapter → "billed separately / on your subscription"; "embody" → "step into your agent and do its work"; "persona" → "who you are and which company"). The full rule — the one everypc-*command follows — is in../../docs/mc-ux.md(Voice). It applies to everything you say while operating, including progress lines in the autonomous loops.
Operating a Paperclip company spans three planes:
paperclipai … --json, raw curl only as a fallback). You read board state,
check out issues, post comments, set dispositions, manage routines and
approvals. This is coordination, not thinking.claude -p run.The rule that ties them together: the model runs in THIS session. Paperclip coordinates; Claude Code executes. The server is never asked to spin up a model.
You are always operating as exactly one of two personas. Know which one you are.
paperclipai whoami
reports the board/operator identity; env is the company-scoped key.references/operator-runbook.md (bootstrap, hire, hand-off, monitor,
recover, routines, secrets, restructuring), with exact CLI syntax from the
companion paperclip-cli skill. Dedicated commands exist only where timing
or deliberation matters: /pc-setup, /pc-cost-safe, /pc-approve./pc-approve); the loop never auto-approves.claude_local adapter is
deliberately bypassed — that bypass is the cost saving.paperclipai whoami reports the
agent identity; env has PAPERCLIP_AGENT_ID set to that agent.pc-work (and the embodiment loop driven by pc-run-company
/ pc-serve).paperclipai whoami — it reports operator vs agent.
Inspect env: a board/company token vs an agent key with PAPERCLIP_AGENT_ID.PAPERCLIP_API_KEY (and PAPERCLIP_AGENT_ID when embodying). Profiles are
read, never sourced.In a cost-safe company, NEVER run agent wake / board prompt (with wake)
against a claude_local agent. To get work done, embody the agent and do it
yourself — locally, in this session.
Waking a claude_local agent server-side is the single action that spawns
claude -p and burns metered Agent-SDK credit. There is no plugin path that may
cause a server-side model run in a cost-safe company; the cost-guard hook
enforces this and your work must not try to route around it. When work needs
doing: embody the agent and do it locally instead of waking it. See
references/cost-safe-mode.md.
Operator loop (board seat): read board / pending work → decide → hand off or
configure (hire, assign, set routines) → monitor → surface approvals → recover
stalled work. Full sequences live in references/operator-runbook.md.
Embodiment loop (you as agent): checkout issue → load context (and the
triggering comment if comment-woken) → load the agent's config/instructions →
do the work locally (Edit/Write/LSP/EnterWorktree/EnterPlanMode) →
record progress / work product → set disposition (done / in_progress /
blocked) → release → post a cost event. Full loop with exact endpoints lives
in references/embodiment-loop.md.
For any exact endpoint or verb, read references/api-contract.md (the
authoritative, verbatim API contract). For the full CLI surface — every flag,
--json shape, and per-family gotcha — load the companion paperclip-cli
skill (installed separately; scripts/ensure-skill.sh gates on it).
The 8 /pc-* commands are multiple-choice driven: you don't need to
remember flags, IDs, or enums — pass args if you know them, otherwise the
command asks (entities resolved by human label, never UUID). See docs/mc-ux.md
for the convention.
/pc-start — the recommended starting point. The guided front door:
run it and it asks (multiple-choice) only what it needs, then routes to the
right command or playbook./pc-setup — configure local profile / credentials./pc-cost-safe — verify/enforce cost-safe config (adapter preflight,
routine audit)./pc-work — embody an agent and drain its ready issues (this session)./pc-run-company — drain the whole board: one Task per ready issue,
embody + execute each sequentially./pc-run-all — the ready work across all companies (snapshot / run /
start / stop / status)./pc-serve — control the in-session sustained loop (Mode 2.5)./pc-approve — decide the approval queue, deliberately (board persona).Everything else is skill-driven — no dedicated command, handled in plain
conversation as the board persona, following the matching
references/operator-runbook.md playbook (sequence + policy) with exact CLI
syntax from the paperclip-cli skill, and keeping the docs/mc-ux.md
conventions (ask only what's missing, labels never UUIDs, confirm before harm,
Voice rule):
/pc-cost-safe)./pc-approve).external
bridged/webhook or process agents).references/recovery.md ordered protocol.references/routines.md; never a claude_local target.references/secrets.md; metadata only, values never move.approve_ceo_strategy approval, never
auto-applied.X-Paperclip-Run-Id on
checkout, release, interactions, and on PATCH of an in_progress
issue.409
checkout conflict is the backstop — a 409 means another agent owns it: STOP,
never retry.in_review without a real review path. Dispositions are
done / in_progress / blocked; the API returns 422 for a phantom
in_review.blocked (name the credential) and notify
the founder. Never fabricate a credential. See references/secrets.md.The deep CLI reference is the companion paperclip-cli skill — installed
separately (canonically at ~/.claude/skills/paperclip-cli; gated by
scripts/ensure-skill.sh, which every entry command runs and stops on). Its
SKILL.md + references cover the full paperclipai surface (golden rules, exact
flags, --json output shapes, per-family gotchas) and are the authoritative
source for command syntax — prefer them over this skill's hand-maintained
snapshot files whenever you need exact flags or output shapes.
These files live in references/ next to this skill. Load the one you need:
references/embodiment-loop.md — the standalone heartbeat embodiment loop in
detail, with exact endpoints.references/operator-runbook.md — bootstrap / hire / handoff / monitor /
recover sequences.references/cost-safe-mode.md — the cost-safe config contract verbatim plus
the heartbeat-policy levers.references/api-contract.md — the API contract (Appendix A), verbatim. The
authoritative source for any exact endpoint.references/routines.md — operating Paperclip routines: the two scheduling
layers, the no-claude_local-target rule, and the routine endpoints.references/secrets.md — the secrets boundary: the API never returns values,
embodiment uses local credentials, managed-only secrets are a blocker.references/recovery.md — the triage / recovery protocol.references/guardrails.md — budgets, approvals, and the cost guard.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub aronprins/run-paperclip --plugin run-paperclip