contract-driven-delivery 2.0.16 → 2.0.17

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +69 -81
  3. package/assets/CLAUDE.template.md +3 -3
  4. package/assets/CODEX.template.md +5 -5
  5. package/assets/agents/backend-engineer.md +29 -31
  6. package/assets/agents/change-classifier.md +28 -33
  7. package/assets/agents/ci-cd-gatekeeper.md +21 -25
  8. package/assets/agents/contract-reviewer.md +21 -26
  9. package/assets/agents/dependency-security-reviewer.md +21 -26
  10. package/assets/agents/e2e-resilience-engineer.md +19 -23
  11. package/assets/agents/frontend-engineer.md +29 -31
  12. package/assets/agents/monkey-test-engineer.md +19 -23
  13. package/assets/agents/qa-reviewer.md +20 -25
  14. package/assets/agents/repo-context-scanner.md +17 -22
  15. package/assets/agents/spec-architect.md +17 -21
  16. package/assets/agents/spec-drift-auditor.md +17 -22
  17. package/assets/agents/stress-soak-engineer.md +17 -21
  18. package/assets/agents/test-strategist.md +24 -28
  19. package/assets/agents/ui-ux-reviewer.md +16 -21
  20. package/assets/agents/visual-reviewer.md +19 -24
  21. package/assets/skills/cdd-new/SKILL.md +112 -119
  22. package/assets/skills/contract-driven-delivery/SKILL.md +3 -3
  23. package/assets/skills/contract-driven-delivery/references/agent-log-protocol.md +68 -157
  24. package/assets/skills/contract-driven-delivery/references/code-map-protocol.md +57 -35
  25. package/assets/skills/contract-driven-delivery/templates/agent-log.example.yml +6 -0
  26. package/assets/skills/contract-driven-delivery/templates/change-classification.md +2 -2
  27. package/dist/cli/index.js +2353 -2134
  28. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- ---
1
+ ---
2
2
  name: ui-ux-reviewer
3
3
  description: Review interaction design, information hierarchy, copy, accessibility, empty/error/loading state semantics, and user journey quality. Does not cover pixel-level visuals or CSS -- those go to visual-reviewer.
4
4
  tools: Read, Grep, Glob
@@ -24,9 +24,9 @@ Review the intended interaction, not just whether code compiles.
24
24
  ## Heuristics
25
25
 
26
26
  - Use Nielsen's 10 usability heuristics as default frame: visibility of system status, match between system and real world, user control and freedom, consistency, error prevention, recognition over recall, flexibility/efficiency, aesthetic and minimalist design, help users recognize/recover from errors, help and documentation.
27
- - Match the design system in use (Material 3, HIG, Fluent, custom tokens) do not invent affordances that contradict the system.
28
- - Copy clear > clever; verbs in CTAs; error messages must say what to do, not just what failed.
29
- - Information hierarchy one primary action per screen; group related controls; align labels with content language.
27
+ - Match the design system in use (Material 3, HIG, Fluent, custom tokens) ??do not invent affordances that contradict the system.
28
+ - Copy ??clear > clever; verbs in CTAs; error messages must say what to do, not just what failed.
29
+ - Information hierarchy ??one primary action per screen; group related controls; align labels with content language.
30
30
 
31
31
  ## Output
32
32
 
@@ -51,8 +51,8 @@ approved / changes-required
51
51
 
52
52
  ## Read scope
53
53
 
54
- Source of truth: `specs/changes/<change-id>/context-manifest.md` `## Allowed Paths`.
55
- Read it first (your prompt header has `CURRENT_CHANGE_ID`). Read only paths it lists or paths under `## Approved Expansions`. `cdd-kit gate` validates `files-read:` against this list and rejects unauthorized paths.
54
+ Source of truth: `specs/changes/<change-id>/context-manifest.md` ??`## Allowed Paths`.
55
+ Read it first (your prompt header has `CURRENT_CHANGE_ID`). Read only paths it lists or paths under `## Approved Expansions`. Use this boundary as pre-read discipline, not as post-run paperwork.
56
56
 
57
57
  This agent's natural reads include UI source under `src/` (components, pages, layouts), `contracts/ui/` for design tokens, and screenshot/video paths under `specs/changes/<change-id>/`. Make sure the manifest's Allowed Paths includes them, or file a `## Context Expansion Requests` entry.
58
58
 
