craft-disciplinelisted
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