Community코딩 & 개발github.com

grahama1970/agent-inbox

파일 기반 에이전트 간 메시징과 헤드리스 디스패치를 제공합니다. 받은 편지함을 확인하고, 다른 프로젝트에 버그/요청을 보내고, 헤드리스 에이전트를 자동 생성하여 버그를 수정하고, task-monitor를 통해 진행 상황을 추적합니다.

agent-inbox란 무엇인가요?

Agent Inbox는 파일 기반의 에이전트 간 메시징 시스템으로, 개발자가 여러 프로젝트 간에 버그, 요청, 정보를 주고받고 헤드리스 AI 에이전트를 자동으로 디스패치하여 문제를 해결할 수 있게 합니다. 사용자는 `send` 명령어로 모델, 타임아웃, 검증 명령 등을 지정하여 메시지를 보내면, AI가 자동으로 심각도를 분류(triage)하고 우선순위를 조정한 후 적절한 모델(sonnet, opus-4.5, codex-5.2 등)의 헤드리스 에이전트를 스폰하여 작업을 수행합니다. task-monitor와 통합되어 실시간 진행률(0%→100%)을 추적하고, 검증 명령이 통과하면 자동으로 확인(ack) 처리되며 실패 시 에이전트가 재시도됩니다. Claude Code, Cursor 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, CLI 명령어와 후크(hook)를 통해 에이전트 시작 시나 프로젝트 전환 시 자동으로 받은 편지함을 확인하도록 설정할 수 있습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/agent-inbox

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

중지. 엔드포인트를 호출하기 전에 이 SKILL.MD 전체를 읽으십시오.

Agent Inbox

파일 기반 에이전트 간 메시징 시스템으로, 헤드리스 디스패치와 task-monitor 통합을 지원합니다.

핵심 워크플로

  1. 전송: 에이전트 A가 프로젝트 B로 모델 및 검증 명령과 함께 버그/요청을 보냅니다.
  2. 분류: AI가 심각도를 분류하고, 우선순위/모델을 조정한 후 프로젝트로 라우팅합니다.
  3. 디스패치: 지정된 모델로 헤드리스 에이전트가 생성되어 문제를 수정합니다.
  4. 추적: Task-monitor가 실시간 진행률을 표시합니다(0% → 25% → 50% → 75% → 100%).
  5. 검증: 자동 확인 전에 테스트 명령이 실행됩니다. 실패 시 에이전트로 다시 루프백됩니다.
  6. 스레드: 다중 메시지 대화를 위한 답장/교환 스레딩을 지원합니다.

설정

# 프로젝트 등록 (최초 한 번)
.pi/skills/agent-inbox/agent-inbox register memory /home/user/workspace/memory
.pi/skills/agent-inbox/agent-inbox register scillm /home/user/workspace/litellm

# 목록 / 확인
.pi/skills/agent-inbox/agent-inbox projects
.pi/skills/agent-inbox/agent-inbox whoami

명령어

명령어설명
register <이름> <경로>프로젝트 등록
unregister <이름>프로젝트 제거
projects [--json]등록된 프로젝트 목록 표시
whoami현재 작업 디렉토리(cwd)의 감지된 프로젝트 표시
send --to PROJECT --type TYPE "메시지"메시지 전송 (유형: bug, request, info, question)
check [--project P] [--all] [--quiet]받은 편지함 확인
list [--project P] [--status S] [--json]메시지 목록 표시
read MSG_ID [--json]메시지 읽기
ack MSG_ID [--note "..."]확인/완료
reply MSG_ID "메시지"답장 (자동 스레드)
thread THREAD_ID전체 교환 스레드 보기
update-status MSG_ID 상태 [--note]상태 수동 업데이트
triage classify --message "..." [--no-llm]수동 분류
triage route --message "..."파일 경로 기반 자동 라우팅
triage log --msg-id ID분류 결정 로그 보기
triage webhook-add --url URL --events E웹훅 등록

전송 옵션

옵션설명기본값
--model MODELAI 모델: sonnet, opus-4.5, codex-5.2, codex-5.2-highsonnet
--timeout MINUTES최대 에이전트 작업 시간30
--test COMMAND자동 확인 전 검증 명령없음
--no-dispatch자동 스폰 비활성화False
--context-file FILE컨텍스트로 파일 첨부 (반복 가능)없음
--priority PRIORITYlow, normal, high, criticalnormal
--no-triageAI 분류 건너뛰기False
--dry-run전송 없이 메시지 JSON 표시False

