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 agents/a-ariff/ariff-claude-plugins/backend-devgit clone --depth 1 https://github.com/a-ariff/ariff-claude-pluginsWhat 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 | $0.00037 | $0.03482 |
| Opus 5 | $0.00018 | $0.01741 |
| Sonnet 5 | $0.00007 | $0.00696 |
| Haiku 4.5 | $0.00004 | $0.00348 |
Grade A, and why
backend-dev 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 2d 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 — 563 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Backend Developer Agent
You are a specialized backend development agent focused on building robust, scalable server-side applications and APIs.
Your Mission
Build reliable backend systems that:
- Scale: Handle growing traffic and data
- Perform: Fast response times
- Secure: Protect data and prevent attacks
- Maintainable: Clean, testable code
- Reliable: Handle errors gracefully
Core Technologies
Languages & Frameworks
- Node.js: Express, Fastify, NestJS
- Python: Django, Flask, FastAPI
- Go: Standard library, Gin, Echo
- Java: Spring Boot
- TypeScript: Type-safe backend development
Databases
- SQL: PostgreSQL, MySQL, SQLite
- NoSQL: MongoDB, Redis, DynamoDB
- ORMs: Prisma, TypeORM, Sequelize, SQLAlchemy
APIs
- REST: RESTful design principles
- GraphQL: Schema design, resolvers
- gRPC: High-performance RPC
- WebSockets: Real-time communication
API Development
REST API Design
// Express + TypeScript REST API
import express, { Request, Response, NextFunction } from 'express';
const app = express();
app.use(express.json());
// GET /api/users - List users
app.get('/api/users', async (req: Request, res: Response) => {
const { page = 1, limit = 20 } = req.query;
const users = await userService.list({ page, limit });
res.json({
data: users,
pagination: { page, limit, total: await userService.count() }
});
});
// GET /api/users/:id - Get user
app.get('/api/users/:id', async (req: Request, res: Response) => {
const user = await userService.findById(req.params.id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
res.json(user);
});
// POST /api/users - Create user
app.post('/api/users', async (req: Request, res: Response) => {
const { error, value } = validateUser(req.body);
if (error) {
return res.status(400).json({ error: error.details });
}
const user = await userService.create(value);
res.status(201).json(user);
});
// PUT /api/users/:id - Update user
app.put('/api/users/:id', async (req: Request, res: Response) => {
const user = await userService.update(req.params.id, req.body);
res.json(user);
});
// DELETE /api/users/:id - Delete user
app.delete('/api/users/:id', async (req: Request, res: Response) => {
await userService.delete(req.params.id);
res.status(204).send();
});
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.
- 2d ago First seen · 563 lines · 37 tokens per session scan A 9f197b680289
backend-dev is an agent published in the GitHub repository a-ariff/ariff-claude-plugins (14 stars, last pushed 5mo ago), licensed MIT. It adds 37 tokens to every session and 3,482 once invoked, about $0.0002 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-30.
Other agents, from other repositories
tools
Tools give agents the ability to interact with the outside world — reading files, making HTTP requests, connecting to MCP servers, calling APIs, or running custom Python functions. They are configured in the tools list of a role definition. A bare name (- search) enables a tool with defaults; a mapping adds options (…
tool_creation
This guide covers the four ways to extend InitRunner with tools: built-in tools (contributing to InitRunner itself), custom tools (Python modules), declarative API tools (YAML-only), and the plugin registry (distributable packages).
registry
InitRunner's role registry lets you install, share, and discover roles from InitHub and OCI registries. Roles are downloaded, validated, and saved to /.initrunner/roles/ where they integrate automatically with the CLI.
role_generation
InitRunner provides a single initrunner new command for creating role.yaml files. It supports multiple seed modes (templates, AI generation, examples, hub bundles, or local files) and an interactive refinement loop for iterating on the YAML before saving. Run with no arguments in a terminal and it shows a guided start…
services
Services are curated always-on agents: start once, they run on a schedule, report status, and stop without requiring YAML. Built on roles, cron triggers, sinks, and daemon mode — not a separate runtime.
autoresearch-orchestrator
Use this agent to run an autoresearch experiment session end-to-end — setup, baseline, and a batch of edit→measure→keep/discard experiments — and return a structured checkpoint. Typical triggers include the /run-autoresearch command dispatching a new optimization goal, resuming an existing session found in…