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.
- package/CHANGELOG.md +28 -0
- package/README.md +69 -81
- package/assets/CLAUDE.template.md +3 -3
- package/assets/CODEX.template.md +5 -5
- package/assets/agents/backend-engineer.md +29 -31
- package/assets/agents/change-classifier.md +28 -33
- package/assets/agents/ci-cd-gatekeeper.md +21 -25
- package/assets/agents/contract-reviewer.md +21 -26
- package/assets/agents/dependency-security-reviewer.md +21 -26
- package/assets/agents/e2e-resilience-engineer.md +19 -23
- package/assets/agents/frontend-engineer.md +29 -31
- package/assets/agents/monkey-test-engineer.md +19 -23
- package/assets/agents/qa-reviewer.md +20 -25
- package/assets/agents/repo-context-scanner.md +17 -22
- package/assets/agents/spec-architect.md +17 -21
- package/assets/agents/spec-drift-auditor.md +17 -22
- package/assets/agents/stress-soak-engineer.md +17 -21
- package/assets/agents/test-strategist.md +24 -28
- package/assets/agents/ui-ux-reviewer.md +16 -21
- package/assets/agents/visual-reviewer.md +19 -24
- package/assets/skills/cdd-new/SKILL.md +112 -119
- package/assets/skills/contract-driven-delivery/SKILL.md +3 -3
- package/assets/skills/contract-driven-delivery/references/agent-log-protocol.md +68 -157
- package/assets/skills/contract-driven-delivery/references/code-map-protocol.md +57 -35
- package/assets/skills/contract-driven-delivery/templates/agent-log.example.yml +6 -0
- package/assets/skills/contract-driven-delivery/templates/change-classification.md +2 -2
- package/dist/cli/index.js +2353 -2134
- 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)
|
|
28
|
-
- Copy
|
|
29
|
-
- Information hierarchy
|
|
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`
|
|
55
|
-
Read it first (your prompt header has `CURRENT_CHANGE_ID`). Read only paths it lists or paths under `## Approved Expansions`.
|
|
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
|
-
##
|
|
63
|
+
## Optional Handoff Evidence
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
24
|
-
- Diff threshold
|
|
25
|
-
- Variant matrix
|
|
26
|
-
- Asset review
|
|
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`
|
|
57
|
-
Read it first (your prompt header has `CURRENT_CHANGE_ID`). Read only paths it lists or paths under `## Approved Expansions`.
|
|
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
|
-
##
|
|
65
|
+
## Optional Handoff Evidence
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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.
|