@jakkrichm/create-nexus-devflow 2.0.12 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/update.js +15 -1
- package/package.json +1 -1
- package/template/.agents/skills/70-release/SKILL.md +2 -0
- package/template/.agents/skills/ci/SKILL.md +25 -78
- package/template/.agents/skills/commit/SKILL.md +39 -43
- package/template/.agents/skills/debug/SKILL.md +43 -104
- package/template/.agents/skills/deploy/SKILL.md +37 -65
- package/template/.agents/skills/insight/SKILL.md +27 -116
- package/template/.agents/skills/preview/SKILL.md +24 -103
- package/template/.agents/skills/review/SKILL.md +53 -37
- package/template/.agents/skills/rollback/SKILL.md +1 -0
- package/template/.agents/skills/security-review/SKILL.md +44 -147
- package/template/.agents/skills/simplify/SKILL.md +48 -57
- package/template/.agents/skills/test/SKILL.md +63 -51
- package/template/.claude/skills/70-release/SKILL.md +2 -0
- package/template/.claude/skills/ci/SKILL.md +25 -78
- package/template/.claude/skills/commit/SKILL.md +39 -43
- package/template/.claude/skills/debug/SKILL.md +43 -104
- package/template/.claude/skills/deploy/SKILL.md +37 -65
- package/template/.claude/skills/insight/SKILL.md +27 -116
- package/template/.claude/skills/preview/SKILL.md +24 -103
- package/template/.claude/skills/review/SKILL.md +53 -37
- package/template/.claude/skills/rollback/SKILL.md +1 -0
- package/template/.claude/skills/security-review/SKILL.md +44 -147
- package/template/.claude/skills/simplify/SKILL.md +48 -57
- package/template/.claude/skills/test/SKILL.md +63 -51
- package/template/devflow/history/HISTORY.md +27 -0
- package/template/devflow/reference/running-id-contract.md +1 -1
- package/template/.agents/skills/9arm-skills/README.md +0 -51
- package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
- package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +0 -79
- package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +0 -71
- package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +0 -72
- package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +0 -302
- package/template/.agents/skills/ci-cd-and-automation/SKILL.md +0 -390
- package/template/.agents/skills/code-review-and-quality/SKILL.md +0 -392
- package/template/.agents/skills/code-simplification/SKILL.md +0 -331
- package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +0 -298
- package/template/.agents/skills/deployment-procedures/SKILL.md +0 -241
- package/template/.agents/skills/deprecation-and-migration/SKILL.md +0 -206
- package/template/.agents/skills/diagnosing-bugs/SKILL.md +0 -93
- package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +0 -300
- package/template/.agents/skills/human-review-decisions/SKILL.md +0 -74
- package/template/.agents/skills/idea-refine/SKILL.md +0 -178
- package/template/.agents/skills/idea-refine/examples.md +0 -238
- package/template/.agents/skills/idea-refine/frameworks.md +0 -99
- package/template/.agents/skills/idea-refine/refinement-criteria.md +0 -113
- package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +0 -15
- package/template/.agents/skills/incremental-implementation/SKILL.md +0 -248
- package/template/.agents/skills/insight-capture/SKILL.md +0 -84
- package/template/.agents/skills/intelligent-routing/SKILL.md +0 -176
- package/template/.agents/skills/md2html/SKILL.md +0 -154
- package/template/.agents/skills/md2html/components.md +0 -505
- package/template/.agents/skills/md2html/template.html +0 -1152
- package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +0 -239
- package/template/.agents/skills/pr-review/SKILL.md +0 -143
- package/template/.agents/skills/pr-review-analysis/SKILL.md +0 -89
- package/template/.agents/skills/preview-local-check/SKILL.md +0 -59
- package/template/.agents/skills/release-git-operations/SKILL.md +0 -97
- package/template/.agents/skills/review-followup-routing/SKILL.md +0 -98
- package/template/.agents/skills/security-and-hardening/SKILL.md +0 -349
- package/template/.agents/skills/security-and-hardening/security-checklist.md +0 -134
- package/template/.agents/skills/shipping-and-launch/SKILL.md +0 -311
- package/template/.agents/skills/silent-failure-audit/SKILL.md +0 -73
- package/template/.agents/skills/spec-orchestration/SKILL.md +0 -91
- package/template/.agents/skills/specialist-agent-routing/SKILL.md +0 -107
- package/template/.agents/skills/test-driven-development/SKILL.md +0 -422
- package/template/.agents/skills/test-driven-development/testing-patterns.md +0 -236
- package/template/.agents/skills/test-execution-and-coverage/SKILL.md +0 -56
- package/template/.agents/skills/using-agent-skills/SKILL.md +0 -171
- package/template/.agents/skills/verification-orchestration/SKILL.md +0 -68
- package/template/.agents/skills/vulnerability-scanner/SKILL.md +0 -276
- package/template/.agents/skills/vulnerability-scanner/checklists.md +0 -121
- package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/template/.agents/skills/wiki/SKILL.md +0 -149
- package/template/.agents/skills/workflow-documentation-sync/SKILL.md +0 -87
- package/template/.claude/skills/9arm-skills/README.md +0 -51
- package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +0 -86
- package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +0 -79
- package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +0 -71
- package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +0 -72
- package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +0 -302
- package/template/.claude/skills/ci-cd-and-automation/SKILL.md +0 -390
- package/template/.claude/skills/code-review-and-quality/SKILL.md +0 -392
- package/template/.claude/skills/code-simplification/SKILL.md +0 -331
- package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +0 -298
- package/template/.claude/skills/deployment-procedures/SKILL.md +0 -241
- package/template/.claude/skills/deprecation-and-migration/SKILL.md +0 -206
- package/template/.claude/skills/diagnosing-bugs/SKILL.md +0 -93
- package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +0 -300
- package/template/.claude/skills/human-review-decisions/SKILL.md +0 -74
- package/template/.claude/skills/idea-refine/SKILL.md +0 -178
- package/template/.claude/skills/idea-refine/examples.md +0 -238
- package/template/.claude/skills/idea-refine/frameworks.md +0 -99
- package/template/.claude/skills/idea-refine/refinement-criteria.md +0 -113
- package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +0 -15
- package/template/.claude/skills/incremental-implementation/SKILL.md +0 -248
- package/template/.claude/skills/insight-capture/SKILL.md +0 -84
- package/template/.claude/skills/intelligent-routing/SKILL.md +0 -176
- package/template/.claude/skills/md2html/SKILL.md +0 -154
- package/template/.claude/skills/md2html/components.md +0 -505
- package/template/.claude/skills/md2html/template.html +0 -1152
- package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +0 -239
- package/template/.claude/skills/pr-review/SKILL.md +0 -143
- package/template/.claude/skills/pr-review-analysis/SKILL.md +0 -89
- package/template/.claude/skills/preview-local-check/SKILL.md +0 -59
- package/template/.claude/skills/release-git-operations/SKILL.md +0 -97
- package/template/.claude/skills/review-followup-routing/SKILL.md +0 -98
- package/template/.claude/skills/security-and-hardening/SKILL.md +0 -349
- package/template/.claude/skills/security-and-hardening/security-checklist.md +0 -134
- package/template/.claude/skills/shipping-and-launch/SKILL.md +0 -311
- package/template/.claude/skills/silent-failure-audit/SKILL.md +0 -73
- package/template/.claude/skills/spec-orchestration/SKILL.md +0 -91
- package/template/.claude/skills/specialist-agent-routing/SKILL.md +0 -107
- package/template/.claude/skills/test-driven-development/SKILL.md +0 -422
- package/template/.claude/skills/test-driven-development/testing-patterns.md +0 -236
- package/template/.claude/skills/test-execution-and-coverage/SKILL.md +0 -56
- package/template/.claude/skills/using-agent-skills/SKILL.md +0 -171
- package/template/.claude/skills/verification-orchestration/SKILL.md +0 -68
- package/template/.claude/skills/vulnerability-scanner/SKILL.md +0 -276
- package/template/.claude/skills/vulnerability-scanner/checklists.md +0 -121
- package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/template/.claude/skills/wiki/SKILL.md +0 -149
- package/template/.claude/skills/workflow-documentation-sync/SKILL.md +0 -87
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-execution-and-coverage
|
|
3
|
-
description: "[Devflow] Generate missing tests, run existing tests, and summarize coverage and failures. Use when implementation or verification needs explicit testing evidence beyond a general TDD reminder."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Test Execution And Coverage
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
This skill complements TDD by handling test generation, execution, and persistent reporting.
|
|
11
|
-
|
|
12
|
-
## When to Use
|
|
13
|
-
|
|
14
|
-
- During `40-implement` when tests need to be added
|
|
15
|
-
- During `50-verify` when the test suite must be run and summarized
|
|
16
|
-
- During `Debug` when a bug needs a reproduction test
|
|
17
|
-
|
|
18
|
-
## Process
|
|
19
|
-
|
|
20
|
-
### 1. Decide Test Mode
|
|
21
|
-
|
|
22
|
-
- generate tests for a target
|
|
23
|
-
- run the existing test suite
|
|
24
|
-
- inspect coverage when the project supports it
|
|
25
|
-
|
|
26
|
-
### 2. Use Project-Native Test Commands
|
|
27
|
-
|
|
28
|
-
- prefer the project's real framework and real commands
|
|
29
|
-
- highlight failed assertions clearly
|
|
30
|
-
- distinguish test generation from test execution
|
|
31
|
-
|
|
32
|
-
### 3. Save Reusable Report
|
|
33
|
-
|
|
34
|
-
Write reusable output under:
|
|
35
|
-
|
|
36
|
-
```text
|
|
37
|
-
devflow/reports/{date}-test-report-{slug}.md
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Use `.agent/resources/schemas/test_report.template.md` when saving a reusable report.
|
|
41
|
-
|
|
42
|
-
### 4. Route Back
|
|
43
|
-
|
|
44
|
-
- `50-verify` when tests support formal verification
|
|
45
|
-
- `40-implement` when missing or failing tests require code changes
|
|
46
|
-
- `Debug` when failures need RCA
|
|
47
|
-
|
|
48
|
-
## Output
|
|
49
|
-
|
|
50
|
-
Return:
|
|
51
|
-
|
|
52
|
-
- what tests were generated or run
|
|
53
|
-
- command output summary
|
|
54
|
-
- pass/fail state
|
|
55
|
-
- gaps and risks
|
|
56
|
-
- recommended return stage
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: using-agent-skills
|
|
3
|
-
description: "[Devflow] Discovers and invokes agent skills. Use when starting a session or when you need to discover which skill applies to the current task. This is the meta-skill that governs how all other skills are discovered and invoked."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Using Agent Skills
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
Agent Skills is a collection of engineering workflow skills organized by development phase. Each skill encodes a specific process that senior engineers follow. This meta-skill helps you discover and apply the right skill for your current task.
|
|
11
|
-
|
|
12
|
-
## Skill Discovery
|
|
13
|
-
|
|
14
|
-
When a task arrives, identify the development phase and apply the corresponding skill:
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
Task arrives
|
|
18
|
-
│
|
|
19
|
-
├── Vague idea/need refinement? ──→ idea-refine
|
|
20
|
-
├── New project/feature/change? ──→ spec-driven-development
|
|
21
|
-
├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
|
|
22
|
-
├── Implementing code? ────────────→ incremental-implementation
|
|
23
|
-
│ ├── UI work? ─────────────────→ frontend-ui-engineering
|
|
24
|
-
│ ├── API work? ────────────────→ api-and-interface-design
|
|
25
|
-
│ └── Need better context? ─────→ context-engineering
|
|
26
|
-
├── Writing/running tests? ────────→ test-driven-development
|
|
27
|
-
│ └── Browser-based? ───────────→ browser-testing-with-devtools
|
|
28
|
-
├── Something broke? ──────────────→ debugging-and-error-recovery
|
|
29
|
-
├── Reviewing code? ───────────────→ code-review-and-quality
|
|
30
|
-
│ ├── Security concerns? ───────→ security-and-hardening
|
|
31
|
-
│ └── Performance concerns? ────→ performance-optimization
|
|
32
|
-
├── Committing/branching? ─────────→ git-workflow-and-versioning
|
|
33
|
-
├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
|
|
34
|
-
├── Writing docs/ADRs? ───────────→ documentation-and-adrs
|
|
35
|
-
└── Deploying/launching? ─────────→ shipping-and-launch
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Core Operating Behaviors
|
|
39
|
-
|
|
40
|
-
These behaviors apply at all times, across all skills. They are non-negotiable.
|
|
41
|
-
|
|
42
|
-
### 1. Surface Assumptions
|
|
43
|
-
|
|
44
|
-
Before implementing anything non-trivial, explicitly state your assumptions:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
ASSUMPTIONS I'M MAKING:
|
|
48
|
-
1. [assumption about requirements]
|
|
49
|
-
2. [assumption about architecture]
|
|
50
|
-
3. [assumption about scope]
|
|
51
|
-
→ Correct me now or I'll proceed with these.
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Don't silently fill in ambiguous requirements. The most common failure mode is making wrong assumptions and running with them unchecked. Surface uncertainty early — it's cheaper than rework.
|
|
55
|
-
|
|
56
|
-
### 2. Manage Confusion Actively
|
|
57
|
-
|
|
58
|
-
When you encounter inconsistencies, conflicting requirements, or unclear specifications:
|
|
59
|
-
|
|
60
|
-
1. **STOP.** Do not proceed with a guess.
|
|
61
|
-
2. Name the specific confusion.
|
|
62
|
-
3. Present the tradeoff or ask the clarifying question.
|
|
63
|
-
4. Wait for resolution before continuing.
|
|
64
|
-
|
|
65
|
-
**Bad:** Silently picking one interpretation and hoping it's right.
|
|
66
|
-
**Good:** "I see X in the spec but Y in the existing code. Which takes precedence?"
|
|
67
|
-
|
|
68
|
-
### 3. Push Back When Warranted
|
|
69
|
-
|
|
70
|
-
You are not a yes-machine. When an approach has clear problems:
|
|
71
|
-
|
|
72
|
-
- Point out the issue directly
|
|
73
|
-
- Explain the concrete downside (quantify when possible — "this adds ~200ms latency" not "this might be slower")
|
|
74
|
-
- Propose an alternative
|
|
75
|
-
- Accept the human's decision if they override with full information
|
|
76
|
-
|
|
77
|
-
Sycophancy is a failure mode. "Of course!" followed by implementing a bad idea helps no one. Honest technical disagreement is more valuable than false agreement.
|
|
78
|
-
|
|
79
|
-
### 4. Enforce Simplicity
|
|
80
|
-
|
|
81
|
-
Your natural tendency is to overcomplicate. Actively resist it.
|
|
82
|
-
|
|
83
|
-
Before finishing any implementation, ask:
|
|
84
|
-
- Can this be done in fewer lines?
|
|
85
|
-
- Are these abstractions earning their complexity?
|
|
86
|
-
- Would a staff engineer look at this and say "why didn't you just..."?
|
|
87
|
-
|
|
88
|
-
If you build 1000 lines and 100 would suffice, you have failed. Prefer the boring, obvious solution. Cleverness is expensive.
|
|
89
|
-
|
|
90
|
-
### 5. Maintain Scope Discipline
|
|
91
|
-
|
|
92
|
-
Touch only what you're asked to touch.
|
|
93
|
-
|
|
94
|
-
Do NOT:
|
|
95
|
-
- Remove comments you don't understand
|
|
96
|
-
- "Clean up" code orthogonal to the task
|
|
97
|
-
- Refactor adjacent systems as a side effect
|
|
98
|
-
- Delete code that seems unused without explicit approval
|
|
99
|
-
- Add features not in the spec because they "seem useful"
|
|
100
|
-
|
|
101
|
-
Your job is surgical precision, not unsolicited renovation.
|
|
102
|
-
|
|
103
|
-
### 6. Verify, Don't Assume
|
|
104
|
-
|
|
105
|
-
Every skill includes a verification step. A task is not complete until verification passes. "Seems right" is never sufficient — there must be evidence (passing tests, build output, runtime data).
|
|
106
|
-
|
|
107
|
-
## Failure Modes to Avoid
|
|
108
|
-
|
|
109
|
-
These are the subtle errors that look like productivity but create problems:
|
|
110
|
-
|
|
111
|
-
1. Making wrong assumptions without checking
|
|
112
|
-
2. Not managing your own confusion — plowing ahead when lost
|
|
113
|
-
3. Not surfacing inconsistencies you notice
|
|
114
|
-
4. Not presenting tradeoffs on non-obvious decisions
|
|
115
|
-
5. Being sycophantic ("Of course!") to approaches with clear problems
|
|
116
|
-
6. Overcomplicating code and APIs
|
|
117
|
-
7. Modifying code or comments orthogonal to the task
|
|
118
|
-
8. Removing things you don't fully understand
|
|
119
|
-
9. Building without a spec because "it's obvious"
|
|
120
|
-
10. Skipping verification because "it looks right"
|
|
121
|
-
|
|
122
|
-
## Skill Rules
|
|
123
|
-
|
|
124
|
-
1. **Check for an applicable skill before starting work.** Skills encode processes that prevent common mistakes.
|
|
125
|
-
|
|
126
|
-
2. **Skills are workflows, not suggestions.** Follow the steps in order. Don't skip verification steps.
|
|
127
|
-
|
|
128
|
-
3. **Multiple skills can apply.** A feature implementation might involve `idea-refine` → `spec-driven-development` → `planning-and-task-breakdown` → `incremental-implementation` → `test-driven-development` → `code-review-and-quality` → `shipping-and-launch` in sequence.
|
|
129
|
-
|
|
130
|
-
4. **When in doubt, start with a spec.** If the task is non-trivial and there's no spec, begin with `spec-driven-development`.
|
|
131
|
-
|
|
132
|
-
## Lifecycle Sequence
|
|
133
|
-
|
|
134
|
-
For a complete feature, the typical skill sequence is:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
1. idea-refine → Refine vague ideas
|
|
138
|
-
2. spec-driven-development → Define what we're building
|
|
139
|
-
3. planning-and-task-breakdown → Break into verifiable chunks
|
|
140
|
-
4. context-engineering → Load the right context
|
|
141
|
-
5. incremental-implementation → Build slice by slice
|
|
142
|
-
6. test-driven-development → Prove each slice works
|
|
143
|
-
7. code-review-and-quality → Review before merge
|
|
144
|
-
8. git-workflow-and-versioning → Clean commit history
|
|
145
|
-
9. documentation-and-adrs → Document decisions
|
|
146
|
-
10. shipping-and-launch → Deploy safely
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Not every task needs every skill. A bug fix might only need: `debugging-and-error-recovery` → `test-driven-development` → `code-review-and-quality`.
|
|
150
|
-
|
|
151
|
-
## Quick Reference
|
|
152
|
-
|
|
153
|
-
| Phase | Skill | One-Line Summary |
|
|
154
|
-
|-------|-------|-----------------|
|
|
155
|
-
| Define | idea-refine | Refine ideas through structured divergent and convergent thinking |
|
|
156
|
-
| Define | spec-driven-development | Requirements and acceptance criteria before code |
|
|
157
|
-
| Plan | planning-and-task-breakdown | Decompose into small, verifiable tasks |
|
|
158
|
-
| Build | incremental-implementation | Thin vertical slices, test each before expanding |
|
|
159
|
-
| Build | context-engineering | Right context at the right time |
|
|
160
|
-
| Build | frontend-ui-engineering | Production-quality UI with accessibility |
|
|
161
|
-
| Build | api-and-interface-design | Stable interfaces with clear contracts |
|
|
162
|
-
| Verify | test-driven-development | Failing test first, then make it pass |
|
|
163
|
-
| Verify | browser-testing-with-devtools | Chrome DevTools MCP for runtime verification |
|
|
164
|
-
| Verify | debugging-and-error-recovery | Reproduce → localize → fix → guard |
|
|
165
|
-
| Review | code-review-and-quality | Five-axis review with quality gates |
|
|
166
|
-
| Review | security-and-hardening | OWASP prevention, input validation, least privilege |
|
|
167
|
-
| Review | performance-optimization | Measure first, optimize only what matters |
|
|
168
|
-
| Ship | git-workflow-and-versioning | Atomic commits, clean history |
|
|
169
|
-
| Ship | ci-cd-and-automation | Automated quality gates on every change |
|
|
170
|
-
| Ship | documentation-and-adrs | Document the why, not just the what |
|
|
171
|
-
| Ship | shipping-and-launch | Pre-launch checklist, monitoring, rollback plan |
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: verification-orchestration
|
|
3
|
-
description: "[Devflow] Coordinate multi-lane QA, specialist review, test planning, and verification follow-up. Use when 50-verify needs more structure than a single pass and the team needs a QA matrix or specialist routing."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Verification Orchestration
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
This skill structures complex verification work across multiple QA lanes without replacing the main verification stage.
|
|
11
|
-
|
|
12
|
-
## When to Use
|
|
13
|
-
|
|
14
|
-
- `50-verify` is too broad for a single simple pass
|
|
15
|
-
- the change needs correctness, regression, security, performance, and UX checks together
|
|
16
|
-
- the team needs specialist routing for QA
|
|
17
|
-
|
|
18
|
-
## Process
|
|
19
|
-
|
|
20
|
-
### 1. Validate The Verification Context
|
|
21
|
-
|
|
22
|
-
- inspect the owning stage artifacts first
|
|
23
|
-
- confirm what implementation scope is actually under review
|
|
24
|
-
- keep markdown stage artifacts as the source of truth
|
|
25
|
-
|
|
26
|
-
### 2. Choose QA Lanes
|
|
27
|
-
|
|
28
|
-
Typical lanes:
|
|
29
|
-
|
|
30
|
-
- correctness and acceptance criteria
|
|
31
|
-
- tests and regressions
|
|
32
|
-
- security and data safety
|
|
33
|
-
- performance and scalability
|
|
34
|
-
- UX or manual verification
|
|
35
|
-
- codebase fit and maintainability
|
|
36
|
-
|
|
37
|
-
### 3. Route Specialist Help
|
|
38
|
-
|
|
39
|
-
Use specialist agents only when needed, such as:
|
|
40
|
-
|
|
41
|
-
- `code-reviewer`
|
|
42
|
-
- `test-engineer`
|
|
43
|
-
- `security-auditor`
|
|
44
|
-
|
|
45
|
-
### 4. Save Reusable Report
|
|
46
|
-
|
|
47
|
-
Write reusable output under:
|
|
48
|
-
|
|
49
|
-
```text
|
|
50
|
-
devflow/reports/{date}-qa-orchestrate-{id}.md
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Use `.agent/resources/schemas/qa_orchestration.template.md` when saving a reusable report.
|
|
54
|
-
|
|
55
|
-
### 5. Route Back
|
|
56
|
-
|
|
57
|
-
- `50-verify` when the QA matrix strengthens verification evidence
|
|
58
|
-
- `40-implement` when actionable fixes are required
|
|
59
|
-
- `Followup` when findings become new scope
|
|
60
|
-
|
|
61
|
-
## Output
|
|
62
|
-
|
|
63
|
-
Return:
|
|
64
|
-
|
|
65
|
-
- QA lanes used
|
|
66
|
-
- specialist recommendations
|
|
67
|
-
- findings and blockers
|
|
68
|
-
- recommended return stage
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vulnerability-scanner
|
|
3
|
-
description: "[Devflow] Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization."
|
|
4
|
-
allowed-tools: Read, Glob, Grep, Bash
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Vulnerability Scanner
|
|
8
|
-
|
|
9
|
-
> Think like an attacker, defend like an expert. 2025 threat landscape awareness.
|
|
10
|
-
|
|
11
|
-
## 🔧 Runtime Scripts
|
|
12
|
-
|
|
13
|
-
**Execute for automated validation:**
|
|
14
|
-
|
|
15
|
-
| Script | Purpose | Usage |
|
|
16
|
-
|--------|---------|-------|
|
|
17
|
-
| `scripts/security_scan.py` | Validate security principles applied | `python scripts/security_scan.py <project_path>` |
|
|
18
|
-
|
|
19
|
-
## 📋 Reference Files
|
|
20
|
-
|
|
21
|
-
| File | Purpose |
|
|
22
|
-
|------|---------|
|
|
23
|
-
| [checklists.md](checklists.md) | OWASP Top 10, Auth, API, Data protection checklists |
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 1. Security Expert Mindset
|
|
28
|
-
|
|
29
|
-
### Core Principles
|
|
30
|
-
|
|
31
|
-
| Principle | Application |
|
|
32
|
-
|-----------|-------------|
|
|
33
|
-
| **Assume Breach** | Design as if attacker already inside |
|
|
34
|
-
| **Zero Trust** | Never trust, always verify |
|
|
35
|
-
| **Defense in Depth** | Multiple layers, no single point |
|
|
36
|
-
| **Least Privilege** | Minimum required access only |
|
|
37
|
-
| **Fail Secure** | On error, deny access |
|
|
38
|
-
|
|
39
|
-
### Threat Modeling Questions
|
|
40
|
-
|
|
41
|
-
Before scanning, ask:
|
|
42
|
-
1. What are we protecting? (Assets)
|
|
43
|
-
2. Who would attack? (Threat actors)
|
|
44
|
-
3. How would they attack? (Attack vectors)
|
|
45
|
-
4. What's the impact? (Business risk)
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## 2. OWASP Top 10:2025
|
|
50
|
-
|
|
51
|
-
### Risk Categories
|
|
52
|
-
|
|
53
|
-
| Rank | Category | Think About |
|
|
54
|
-
|------|----------|-------------|
|
|
55
|
-
| **A01** | Broken Access Control | Who can access what? IDOR, SSRF |
|
|
56
|
-
| **A02** | Security Misconfiguration | Defaults, headers, exposed services |
|
|
57
|
-
| **A03** | Software Supply Chain 🆕 | Dependencies, CI/CD, build integrity |
|
|
58
|
-
| **A04** | Cryptographic Failures | Weak crypto, exposed secrets |
|
|
59
|
-
| **A05** | Injection | User input → system commands |
|
|
60
|
-
| **A06** | Insecure Design | Flawed architecture |
|
|
61
|
-
| **A07** | Authentication Failures | Session, credential management |
|
|
62
|
-
| **A08** | Integrity Failures | Unsigned updates, tampered data |
|
|
63
|
-
| **A09** | Logging & Alerting | Blind spots, no monitoring |
|
|
64
|
-
| **A10** | Exceptional Conditions 🆕 | Error handling, fail-open states |
|
|
65
|
-
|
|
66
|
-
### 2025 Key Changes
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
2021 → 2025 Shifts:
|
|
70
|
-
├── SSRF merged into A01 (Access Control)
|
|
71
|
-
├── A02 elevated (Cloud/Container configs)
|
|
72
|
-
├── A03 NEW: Supply Chain (major focus)
|
|
73
|
-
├── A10 NEW: Exceptional Conditions
|
|
74
|
-
└── Focus shift: Root causes > Symptoms
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## 3. Supply Chain Security (A03)
|
|
80
|
-
|
|
81
|
-
### Attack Surface
|
|
82
|
-
|
|
83
|
-
| Vector | Risk | Question to Ask |
|
|
84
|
-
|--------|------|-----------------|
|
|
85
|
-
| **Dependencies** | Malicious packages | Do we audit new deps? |
|
|
86
|
-
| **Lock files** | Integrity attacks | Are they committed? |
|
|
87
|
-
| **Build pipeline** | CI/CD compromise | Who can modify? |
|
|
88
|
-
| **Registry** | Typosquatting | Verified sources? |
|
|
89
|
-
|
|
90
|
-
### Defense Principles
|
|
91
|
-
|
|
92
|
-
- Verify package integrity (checksums)
|
|
93
|
-
- Pin versions, audit updates
|
|
94
|
-
- Use private registries for critical deps
|
|
95
|
-
- Sign and verify artifacts
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 4. Attack Surface Mapping
|
|
100
|
-
|
|
101
|
-
### What to Map
|
|
102
|
-
|
|
103
|
-
| Category | Elements |
|
|
104
|
-
|----------|----------|
|
|
105
|
-
| **Entry Points** | APIs, forms, file uploads |
|
|
106
|
-
| **Data Flows** | Input → Process → Output |
|
|
107
|
-
| **Trust Boundaries** | Where auth/authz checked |
|
|
108
|
-
| **Assets** | Secrets, PII, business data |
|
|
109
|
-
|
|
110
|
-
### Prioritization Matrix
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
Risk = Likelihood × Impact
|
|
114
|
-
|
|
115
|
-
High Impact + High Likelihood → CRITICAL
|
|
116
|
-
High Impact + Low Likelihood → HIGH
|
|
117
|
-
Low Impact + High Likelihood → MEDIUM
|
|
118
|
-
Low Impact + Low Likelihood → LOW
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## 5. Risk Prioritization
|
|
124
|
-
|
|
125
|
-
### CVSS + Context
|
|
126
|
-
|
|
127
|
-
| Factor | Weight | Question |
|
|
128
|
-
|--------|--------|----------|
|
|
129
|
-
| **CVSS Score** | Base severity | How severe is the vuln? |
|
|
130
|
-
| **EPSS Score** | Exploit likelihood | Is it being exploited? |
|
|
131
|
-
| **Asset Value** | Business context | What's at risk? |
|
|
132
|
-
| **Exposure** | Attack surface | Internet-facing? |
|
|
133
|
-
|
|
134
|
-
### Prioritization Decision Tree
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
Is it actively exploited (EPSS >0.5)?
|
|
138
|
-
├── YES → CRITICAL: Immediate action
|
|
139
|
-
└── NO → Check CVSS
|
|
140
|
-
├── CVSS ≥9.0 → HIGH
|
|
141
|
-
├── CVSS 7.0-8.9 → Consider asset value
|
|
142
|
-
└── CVSS <7.0 → Schedule for later
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## 6. Exceptional Conditions (A10 - New)
|
|
148
|
-
|
|
149
|
-
### Fail-Open vs Fail-Closed
|
|
150
|
-
|
|
151
|
-
| Scenario | Fail-Open (BAD) | Fail-Closed (GOOD) |
|
|
152
|
-
|----------|-----------------|---------------------|
|
|
153
|
-
| Auth error | Allow access | Deny access |
|
|
154
|
-
| Parsing fails | Accept input | Reject input |
|
|
155
|
-
| Timeout | Retry forever | Limit + abort |
|
|
156
|
-
|
|
157
|
-
### What to Check
|
|
158
|
-
|
|
159
|
-
- Exception handlers that catch-all and ignore
|
|
160
|
-
- Missing error handling on security operations
|
|
161
|
-
- Race conditions in auth/authz
|
|
162
|
-
- Resource exhaustion scenarios
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## 7. Scanning Methodology
|
|
167
|
-
|
|
168
|
-
### Phase-Based Approach
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
1. RECONNAISSANCE
|
|
172
|
-
└── Understand the target
|
|
173
|
-
├── Technology stack
|
|
174
|
-
├── Entry points
|
|
175
|
-
└── Data flows
|
|
176
|
-
|
|
177
|
-
2. DISCOVERY
|
|
178
|
-
└── Identify potential issues
|
|
179
|
-
├── Configuration review
|
|
180
|
-
├── Dependency analysis
|
|
181
|
-
└── Code pattern search
|
|
182
|
-
|
|
183
|
-
3. ANALYSIS
|
|
184
|
-
└── Validate and prioritize
|
|
185
|
-
├── False positive elimination
|
|
186
|
-
├── Risk scoring
|
|
187
|
-
└── Attack chain mapping
|
|
188
|
-
|
|
189
|
-
4. REPORTING
|
|
190
|
-
└── Actionable findings
|
|
191
|
-
├── Clear reproduction steps
|
|
192
|
-
├── Business impact
|
|
193
|
-
└── Remediation guidance
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## 8. Code Pattern Analysis
|
|
199
|
-
|
|
200
|
-
### High-Risk Patterns
|
|
201
|
-
|
|
202
|
-
| Pattern | Risk | Look For |
|
|
203
|
-
|---------|------|----------|
|
|
204
|
-
| **String concat in queries** | Injection | `"SELECT * FROM " + user_input` |
|
|
205
|
-
| **Dynamic code execution** | RCE | `eval()`, `exec()`, `Function()` |
|
|
206
|
-
| **Unsafe deserialization** | RCE | `pickle.loads()`, `unserialize()` |
|
|
207
|
-
| **Path manipulation** | Traversal | User input in file paths |
|
|
208
|
-
| **Disabled security** | Various | `verify=False`, `--insecure` |
|
|
209
|
-
|
|
210
|
-
### Secret Patterns
|
|
211
|
-
|
|
212
|
-
| Type | Indicators |
|
|
213
|
-
|------|-----------|
|
|
214
|
-
| API Keys | `api_key`, `apikey`, high entropy |
|
|
215
|
-
| Tokens | `token`, `bearer`, `jwt` |
|
|
216
|
-
| Credentials | `password`, `secret`, `key` |
|
|
217
|
-
| Cloud | `AWS_`, `AZURE_`, `GCP_` prefixes |
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
## 9. Cloud Security Considerations
|
|
222
|
-
|
|
223
|
-
### Shared Responsibility
|
|
224
|
-
|
|
225
|
-
| Layer | You Own | Provider Owns |
|
|
226
|
-
|-------|---------|---------------|
|
|
227
|
-
| Data | ✅ | ❌ |
|
|
228
|
-
| Application | ✅ | ❌ |
|
|
229
|
-
| OS/Runtime | Depends | Depends |
|
|
230
|
-
| Infrastructure | ❌ | ✅ |
|
|
231
|
-
|
|
232
|
-
### Cloud-Specific Checks
|
|
233
|
-
|
|
234
|
-
- IAM: Least privilege applied?
|
|
235
|
-
- Storage: Public buckets?
|
|
236
|
-
- Network: Security groups tightened?
|
|
237
|
-
- Secrets: Using secrets manager?
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## 10. Anti-Patterns
|
|
242
|
-
|
|
243
|
-
| ❌ Don't | ✅ Do |
|
|
244
|
-
|----------|-------|
|
|
245
|
-
| Scan without understanding | Map attack surface first |
|
|
246
|
-
| Alert on every CVE | Prioritize by exploitability + asset |
|
|
247
|
-
| Ignore false positives | Maintain verified baseline |
|
|
248
|
-
| Fix symptoms only | Address root causes |
|
|
249
|
-
| Scan once before deploy | Continuous scanning |
|
|
250
|
-
| Trust third-party deps blindly | Verify integrity, audit code |
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## 11. Reporting Principles
|
|
255
|
-
|
|
256
|
-
### Finding Structure
|
|
257
|
-
|
|
258
|
-
Each finding should answer:
|
|
259
|
-
1. **What?** - Clear vulnerability description
|
|
260
|
-
2. **Where?** - Exact location (file, line, endpoint)
|
|
261
|
-
3. **Why?** - Root cause explanation
|
|
262
|
-
4. **Impact?** - Business consequence
|
|
263
|
-
5. **How to fix?** - Specific remediation
|
|
264
|
-
|
|
265
|
-
### Severity Classification
|
|
266
|
-
|
|
267
|
-
| Severity | Criteria |
|
|
268
|
-
|----------|----------|
|
|
269
|
-
| **Critical** | RCE, auth bypass, mass data exposure |
|
|
270
|
-
| **High** | Data exposure, privilege escalation |
|
|
271
|
-
| **Medium** | Limited scope, requires conditions |
|
|
272
|
-
| **Low** | Informational, best practice |
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
> **Remember:** Vulnerability scanning finds issues. Expert thinking prioritizes what matters. Always ask: "What would an attacker do with this?"
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# Security Checklists
|
|
2
|
-
|
|
3
|
-
> Quick reference checklists for security audits. Use alongside vulnerability-scanner principles.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## OWASP Top 10 Audit Checklist
|
|
8
|
-
|
|
9
|
-
### A01: Broken Access Control
|
|
10
|
-
- [ ] Authorization on all protected routes
|
|
11
|
-
- [ ] Deny by default
|
|
12
|
-
- [ ] Rate limiting implemented
|
|
13
|
-
- [ ] CORS properly configured
|
|
14
|
-
|
|
15
|
-
### A02: Cryptographic Failures
|
|
16
|
-
- [ ] Passwords hashed (bcrypt/argon2, cost 12+)
|
|
17
|
-
- [ ] Sensitive data encrypted at rest
|
|
18
|
-
- [ ] TLS 1.2+ for all connections
|
|
19
|
-
- [ ] No secrets in code/logs
|
|
20
|
-
|
|
21
|
-
### A03: Injection
|
|
22
|
-
- [ ] Parameterized queries
|
|
23
|
-
- [ ] Input validation on all user data
|
|
24
|
-
- [ ] Output encoding for XSS
|
|
25
|
-
- [ ] No eval() or dynamic code execution
|
|
26
|
-
|
|
27
|
-
### A04: Insecure Design
|
|
28
|
-
- [ ] Threat modeling done
|
|
29
|
-
- [ ] Security requirements defined
|
|
30
|
-
- [ ] Business logic validated
|
|
31
|
-
|
|
32
|
-
### A05: Security Misconfiguration
|
|
33
|
-
- [ ] Unnecessary features disabled
|
|
34
|
-
- [ ] Error messages sanitized
|
|
35
|
-
- [ ] Security headers configured
|
|
36
|
-
- [ ] Default credentials changed
|
|
37
|
-
|
|
38
|
-
### A06: Vulnerable Components
|
|
39
|
-
- [ ] Dependencies up to date
|
|
40
|
-
- [ ] No known vulnerabilities
|
|
41
|
-
- [ ] Unused dependencies removed
|
|
42
|
-
|
|
43
|
-
### A07: Authentication Failures
|
|
44
|
-
- [ ] MFA available
|
|
45
|
-
- [ ] Session invalidation on logout
|
|
46
|
-
- [ ] Session timeout implemented
|
|
47
|
-
- [ ] Brute force protection
|
|
48
|
-
|
|
49
|
-
### A08: Integrity Failures
|
|
50
|
-
- [ ] Dependency integrity verified
|
|
51
|
-
- [ ] CI/CD pipeline secured
|
|
52
|
-
- [ ] Update mechanism secured
|
|
53
|
-
|
|
54
|
-
### A09: Logging Failures
|
|
55
|
-
- [ ] Security events logged
|
|
56
|
-
- [ ] Logs protected
|
|
57
|
-
- [ ] No sensitive data in logs
|
|
58
|
-
- [ ] Alerting configured
|
|
59
|
-
|
|
60
|
-
### A10: SSRF
|
|
61
|
-
- [ ] URL validation implemented
|
|
62
|
-
- [ ] Allow-list for external calls
|
|
63
|
-
- [ ] Network segmentation
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Authentication Checklist
|
|
68
|
-
|
|
69
|
-
- [ ] Strong password policy
|
|
70
|
-
- [ ] Account lockout
|
|
71
|
-
- [ ] Secure password reset
|
|
72
|
-
- [ ] Session management
|
|
73
|
-
- [ ] Token expiration
|
|
74
|
-
- [ ] Logout invalidation
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## API Security Checklist
|
|
79
|
-
|
|
80
|
-
- [ ] Authentication required
|
|
81
|
-
- [ ] Authorization per endpoint
|
|
82
|
-
- [ ] Input validation
|
|
83
|
-
- [ ] Rate limiting
|
|
84
|
-
- [ ] Output sanitization
|
|
85
|
-
- [ ] Error handling
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Data Protection Checklist
|
|
90
|
-
|
|
91
|
-
- [ ] Encryption at rest
|
|
92
|
-
- [ ] Encryption in transit
|
|
93
|
-
- [ ] Key management
|
|
94
|
-
- [ ] Data minimization
|
|
95
|
-
- [ ] Secure deletion
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Security Headers
|
|
100
|
-
|
|
101
|
-
| Header | Purpose |
|
|
102
|
-
|--------|---------|
|
|
103
|
-
| **Content-Security-Policy** | XSS prevention |
|
|
104
|
-
| **X-Content-Type-Options** | MIME sniffing |
|
|
105
|
-
| **X-Frame-Options** | Clickjacking |
|
|
106
|
-
| **Strict-Transport-Security** | Force HTTPS |
|
|
107
|
-
| **Referrer-Policy** | Referrer control |
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Quick Audit Commands
|
|
112
|
-
|
|
113
|
-
| Check | What to Look For |
|
|
114
|
-
|-------|------------------|
|
|
115
|
-
| Secrets in code | password, api_key, secret |
|
|
116
|
-
| Dangerous patterns | eval, innerHTML, SQL concat |
|
|
117
|
-
| Dependency issues | npm audit, snyk |
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
> **Usage:** Copy relevant checklists into your PLAN.md or security report.
|