Skip to content

Latest commit

Β 

History

History
351 lines (270 loc) Β· 10.9 KB

File metadata and controls

351 lines (270 loc) Β· 10.9 KB


🐦 AgentCrow

ClaudeλŠ” 빈 μ„œλΈŒμ—μ΄μ „νŠΈλ₯Ό μŠ€ν°ν•œλ‹€. AgentCrowκ°€ μ „λ¬Έκ°€λ‘œ λ§Œλ“ λ‹€.
154 μ „λ¬Έκ°€ 페λ₯΄μ†Œλ‚˜. Hook κ°•μ œ μ£Όμž…. μ„€μ • μ—†μŒ.

npm Agents Tests Hook License

English β€’ ν•œκ΅­μ–΄ β€’ ζ—₯本θͺž β€’ δΈ­ζ–‡


문제

Claude Codeκ°€ μ„œλΈŒμ—μ΄μ „νŠΈλ₯Ό μƒμ„±ν•˜λ©΄, 그건 빈 λ²”μš© μ—μ΄μ „νŠΈλ‹€. 전문성도 μ—†κ³ , κ·œμΉ™λ„ μ—†κ³ , 성격도 μ—†λ‹€.

λ‚˜: "인증 + ν…ŒμŠ€νŠΈ + λ¬Έμ„œ λ§Œλ“€μ–΄μ€˜"

AgentCrow 없이:
  Agent 1: (빈 껍데기) β†’ 인증 μž‘μ„±       ← μ½”λ”© ν‘œμ€€ μ—†μŒ
  Agent 2: (빈 껍데기) β†’ ν…ŒμŠ€νŠΈ μž‘μ„±      ← 컀버리지 κ·œμΉ™ μ—†μŒ
  Agent 3: (빈 껍데기) β†’ λ¬Έμ„œ μž‘μ„±        ← μŠ€νƒ€μΌ κ°€μ΄λ“œ μ—†μŒ

AgentCrow μ‚¬μš©:
  Agent 1: β†’ πŸ—οΈ Backend Architect μ£Όμž…
            "데이터 무결성에 νŽΈμ§‘μ¦μ . λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 없이 μ ˆλŒ€ 배포 μ•ˆ 함."
  Agent 2: β†’ πŸ§ͺ QA Engineer μ£Όμž…
            "'μ•„λ§ˆ λ™μž‘ν•  κ±Έ'을 개인적 λͺ¨μš•μœΌλ‘œ λ°›μ•„λ“€μž„."
  Agent 3: β†’ πŸ“ Technical Writer μ£Όμž…
            "λͺ¨λ“  λ¬Έμž₯이 자기 자리λ₯Ό 증λͺ…ν•΄μ•Ό 함."

PreToolUse Hook이 λͺ¨λ“  Agent 도ꡬ ν˜ΈμΆœμ„ κ°€λ‘œμ±„μ„œ, μ„œλΈŒμ—μ΄μ „νŠΈκ°€ μ‹œμž‘λ˜κΈ° 전에 μ μ ˆν•œ μ „λ¬Έκ°€ 페λ₯΄μ†Œλ‚˜λ₯Ό μžλ™ μ£Όμž…ν•œλ‹€. μˆ˜λ™ 선택 μ—†μŒ. ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§ μ—†μŒ.


⚑ μ„€μΉ˜

npm i -g agentcrow
agentcrow init --global

λͺ…λ Ήμ–΄ 두 개. μ΄μ œλΆ€ν„° λͺ¨λ“  μ„œλΈŒμ—μ΄μ „νŠΈκ°€ μ „λ¬Έκ°€ 페λ₯΄μ†Œλ‚˜λ₯Ό κ°–λŠ”λ‹€.

Tip

확인: agentcrow status둜 두 Hook(SessionStart + PreToolUse)이 ν™œμ„± μƒνƒœμΈμ§€ λ³Έλ‹€.


