docs(skills): extend ecosystem-neutral commands catalog-wide (#404 Phase 2)

Follow-up to #419, addressing the remaining normative npm-family
commands federicobartoli's grep on #404 identified:

- incremental-implementation: the four increment-checklist exit criteria
  and the example prompt now use the repository's own test/build/
  typecheck/lint commands, pointing at the TDD skill's Discover the
  Stack First section
- planning-and-task-breakdown: task-template verification lines use the
  template's placeholder style instead of hardcoded npm commands
- shipping-and-launch: the security checkbox names the ecosystem's
  dependency audit rather than npm audit alone
- debugging-and-error-recovery: the diagnosis/bisect/verify command
  blocks are labeled as npm examples with substitution notes
- references/security-checklist.md: OWASP row 6 generalizes npm audit
  to the native dependency audit
- security-and-hardening needed no change: its SKILL.md was already
  neutralized (detected-package-manager wording)

Ride-along: pins the below-zero debit behavior (ValueError) in TDD eval
case 3, per nucliweb's non-blocking review note on #419.
This commit is contained in:
ayobamiseun
2026-07-22 21:35:05 +01:00
parent fefc4075dd
commit 45ccfb6f3d
6 changed files with 15 additions and 15 deletions
+1 -1
View File
@@ -55,7 +55,7 @@
}, },
{ {
"id": 3, "id": 3,
"prompt": "Add debit entries to the ledger, test-first. A debit subtracts its amount from the balance and must not drive the balance below zero.", "prompt": "Add debit entries to the ledger, test-first. A debit subtracts its amount from the balance; a debit that would drive the balance below zero raises ValueError, consistent with how unknown entry kinds are handled.",
"expected_output": "A failing unittest written and shown failing first, a minimal implementation, and the full suite run with the repository's own Python test command", "expected_output": "A failing unittest written and shown failing first, a minimal implementation, and the full suite run with the repository's own Python test command",
"files": [ "files": [
"test-driven-development-ecosystem" "test-driven-development-ecosystem"
+1 -1
View File
@@ -181,7 +181,7 @@ res.status(500).json({
| 3 | Injection | Parameterized queries, input validation | | 3 | Injection | Parameterized queries, input validation |
| 4 | Insecure Design | Threat modeling, spec-driven development | | 4 | Insecure Design | Threat modeling, spec-driven development |
| 5 | Security Misconfiguration | Security headers, minimal permissions, audit deps | | 5 | Security Misconfiguration | Security headers, minimal permissions, audit deps |
| 6 | Vulnerable Components | `npm audit`, keep deps updated, minimal deps | | 6 | Vulnerable Components | Native dependency audit (`npm audit`, `pip-audit`, ...), keep deps updated, minimal deps |
| 7 | Auth Failures | Strong passwords, rate limiting, session management | | 7 | Auth Failures | Strong passwords, rate limiting, session management |
| 8 | Data Integrity Failures | Verify updates/dependencies, signed artifacts | | 8 | Data Integrity Failures | Verify updates/dependencies, signed artifacts |
| 9 | Logging Failures | Log security events, don't log secrets | | 9 | Logging Failures | Log security events, don't log secrets |
+3 -3
View File
@@ -72,7 +72,7 @@ Cannot reproduce on demand:
└── Document the conditions observed and revisit when it recurs └── Document the conditions observed and revisit when it recurs
``` ```
For test failures: For test failures (npm shown — substitute the repository's own test command, per the test-driven-development skill's Discover the Stack First section):
```bash ```bash
# Run the specific failing test # Run the specific failing test
npm test -- --grep "test name" npm test -- --grep "test name"
@@ -105,7 +105,7 @@ git bisect start
git bisect bad # Current commit is broken git bisect bad # Current commit is broken
git bisect good <known-good-sha> # This commit worked git bisect good <known-good-sha> # This commit worked
# Git will checkout midpoint commits; run your test at each # Git will checkout midpoint commits; run your test at each
git bisect run npm test -- --grep "failing test" git bisect run npm test -- --grep "failing test" # substitute the repository's focused-test command
``` ```
### Step 3: Reduce ### Step 3: Reduce
@@ -153,7 +153,7 @@ This test will prevent the same bug from recurring. It should fail without the f
### Step 6: Verify End-to-End ### Step 6: Verify End-to-End
After fixing, verify the complete scenario: After fixing, verify the complete scenario with the repository's own commands (npm shown):
```bash ```bash
# Run the specific test # Run the specific test
+7 -7
View File
@@ -190,21 +190,21 @@ When directing an agent to implement incrementally:
Start with just the database schema change and the API endpoint. Start with just the database schema change and the API endpoint.
Don't touch the UI yet — we'll do that in the next increment. Don't touch the UI yet — we'll do that in the next increment.
After implementing, run `npm test` and `npm run build` to verify After implementing, run the repository's test and build commands to
nothing is broken." verify nothing is broken."
``` ```
Be explicit about what's in scope and what's NOT in scope for each increment. Be explicit about what's in scope and what's NOT in scope for each increment.
## Increment Checklist ## Increment Checklist
After each increment, verify: After each increment, verify with the repository's own commands (see the test-driven-development skill's Discover the Stack First section):
- [ ] The change does one thing and does it completely - [ ] The change does one thing and does it completely
- [ ] All existing tests still pass (`npm test`) - [ ] All existing tests still pass (the repository's test command: `npm test`, `./gradlew test`, `pytest`, ...)
- [ ] The build succeeds (`npm run build`) - [ ] The build succeeds (the repository's build command)
- [ ] Type checking passes (`npx tsc --noEmit`) - [ ] Type checking passes, where the stack has one (`npx tsc --noEmit`, `mypy`, ...)
- [ ] Linting passes (`npm run lint`) - [ ] Linting passes (the repository's lint command)
- [ ] The new functionality works as expected - [ ] The new functionality works as expected
- [ ] The change is committed with a descriptive message - [ ] The change is committed with a descriptive message
+2 -2
View File
@@ -90,8 +90,8 @@ Each task follows this structure:
- [ ] [Specific, testable condition] - [ ] [Specific, testable condition]
**Verification:** **Verification:**
- [ ] Tests pass: `npm test -- --grep "feature-name"` - [ ] Tests pass: [the repository's focused-test command]
- [ ] Build succeeds: `npm run build` - [ ] Build succeeds: [the repository's build command]
- [ ] Manual check: [description of what to verify] - [ ] Manual check: [description of what to verify]
**Dependencies:** [Task numbers this depends on, or "None"] **Dependencies:** [Task numbers this depends on, or "None"]
+1 -1
View File
@@ -32,7 +32,7 @@ Ship with confidence. The goal is not just to deploy — it's to deploy safely,
### Security ### Security
- [ ] No secrets in code or version control - [ ] No secrets in code or version control
- [ ] `npm audit` shows no critical or high vulnerabilities - [ ] The ecosystem's dependency audit (`npm audit`, `pip-audit`, `cargo audit`, ...) shows no critical or high vulnerabilities
- [ ] Input validation on all user-facing endpoints - [ ] Input validation on all user-facing endpoints
- [ ] Authentication and authorization checks in place - [ ] Authentication and authorization checks in place
- [ ] Security headers configured (CSP, HSTS, etc.) - [ ] Security headers configured (CSP, HSTS, etc.)