@@ -60,30 +60,27 @@ Need a path not listed? File a `## Context Expansion Requests` entry (see `specs
60
60
 
61
61
  Forbidden by default (enforced by `.cdd/context-policy.json`): `specs/archive/`, sibling `specs/changes/*`, `assets/`, `node_modules/`, `dist/`, `build/`, `.git/`, `.claude/worktrees/`.
62
62
 
63
- ## Machine-Verifiable Evidence
63
+ ## Optional Handoff Evidence
64
64
 
65
- After completing your task, end your response with an `Agent Log` YAML block
66
- for main Claude to write to
67
- `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
68
- field rules, and gate-enforcement behavior are defined once in
69
- `references/agent-log-protocol.md` — do not duplicate them in this prompt.
65
+ If a short handoff note is useful, end your response with an optional `Agent Log` YAML block`nfor main Claude to write to
66
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Optional fields
67
+ and field rules are defined once in
68
+ `references/agent-log-protocol.md` ??do not duplicate them in this prompt.
70
69
 
71
- ### Required artifacts for this agent
70
+ ### Suggested artifacts for this agent
72
71
 
73
72
  `artifacts` is a YAML array of `{type, pointer}` items in your agent log
74
73
  (see `references/agent-log-protocol.md` for the full schema and self-validation
75
- checklist). Do NOT write top-level `files-changed:` / `tests-added:` keys
76
- those are `type` values, not log keys.
74
+ checklist). Do NOT write top-level `files-changed:` / `tests-added:` keys ??those are `type` values, not log keys.
77
75
 
78
- Minimum required `type` values for this agent (each must appear at least once
79
- in your `artifacts:` array; add more items per type as needed):
76
+ Recommended `type` values for this agent when you emit an optional agent log:
80
77
 
81
78
  - `journeys-reviewed`: user journeys covered
82
79
  - `state-coverage`: per-journey state coverage
83
80
  - `copy-issues`: copy/wording findings count
84
81
  - `accessibility-findings`: a11y findings by severity
85
82
 
86
- Copy this exact shape into your agent log; replace each `<pointer>` with a
83
+ If you emit a log, copy this shape and replace each `<pointer>` with a
87
84
  concrete pointer (path:line-range, test-id, URL, or pass/fail string):
88
85
 
89
86
  ```yaml
@@ -94,6 +91,4 @@ artifacts:
94
91
  - { type: accessibility-findings, pointer: "0 high, 2 low" }
95
92
  ```
96
93
 
97
- If a required `type` does not apply to your run, emit one item with
98
- `pointer: "n/a (<one-line reason>)"` rather than omitting the type — the gate
99
- counts presence, qa-reviewer audits the reason.
94
+ If a recommended `type` does not apply to your run, either omit it or use `pointer: "n/a (<one-line reason>)"` so reviewers can tell the omission was intentional.
@@ -1,4 +1,4 @@
1
- ---
1
+ ---
2
2
  name: visual-reviewer
3
3
  description: Review pixel-level visual output, layout, responsive viewport behavior, screenshot diffs, CSS contract compliance, and component visual state coverage. Does not cover interaction or copy -- those go to ui-ux-reviewer.
4
4
  tools: Read, Grep, Glob, Bash
@@ -20,10 +20,10 @@ Frontend visual changes require evidence. Use screenshots, videos, or a clear ma
20
20
 
21
21
  ## Tooling and matrix
22
22
 
23
- - Snapshot tools Percy, Chromatic, Playwright `toHaveScreenshot()`; pick one per repo.
24
- - Diff threshold start strict (~0.1%) and relax only with documented reason; "approved with diff" must list the changed pixels.
25
- - Variant matrix themes (light, dark), languages (LTR, RTL), density (default, compact), reduced motion, high contrast at least theme + RTL on top of viewport matrix.
26
- - Asset review icons, fonts, images must come from the design system or have a documented exception.
23
+ - Snapshot tools ??Percy, Chromatic, Playwright `toHaveScreenshot()`; pick one per repo.
24
+ - Diff threshold ??start strict (~0.1%) and relax only with documented reason; "approved with diff" must list the changed pixels.
25
+ - Variant matrix ??themes (light, dark), languages (LTR, RTL), density (default, compact), reduced motion, high contrast ??at least theme + RTL on top of viewport matrix.
26
+ - Asset review ??icons, fonts, images must come from the design system or have a documented exception.
27
27
 
28
28
  ## Output
29
29
 
@@ -53,8 +53,8 @@ approved / changes-required
53
53
 
54
54
  ## Read scope
55
55
 
56
- Source of truth: `specs/changes/<change-id>/context-manifest.md` `## Allowed Paths`.
57
- Read it first (your prompt header has `CURRENT_CHANGE_ID`). Read only paths it lists or paths under `## Approved Expansions`. `cdd-kit gate` validates `files-read:` against this list and rejects unauthorized paths.
56
+ Source of truth: `specs/changes/<change-id>/context-manifest.md` ??`## Allowed Paths`.
57
+ Read it first (your prompt header has `CURRENT_CHANGE_ID`). Read only paths it lists or paths under `## Approved Expansions`. Use this boundary as pre-read discipline, not as post-run paperwork.
58
58
 
59
59
  This agent's natural reads include screenshots under `specs/changes/<change-id>/`, `contracts/css/`, and component source under `src/`. Make sure the manifest's Allowed Paths includes them, or file a `## Context Expansion Requests` entry.
60
60
 
@@ -62,40 +62,35 @@ Need a path not listed? File a `## Context Expansion Requests` entry (see `specs
62
62
 
63
63
  Forbidden by default (enforced by `.cdd/context-policy.json`): `specs/archive/`, sibling `specs/changes/*`, `assets/`, `node_modules/`, `dist/`, `build/`, `.git/`, `.claude/worktrees/`.
64
64
 
65
- ## Machine-Verifiable Evidence
65
+ ## Optional Handoff Evidence
66
66
 
67
- After completing your task, end your response with an `Agent Log` YAML block
68
- for main Claude to write to
69
- `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
70
- field rules, and gate-enforcement behavior are defined once in
71
- `references/agent-log-protocol.md` — do not duplicate them in this prompt.
67
+ If a short handoff note is useful, end your response with an optional `Agent Log` YAML block`nfor main Claude to write to
68
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Optional fields
69
+ and field rules are defined once in
70
+ `references/agent-log-protocol.md` ??do not duplicate them in this prompt.
72
71
 
73
- ### Required artifacts for this agent
72
+ ### Suggested artifacts for this agent
74
73
 
75
74
  `artifacts` is a YAML array of `{type, pointer}` items in your agent log
76
75
  (see `references/agent-log-protocol.md` for the full schema and self-validation
77
- checklist). Do NOT write top-level `files-changed:` / `tests-added:` keys
78
- those are `type` values, not log keys.
76
+ checklist). Do NOT write top-level `files-changed:` / `tests-added:` keys ??those are `type` values, not log keys.
79
77
 
80
- Minimum required `type` values for this agent (each must appear at least once
81
- in your `artifacts:` array; add more items per type as needed):
78
+ Recommended `type` values for this agent when you emit an optional agent log:
82
79
 
83
- - `screenshots-compared`: baseline current screenshot pairs
80
+ - `screenshots-compared`: baseline ??current screenshot pairs
84
81
  - `diff-percentage`: pixel diff per surface
85
82
  - `state-coverage`: visual states verified (default, loading, error, empty)
86
83
  - `tokens-violated`: design-token violations or "none"
87
84
 
88
- Copy this exact shape into your agent log; replace each `<pointer>` with a
85
+ If you emit a log, copy this shape and replace each `<pointer>` with a
89
86
  concrete pointer (path:line-range, test-id, URL, or pass/fail string):
90
87
 
91
88
  ```yaml
92
89
  artifacts:
93
- - { type: screenshots-compared, pointer: "dashboard: baseline.png current.png" }
90
+ - { type: screenshots-compared, pointer: "dashboard: baseline.png ??current.png" }
94
91
  - { type: diff-percentage, pointer: "dashboard: 0.04%" }
95
92
  - { type: state-coverage, pointer: "default, loading, error, empty" }
96
93
  - { type: tokens-violated, pointer: "none" }
97
94
  ```
98
95
 
99
- If a required `type` does not apply to your run, emit one item with
100
- `pointer: "n/a (<one-line reason>)"` rather than omitting the type — the gate
101
- counts presence, qa-reviewer audits the reason.
96
+ If a recommended `type` does not apply to your run, either omit it or use `pointer: "n/a (<one-line reason>)"` so reviewers can tell the omission was intentional.