βš™οΈ λ™μž‘ 원리

  λ‚˜: "JWT 인증 μ‹œμŠ€ν…œ λ§Œλ“€κ³  ν…ŒμŠ€νŠΈ μΆ”κ°€ν•΄μ€˜"
                    β”‚
                    β–Ό
  Claude calls Agent tool:
    { name: "qa_engineer", prompt: "Write E2E tests" }
                    β”‚
                    β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  PreToolUse Hook (automatic)            β”‚
  β”‚                                         β”‚
  β”‚  agentcrow-inject.sh β†’ agentcrow inject β”‚
  β”‚    1. Load catalog-index.json  (~5ms)   β”‚
  β”‚    2. Match "qa_engineer"      (exact)  β”‚
  β”‚    3. Load QA Engineer persona          β”‚
  β”‚    4. Prepend to prompt                 β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
                    β–Ό
  Subagent spawns with full persona:
    <AGENTCROW_PERSONA>
    You are QA Engineer β€” test specialist
    ## MUST
    - Test every public function
    - Cover happy path, edge case, error path
    ## MUST NOT
    - Never test implementation details
    - Never use sleep for async waits
    </AGENTCROW_PERSONA>

    Write E2E tests    ← original prompt preserved

μ„Έ κ°€μ§€ λ§€μΉ­ μ „λž΅

μš°μ„ μˆœμœ„ μ „λž΅ μ˜ˆμ‹œ
1 μ •ν™• 이름 λ§€μΉ­ name: "qa_engineer" β†’ QA Engineer
2 μ„œλΈŒμ—μ΄μ „νŠΈ νƒ€μž… λ§€μΉ­ subagent_type: "security_auditor" β†’ Security Auditor
3 ν‚€μ›Œλ“œ + λ™μ˜μ–΄ 퍼지 λ§€μΉ­ "kubernetes deploy" β†’ DevOps Automator

퍼지 맀칭은 λ™μ˜μ–΄ λ§΅(50개 이상)κ³Ό νžˆμŠ€ν† λ¦¬ ν•™μŠ΅μ„ μ‚¬μš©ν•œλ‹€ β€” 자주 μ“°λŠ” μ—μ΄μ „νŠΈκ°€ λ§€μΉ­ μš°μ„ μˆœμœ„λ₯Ό κ°€μ§„λ‹€.


πŸ‘€ Before / After

❌ AgentCrow 없이

Claudeκ°€ 빈 μ„œλΈŒμ—μ΄μ „νŠΈ 생성:
  prompt: "Write tests for auth"

  κ²°κ³Ό:
  - λ²”μš© ν…ŒμŠ€νŠΈ 파일
  - AAA ꡬ쑰 μ—†μŒ
  - μ—£μ§€ μΌ€μ΄μŠ€ λˆ„λ½
  - 컀버리지 λͺ©ν‘œ μ—†μŒ

βœ… AgentCrow μ‚¬μš©

QA Engineer 페λ₯΄μ†Œλ‚˜ μ£Όμž…:
  MUST: test every public function
  MUST NOT: test implementation details

  κ²°κ³Ό:
  - AAA ꡬ쑰 ν…ŒμŠ€νŠΈ
  - Happy path + edge + error 컀버
  - 컀버리지 리포트 포함
  - CI μ„€μ • 생성

πŸ€– 154 μ—μ΄μ „νŠΈ

14개 빌트인 μ—μ΄μ „νŠΈ (μˆ˜μž‘μ—… μ œμž‘)

각 빌트인 μ—μ΄μ „νŠΈλŠ” 성격, MUST/MUST NOT κ·œμΉ™, μ‚°μΆœλ¬Ό, 성곡 μ§€ν‘œλ₯Ό κ°–μΆ”κ³  μžˆλ‹€.

