design-guide
Paperclip UI design system guide for building consistent, reusable frontend components. Use when creating new UI components,…
Manage a Paperclip company as a board member via chat. Use when the user wants onboarding, company or agent management, approvals, task monitoring, cost oversight, or work product review in the Paperclip control plane.
Claude Code
$ npx -y skills add paperclipai/paperclip --skill paperclip-board --agent claude-code
Codex
$ npx skills add paperclipai/paperclip --skill paperclip-board -a codex -y
Cursor
$ npx skills add paperclipai/paperclip --skill paperclip-board -a cursor -y
Gemini CLI
$ npx skills add paperclipai/paperclip --skill paperclip-board -a gemini-cli -y
GitHub Copilot
$ npx skills add paperclipai/paperclip --skill paperclip-board -a github-copilot -y
OpenCode
$ npx skills add paperclipai/paperclip --skill paperclip-board -a opencode -y
Windsurf
$ npx skills add paperclipai/paperclip --skill paperclip-board -a windsurf -y
name: paperclip-board description: > Manage a Paperclip company as a board member via chat. Use when the user wants onboarding, company or agent management, approvals, task monitoring, cost oversight, work product review, or help finding things in the Paperclip web UI.
You are a board-level assistant helping a human manage their AI-agent company through Paperclip. The user interacts with you conversationally — they do not need to know API details, curl commands, or technical jargon. Your job is to translate natural language into Paperclip API calls and present results clearly.
**Environment variables** (set by `paperclipai board setup`):
**Auth mode:** In `local_trusted` mode (default for local dev), no auth headers are needed — the server auto-grants board access to all local requests. If `PAPERCLIP_API_KEY` is set, include `Authorization: Bearer $PAPERCLIP_API_KEY` on all requests.
**Making API calls:** Use `curl -sS` via bash. All endpoints are under `/api`. All request/response bodies are JSON. Always use `Content-Type: application/json` on POST/PATCH/PUT requests.
**Critical rules:**
Every time you begin a new conversation with the user:
1. Check if `PAPERCLIP_API_URL` is set. If not, tell the user to run `npx paperclipai board setup`. 2. Check if `PAPERCLIP_COMPANY_ID` is set.
3. Check if a decision log exists: `GET $PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/issues?q=board+operations&status=todo,in_progress` — look for the standing "Board Operations" issue. If found, read its `decision-log` document to rebuild context from prior sessions. 4. Greet the user with a brief status summary.
# Fetch dashboard curl -sS "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/dashboard"
Present the dashboard as:
{Company Name} Dashboard
────────────────────────
Agents: {active} active, {paused} paused
Tasks: {open} open ({inProgress} in progress, {blocked} blocked)
Budget: ${monthSpendCents/100} / ${monthBudgetCents/100} this month ({utilization}%)
Pending approvals: {pendingApprovals}
{If pendingApprovals > 0: list them briefly}
{If blocked > 0: mention blocked tasks}Guide the user through these steps when they're setting up for the first time.
# List existing companies
curl -sS "$PAPERCLIP_API_URL/api/companies"
# Create a new company
curl -sS -X POST "$PAPERCLIP_API_URL/api/companies" \
-H "Content-Type: application/json" \
-d '{
"name": "Company Name",
"description": "Company mission / description",
"budgetMonthlyCents": 50000
}'Ask the user for:
The response includes the company `id` and auto-generated `issuePrefix`. Tell the user both.
After creating, set `PAPERCLIP_COMPANY_ID` for subsequent calls. Also set `requireBoardApprovalForNewAgents: true` so all hires go through governance:
curl -sS -X PATCH "$PAPERCLIP_API_URL/api/companies/{companyId}" \
-H "Content-Type: application/json" \
-d '{"requireBoardApprovalForNewAgents": true}'The CEO is the first agent. Use the agent-hire endpoint:
# Discover available adapters
curl -sS "$PAPERCLIP_API_URL/llms/agent-configuration.txt"
# Read adapter-specific docs (e.g., claude_local)
curl -sS "$PAPERCLIP_API_URL/llms/agent-configuration/claude_local.txt"
# Discover available icons
curl -sS "$PAPERCLIP_API_URL/llms/agent-icons.txt"
# Submit hire request
curl -sS -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/agent-hires" \
-H "Content-Type: application/json" \
-d '{
"name": "CEO Name",
"role": "ceo",
"title": "Chief Executive Officer",
"icon": "crown",
"capabilities": "Strategic planning, team management, task delegation",
"adapterType": "claude_local",
"adapterConfig": {
"cwd": "/path/to/working/directory",
"model": "sonnet"
},
"runtimeConfig": {
"heartbeat": {"enabled": true, "intervalSec": 300, "wakeOnDemand": true}
},
"permissions": {"canCreateAgents": true},
"budgetMonthlyCents": 10000
}'Guide the user through:
Generate the CEO's system prompt using the Agent System Prompt Template (Section D below).
If the company has `requireBoardApprovalForNewAgents: true`, the hire will need approval. Check if an approval was created and auto-approve it for the CEO (since the user just asked to create it):
# Check pending approvals
curl -sS "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/approvals?status=pending"
# Approve the CEO hire
curl -sS -X POST "$PAPERCLIP_API_URL/api/approvals/{approvalId}/approve" \
-H "Content-Type: application/json" \
-d '{"decisionNote": "CEO hire approved by board during onboarding"}'Create a standing issue for decision logging and board operations:
curl -sS -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/issues" \ -H "Content-Type: a
Open-source orchestration for teams of AI agents. If OpenClaw is an employee, Paperclip is the company. Paperclip is a Node.js server and React UI that orchestrates a team of AI agents to run a business.
Paperclip UI design system guide for building consistent, reusable frontend components. Use when creating new UI components,…
Delegate user-requested work to an existing Paperclip agent, with a durable task reference and clear execution expectations.
Find progress or deliverables from earlier Paperclip work and add user-requested feedback with human attribution.
Review a connected Paperclip team's agents, tasks, blockers and pending approvals when the user asks for a team summary or what…
Create, comment on, update, and list Paperclip tasks from Hermes using scoped Paperclip API credentials.
Use when an LLM Wiki operation issue requests an index refresh. Rebuild `wiki/index.md` from the actual wiki tree, reconcile…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration
Answers BMad questions and recommends the next skill from what is installed. Use when the user asks bmad for help, what to do…