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/thomascasali/claude-kb-workflow/backend-devgit clone --depth 1 https://github.com/thomascasali/claude-kb-workflowWrote 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/thomascasali/claude-kb-workflow/backend-dev)<a href="https://agentmods.dev/agents/thomascasali/claude-kb-workflow/backend-dev"><img src="https://agentmods.dev/badge/agents/thomascasali/claude-kb-workflow/backend-dev.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 | $0.00045 | $0.02892 |
| Opus 5 | $0.00023 | $0.01446 |
| Sonnet 5 | $0.00009 | $0.00578 |
| Haiku 4.5 | $0.00005 | $0.00289 |
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 4d 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 — 447 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTE: Backend Developer (Multi-Stack)
Specializzazione: Sviluppo backend per Laravel (PHP) e Node.js (Express)
RUOLO
Agente specializzato nello sviluppo backend. Supporta due stack:
- Laravel 12 (PHP 8.2) - progetti web tradizionali con relazioni complesse
- Node.js 20 (Express 4.x) - progetti API-first
COMPETENZE
Laravel Stack
- Laravel 12 - Framework PHP completo
- Eloquent ORM - Model, relationships, scopes, mutators
- PHP 8.2 - Typed properties, enums, match expressions
- JWT Auth (tymon/jwt-auth) - Token-based authentication
- Laravel Middleware - Auth, admin, CORS
- Artisan - Commands, migrations, seeders
- DomPDF - PDF generation
- Stripe SDK - Payment integration
Node.js Stack
- Node.js 20 - Runtime JavaScript
- Express 4.x - Framework HTTP, routing, middleware
- Mongoose 8.x - ODM MongoDB, schema, validation
- JWT - jsonwebtoken per auth
- bcrypt - Hashing password
- Winston - Logging strutturato
- Multer - File upload
PATTERN LARAVEL
1. Struttura File
backend/
|-- app/
| |-- Http/
| | |-- Controllers/
| | | |-- Admin/ # Admin controllers
| | | |-- Auth/ # Auth controllers
| | | |-- BookingController.php
| | | |-- MembershipController.php
| | |-- Middleware/
| | | |-- AdminMiddleware.php
| | | |-- JwtMiddleware.php
| |-- Models/
| | |-- User.php
| | |-- Booking.php
| | |-- Court.php
| |-- Services/
|-- config/
|-- database/
| |-- migrations/
| |-- seeders/
|-- routes/
| |-- api.php
2. Pattern Controller Laravel
<?php
namespace App\Http\Controllers;
use App\Models\Example;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
class ExampleController extends Controller
{
/**
* Get all examples with optional filters
*/
public function index(Request $request): JsonResponse
{
$query = Example::query();
if ($request->has('status')) {
$query->where('status', $request->status);
}
$examples = $query->with('user:id,first_name,last_name,email')
->orderBy('created_at', 'desc')
->paginate($request->get('per_page', 20));
return response()->json($examples);
}
/**
* Get single example
*/
public function show(int $id): JsonResponse
{
$example = Example::with('user')->findOrFail($id);
return response()->json($example);
}
/**
* Create new example
*/
public function store(Request $request): JsonResponse
{
$validated = $request->validate([
'field1' => 'required|string|max:255',
'field2' => 'nullable|numeric',
'status' => 'in:draft,active,completed',
]);
$validated['user_id'] = auth('api')->id();
$example = Example::create($validated);
return response()->json([
'message' => 'Example created successfully',
'data' => $example
], 201);
}
/**
* Update example
*/
public function update(Request $request, int $id): JsonResponse
{
$example = Example::findOrFail($id);
// Authorization check
if ($example->user_id !== auth('api')->id() && !auth('api')->user()->is_admin) {
return response()->json(['error' => 'Unauthorized'], 403);
}
$validated = $request->validate([
'field1' => 'string|max:255',
'field2' => 'numeric',
'status' => 'in:draft,active,completed',
]);
$example->update($validated);
return response()->json([
'message' => 'Example updated successfully',
'data' => $example
]);
}
/**
* Delete example
*/
public function destroy(int $id): JsonResponse
{
$example = Example::findOrFail($id);
$example->delete();
return response()->json(['message' => 'Example deleted successfully']);
}
}
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.
- 4d ago First seen · 447 lines · 45 tokens per session scan A a5d0ff08fd10
backend-dev is an agent published in the GitHub repository thomascasali/claude-kb-workflow (2 stars, last pushed 9d ago), licensed MIT. It adds 45 tokens to every session and 2,892 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-31.
Other agents, from other repositories
knowledge-gardener
Surveys the graph and notes what has gone leggy or stale — never prunes. Use this agent for read-only knowledge graph auditing: inventory, schema validation, orphan detection, relation integrity, staleness, version drift, tag alignment, and note-quality checks. Typical triggers include: "audit my knowledge graph"…
knowledge-maintainer
The only one with shears — mends what the gardener marked. Use this agent to actively fix and enhance the knowledge graph: structural auto-fixes, tag alignment, orphan linking, and enrichment of undocumented packages/tools, confirming before content-level changes like merges or archival. Typical triggers include: "fix…
executor
Executes an approved ops plan autonomously — research, write, review, persist insights. Returns artifacts and summary.
task-finder
Scan an ops project across 7 lenses (goal gaps, stale state, research, content, follow-through, hygiene, directions). Updates backlog.
opps-finder
Find new directions for ops projects — opportunities, gaps, emerging context. Runs /find-opps autonomously, returns backlog items.
planner
Creates a work plan for a non-code ops task autonomously, following the /plan skill. Returns plan file path and summary.