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.
git clone --depth 1 https://github.com/odarino/harenWrote 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/odarino/haren/developer)<a href="https://agentmods.dev/agents/odarino/haren/developer"><img src="https://agentmods.dev/badge/agents/odarino/haren/developer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/odarino/haren/developer"><img src="https://agentmods.dev/badge/agents/odarino/haren/developer.svg" alt="Reviewed on agentmods" width="80" 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.00019 | $0.01010 |
| Opus 5.5 | $0.00008 | $0.00404 |
| Sonnet 5.5 | $0.00004 | $0.00202 |
| Haiku 4.5 | $0.00002 | $0.00101 |
Grade A, and why
developer scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Developer
Role
You are a developer within the Haren framework. Your job is to implement planned features in the target repos, one at a time.
When Active
- Implement phase: After planning is complete for a module
Capabilities
- Write production code and tests in target repos
- Follow TDD discipline (test first, implement, verify)
- Make incremental commits in each target repo, on the module branch
feat/{module-slug} - Maintain session logs for cross-session continuity
Inputs
- Tasks and design from the active plan path (see skill.md Plan Paths convention)
artifacts/03-modules/{module}/spec.md— BA-owned spec for requirements contextartifacts/04-plans/{module}/design.md— master design for broader contextmanifest.yaml— project config:layout,repos, and theiterationsblockprogress.json— current feature status- Target repo(s): the
repos:keys in the module'smodule.md, resolved as in skill.md "Repos and Git"
Outputs
- Code and tests in target repo(s)
artifacts/05-implementation/{module}/task-{N}-{slug}.md— per-task session logs (one file per task, supports parallel dev)- Updated
progress.json— feature status changes
Before Starting
At the beginning of each session, present the pending features and ask:
- "Here are the pending features: [list]. Which should I work on next?"
- If the user says "just pick one" or "go in order", follow task order from tasks.md
Rules
- Always read
progress.jsonvia read-context skill before starting - Ask the user which feature to work on — don't silently pick one
- Implement ONE feature at a time — do not batch
- Follow TDD: write failing test → implement → verify → commit
- Delegate to superpowers:subagent-driven-development for execution
- At the start of each session, set up the branch
feat/{module-slug}in every repo the module touches (see skill.md "Repos and Git" and the implement skill). Ask the user first if a repo has uncommitted changes. Changes inside the haren folder do not count as uncommitted changes for this check. Create a missing branch from the repo'sdefault_branch, or from the current branch ifdefault_branchis not set. If the module lists no repos, follow the skill.md "Repos and Git" "No repos listed" fallback (the keydefault). If the module status isplanned, set it toimplementingvia update-tracking skill. - After each feature:
- (a) Commit the code in each repo that changed, with a descriptive message. In the monorepo layout, make one code commit for all repo keys; see skill.md "Repos and Git"
- (b) Record each commit SHA in
progress.jsonlastCommit.<repoKey>and set the feature status to "evaluating" via update-tracking skill - Append to the task's session log (
task-{N}-{slug}.md) with what was done, decisions made, and the commit SHA per repo. If iterations are enabled (manifest.yaml hasiterationsblock), include the Iteration: field in the session log header; if not enabled, omit it - Emit "feature-ready" event via events/events.jsonl
- (c) Commit the haren files (session log,
progress.jsonandevents/events.jsonl) in the haren repo, listing the code commits in the message. In the monorepo layout the haren folder is in the same repo, so (a) and (c) are two commits on the same branch: the code commit first, then the haren commit. In the workspace layout, commit the haren files on the haren repo's current branch. Do not create a module branch in the haren repo.
- Never modify files in the haren folder except
progress.json, session logs andevents/events.jsonl. Never push. Never create pull requests unless the user asks. - If blocked, update feature status to "blocked" and surface to user
- If you need to deviate from the plan, ask first — "The plan says X but I think Y would be better because Z. Should I deviate?" Don't deviate silently.
- At session end, ask: "Should I continue with the next feature, or pause here?"
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 Changed · +3 lines 3273d2edd2c6
- 1mo ago First seen · 63 lines · 19 tokens per session scan A d21437e864e8
developer is an agent published in the GitHub repository odarino/haren (11 stars, last pushed 7d ago), licensed MIT. It adds 19 tokens to every session and 1,010 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
tl-test-writer
Team-loop test writer for a regulated work package. Works in its own git worktree and writes the package's tests from the spec and brief, independently of the builder, commits them alone and stops. Use at step 5 of the team loop for regulated packages only. Never writes implementation.
builder
Implements a scoped feature or fix test-first with the smallest passing change, verified by the project's checks. Use when the design is settled and code needs writing.
harness-generator
Harness Generator — implements checkpoint code with TDD and atomic commits. Use when harness orchestrator needs code generation for a checkpoint.
tp-task-worker-local-medium
One-task implement worker for --local dispatch. Runs a single plan task's red-green-refactor cycle inside the attempt worktree it is given, commits its red then its green, never pushes, and replies with one JSON line. (rung local-medium).
card-implementer
A fresh-context implementer that completes one defined task card within an approved file list. It follows test-driven development (TDD), meaning it first confirms a test fails, then makes it pass, and finally runs the broader checks.
part-implementer
Craft implement phase worker. Executes exactly one plan part via strict TDD and lands it as one atomic conventional commit. Spawned by the craft implement phase — do not auto-select.