mirror of
https://github.com/addyosmani/agent-skills.git
synced 2026-08-12 18:07:26 +02:00
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:
@@ -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"
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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"]
|
||||||
|
|||||||
@@ -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.)
|
||||||
|
|||||||
Reference in New Issue
Block a user