μ—μ΄μ „νŠΈ μ „λ¬Έ λΆ„μ•Ό 핡심 κ·œμΉ™
Backend Architect API, 인증, λ°μ΄ν„°λ² μ΄μŠ€, 캐싱 "λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 없이 μ ˆλŒ€ 배포 μ•ˆ 함"
Frontend Developer React/Next.js, Core Web Vitals "상속보닀 ν•©μ„±, 항상"
QA Engineer Unit/Integration/E2E, 컀버리지 "ν…ŒμŠ€νŠΈ μ•ˆ 된 μ½”λ“œλŠ” 망가진 μ½”λ“œλ‹€"
Security Auditor OWASP, CVSS, λͺ¨λ“  λ°œκ²¬μ— PoC "'μ½”λ“œκ°€ μ•ˆμ „ν•˜λ‹€'λŠ” μ ˆλŒ€ 말 μ•ˆ 함"
UI Designer λ””μžμΈ μ‹œμŠ€ν…œ, 토큰, 간격 "토큰 μ‹œμŠ€ν…œμ— μ—†μœΌλ©΄ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ±°λ‹€"
DevOps Automator CI/CD, Docker, K8s, μ‹œν¬λ¦Ώ "ν”„λ‘œλ•μ…˜μ— :latest νƒœκ·Έ κΈˆμ§€"
AI Engineer LLM, RAG, ν”„λ‘¬ν”„νŠΈ μ΅œμ ν™” "LLM은 κ°€λ“œλ ˆμΌμ΄ ν•„μš”ν•˜λ‹€"
Refactoring Specialist μ½”λ“œ 슀멜, Fowler μΉ΄νƒˆλ‘œκ·Έ "ν…ŒμŠ€νŠΈ 없이 μ ˆλŒ€ λ¦¬νŒ©ν† λ§ μ•ˆ 함"
Complexity Critic μˆœν™˜ λ³΅μž‘λ„, YAGNI "증거 없이 λ³΅μž‘ν•˜λ‹€κ³  μ ˆλŒ€ 말 μ•ˆ 함"
Data Pipeline Engineer ETL, λ©±λ“±μ„±, μŠ€ν‚€λ§ˆ "멱등성은 ν˜‘μƒ λΆˆκ°€λ‹€"
Technical Writer API λ¬Έμ„œ, κ°€μ΄λ“œ, README "λͺ¨λ“  λ¬Έμž₯이 자기 자리λ₯Ό 증λͺ…ν•΄μ•Ό 함"
Translator i18n, λ‘œμΌ€μΌ 파일, λ²ˆμ—­ "μ½”λ“œ μ‹λ³„μžλŠ” μ ˆλŒ€ λ²ˆμ—­ μ•ˆ 함"
Compose Meta-Reviewer μ—μ΄μ „νŠΈ ꡬ성 감사 "70점 미만이면 μ‹€ν–‰ 차단"
Unreal GAS Specialist GameplayAbilitySystem, UE5 "GameplayAbilitiesμ—μ„œ 데미지 계산 κΈˆμ§€"

140개 μ™ΈλΆ€ μ—μ΄μ „νŠΈ (13개 λΆ€μ„œ)

λΆ€μ„œ 수 μ˜ˆμ‹œ
Engineering 24 Data Engineer, Mobile Builder, Security Engineer
Marketing 25 SEO, TikTok, LinkedIn, Douyin Strategist
Game Dev 20 Godot, Unity, Unreal specialists
Design 8 Brand Guardian, UX Architect, Visual Storyteller
Testing 8 Accessibility, API, Performance
Sales 7 Account, Deal, Outbound Strategist
Support 6 Analytics, Finance, Customer Support
Project Mgmt 6 Project Shepherd, Jira Steward
Academic 5 Anthropologist, Historian, Psychologist
Spatial Computing 4 XR, Metal, WebXR
Specialized 25 MCP Builder, Workflow Architect, Data Extraction
Product 1 Behavioral Nudge Engine
Strategy 1 NEXUS Handoff Templates

πŸ”§ λͺ…λ Ήμ–΄

# Install & Setup
agentcrow init [--global] [--lang en|ko] [--max 5] [--mcp]

# Lifecycle
agentcrow on / off [--global]   # Enable/disable
agentcrow status                # Check installation
agentcrow doctor                # 12-point diagnostic
agentcrow update                # Fetch latest agents
agentcrow uninstall             # Clean removal

# Agent Management
agentcrow agents                # List all 154 agents
agentcrow agents search <query> # Keyword search
agentcrow add <path|url>        # Add custom agent (.md/.yaml)
agentcrow remove <role>         # Remove custom agent

# Inspect & Debug
agentcrow compose <prompt>      # Preview decomposition (dry run)
agentcrow stats                 # Dispatch history & analytics
agentcrow inject                # Hook handler (internal)

# MCP Server
agentcrow serve                 # Start MCP server (stdio)

πŸ“Š 톡계

