本文へ移動
cccskills
無料GitHub で公開

paperclip-api

Use when managing Paperclip AI agent companies - creating tasks, managing agents, approving hires, running heartbeats, or any Paperclip control-plane operations via CLI or REST API. Triggers on "paperclip", "задача агенту", "одобри найм", "heartbeat", "запусти агента".

インストール方法を見る

含まれるファイル(4)

  • SKILL.md9.7 KB
  • assets/illustration.png491.6 KB
  • README.md1.5 KB
  • README.ru.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Paperclip API

Управление компаниями AI-агентов через CLI и REST API. Без интерфейса.

Когда использовать

  • Создать/обновить задачу для агента
  • Посмотреть статус агентов, задач, расходов
  • Одобрить найм или стратегию
  • Запустить heartbeat вручную
  • Изменить промпт, модель или бюджет агента
  • Прокомментировать задачу

Конфигурация инстанса

# Базовый URL (по умолчанию)
PAPERCLIP_API=http://127.0.0.1:3101

# Найти companyId
curl -s $PAPERCLIP_API/api/companies | python3 -m json.tool

# Найти agentId
curl -s $PAPERCLIP_API/api/companies/{companyId}/agents | python3 -m json.tool

Аутентификация: API-ключ агента (Authorization: Bearer <key>) или сессионная кука браузера. Для локальной работы через curl аутентификация обычно не требуется.

CLI — быстрые команды

# ─── Задачи ───
pnpm paperclipai issue create --title "Аудит SEO" --description "..." --priority high
pnpm paperclipai issue list [--status todo,in_progress] [--assignee-agent-id <id>]
pnpm paperclipai issue get <issue-id-or-identifier>
pnpm paperclipai issue update <issue-id> [--status in_progress] [--comment "..."]
pnpm paperclipai issue comment <issue-id> --body "Готово, проверь"
pnpm paperclipai issue checkout <issue-id> --agent-id <id>
pnpm paperclipai issue release <issue-id>

# ─── Агенты ───
pnpm paperclipai agent list
pnpm paperclipai agent get <agent-id>

# ─── Одобрения ───
pnpm paperclipai approval list [--status pending]
pnpm paperclipai approval approve <id>
pnpm paperclipai approval reject <id>

# ─── Компании ───
pnpm paperclipai company list
pnpm paperclipai company get <company-id>

# ─── Контекст (сохранить defaults) ───
pnpm paperclipai context set --api-base http://localhost:3101 --company-id <id>
pnpm paperclipai context show

REST API — эндпоинты

Base: http://127.0.0.1:3101/api

Задачи (Issues)

# Список задач
GET /api/companies/{companyId}/issues?status=todo,in_progress

# Создать задачу
POST /api/companies/{companyId}/issues
{"title": "...", "description": "...", "priority": "high", "assigneeAgentId": "..."}

# Обновить задачу
PATCH /api/issues/{issueId}
{"status": "in_progress", "priority": "critical"}

# Комментарий (основной способ коммуникации между агентами)
POST /api/issues/{issueId}/comments
{"body": "## Обновление\n\nСделано то-то"}

# Назначить агенту (атомарный checkout)
POST /api/issues/{issueId}/checkout
{"agentId": "..."}

# Снять с агента
POST /api/issues/{issueId}/release

Агенты (Agents)

# Список агентов компании
GET /api/companies/{companyId}/agents

# Детали агента
GET /api/agents/{agentId}

# Обновить агента (промпт, модель, бюджет)
PATCH /api/agents/{agentId}
{"adapterConfig": {"model": "claude-opus-4-6", "promptTemplate": "Общайся на русском"}}

# Поставить на паузу / снять с паузы
POST /api/agents/{agentId}/pause
POST /api/agents/{agentId}/resume

# Запустить heartbeat — ТОЛЬКО через CLI, не через REST API!
# npx paperclipai heartbeat run --agent-id {agentId} --api-base http://127.0.0.1:3101

Одобрения (Approvals)

# Список ожидающих
GET /api/companies/{companyId}/approvals?status=pending

# Одобрить
POST /api/approvals/{id}/approve
{"notes": "Одобрено"}

# Отклонить
POST /api/approvals/{id}/reject
{"notes": "Причина отказа"}

# Запросить найм нового агента
POST /api/companies/{companyId}/agent-hires
{"name": "SEO Analyst", "role": "researcher", "reportsTo": "{managerId}", "capabilities": "...", "budgetMonthlyCents": 5000}

Компании (Companies)

# Список компаний
GET /api/companies

# Создать компанию
POST /api/companies
{"name": "sereja.tech", "description": "SEO и контент"}

# Обновить бюджет
PATCH /api/companies/{companyId}
{"budgetMonthlyCents": 100000}

Проекты и цели

# Цели
POST /api/companies/{companyId}/goals
{"title": "Вырасти до 1000 подписчиков", "level": "company", "status": "active"}

# Проекты
POST /api/companies/{companyId}/projects
{"name": "SEO Sprint", "goalId": "..."}

Активность

# Лог всех действий
GET /api/companies/{companyId}/activity?agentId={id}&entityType=issue

Файлы инструкций

Промпты агентов — обычные markdown-файлы:

~/.paperclip/instances/default/companies/{companyId}/agents/{agentId}/instructions/AGENTS.md

Дополнительные файлы: HEARTBEAT.md, SOUL.md, TOOLS.md — в той же папке.

Изменения подхватываются при следующем heartbeat без перезапуска.

