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 skills/tmj-90/gaffer/backend-servicenpx skills add tmj-90/gaffer --skill backend-servicegit clone --depth 1 https://github.com/tmj-90/gafferWrote 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/skills/tmj-90/gaffer/backend-service)<a href="https://agentmods.dev/skills/tmj-90/gaffer/backend-service"><img src="https://agentmods.dev/badge/skills/tmj-90/gaffer/backend-service.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.00067 | $0.00572 |
| Opus 5 | $0.00034 | $0.00286 |
| Sonnet 5 | $0.00013 | $0.00114 |
| Haiku 4.5 | $0.00007 | $0.00057 |
Grade A, and why
backend-service 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 5d 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 — 45 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add a backend service
Implement domain logic as a focused, testable service that keeps transport (HTTP) and persistence (DB) concerns at the edges, following the repo's layering.
Steps
- Read the lore first. Call
search_lore(Memory MCP) for the repo's layering (controller → service → repository), error model, transaction handling, and dependency-injection conventions. Honour any ADRs. - Find a sibling service and copy its shape — constructor/factory, injected collaborators, return/error types, and where it lives.
- Keep the service transport-agnostic. It receives validated inputs and returns domain results or typed errors — no HTTP request/response objects, no SQL strings.
- Depend on abstractions. Take repositories/clients via interfaces so the logic is unit-testable with fakes; favour immutable inputs and outputs.
- Handle failure explicitly. Map domain failures to typed errors/results; never swallow exceptions or return ambiguous nulls.
- Test the logic in isolation. Unit-test happy path, branches, and error cases with collaborators faked; add an integration test if it crosses real boundaries.
- Verify + evidence. Run tests and lint, then record
test_outputvia therecord-evidenceskill and submit for review.
Rules
- One responsibility per service; keep methods small and the file cohesive.
- No transport or storage details leaking into the service layer.
- Immutable inputs/outputs; explicit error handling, no silent failures.
- Pair with
add-api-endpointfor the HTTP edge andadd-db-migrationfor schema.
Capture lore
This skill is one of the places durable, reusable knowledge naturally surfaces:
A service-layer convention or stack rule this repo follows — error-handling shape, transaction boundary, dependency-injection pattern, or a framework gotcha. That kind of fact is lore. Capture it via the lore-capture
protocol in your brief (CLAUDE.factory.md, step 11 "Memory contribution"):
call the Memory MCP suggest_lore once at the close of your work — reusable
conventions, gotchas, decisions, and boundaries only, never per-ticket trivia.
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.
- 5d ago First seen · 45 lines · 67 tokens per session scan A 61e7d7f6009c
backend-service is a skill published in the GitHub repository tmj-90/gaffer (2 stars, last pushed 5d ago), licensed Apache-2.0. It adds 67 tokens to every session and 572 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 skills, from other repositories
skill-creator
Create or update AnkaLoop skills. Use when designing, structuring, or packaging skills with scripts, references, and assets. This skill should be used when users want to create a new skill (or update an existing skill) that extends AnkaLoop's capabilities with specialized knowledge, workflows, or tool integrations.
gh-ci-analyzer
使用 gh CLI 分析 GitHub Actions CI 日志,提供结构化的故障诊断和报告.
ai-engineer
Expert knowledge in AI/ML development, model deployment, and MLOps practices.
security-best-practices
Security best practices and vulnerability prevention guidelines.
react-developer
Expert knowledge in React development, hooks, state management, and modern React patterns.
gh-pr-review
Review GitHub Pull Requests using the gh CLI. Use when a user asks to review a PR, perform code review, check a pull request, or provide feedback on proposed changes. Triggers on phrases like "review PR", "review pull request", "check PR", "code review".