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 skills add tarlepp/symfony-flex-backend --skill write-testsgit clone --depth 1 https://github.com/tarlepp/symfony-flex-backendWrote 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/tarlepp/symfony-flex-backend/write-tests)<a href="https://agentmods.dev/skills/tarlepp/symfony-flex-backend/write-tests"><img src="https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/write-tests/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/skills/tarlepp/symfony-flex-backend/write-tests"><img src="https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/write-tests.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.00025 | $0.00844 |
| Opus 5.5 | $0.00010 | $0.00338 |
| Sonnet 5.5 | $0.00005 | $0.00169 |
| Haiku 4.5 | $0.00003 | $0.00084 |
Grade A, and why
write-tests 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 today.
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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write tests
Use this skill whenever adding or changing tests. Select the test category that matches the behavior boundary and dependencies under test.
Follow the shared skill guidance in .github/skills/shared-guidance.md.
Test categories
Choose the category by the behavior boundary and dependencies under test: complete request-to-response behavior belongs in E2E; application behavior using the real database but not requiring the full request flow belongs in Functional; collaboration between selected services belongs in Integration; and isolated logic belongs in Unit.
- E2E (
tests/E2E/): exercise the application end to end, including the real database. Do not mock dependencies. Use when correctness depends on the complete request-to-response flow. - Functional (
tests/Functional/): exercise application functionality against the real database without mocks. Use for behavior at a functional application boundary that does not need a complete E2E request flow. - Integration (
tests/Integration/): test how the application's own services and framework components handle behavior and work together. Keep the components being integrated real and mock only unrelated collaborators. Usually avoid the database; use it when database interaction is itself part of the integration being tested, following the existing test setup. - Unit (
tests/Unit/): test a single unit in isolation, using no mocks or only the minimum needed. Do not use a database or application-wide behavior.
Using stubs and mocks
Use a stub when a dependency needs to return controlled values or throw a
controlled exception so the test can focus on the unit's observable result.
Create one with PHPUnit's createStub() and configure its responses with
willReturn() or willThrowException(). Do not add call expectations to a
stub.
Use a mock when the interaction with a dependency is itself part of the
behavior being tested, such as ensuring a notification is sent once or a
forbidden operation is never called. Create one with createMock() and assert
only meaningful expectations with expects() and, when relevant, with().
Avoid expectations on incidental implementation details, such as private
control flow or calls that do not affect the contract.
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.
- today First seen · 86 lines · 25 tokens per session scan A dca560c9d523
write-tests is a skill published in the GitHub repository tarlepp/symfony-flex-backend (288 stars, last pushed today), licensed MIT. It adds 25 tokens to every session and 844 once invoked, about $0.0001 per session on Opus 5.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-10-18.
Other skills, from other repositories
functional-tests
Write Symfony functional tests for non-API HTTP endpoints (server-rendered pages, form submissions, redirects, auth flows) with WebTestCase + BrowserKit + DomCrawler + Foundry — drives RED-GREEN-REFACTOR TDD on controllers, asserts response codes / redirects / form errors / CSRF, exercises authenticated and anonymous…
doctrine-fixtures-foundry
Build deterministic test data with zenstruck/foundry factories — Factory::createOne(), createMany(), states, sequences, lifecycle callbacks, lazy / eager flush, relation factories. Use with use Factories; + use ResetDatabase; (or DAMA Doctrine Test Bundle transaction rollback). Trigger when bootstrapping a test suite…
test-doubles-mocking
Choose the right test double — Fake (in-memory repo / clock / event bus with real behavior), Stub (canned return), Mock (interaction-as-contract with verified expectations). Avoid mocks-by-default (fragile tests mirroring impl). Patterns: in-memory repository for Doctrine, MockHttpClient + MockResponse for HTTP…
test-master
Generates test files, creates mocking strategies, analyzes code coverage, designs test architectures, and produces test plans and defect reports across functional, performance, and security testing disciplines. Use when writing unit tests, integration tests, or E2E tests; creating test strategies or automation…
axiom-testing
Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test architecture.
horse-integration-tests
Guide for writing automated integration tests for Horse endpoints using DUnit/DUnitX and THTTPClient.