npx skills add ...
npx skills add poteto/noodle --skill testing
Test-driven development workflow for Noodle. Use when testing changes, writing tests, fixing bugs, creating fixtures, or running the test suite. Triggers: "test", "write a test", "fix this bug", "add a fixture", "run tests", "TDD", or any task involving verification of code changes.
npx skills add poteto/noodle --skill testing
Test-driven by default. Prove the problem before solving it.
Skill(commit) with message like test: reproduce #issue-descriptionpnpm test and confirm the test passesThis applies to all bug fixes. The failing test proves the bug exists and prevents regressions.
Noodle uses directory-based fixtures in testdata/. Read references/fixtures.md for full format, helper API, and code patterns.
Fill in the generated input.json/input.ndjson and expected.md, then:
See references/fixtures.md for full bug fixture format (frontmatter fields, expected error sections, and the fix workflow).
| Command | Purpose |
|---|---|
pnpm test | Run all tests |
pnpm test:short | Skip integration tests |
pnpm check | Full local CI (test + vet + lint + fixtures) |
pnpm bugs | List fixtures marked as known bugs |
pnpm fixtures:loop | Verify loop fixtures match expected |
pnpm fixtures:loop:record | Regenerate loop fixture expected output |
pnpm fixtures:hash | Verify fixture input hashes |
pnpm fixtures:hash:sync | Update fixture input hashes |
pnpm vet | Run go vet |
pnpm lint:arch | Architecture lint (file sizes, legacy patterns) |
Long-running or external-dependency tests use testing.Short():
pnpm test:short skips these. pnpm test runs everything.
# Single package
go test ./loop
# Single test
go test ./loop -run TestLoopDirectoryFixtures
# Bypass cache
go test -count=1 ./parse
# With race detector
go test -race ./...
# Verbose
go test -v ./tuiif testing.Short() {
t.Skip("skipping integration test in short mode")
}