← ClaudeAtlas

craft-disciplinelisted

Use when completing a TDD phase or before committing — self-discipline checkpoints the software-engineer runs against their own output. Not a review contract. The reviewer verifies artifacts independently.
SebastienDegodez/skraft-plugin · ★ 4 · Code & Development · score 60
Install: claude install-skill SebastienDegodez/skraft-plugin
# Craft Discipline ## Overview 10 self-discipline checkpoints for the `software-engineer`. Run at every COMMIT & VERIFY phase, before committing. **What this skill is NOT:** a review contract. The reviewer does not read this skill. It audits artifacts independently through its own gates. ## Checkpoints Execute in order. Each checkpoint must pass before proceeding. ### C1 — Acceptance test passes ```bash dotnet test --filter "Category=Acceptance" ``` The acceptance test targeted by this iteration MUST pass. No `[Skip]`. ### C2 — All unit tests pass ```bash dotnet test ``` Zero red tests. Zero ignored tests. ### C3 — Build passes ```bash dotnet build ``` All projects compile without warnings. Treat warnings as errors. ### C4 — Static analysis passes Verify that the linter/analyzer reports no new findings. ### C5 — No skipped tests or placeholder assertions No `[Skip]`, `[Ignore]`, `#if false`, disabling comments, or placeholder assertions in test bodies (`assert.fail()` / `Assert.Fail()` / `Assert.True(false, ...)` / `throw new NotImplementedException()` / `throw new Error('not implemented')`). Skipped tests and placeholder assertions are both theater — they pass the compile gate but assert nothing. ### C6 — No mocks in Domain/Application Check UnitTest files: - No `A.Fake<>()`, `Mock<>()`, `Substitute.For<>()` on a Domain or Application type. - Mocks allowed ONLY on driven ports (repositories, gateways). ### C7 — Business language verified Test names, v