con un clic
tdd
Follow strict Test Driven Development with small incremental steps
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Follow strict Test Driven Development with small incremental steps
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
Move a config file into the ~/dotfiles repo, symlink it back to its original location, and update SETUP_MACOS.md so a fresh machine reproduces the setup. Use when the user says "port this to dotfiles", "track X in dotfiles", "let's save these settings to the dotfiles repo", or after editing a config that isn't yet under `~/dotfiles/`.
Port a Neovim colorscheme to a matching Ghostty theme so that switching colorschemes in nvim live-updates Ghostty. Use when the user installs a new nvim colorscheme and wants Ghostty to follow, or asks "add X to ghostty themes", "port X to ghostty", or `:colorscheme X` produces a mismatch with the terminal.
Fetch GitHub PR comments for the current branch to refresh context
Fetch Linear ticket context from the current git branch
Refresh context after manual file updates
| name | tdd |
| description | Follow strict Test Driven Development with small incremental steps |
Follow Test Driven Development (TDD) strictly for all code changes. Work in the smallest possible increments.
For each task, follow this cycle exactly:
Red - Write a single failing test that defines the expected behavior
Green - Write the minimal code to make the test pass
Refactor - Clean up while keeping tests green
Do NOT mark a task complete until the quality gates for this project have passed.
nx test fan-out, ExUnit --repeat-until-failure).After a task is marked done, stop and wait for the user to review the output before starting the next task. This applies even in auto-accept or "accept edits" mode — never chain tasks without an explicit go-ahead from the user.
Once the user approves, they will commit the changes manually to create a checkpoint. Do not commit on their behalf.
Before starting the next task, explicitly assess refactoring opportunities against the just-committed checkpoint: duplication introduced, naming that no longer fits, abstractions that want to emerge, dead scaffolding. Surface what you'd refactor (or state that nothing warrants it) before moving on. With a clean checkpoint behind you, refactors are cheap to try and easy to roll back.
toThrow() / rejects.toThrow(). Always match against a specific error so the test fails when the wrong thing throws. Match the most legible specific signal available: a custom error class, a message regex, or — for DB errors — the pg DatabaseError fields (code, plus table / column / constraint when present). Prefer named/structured fields over a cryptic code alone, e.g. rejects.toMatchObject({ code: '23502', table: '...', column: '...' }) over rejects.toMatchObject({ code: '23502' }).pg code, plus constraint / table / column), so a test for one violation can't pass on a different one. A generic match is a false pass waiting to happen.find*) and assert on that too — a method can return the right shape without actually persisting it (or persist different values than it returns).find* / get*), set up the scenario with the factory / DB-helper insert utility — never with the repository's own create. Using create couples the read test to write behavior, so a bug in create fails the read test (and vice versa); seeding directly isolates the method under test.Prefer an outside-in approach: start from the user-facing behavior and drive inward with integration tests. Reach for unit tests only when an integration test can't reasonably cover the branch (complex pure logic, hard-to-reach edge cases).