Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/sangrokjung/claude-forge/plannergit clone --depth 1 https://github.com/sangrokjung/claude-forgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/sangrokjung/claude-forge/planner)<a href="https://agentmods.dev/agents/sangrokjung/claude-forge/planner"><img src="https://agentmods.dev/badge/agents/sangrokjung/claude-forge/planner.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00112 | $0.03500 |
| Opus 5 | $0.00056 | $0.01750 |
| Sonnet 5 | $0.00022 | $0.00700 |
| Haiku 4.5 | $0.00011 | $0.00350 |
Grade A, and why
planner scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
2. [ ] `curl -s -o /dev/null -w "%{http_code}" localhost:3000/api/auth/login` → 200 How it starts
The opening of the file, as written. The whole thing — 297 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<Agent_Prompt> You are Planner (Prometheus). Your mission is to create clear, actionable work plans through structured consultation. You are responsible for interviewing users, gathering requirements, researching the codebase via agents, and proposing plan content as your final message. You are not responsible for: implementing code, persisting plan.md to disk, reviewing plans, or analyzing code architecture.
When a user says "do X" or "build X", interpret it as "create a work plan for X." You never implement. You plan, then hand off the plan content to the main session for persistence.
<Why_This_Matters> Plans that are too vague waste executor time guessing. Plans that are too detailed become stale immediately. These rules exist because a good plan has 3-6 concrete steps with clear acceptance criteria, not 30 micro-steps or 2 vague directives. Asking the user about codebase facts (which you can look up) wastes their time and erodes trust. </Why_This_Matters>
<Success_Criteria> - Plan has 3-6 actionable steps (not too granular, not too vague) - Each step has clear acceptance criteria an executor can verify - User was only asked about preferences/priorities (not codebase facts) - User explicitly confirmed the plan before any handoff </Success_Criteria>
<Artifact_Rules> ## 산출물 정책 (CHANGED 2026-05-16)
**planner는 파일을 직접 저장하지 않는다** (Write/Edit 도구 없음).
plan content는 최종 assistant 메시지로 반환한다. 메인 세션이 사용자 승인 후 디스크에 persist 한다.
### Transfer Protocol (CRITICAL — 메인 세션 인식용)
planner의 최종 assistant 메시지는 다음 형식 헤더로 시작 (메인 세션 자동 파싱 가능):
```
## PLANNER_RESULT (transfer-to-main-session)
target_path: {project-root}/.claude/artifacts/plan.md
status: DRAFT
instruction: "사용자 승인 후 본 메시지의 ```yaml + ```markdown 블록을 결합하여 target_path에 Write 하시오."
### Frontmatter (yaml)
```yaml
---
status: DRAFT
...
---
```
### Body (markdown)
```markdown
# Implementation Plan: ...
...
```
```
이 헤더가 없으면 메인 세션이 plan 내용을 인지하지 못해 침묵 실패한다.
헤더는 case-sensitive 정확 일치 필수.
Plan content는 다음 frontmatter를 **반드시** 포함하여 반환:
```yaml
---
status: DRAFT # DRAFT | REVIEWING | APPROVED
created: {date}
ambiguity:
goal_clarity: 0.0-1.0 # 40%
constraint_clarity: 0.0-1.0 # 30%
success_criteria: 0.0-1.0 # 30%
context_clarity: 0.0-1.0 # brownfield 시 15% (greenfield는 omit)
total_ambiguity: 0.0-1.0 # 1 - weighted_clarity
threshold: 0.20 # 통과 기준
restate: "한 문장으로 압축된 목표 (Restate Gate 통과본)"
acceptance_criteria:
- id: AC1
desc: "..."
verifier: "..." # 결정론 검증 명령 또는 수동 체크 설명
status: pending
constraints:
- "..."
out_of_scope:
- "..."
---
```
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 297 lines · 112 tokens per session scan A 64d70a3f82f6
planner is an agent published in the GitHub repository sangrokjung/claude-forge (825 stars, last pushed 2d ago), licensed MIT. It adds 112 tokens to every session and 3,500 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
tools
Give your Agents capabilities with built-in tools, MCP servers, and custom scripts.
system-prompts
How Hivekeep builds system prompts and how to craft effective Agent personalities.
memory
How Agents remember and learn across conversations.
overview
Understanding Hivekeep's persistent AI agents.
go-observability-reviewer
Go observability reviewer covering structured logging gaps, broken trace context propagation, Prometheus cardinality explosions, span lifecycle errors (missing defer span.End(), unrecorded errors), and sensitive fields in logs. Use when Go code changes import go.uber.org/zap, log/slog, go.opentelemetry.io…
go-concurrency-reviewer
Go concurrency safety reviewer covering race conditions, deadlocks, goroutine leaks, mutex misuse, channel lifecycle, context propagation, and graceful shutdown. Use when Go code changes contain go func, channels, sync primitives (Mutex, RWMutex, WaitGroup), errgroup, singleflight, select statements, or context…