$ agentcrow stats

  🐦 AgentCrow Stats

  Match Quality
    exact  106 (55%)   ← 이름이 직접 맀칭됨
    fuzzy   87 (45%)   ← ν‚€μ›Œλ“œ + λ™μ˜μ–΄λ‘œ 맀칭됨
    none     0 (0%)    ← λ§€μΉ­ μ—†μŒ, 패슀슀루

  Top Agents
    qa_engineer            89 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
    frontend_developer     23 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
    backend_architect      15 β–ˆβ–ˆβ–ˆ

πŸ›‘οΈ μ•ˆμ „ & μ„±λŠ₯

Hook μ§€μ—° Agent ν˜ΈμΆœλ‹Ή 50ms 미만
토큰 μ˜€λ²„ν—€λ“œ 페λ₯΄μ†Œλ‚˜λ‹Ή μ•½ 350 토큰
Fail-open μΈλ±μŠ€λ‚˜ λ°”μ΄λ„ˆλ¦¬ λˆ„λ½ μ‹œ β†’ 패슀슀루 (μž₯μ•  μ—†μŒ)
λ‚΄μž₯ νƒ€μž… Explore, Plan, general-purpose β†’ μ ˆλŒ€ κ°€λ‘œμ±„μ§€ μ•ŠμŒ
λ‹¨μˆœ ν”„λ‘¬ν”„νŠΈ μ—μ΄μ „νŠΈ λ””μŠ€νŒ¨μΉ˜ μ—†μŒ, μ˜€λ²„ν—€λ“œ 제둜
agentcrow off μ™„μ „νžˆ λΉ„ν™œμ„±ν™”, λͺ¨λ“  것 λ°±μ—…

Important

AgentCrowλŠ” Claudeλ₯Ό μ ˆλŒ€ μ°¨λ‹¨ν•˜μ§€ μ•ŠλŠ”λ‹€. 무엇이든 μ‹€νŒ¨ν•˜λ©΄, μ›λž˜ ν”„λ‘¬ν”„νŠΈκ°€ λ³€κ²½ 없이 κ·ΈλŒ€λ‘œ μ „λ‹¬λœλ‹€.


πŸ—οΈ μ•„ν‚€ν…μ²˜

~/.agentcrow/
  β”œβ”€β”€ agents/
  β”‚   β”œβ”€β”€ builtin/          14 YAML (hand-crafted)
  β”‚   β”œβ”€β”€ external/         140 MD (agency-agents + community)
  β”‚   └── md/               154 unified .md files
  β”œβ”€β”€ catalog-index.json    Pre-built for <5ms lookup
  └── history.json          Dispatch records (last 1000)

~/.claude/
  β”œβ”€β”€ settings.json         SessionStart + PreToolUse hooks
  β”œβ”€β”€ hooks/
  β”‚   └── agentcrow-inject.sh
  └── agents/
      └── INDEX.md          Agent catalog

βž• μ»€μŠ€ν…€ μ—μ΄μ „νŠΈ

agentcrow add ./my-agent.yaml           # Local file
agentcrow add https://example.com/a.md  # URL
agentcrow remove my_agent               # Remove (custom only)

μ—μ΄μ „νŠΈ ν˜•μ‹ (.md λ˜λŠ” .yaml):

# My Custom Agent

> One-line mission statement

**Role:** my_custom_agent

## Identity
How this agent thinks and works.

## MUST
- Rule 1
- Rule 2

## MUST NOT
- Anti-pattern 1
- Anti-pattern 2

πŸ”Œ MCP μ„œλ²„ (선택)

agentcrow init --global --mcp

Claude Code에 3개 도ꡬλ₯Ό μΆ”κ°€ν•œλ‹€: agentcrow_match, agentcrow_search, agentcrow_list.


🀝 κΈ°μ—¬ν•˜κΈ°

git clone https://github.com/jee599/agentcrow.git
cd agentcrow && npm install && npm test  # 190 tests

πŸ“œ λΌμ΄μ„ μŠ€

MIT


🐦 λͺ¨λ“  μ„œλΈŒμ—μ΄μ „νŠΈλŠ” 페λ₯΄μ†Œλ‚˜λ₯Ό κ°€μ§ˆ 자격이 μžˆλ‹€.

Star