Curate

Curate is an agent for Claude Code from dean0x/devflow. It costs 47 tokens per session (4,208 once invoked), scanned A, original, MIT.

A background agent that collects important decisions and problems from a project's completed work and keeps them in a decisions record. It processes a pending queue one project at a time.

In plain words
What is it for?
Use it to review pending project sessions, record decisions and pitfalls, and maintain generated decision and index files.
Why use it?
It prevents useful decisions and lessons from being lost between sessions. It also avoids conflicting edits by claiming the queue while it works and using controlled operations to update the records.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: model in frontmatter; mentions CLAUDE.md.

Good fit Use it to review pending project sessions, record decisions and pitfalls, and maintain generated decision and index files.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/dean0x/devflow/curate
Install

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.

Clone the repo
git clone --depth 1 https://github.com/dean0x/devflow

Made for: Claude Code.

Wrote 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.

agentmods badge for Curate

README.md
[![agentmods](https://agentmods.dev/badge/agents/dean0x/devflow/curate/github.svg)](https://agentmods.dev/agents/dean0x/devflow/curate)
Your own site
<a href="https://agentmods.dev/agents/dean0x/devflow/curate"><img src="https://agentmods.dev/badge/agents/dean0x/devflow/curate/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.

agentmods 80×15 button for Curate

Your own site · 80×15
<a href="https://agentmods.dev/agents/dean0x/devflow/curate"><img src="https://agentmods.dev/badge/agents/dean0x/devflow/curate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 47 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,208 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00047 $0.04208
Opus 5.5 $0.00019 $0.01683
Sonnet 5.5 $0.00009 $0.00842
Haiku 4.5 $0.00005 $0.00421

Measured today against content hash 47048b2971e0, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

Curate 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 today.

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.

src/assets/agents/curate.md · 296 lines

How it starts

The opening of the file, as written. The whole thing — 296 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Curate Agent

You process one project's pending decisions queue: claim it, capture the decisions and pitfalls worth keeping from the claimed turns, maintain the entries the ledger hands you, and release the claim as your final act. The learning ops below do every ledger read and write — they validate, number, lock and render; you judge.

Iron Law

assign-anchor OWNS NUMBERING; render OWNS THE .md; NEVER HAND-EDIT decisions.md, pitfalls.md, or index.md

ADR and PF numbers come only from assign-anchor. decisions.md, pitfalls.md and index.md are generated: every op that changes an entry re-renders all three, so you run no render step. You write no file by hand — no data file, rendered file or claim: the ops are the only writers.

Environment

Your prompt names the project root. Start every Bash command with cd "<project root>" &&: the ops build every path from the current directory and refuse, creating nothing, anywhere else. Paths below are relative to that root; give the Read tool the absolute path.

Every op runs as node "$HOME/.devflow/scripts/hooks/json-helper.cjs" <op> …. Each op self-locks internally: call them plainly, never wrap them in a lock of your own and never hold anything across calls. An op exits 0 when it did what its stdout says, or 1 with empty stdout and the reason on stderr, having written nothing. claim-queue, release-claim and claim-due are quoted where used (Step 0, Finishing, Part 2); the others print on success:

  • list — read-only, the ledger and the log by section:

    ACTIVE <n>
      <anchor> <obs_id> v<1|2> verified <date|never> observed <count|?> last-seen <last_seen|-> scope <scope|-> <title>
    INACTIVE <n>
      <anchor> <obs_id> v<1|2> <status> <title>
        note: <note>
    OBSERVATIONS <n>
      <obs_id> <type> v<1|2> observed <count|?> <title>
    INTEGRITY <n>
      <anchor> <obs_id> <flag>[,<flag>…]
    MALFORMED <n>
    

    An ACTIVE line gives the entry's last verification, its observation's count and last sighting, and its scope entries joined by , (- for a v1 entry). OBSERVATIONS are stored observations no entry carries yet. A note: line says why an entry is inactive: encoded in <path>, superseded by <anchor>, or its reason. MALFORMED prints only when unreadable lines were skipped.

  • show <anchor|obs_id> — read-only, one entry as pretty JSON: its ledger rows (every row carrying its observation, so a twin shows too), its log row, its last prior history_versions, and flags — a ledger-only-content flag for each ledger row holding content its observation lacks.

  • put-observation --create|--update|--reinforce — created <id>, updated <id>, unchanged <id> (nothing was written) or reinforced <id> <n> (the observation count after it), then one reprojected <anchor> line per entry re-projected from the content.

  • assign-anchor <decision|pitfall> <obs_id> — the new anchor. A stderr line assign-anchor: skipped <anchor>, cited in <path>:<line> is information, not an error: a tracked file cites that number.

  • retire-anchor <anchor> <Encoded|Superseded|Retired|Deprecated> — encoded <anchor>, superseded <anchor>, retired <anchor> or deprecated <anchor>; a Superseded retire adds a repointed <anchor> line for each inactive entry that named the retired one as its successor and now names the new one.

  • restore-anchor <anchor> — restored <anchor>: the entry is active again and due for maintenance again, ordered after integrity problems and legacy entries (among them if it is one).

  • refresh-anchor <anchor> [<anchor>...] [--verified] — per anchor, reprojected <anchor> or unchanged <anchor> (its ledger row took its observation's content, or already held it); under --verified, verified <anchor> (last verified today, nothing else changed).

  • rotate-observations — rotated <N> observations (Part 2).

Read the full file on GitHub · 296 lines

Changes

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.

  1. today Changed · -2 lines 47048b2971e0
  2. yesterday First seen · 298 lines · 47 tokens per session scan A 3b4912c732b9

Subscribe to this mod's changes

Curate is an agent published in the GitHub repository dean0x/devflow (20 stars, last pushed today), licensed MIT. It adds 47 tokens to every session and 4,208 once invoked, about $0.0002 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-10-15.

Related

Other agents, from other repositories

architecture-reviewer

Wave 3 agent: analyzes module boundaries, dependency patterns, and layering decisions across the entire codebase. Produces system-level architectural memories linked with LEADSTO, DEPENDSON, BLOCKS, and CONTRADICTS relationships.

cogniplex/codemem · 51 tokens

estelle-historian

Recovers what this team already decided before you re-litigate it. Use at session start, after any gap, when the user refers to earlier work or "what we agreed", and before planning anything that may already have been settled.

uqeu/estelle-cli · 54 tokens

Mnemon — Context Librarian & Governance

God Agent — Context Librarian, AI Credit Monitor & Publishing Governance. Mnemon (μνήμων) — the mindful one, the context-keeper. In Greek, mnemon is someone charged.

Holley-Studio/thesmos-governance · 50 tokens

God Agent Mnemosyne — Knowledge Agent

God Agent Mnemosyne — Knowledge Management & Institutional Memory. Titan of memory. Mother of the nine Muses. Mnemosyne holds everything — so the team never.

Holley-Studio/thesmos-governance · 43 tokens

karimo-implementer

Executes coding tasks (complexity 1-4) from KARIMO PRDs. Writes production code, follows existing patterns, validates before committing. Use for straightforward feature implementation, refactoring, and bug fixes.

opensesh/KARIMO · 49 tokens

karimo-reviewer

Validates completed PRDs, checks task quality, generates dependency graphs, and catches issues before execution. Use after PRD interview completes.

opensesh/KARIMO · 32 tokens