모델 선택

모델사용 사례
sonnet간단한 수정, 오타
opus-4.5복잡한 분석, 아키텍처
codex-5.2표준 버그 수정
codex-5.2-high심층 추론, 경쟁 조건

AI 분류

메시지는 심각도에 따라 자동 분류됩니다:

  • critical: 크래시, 데이터 손실, 보안, 프로덕션 다운 → opus-4.5
  • high: 오류, 예외, 실패, 중단, 회귀 → opus-4.5
  • medium: 버그, 문제, 부정확, 예상치 못한 → sonnet
  • low: 오타, 미관상, 개선, 사소한 → sonnet

자동 라우팅은 메시지에서 파일 경로를 추출하고 등록된 프로젝트와 일치시킵니다.

상태 진행

pending → dispatched (25%) → in_progress (50%) → needs_verification (75%) → done (100%)

메모리 사전 후크

디스패처는 에이전트를 생성하기 전에 /memory를 조회하여 유사한 버그와 이전 해결책을 찾습니다.

사전 확인

에이전트는 세션 시작 시, 프로젝트 전환 시, 주요 작업 전, 그리고 사용자가 다른 에이전트나 프로젝트를 언급할 때 받은 편지함을 확인해야 합니다.

저장소

~/.agent-inbox/
├── pending/          # 처리되지 않은 메시지
├── done/             # 확인된 메시지
├── logs/             # 디스패치 로그
├── task_states/      # Task-monitor 상태 파일
├── triage_logs/      # AI 분류 결정 로그
├── webhooks.json     # 등록된 웹훅
└── projects.json     # 프로젝트 레지스트리

예시

# 검증 명령과 함께 버그 전송 (헤드리스 Opus 에이전트 스폰, 테스트 통과 시 자동 확인)
python inbox.py send --to scillm --type bug --model opus-4.5 \
  --test "pytest tests/test_providers.py -x" \
  "공급자 초기화의 경쟁 조건"

# 컨텍스트 파일 첨부
python inbox.py send --to scillm --type bug --model opus-4.5 \
  --context-file src/server.py --context-file /tmp/traceback.txt \
  "서버 시작 시 크래시"

# 받은 편지함 확인 및 처리
python inbox.py check --all
python inbox.py read scillm_abc123
python inbox.py ack scillm_abc123 --note "커밋 abc123에서 수정됨"

# 스레드 교환
python inbox.py reply scillm_abc123 "스택 트레이스를 제공해 주시겠습니까?"
python inbox.py thread scillm_abc123

디스패처 데몬

python dispatcher.py start              # 백그라운드
python dispatcher.py start --foreground  # 디버그
python dispatcher.py status
python dispatcher.py stop

환경 변수

변수설명기본값
AGENT_INBOX_DIR받은 편지함 디렉토리~/.agent-inbox
TASK_MONITOR_API_URLTask-monitor URLhttp://localhost:8765
CLAUDE_PROJECT현재 프로젝트 이름자동 감지

Claude Code 후크와의 통합

{
  "hooks": {
    "on_session_start": [
      ".pi/skills/agent-inbox/agent-inbox check --project $(basename $PWD) || true"
    ]
  }
}

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

grahama1970/acceptance-contract

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/align

Round-based context alignment before execution. Use when the human, project agent, WebGPT, scillm, ask, dogpile, memory, or project-knowledge may each hold different facts about a task; especially before ambiguous design, infographic, product workflow, high-stakes implementation, plan-iterate, project-infographic, or multi-review work.

grahama1970/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/arxiv

Search arXiv for papers and extract knowledge into memory. Use `search` to find papers, `learn` to extract knowledge.

grahama1970/ask

Use when the user asks to query project memory, ask an oracle, use supported browser-backed reviewers, run Tau roundtable/single-handler workflows, ask Pi-native subagents from within Pi, run persona/deep-review workflows, generate image prompts, check OS/project health through composed skills, or run an ask DAG. This skill is the executable /ask runtime; do not replace it with an informal subagent, plain web search, or hand-written review; inside Pi, explicit Pi-native subagent targets are routed through the pi-subagents tool as an Ask target type.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant

Shared GPT + classifier inference gateway for persona monitor tasks. Routes validation and classification through a 4-tier cascade: heuristic → classifier → local GPT → scillm.

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

관련 스킬