art-director
Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.
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", "запусти агента".
$ npx -y skills add serejaris/personal-corp-os --skill paperclip-api --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/paperclip-apiContext preview
The summary Claude sees to decide when to auto-load this skill.
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", "запусти агента".
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", "запусти агента".
Управление компаниями AI-агентов через CLI и REST API. Без интерфейса.
# Базовый 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 аутентификация обычно не требуется.
# ─── Задачи ─── 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
Base: `http://127.0.0.1:3101/api`
# Список задач
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# Список агентов компании
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# Список ожидающих
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}# Список компаний
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 запускается ТОЛЬКО через CLI, не через REST API.**
npx paperclipai heartbeat run \ --agent-i
Personal Corp is a way to run a one-person company through AI agents: tasks out of your head, departments instead of one person's memory, a weekly retro instead of "I'll sort it out someday".
Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.
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…
Use when needing strategic project analysis from multiple independent expert perspectives. Triggers on business decisions, growth strategy, product direction,…
Use when creating or refactoring CLAUDE.md files - enforces best practices for size, structure, and content organization
Use when a Personal Corp operating loop needs setup, repair, a new department, or task routing: HQ files and agent rules, GitHub issue workflow, corp-* owner…
Фейбл руки-агенты — ручной режим оркестрации, где Fable не пишет код, а пишет спеки в тела GH issues и раздаёт готовые задачи рукам: кодинг, код-ревью,…