Skip to content
Productivity
Skill

/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", "запусти агента".

From plugin
personal-corp-os
24033 skills

Claude Code

$ npx -y skills add serejaris/personal-corp-os --skill paperclip-api --agent claude-code

SKILL.md

paperclip-api.SKILL.md
name: paperclip-api
description: 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", "запусти агента".

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-i
Read more
@serejaris
Ships withpersonal-corp-os

Manager uses your local Manager Config for repositories and boards; the distributed skill contains no personal workspace logs.

Stars on GitHub

Momentum

stars in total
240
Star history of serejaris/personal-corp-os on GitHub, a chart by star-history.com

Other skills on personal-corp-os.

daily-retro

daily-retro

Experimental. Daily retro from your agents' own logs: reads today's Claude Code and Codex sessions on this machine, groups them…

art-director

art-director

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

avatar

avatar

Робот агента Personal Corp. Агент делает себе голову робота из набора деталей, хранит её в штабе в stack/avatars.json и кладёт в…

benchmark

benchmark

Use when choosing between engines or models for an agent pipeline and the answer must come from measurement on your own data, not…

cc-analytics

cc-analytics

Use when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were…

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about paperclip-api.

Which coding agents can use paperclip-api?
paperclip-api installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.