plugins/specweave/skills/tdd-red/SKILL.md
Write failing tests that define expected behavior. Use when saying "TDD red", "write failing tests", or "test first".
npx skillsauth add anton-abyzov/specweave plugins/specweave/skills/tdd-redInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Skill Memories: If .specweave/skill-memories/tdd-red.md exists, read and apply its learnings.
Write comprehensive failing tests following TDD red phase principles.
Generate failing tests using Task tool with subagent_type="unit-testing::test-automator".
"Generate comprehensive FAILING tests for: $ARGUMENTS
Temp Home Isolation (prevents touching real ~/.specweave/):
import { withIsolatedHome, getIsolatedEnv } from '../test-utils/temp-home.js';
it('should run CLI command in isolated environment', async () => {
const { homePath, restore } = await withIsolatedHome('my-test');
try {
const { stdout } = await execAsync('node bin/cli.js --version', {
env: getIsolatedEnv(homePath),
});
expect(normalizeOutput(stdout)).toMatch(/^\d+\.\d+\.\d+$/);
} finally {
await restore();
}
});
Hook Execution Testing:
import { HookTestHarness } from '../test-utils/hook-test-harness.js';
import { extractJson } from '../test-utils/normalize-output.js';
it('should return approve decision from hook', async () => {
const harness = new HookTestHarness(testDir, hookPath);
const result = await harness.execute({ CI: 'true' });
const json = extractJson<{ decision: string }>(result.stdout);
expect(json?.decision).toBe('approve');
});
Process Spawning: Use getCleanEnv()/getIsolatedEnv() to strip NODE_OPTIONS. Set { timeout: 30000 }. Use normalizeOutput() and extractJson().
After generation:
Test requirements: $ARGUMENTS
tools
Generate AI videos from text prompts or images. Supports Google Veo 3.1 and Pollinations.ai (free). Use when generating video, creating animations, text-to-video, AI video, video generation, make clip, animate.
tools
Validate increment with rule-based checks and AI quality assessment. Use when saying "validate", "check quality", or "verify increment".
tools
Create and manage umbrella workspaces for multi-repo projects. Activate when the user wants to: create umbrella, umbrella init, wrap in umbrella, create workspace, setup multi-repo, migrate repos to umbrella, umbrella create, new workspace, restructure into umbrella, "wrap this repo", "create umbrella for these repos", "setup workspace with repos", "move repos into umbrella". Do NOT activate for: add a repo to existing umbrella (use sw:get), add a feature, add an increment, clone a repo (use sw:get).
tools
--- description: Merge completed parallel agent work and trigger GitHub sync per increment. Activates for: team merge, merge agents, combine work, team finish. --- # Team Merge **Verify all teammates completed, run quality gates, close increments, and trigger sync.** ## Usage ```bash sw:team-merge sw:team-merge --dry-run # Preview merge plan sw:team-merge --skip-sync # Merge without GitHub/JIRA sync ``` ## What This Skill Does 1. **Verify all teammates completed** -- bl