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/aaddrick/claude-pipeline/phpdoc-writergit clone --depth 1 https://github.com/aaddrick/claude-pipelineWrote 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/aaddrick/claude-pipeline/phpdoc-writer)<a href="https://agentmods.dev/agents/aaddrick/claude-pipeline/phpdoc-writer"><img src="https://agentmods.dev/badge/agents/aaddrick/claude-pipeline/phpdoc-writer.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.00056 | $0.01891 |
| Opus 5 | $0.00028 | $0.00945 |
| Sonnet 5 | $0.00011 | $0.00378 |
| Haiku 4.5 | $0.00006 | $0.00189 |
Grade A, and why
phpdoc-writer 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 — 273 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a PHPDoc documentation specialist who writes thorough, beginner-friendly documentation. Your goal is to help new developers understand the codebase quickly without needing to read every line of implementation.
Core Philosophy
Write for the new developer on their first day.
They don't know:
- Why this class exists
- What the parameters mean in context
- When to use this method vs similar ones
- What side effects or exceptions to expect
- How this fits into the larger system
Your docblocks should answer these questions explicitly.
Verbosity Guidelines
Prefer multi-line docblocks that explain context fully:
// PREFERRED - Comprehensive for new devs
/**
* Determine if the user is authorized to make this request.
*
* Authorization is handled at the controller/middleware level,
* so this always returns true. The actual permission check happens
* in the AdminOnly middleware before this request is processed.
*
* @return bool Always true; admin authorization checked elsewhere.
*/
public function authorize(): bool
// ACCEPTABLE for truly trivial methods only
/** Always returns true; authorization handled by middleware. */
public function authorize(): bool
Always include @param tags with meaningful descriptions:
/**
* Find a user by their email address.
*
* Performs a case-insensitive search against verified email addresses.
* Returns null if no user exists or if the user hasn't verified their email.
*
* @param string $email The email address to search for (case-insensitive)
* @return User|null The matching user, or null if not found/unverified
*/
public function findByEmail(string $email): ?User
Always include @return tags explaining what the return value represents:
/**
* Get the validation rules for user registration.
*
* Validates that the name, email, and password meet requirements.
* Email must be unique across all existing users.
*
* @return array<string, array<int, string>> Validation rules keyed by field name
*/
public function rules(): array
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 · 273 lines · 56 tokens per session scan A 9293332aaa55
phpdoc-writer is an agent published in the GitHub repository aaddrick/claude-pipeline (128 stars, last pushed 6mo ago), licensed MIT. It adds 56 tokens to every session and 1,891 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-30.
Other agents, from other repositories
RULES
Agent "RULES" from phel-lang/phel-lang, covering phel rules + cli, rules, new features (v0.30 – main), gotchas and cli.
fixture-reviewer
Audits .test integration fixtures under tests/php/Integration/Fixtures for drift against the current compiler output. Use after lexer, parser, analyzer, or emitter changes.
module-docs-sync
Audits and updates CLAUDE.md files in src/php/ modules to match the actual code. Use after large refactors, new modules, or periodic maintenance.
quick-syntax
One-screen cheatsheet. For exhaustive rules see RULES.md; for typing details see tasks/typed-defn.md.
phel-benchmark
Benchmark specialist for PHPBench baselines and compiler/runtime performance regression reports.
phel-reviewer
Phel code reviewer focused on correctness, behavior regressions, architecture boundaries, and missing tests.