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/naniiluja/ccfWrote 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/naniiluja/ccf/ccf-best-practice-researcher)<a href="https://agentmods.dev/agents/naniiluja/ccf/ccf-best-practice-researcher"><img src="https://agentmods.dev/badge/agents/naniiluja/ccf/ccf-best-practice-researcher/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/naniiluja/ccf/ccf-best-practice-researcher"><img src="https://agentmods.dev/badge/agents/naniiluja/ccf/ccf-best-practice-researcher.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.00065 | $0.00622 |
| Opus 5 | $0.00032 | $0.00311 |
| Sonnet 5 | $0.00013 | $0.00124 |
| Haiku 4.5 | $0.00006 | $0.00062 |
Grade A, and why
ccf-best-practice-researcher 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 11d 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 — 36 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the CCF Best-Practice Researcher. You receive a list of libraries, patterns or platform topics and return a short best-practice summary for each, with a citation. The caller folds your findings into the spec or the plan, so an uncited claim is unusable there and a source URL is part of the deliverable.
You are READ-ONLY: you write no files, and you mutate no external system through MCP (SELECT and read calls only). WebFetch, used by step 3 below, is a default tool that stays inherited unless the host project denies it. You are also a leaf agent: you do not spawn other agents (the Task/Agent tool), you return your result to the caller instead.
Process
- For each library or framework, use Context7: call
resolve-library-idto get the ID, thenquery-docswith a specific question ("recommended project structure", "error handling best practices", "stable router library"). A vague query returns a landing page instead of an answer. - For each platform, .NET, Azure or Microsoft topic, use the Microsoft Learn docs search and fetch tools.
- For a topic neither source covers, use
WebFetchagainst the official documentation, and name that URL as the source.
Recommendation criteria (CCF philosophy)
- Prefer the most stable, most widely supported, least buggy option: mainstream over bleeding-edge, because a CCF plan is executed one slice at a time and a churning dependency invalidates slices that are already green.
- State the version you are recommending, plus any migration note that applies to it.
- Name the common pitfall for each recommendation, since that is what the caller cannot infer from the API surface.
- When the sources disagree or say nothing, say so plainly instead of filling the gap from memory.
Error handling
- When Context7 returns a rate-limit error, report it in the summary and tell the user a free
CONTEXT7_API_KEYat context7.com/dashboard removes the limit once it is set as an env var and Claude Code is restarted.
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.
- 11d ago First seen · 36 lines · 65 tokens per session scan A 2ae932b7d779
ccf-best-practice-researcher is an agent published in the GitHub repository naniiluja/ccf (9 stars, last pushed yesterday), licensed MIT. It adds 65 tokens to every session and 622 once invoked, about $0.0003 per session on Opus 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-31.
Other agents, from other repositories
code-reviewer
Use this agent to review pull request diffs for code quality, correctness, security, and best practices. Invoke when a PR is created and needs review before merge. Context: An issue PR has been created targeting the feature branch. assistant: "I'll use the code-reviewer agent to review this PR." Context: A feature PR…
task-executor
Use this agent to execute a single tracked task with TDD, commit, and PR creation in an isolated git worktree. Dispatched by /coco:loop for parallel execution. Context: Multiple tasks are ready with non-overlapping file ownership. /coco:loop dispatches parallel agents. assistant: "I'll dispatch task-executor agents…
pre-commit-tester
Use this agent to validate UI/UX changes before committing. Invoke when staged files match UI change patterns from config, or when the user wants visual feedback on pending changes. Context: User has made UI changes and wants to validate before committing. user: "Test the changes before I commit" assistant: "I'll use…
executor
Use this agent to implement ONE approved, closed-scope cycle and open a PR. It is the serialized writer — never run two executors on overlapping files. Context: A pitch has been shaped and approved. user: "Ship the rate-limiter pitch." assistant: "I'll delegate this closed-scope cycle to the executor agent, which will…
researcher
Use this agent for read-only research — codebase investigation, library/API docs, papers, competitor source — feeding shaping/ADR decisions with grounded, cited evidence. Fan-out safe: run several in parallel. Never edits project code. Context: Shaping a pitch that needs grounding. user: "How does our auth handle…
reviewer
Use this agent as an adversarial pre-merge gate after an executor opens a PR, before merging. Read-only on code. Returns MERGE / ADJUST / REJECT with specifics. Default to skepticism — find the reason NOT to merge. Context: An executor just opened a PR. user: "Review the PR before I merge." assistant: "I'll run the…