Типичные сценарии

Создать задачу и назначить агенту

# Создать
curl -X POST $PAPERCLIP_API/api/companies/$CID/issues \
  -H "Content-Type: application/json" \
  -d '{"title": "Аудит всех постов", "priority": "high"}'

# Назначить (из ответа взять issueId)
curl -X POST $PAPERCLIP_API/api/issues/$ISSUE_ID/checkout \
  -H "Content-Type: application/json" \
  -d '{"agentId": "'$AGENT_ID'"}'

Переключить агента на русский

# Через файл (рекомендуется)
# Добавить в начало AGENTS.md:
# "IMPORTANT: Communicate in Russian (русский язык)."

# Или через API
curl -X PATCH $PAPERCLIP_API/api/agents/$AGENT_ID \
  -H "Content-Type: application/json" \
  -d '{"adapterConfig": {"promptTemplate": "Общайся на русском языке. Код и коммиты — на английском."}}'

Одобрить все ожидающие запросы

curl -s $PAPERCLIP_API/api/companies/$CID/approvals?status=pending | \
  python3 -c "import sys,json; [print(a['id']) for a in json.load(sys.stdin)]" | \
  xargs -I{} curl -X POST $PAPERCLIP_API/api/approvals/{}/approve \
    -H "Content-Type: application/json" -d '{"notes": "Одобрено"}'

Запустить heartbeat агента

Heartbeat запускается ТОЛЬКО через CLI, не через REST API.

npx paperclipai heartbeat run \
  --agent-id {agentId} \
  --api-base http://127.0.0.1:3101

Опции:

  • --source — timer | assignment | on_demand | automation (default: on_demand)
  • --trigger — manual | ping | callback | system (default: manual)
  • --timeout-ms — таймаут в мс (default: 0 = без лимита)
  • --debug — показать сырой stdout адаптера

Настроить git workflow для агента-инженера

Добавить в AGENTS.md инженера (в файле инструкций):

## Git workflow

НИКОГДА не коммить в main напрямую. Для каждой задачи:
1. Создай ветку: `git checkout -b feat/<issue-id>-<slug>`
2. Работай в ветке, коммить атомарно
3. После завершения создай Pull Request: `gh pr create --title "..." --body "..."`
4. Оставь комментарий к задаче со ссылкой на PR
5. Дождись одобрения перед мержем — сам не мержи

Цепочка: Цель → Стратегия → Задачи

Встроенный workflow Paperclip:

  1. Цель — задаётся в Goals (ты)
  2. CEO heartbeat — CEO видит цель, пишет стратегию, отправляет на одобрение (approve_ceo_strategy)
  3. Одобрение — ты читаешь и одобряешь/отклоняешь
  4. Декомпозиция — CEO разбивает стратегию на задачи, назначает агентам
  5. Найм — CEO нанимает новых агентов через hire_agent approval

Чего пока нет

  • MCP-сервера нет (#369)
  • agent create/update/delete через CLI — только через API
  • Официальных скиллов для Claude Code нет

Ссылки

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.

日本語の概要は準備中です。原文の説明を表示しています。

serejaris/personal-corp-os2292026年10月8日 更新

Audits the agent rules in the current folder (AGENTS.md, nested AGENTS.md files) and the skill descriptions the agent sees at start, then reports what to cut, move or rewrite and edits only after the user says yes. Use on «аудит правил», «проверь AGENTS.md», «почему агент не слушается правил», «проверь скиллы».

日本語の概要は準備中です。原文の説明を表示しています。

serejaris/personal-corp-os2292026年10月8日 更新

avatar

無料

Робот агента Personal Corp. Агент делает себе голову робота из набора деталей, хранит её в штабе в stack/avatars.json и кладёт в штаб страницу avatar/robot.html, где робот стоит за партой своего штаба и вокруг видны отделы, без сервера и интернета. На уроке по ссылке входа с экрана урока робот входит в живой класс и горит маячком, пока агент работает. Триггеры /avatar, /avatar <ссылка входа>, сделай себе аватар, покажи своего робота, приди на урок.

日本語の概要は準備中です。原文の説明を表示しています。

serejaris/personal-corp-os2292026年10月8日 更新

benchmark

無料

Use when choosing between engines or models for an agent pipeline and the answer must come from measurement on your own data, not from marketing pages: speech recognition for meeting recordings, the model that turns a transcript into notes, the critic model that checks it. Runs every variant in an isolated container, measures time, cost per hour of input (USD and RUB, with price source and date) and quality (WER/CER and course terms for ASR; code checks plus a judge of a different model for LLM steps), writes results.json/csv and one static analytics page. Triggers on "бенчмарк", "сравни движки", "сколько стоит час записи", "какую модель взять для пайплайна", "benchmark the pipeline", "compare ASR engines".

日本語の概要は準備中です。原文の説明を表示しています。

serejaris/personal-corp-os2292026年10月8日 更新

Use when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on. Triggers on "аналитика", "статистика claude", "cc stats", "weekly report", "что делал"

日本語の概要は準備中です。原文の説明を表示しています。

serejaris/personal-corp-os2292026年10月8日 更新

Use when needing strategic project analysis from multiple independent expert perspectives. Triggers on business decisions, growth strategy, product direction, competitive analysis, or any situation where diverse C-level opinions reduce blind spots

日本語の概要は準備中です。原文の説明を表示しています。

serejaris/personal-corp-os2292026年10月8日 更新

serejaris のスキルをすべて見る

このスキルの問題を報告する