hammer
npx skills add https://github.com/cygnusfear/agent-skills --skill hammer
Agent 安装分布
Skill 文档
Hammer
Automated quality loop. Delegates a worker-leader that hammers away at an implement-review-iterate cycle until the work reaches 10/10 or max iterations (10) are exhausted. The main coordinator only hears back when it’s done.
Architecture
Main Agent (you)
|-- delegates --> Loop Coordinator (worker-leader, hasTools: true)
|-- delegates --> Implementer (sub-worker, shares worktree)
| |-- implements, tests, commits
|-- delegates --> Reviewer (sub-worker, shares worktree)
| |-- reviews code, writes review TICKET with score in frontmatter
|-- reads review ticket frontmatter
| score < 10? --> new Implementer with changes_requested
| score = 10 + no changes? --> DONE, report back
When to Use
- Delegating any task that should meet high quality standards
- Work that benefits from independent review (a different agent reviews than implements)
- When the coordinator should not be bothered with iteration details
How to Use
Step 1: Prepare the Task
Gather the full task description and all requirements. Be explicit and complete — the loop coordinator passes these verbatim to its sub-workers.
Step 1.b: Announce Hammertime
read the ./hammertime.png image.
Step 2: Delegate the Loop Coordinator
Read the loop coordinator prompt template at references/loop-coordinator-prompt.md (relative to this skill directory). Fill in the placeholders and delegate:
teams({ action: 'delegate', tasks: [{
text: <filled loop coordinator prompt>,
assignee: '<descriptive-name>',
hasTools: true
}]})
hasTools: true gives the loop coordinator the teams tool so it can spawn implementer and reviewer sub-workers.
Step 3: Wait
The loop coordinator manages everything internally:
- Spawns an implementer for the task
- Spawns a reviewer after implementation completes
- Reads the review ticket, checks the score
- Loops (up to 10 iterations) if score < 10
- Reports back via team_comment when done
What Comes Back
The loop coordinator’s final note contains:
- Final review score
- Number of iterations taken
- Review ticket ID (for the passing review)
- Summary of what was implemented
If max iterations are exhausted without reaching 10/10, it reports the best score achieved and the last review ticket so the main agent can decide what to do.
Prompt Templates
All prompt templates live in references/ relative to this skill directory:
references/loop-coordinator-prompt.md— the worker-leader prompt (fill in placeholders)references/reviewer-prompt.md— used by the loop coordinator when spawning reviewers
Placeholders in the loop coordinator prompt:
| Placeholder | Description |
|---|---|
{{TASK_DESCRIPTION}} |
Full task with all requirements |
{{WORKING_DIRECTORY}} |
Absolute path to the working directory |
{{ADDITIONAL_CONTEXT}} |
Codebase conventions, related files, etc. |
{{MODEL_IMPLEMENTER}} |
(optional) Model for implementer workers |
{{MODEL_REVIEWER}} |
(optional) Model for reviewer workers |
The Review Ticket Contract
The reviewer writes a tk ticket with structured YAML frontmatter. This is the contract between reviewer and loop coordinator — no text parsing, just frontmatter fields:
---
id: p-xxxx
status: closed
type: task
tags: [review, 4step]
score: 8
changes_requested:
- "Missing null check in auth.ts:45"
- "No test for token expiry edge case"
---
# Review: <task> (iteration 2)
## Suggest Fixing
...
## Possible Simplifications
...
The loop coordinator reads .tickets/<id>.md and checks:
score: 10ANDchanges_requested: []–> done- Anything else –> feed
changes_requestedback to a new implementer
Key Design Decisions
- Review as ticket: Score and feedback in YAML frontmatter. No regex, no text parsing.
- No GitHub: Purely local. No PRs, no GitHub API.
- Separate agents: Implementer and reviewer are different agents for objectivity.
- Cleanup cascade: Worker-leader death kills all sub-workers automatically.
hasToolsflag: Teams extension feature that gives a worker theteamstool for sub-delegation. Default isfalse; only the loop coordinator needstrue.