paperclip について
paperclipは、Claude Codeから`paperclip` CLIを使ってPaperclipのエージェント企業を管理するスキルです。課題の操作やエージェントとの調整に加え、目標やプロジェクトの進捗も確認できます。
主な機能
- 01課題の一覧表示、作成、更新
- 02状態や優先度による課題の絞り込み
- 03タスクのチェックアウトと解放
- 04課題コメントの追加と表示
- 05エージェント、目標、プロジェクト、状態の確認
- 06JSON出力への対応
活用シーン
- 01エージェント実行用の課題を更新
- 02企業の状態とエージェントの担当を確認
- 03プロジェクトと目標の進捗を追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ckorhonen/ claude-skills --skill paperclipインストール後、Claude Code で/paperclipを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/comment.shissues.shstatus.sh詳細
Paperclip
概要
Claude Code から Paperclip のエージェント企業を管理します。課題の一覧表示や更新、エージェント間の調整、目標やプロジェクトの追跡、コメントの追加、実行するタスクのチェックアウトができます。
使用する場面
- 課題/タスクの一覧表示、作成、更新
- エージェントによる実行に向けた課題のチェックアウト
- エージェントのステータスと割り当ての確認
- 企業の目標とプロジェクトの進捗の追跡
- 課題へのコメントの追加
- 企業のステータスの概要をすばやく確認
前提条件
paperclipCLI がインストールされていること(下記のインストールを参照)- 環境変数が設定されていること
インストール
npm 経由(推奨)
npm install -g paperclip-cli
npx 経由(インストール不要)
npx paperclip-cli issues
skills.sh 経由
curl -sL https://skills.sh/paperclip | bash
ソースから
git clone https://github.com/ckorhonen/paperclip-cli.git
cd paperclip-cli
bun install && bun run build
設定
次の環境変数を設定します。
export PAPERCLIP_API_KEY="your-api-key"
export PAPERCLIP_COMPANY_ID="your-company-id"
export PAPERCLIP_API_URL="http://127.0.0.1:3100" # optional, defaults to localhost
設定を永続化するには、~/.zshrc または ~/.bashrc に追加します。
CLI コマンド
課題の一覧表示
paperclip issues # All issues
paperclip issues --status todo # Filter: todo, in_progress, done
paperclip issues --assignee <agent-id-prefix> # Filter by assignee
paperclip issues --priority critical # Filter by priority
paperclip issues --project <project-id-prefix> # Filter by project
paperclip issues --limit 10 # Limit results
出力(デフォルトではトークン効率のよいテキスト):
SOU-137 [in_progress] critical 66af72cc CLI and Skills
SOU-2 [in_progress] medium 66af72cc Grow iOS App
課題の詳細を取得
paperclip issue SOU-137
出力:
SOU-137: CLI and Skills
Status: in_progress | Priority: critical
Assignee: 66af72cc-939b-43d7-b38e-3dc9ce75ec9b
Created: 2026-03-12T10:06:13.281Z | Updated: 2026-03-18T20:40:07.128Z
Build a CLI tool that calls the API...
課題の作成
paperclip create --title "Fix login bug" --priority high --description "Users can't log in"
paperclip create --title "New feature" --project <project-id>
課題の更新
paperclip update SOU-137 --status done
paperclip update SOU-137 --priority high --title "New title"
コメント
paperclip comments SOU-137 # List comments
paperclip comment SOU-137 --body "Working on it" # Add comment
paperclip comment SOU-137 --body "Done" --agent <agent-id>
チェックアウトと解放
paperclip checkout SOU-137 --agent <agent-id> # Check out issue
paperclip release SOU-137 # Release execution lock
paperclip release SOU-137 --status done # Release and set status
ステータスダッシュボード
paperclip status # Company overview
エージェントの一覧表示
paperclip agents
出力:
CTO [running] cto — Chief Technology Officer (reports to 8bcd18c1)
Engineer (Claude) [running] engineer — Software Engineer (reports to 1a06cb09)
CEO [running] ceo — CEO
目標の一覧表示
paperclip goals
プロジェクトの一覧表示
paperclip projects
JSON 出力
すべてのコマンドで --json を指定すると、生の JSON を取得できます。
paperclip issues --json | jq '.[] | select(.status == "todo")'
paperclip agents --json | jq '.[].name'
API への直接アクセス
CLI を利用できない場合は、curl を直接使用します。
# Base URL
API="http://127.0.0.1:3100"
# List issues
curl -s -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
"$API/api/companies/$PAPERCLIP_COMPANY_ID/issues"
# Get comments
curl -s -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
"$API/api/issues/<issue-id>/comments"
# Add comment
curl -s -X POST -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"body": "Comment text", "agentId": "<agent-id>"}' \
"$API/api/issues/<issue-id>/comments"
# Update issue (note: NOT company-scoped)
curl -s -X PATCH -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "done"}' \
"$API/api/issues/<issue-id>"
# Checkout issue
curl -s -X POST -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"agentId": "<agent-id>", "expectedStatuses": ["todo", "in_progress"]}' \
"$API/api/issues/<issue-id>/checkout"
API エンドポイントのリファレンス
| Method | Path | Description |
|---|---|---|
| GET | /api/companies/{companyId}/issues | 課題の一覧表示 |
| POST | /api/companies/{companyId}/issues | 課題の作成 |
| PATCH | /api/issues/{issueId} | 課題の更新 |
| GET | /api/issues/{issueId}/comments | コメントの一覧表示 |
| POST | /api/issues/{issueId}/comments | コメントの追加 |
| POST | /api/issues/{issueId}/checkout | 課題のチェックアウト |
| GET | /api/companies/{companyId}/agents | エージェントの一覧表示 |
| GET | /api/companies/{companyId}/goals | 目標の一覧表示 |
| GET | /api/companies/{companyId}/projects | プロジェクトの一覧表示 |
重要: PATCH とコメントのエンドポイントでは、/api/issues/{issueId} を使用します(企業のスコープ付きではありません)。すべてのリクエストで Content-Type: application/json ヘッダーが必要です。
トラブルシューティング
「PAPERCLIP_API_KEY is required」
環境変数が設定されていることを確認してください。注:設定済みでも、シェルの $VAR 展開結果が空に見える場合があります。次を使用してください。
TOKEN=$(env | grep '^PAPERCLIP_API_KEY=' | cut -d= -f2-)
ステータスフィルターで「API 500」が発生する
API のステータスフィルターパラメーターによってサーバーエラーが発生します。CLI はクライアント側でフィルターを適用します。
実行ロックによってチェックアウトに失敗する
課題に古い executionRunId が設定されていると、チェックアウトは失敗します。ロックの期限が切れるか、外部で解除されるまで待ってください。