red

A guide for the Red phase of Test-Driven Development, a method where tests are written before the code they check. It activates one test and makes sure it fails for an expected reason.

In plain words
What is it for?
Turning one test placeholder into an executable test, predicting compilation or assertion failures, and checking that the failure is appropriate.
Why use it?
It keeps test-first work controlled by preventing implementation during the initial failing-test stage and by leaving other planned tests inactive.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/marcoemrich/agentic_coding_lab/red
Any agent
npx skills add marcoemrich/agentic_coding_lab --skill red
Clone the repo
git clone --depth 1 https://github.com/marcoemrich/agentic_coding_lab

Made for: Claude Code, Codex.

Per session 21 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,295 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00021 $0.01295
Opus 5 $0.00010 $0.00647
Sonnet 5 $0.00004 $0.00259
Haiku 4.5 $0.00002 $0.00129

Measured 2d ago against content hash 2e420ae56129, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

red 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 2d 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.

experiments/runs/2026-05-25_08-16-22_claim-office-example-mapping_v5.1-testlist-scope-fix-oc_opus-4-7-portkey/.opencode/skills/red/SKILL.md · 187 lines

How it starts

The opening of the file, as written. The whole thing — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.

TDD Red Phase

You are now in the Red Phase of TDD. Follow these instructions to activate ONE test and make it fail.

Your Mission

Guide developers through the Red phase of TDD by helping them:

  1. Activate exactly ONE test from the test list
  2. Make explicit predictions about how the test will fail
  3. Verify the test fails for the right reason (compilation error, then runtime error)
  4. Maintain strict TDD discipline - no implementation during Red phase

Context: $ARGUMENTS

Red Phase Rules

  • One test at a time: Convert exactly ONE it.todo() to executable test code
  • All other tests remain as it.todo(): Never have more than one failing test
  • Two-stage failure: First compilation error, then runtime/assertion error
  • Make predictions: Explicitly state expected failures before running tests
  • No implementation: Don't write code to make test pass yet

Red Phase Process

Step 1: Activate One Test

  • Identify the next it.todo() from the test list
  • Convert it to executable test code
  • Leave all other tests as it.todo()
  • Ensure only one test is active/failing

Step 2: Make Prediction (Guessing Game) - Compilation Error

Before running the test, explicitly state:

  • Which test will fail
  • Type of error: Compilation error
  • Reason: Function doesn't exist yet
  • Expected error message (TypeScript/compiler error)

Example prediction:

Red Phase - Compilation Error Prediction:
- Test: "should return 0 for empty input"
- Expected: Compilation error
- Reason: Function `calculate` doesn't exist yet
- Error: "Cannot find name 'calculate'"

Step 3: Run Test - Verify Compilation Error

  • Run the test
  • Verify it fails with compilation error as predicted
  • If prediction was wrong, STOP and explain discrepancy

Step 4: Create Empty Function

  • Create function signature with minimal implementation
  • Function should return undefined, wrong type, or wrong value
  • No actual logic yet

Step 5: Make Prediction - Runtime Error

Before running the test again, explicitly state:

  • Which test will fail
  • Type of error: Runtime/assertion error
  • Expected value (what test expects)
  • Actual value (what function will return)
  • Expected diff output

Read the full file on GitHub · 187 lines

Changes

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.

  1. 2d ago First seen · 187 lines · 21 tokens per session scan A 2e420ae56129

Subscribe to this mod's changes

red is a skill published in the GitHub repository marcoemrich/agentic_coding_lab (11 stars, last pushed 15d ago), licensed MIT. It adds 21 tokens to every session and 1,295 once invoked, about $0.0001 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.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…

openai/codex · 113 tokens