Borrowing it
Nothing to install: this file belongs to gianverdum/ai-dev-skillset. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/gianverdum/ai-dev-skillset/main/.agents/skills/process-tdd/SKILL.mdgit clone --depth 1 https://github.com/gianverdum/ai-dev-skillsetWrote 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/gianverdum/ai-dev-skillset/process-tdd)<a href="https://agentmods.dev/skills/gianverdum/ai-dev-skillset/process-tdd"><img src="https://agentmods.dev/badge/skills/gianverdum/ai-dev-skillset/process-tdd/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/gianverdum/ai-dev-skillset/process-tdd"><img src="https://agentmods.dev/badge/skills/gianverdum/ai-dev-skillset/process-tdd.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.00175 | $0.01640 |
| Opus 5 | $0.00088 | $0.00820 |
| Sonnet 5 | $0.00035 | $0.00328 |
| Haiku 4.5 | $0.00017 | $0.00164 |
Grade A, and why
process-tdd 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 9d 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 — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TDD
Todo desenvolvimento deve ser guiado por TDD.
Regra Principal
- Antes de implementar ou alterar comportamento, escreva ou ajuste um teste que falhe pelo motivo esperado.
- Só escreva código de produção suficiente para fazer o teste passar.
- Depois que os testes passarem, refatore mantendo a suíte verde.
Ciclo
- Entenda o comportamento esperado.
- Identifique o menor teste que demonstra esse comportamento.
- Escreva o teste primeiro e execute para confirmar a falha.
- Implemente a menor mudança suficiente para passar.
- Execute os testes relevantes.
- Refatore se necessário, mantendo os testes passando.
- Repita o ciclo para o próximo comportamento.
- Antes de encerrar a tarefa, rode lint e formatter conforme a skill
quality-lint-formate corrija o que for apontado. - Como ultima etapa, rode a skill
quality-revisao-aderenciapara verificar que estrutura, tipagem do dominio, localizacao do parsing, codigos de erro e demais regras das skills/rules ativas estao respeitadas. Corrija desvios antes do resumo final. - Antes de declarar a tarefa concluida ("pronto", "completo", "feito", "concluded", "done", etc.), inclua no resumo final a secao "Revisao de aderencia" com status ❌/✅ item-a-item da checklist objetiva. Se 2+ itens vermelhos, NAO use frase de conclusao — use formato WIP transparente. Build verde + tests verdes + lint verde NAO implica conclusao da tarefa quando ha refatoracao estrutural pendente.
Escopo dos Testes
- Prefira testes unitários para regras de negócio, validações, cálculos e decisões.
- Use testes de aplicação ou integração quando o risco estiver na orquestração, persistência, adapters, serialização ou contrato entre camadas.
- Use testes ponta a ponta apenas quando o comportamento depender do fluxo completo.
- Testes ponta a ponta sao OBRIGATORIOS quando o modulo persiste estado externo (arquivo, banco, fila, cache, broker, HTTP de saida) ou expoe entrypoint executavel (CLI, HTTP server, daemon, worker). Integration cobre o adapter contra o recurso; e2e cobre o fluxo completo cross-command/cross-request. Detalhes em
testing-coverage-quality. - Não substitua um teste simples e próximo do comportamento por um teste amplo e lento sem necessidade.
- Para CLI, teste parsing, saída, código de retorno e erros no adaptador de interface; testes em subprocesso são úteis, mas não devem ser a única cobertura da CLI quando a função de entrada pode ser chamada diretamente.
- Ao iniciar um módulo novo, crie a estrutura mínima de testes junto da estrutura de produção.
- A colocacao dos testes unitarios e definida pela rule da linguagem em
.agents/rules: Go e Rust colocalizam; TypeScript e JavaScript preferem colocalizado; Python, Java, C# e PHP usam diretorio espelhado (tests/,src/test/java, projeto*.Tests). Siga a rule da linguagem em uso, nao um default unico. - Use
tests/no mesmo nivel desrc/para testes de integracao, contrato, ponta a ponta, fixtures compartilhadas e suites que cruzam modulos, mesmo quando os unitarios ficam colocalizados. - Quando testes ficarem dentro de
tests/(unitarios em linguagens como Python/PHP, ou integracao/contrato/e2e em qualquer linguagem), agrupe-os primeiro pelo TIPO de teste em subpastas comotests/unit/,tests/integration/,tests/contract/,tests/e2e/,tests/acceptance/. Dentro de cada subpasta de tipo, espelhe a estrutura de pastas do codigo alvo: um teste desrc/<modulo>/<sub>/<arquivo>viratests/<tipo>/<modulo>/<sub>/test_<arquivo>(ajustando o sufixo ao idioma do framework). Vale para qualquer tipo de teste, nao so unitario. - Excecoes por convencao da stack: em Java/Kotlin Maven/Gradle, a separacao de tipo e feita pelo sufixo do nome (
*Testunitario,*ITintegracao) sobresrc/test/javaespelhandosrc/main/java; em C#/.NET, a separacao e feita por projetos de teste distintos (MyApp.UnitTests,MyApp.IntegrationTests). Nesses casos, siga a convencao da stack em vez do agrupamento por subpasta de tipo. - Quando houver duvida sobre nomes e localizacao de testes, preserve o padrao local ja existente; na ausencia dele, siga a rule da linguagem.
- Se a stack exigir outro layout, siga a convenção da stack e registre a razão na resposta final.
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.
- 9d ago First seen · 75 lines · 0 tokens per session scan A 9d39397f9552
process-tdd is a skill published in the GitHub repository gianverdum/ai-dev-skillset (5 stars, last pushed 2mo ago), licensed MIT. It adds 175 tokens to every session and 1,640 once invoked, about $0.0009 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
engram-testing-coverage
TDD and coverage standards for Engram. Trigger: When implementing behavior changes in any package.
iterative-development
TDD iteration loops using Claude Code Stop hooks - runs tests after each response, feeds failures back automatically.
python
Python development with ruff, mypy, pytest - TDD and type safety.
nw-fp-clojure
Clojure language-specific patterns, data-first modeling, REPL-driven development, and spec.
strict-tdd
Strict RED->GREEN->REFACTOR test-driven development with enforcement. Never write production code before a failing test. Atomic commits per TDD cycle.
mobiai-mobile-tdd
You MUST use this before writing any implementation code for a mobile feature, bug fix, refactor, or behavior change. Tests come before implementation — no exceptions.