ai-delivery-workflow 0.2.2

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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +112 -0
  3. package/bin/ai-delivery.mjs +138 -0
  4. package/bin/validate-skills.mjs +12 -0
  5. package/docs/DUAL-REPOSITORY-WORKSPACE.zh-CN.md +125 -0
  6. package/docs/EVOLUTION-MAINTENANCE.zh-CN.md +75 -0
  7. package/docs/EVOLUTION-USER-GUIDE.zh-CN.md +160 -0
  8. package/docs/FILE-REFERENCE.zh-CN.md +503 -0
  9. package/docs/PROJECT-MANUAL.zh-CN.md +931 -0
  10. package/docs/STATE-CLI-MAINTENANCE.zh-CN.md +135 -0
  11. package/docs/STATE-CLI-USER-GUIDE.zh-CN.md +186 -0
  12. package/docs/VIEWER-MAINTENANCE.zh-CN.md +373 -0
  13. package/docs/VIEWER-USER-GUIDE.zh-CN.md +235 -0
  14. package/lib/delivery-state.mjs +1220 -0
  15. package/lib/evolution.mjs +971 -0
  16. package/lib/project-bootstrap.mjs +927 -0
  17. package/lib/project-installer.mjs +1184 -0
  18. package/lib/skill-validator.mjs +154 -0
  19. package/lib/toml-hooks.mjs +97 -0
  20. package/lib/workspace.mjs +302 -0
  21. package/lib/yaml-runtime.mjs +18 -0
  22. package/package.json +39 -0
  23. package/skills/ai-delivery-assemble-release/SKILL.md +27 -0
  24. package/skills/ai-delivery-assemble-release/agents/openai.yaml +4 -0
  25. package/skills/ai-delivery-assemble-release/assets/release-candidate-manifest.yaml +22 -0
  26. package/skills/ai-delivery-assemble-release/assets/release-git-plan.yaml +9 -0
  27. package/skills/ai-delivery-assemble-release/assets/release-material-index.csv +2 -0
  28. package/skills/ai-delivery-assemble-release/assets/version-inclusion.csv +2 -0
  29. package/skills/ai-delivery-assemble-release/references/release-assembly-contract.md +7 -0
  30. package/skills/ai-delivery-assemble-release/scripts/plan-release.mjs +298 -0
  31. package/skills/ai-delivery-bootstrap/SKILL.md +59 -0
  32. package/skills/ai-delivery-bootstrap/agents/openai.yaml +4 -0
  33. package/skills/ai-delivery-bootstrap/references/bootstrap-contract.md +70 -0
  34. package/skills/ai-delivery-checkpoint-task/SKILL.md +63 -0
  35. package/skills/ai-delivery-checkpoint-task/agents/openai.yaml +4 -0
  36. package/skills/ai-delivery-checkpoint-task/assets/codex-hook-config.toml +92 -0
  37. package/skills/ai-delivery-checkpoint-task/assets/runtime-template/resume.md +15 -0
  38. package/skills/ai-delivery-checkpoint-task/assets/runtime-template/task.json +30 -0
  39. package/skills/ai-delivery-checkpoint-task/assets/runtime-template/version-archive.json +10 -0
  40. package/skills/ai-delivery-checkpoint-task/references/checkpoint-contract.md +95 -0
  41. package/skills/ai-delivery-checkpoint-task/references/checkpoint-recovery.zh-CN.md +111 -0
  42. package/skills/ai-delivery-checkpoint-task/scripts/hook-event.mjs +131 -0
  43. package/skills/ai-delivery-checkpoint-task/scripts/task-state.mjs +1073 -0
  44. package/skills/ai-delivery-close-version/SKILL.md +33 -0
  45. package/skills/ai-delivery-close-version/agents/openai.yaml +4 -0
  46. package/skills/ai-delivery-close-version/assets/line-advance-record.yaml +12 -0
  47. package/skills/ai-delivery-close-version/assets/version-lineage.yaml +12 -0
  48. package/skills/ai-delivery-close-version/assets/version-manifest.yaml +20 -0
  49. package/skills/ai-delivery-close-version/references/version-closeout-contract.md +20 -0
  50. package/skills/ai-delivery-define-product/SKILL.md +76 -0
  51. package/skills/ai-delivery-define-product/agents/openai.yaml +4 -0
  52. package/skills/ai-delivery-define-product/assets/product-template/acceptance-criteria.csv +1 -0
  53. package/skills/ai-delivery-define-product/assets/product-template/discovery-baseline.md +19 -0
  54. package/skills/ai-delivery-define-product/assets/product-template/feature-detail.md +19 -0
  55. package/skills/ai-delivery-define-product/assets/product-template/feature-terminals.csv +1 -0
  56. package/skills/ai-delivery-define-product/assets/product-template/features.csv +1 -0
  57. package/skills/ai-delivery-define-product/assets/product-template/product-baseline.yaml +8 -0
  58. package/skills/ai-delivery-define-product/assets/product-template/product-manual.md +24 -0
  59. package/skills/ai-delivery-define-product/assets/product-template/terminals.csv +1 -0
  60. package/skills/ai-delivery-define-product/assets/product-template/user-stories.csv +1 -0
  61. package/skills/ai-delivery-define-product/references/product-contract.md +57 -0
  62. package/skills/ai-delivery-deploy-production/SKILL.md +45 -0
  63. package/skills/ai-delivery-deploy-production/agents/openai.yaml +4 -0
  64. package/skills/ai-delivery-deploy-production/references/deployment-contract.md +7 -0
  65. package/skills/ai-delivery-design-architecture/SKILL.md +67 -0
  66. package/skills/ai-delivery-design-architecture/agents/openai.yaml +4 -0
  67. package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-baseline.md +25 -0
  68. package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-gate.yaml +15 -0
  69. package/skills/ai-delivery-design-architecture/assets/architecture-template/prototype-architecture-validation.yaml +58 -0
  70. package/skills/ai-delivery-design-architecture/references/architecture-contract.md +32 -0
  71. package/skills/ai-delivery-design-experience/SKILL.md +71 -0
  72. package/skills/ai-delivery-design-experience/agents/openai.yaml +4 -0
  73. package/skills/ai-delivery-design-experience/assets/experience-template/canvas-catalog.csv +1 -0
  74. package/skills/ai-delivery-design-experience/assets/experience-template/canvas-pages.csv +1 -0
  75. package/skills/ai-delivery-design-experience/assets/experience-template/component-state-matrix.csv +1 -0
  76. package/skills/ai-delivery-design-experience/assets/experience-template/design-tokens.json +19 -0
  77. package/skills/ai-delivery-design-experience/assets/experience-template/experience-baseline.yaml +17 -0
  78. package/skills/ai-delivery-design-experience/assets/experience-template/experience-change-domains.csv +1 -0
  79. package/skills/ai-delivery-design-experience/assets/experience-template/experience-change-set.csv +1 -0
  80. package/skills/ai-delivery-design-experience/assets/experience-template/feature-screen-coverage.csv +1 -0
  81. package/skills/ai-delivery-design-experience/assets/experience-template/formal-ui-confirmation.yaml +33 -0
  82. package/skills/ai-delivery-design-experience/assets/experience-template/interaction-contract.csv +1 -0
  83. package/skills/ai-delivery-design-experience/assets/experience-template/low-fidelity-confirmation.yaml +32 -0
  84. package/skills/ai-delivery-design-experience/assets/experience-template/page-catalog.csv +1 -0
  85. package/skills/ai-delivery-design-experience/assets/experience-template/page-component-map.csv +1 -0
  86. package/skills/ai-delivery-design-experience/assets/experience-template/product-prototype-reconciliation.yaml +28 -0
  87. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-adjustment-log.csv +1 -0
  88. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-confirmation.yaml +99 -0
  89. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-file-terminals.csv +1 -0
  90. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-files.csv +1 -0
  91. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-impact-assessment.yaml +25 -0
  92. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-manifest.yaml +74 -0
  93. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-product-coverage.csv +1 -0
  94. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-review-comments.csv +1 -0
  95. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-review-decision.yaml +29 -0
  96. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-review-sessions.csv +1 -0
  97. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-set.yaml +22 -0
  98. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-tool-candidates.csv +1 -0
  99. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-tool-selection.yaml +22 -0
  100. package/skills/ai-delivery-design-experience/assets/experience-template/prototype-traceability.csv +1 -0
  101. package/skills/ai-delivery-design-experience/assets/experience-template/requirement-change-set.csv +1 -0
  102. package/skills/ai-delivery-design-experience/assets/experience-template/screen-states.csv +1 -0
  103. package/skills/ai-delivery-design-experience/assets/experience-template/ui-framework-candidates.csv +1 -0
  104. package/skills/ai-delivery-design-experience/assets/experience-template/ui-framework-selection.yaml +18 -0
  105. package/skills/ai-delivery-design-experience/assets/experience-template/ui-handoff.yaml +44 -0
  106. package/skills/ai-delivery-design-experience/assets/experience-template/visual-direction.yaml +16 -0
  107. package/skills/ai-delivery-design-experience/assets/experience-template/visual-system-confirmation.yaml +31 -0
  108. package/skills/ai-delivery-design-experience/references/experience-contract.md +82 -0
  109. package/skills/ai-delivery-design-experience/references/prototype-management-contract.md +68 -0
  110. package/skills/ai-delivery-design-tests/SKILL.md +56 -0
  111. package/skills/ai-delivery-design-tests/agents/openai.yaml +4 -0
  112. package/skills/ai-delivery-design-tests/assets/test-design-template/iteration-test-contract.md +19 -0
  113. package/skills/ai-delivery-design-tests/assets/test-design-template/prototype-test-scope.csv +1 -0
  114. package/skills/ai-delivery-design-tests/assets/test-design-template/prototype-test-validation.yaml +73 -0
  115. package/skills/ai-delivery-design-tests/references/test-design-contract.md +31 -0
  116. package/skills/ai-delivery-develop-iteration/SKILL.md +66 -0
  117. package/skills/ai-delivery-develop-iteration/agents/openai.yaml +4 -0
  118. package/skills/ai-delivery-develop-iteration/assets/development-template/task-experience-change-traceability.csv +1 -0
  119. package/skills/ai-delivery-develop-iteration/assets/development-template/task-prototype-traceability.csv +1 -0
  120. package/skills/ai-delivery-develop-iteration/references/development-contract.md +39 -0
  121. package/skills/ai-delivery-evolve-workflow/SKILL.md +57 -0
  122. package/skills/ai-delivery-evolve-workflow/agents/openai.yaml +4 -0
  123. package/skills/ai-delivery-evolve-workflow/references/evolution-contract.md +42 -0
  124. package/skills/ai-delivery-execute-test/SKILL.md +34 -0
  125. package/skills/ai-delivery-execute-test/agents/openai.yaml +4 -0
  126. package/skills/ai-delivery-execute-test/references/test-execution-contract.md +7 -0
  127. package/skills/ai-delivery-execute-work-package/SKILL.md +53 -0
  128. package/skills/ai-delivery-execute-work-package/agents/openai.yaml +4 -0
  129. package/skills/ai-delivery-execute-work-package/references/work-package-contract.md +20 -0
  130. package/skills/ai-delivery-manage-git/SKILL.md +60 -0
  131. package/skills/ai-delivery-manage-git/agents/openai.yaml +4 -0
  132. package/skills/ai-delivery-manage-git/references/git-policy.md +42 -0
  133. package/skills/ai-delivery-manage-standards/SKILL.md +44 -0
  134. package/skills/ai-delivery-manage-standards/agents/openai.yaml +4 -0
  135. package/skills/ai-delivery-manage-standards/assets/standards-template/standard.md +25 -0
  136. package/skills/ai-delivery-manage-standards/references/standards-contract.md +20 -0
  137. package/skills/ai-delivery-orchestrate/SKILL.md +105 -0
  138. package/skills/ai-delivery-orchestrate/agents/openai.yaml +4 -0
  139. package/skills/ai-delivery-orchestrate/assets/project-template/.codex/config.toml +92 -0
  140. package/skills/ai-delivery-orchestrate/assets/project-template/.gitattributes +6 -0
  141. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/artifact-registry.yaml +3 -0
  142. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/project.yaml +6 -0
  143. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/standards-baseline.yaml +8 -0
  144. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/workflow-state.yaml +34 -0
  145. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/decisions/.gitkeep +0 -0
  146. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/experiments/.gitkeep +0 -0
  147. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/feedback/.gitkeep +0 -0
  148. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/index.yaml +7 -0
  149. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/promotion/.gitkeep +0 -0
  150. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/proposals/.gitkeep +0 -0
  151. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/extensions/.gitkeep +0 -0
  152. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/STD-ARTIFACT-PATH-001.md +47 -0
  153. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/STD-DOC-LANG-001.md +62 -0
  154. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/STD-TEST-LOCATION-001.md +23 -0
  155. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/index.yaml +36 -0
  156. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/bootstrap/bootstrap.mjs +33 -0
  157. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/evolution/evolve.mjs +15 -0
  158. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/hooks/hook-event.mjs +131 -0
  159. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/state/state.mjs +21 -0
  160. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/public/app.js +546 -0
  161. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/public/index.html +199 -0
  162. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/public/styles.css +529 -0
  163. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/server.mjs +780 -0
  164. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/start.cmd +4 -0
  165. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/start.ps1 +2 -0
  166. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/start.sh +4 -0
  167. package/skills/ai-delivery-orchestrate/assets/project-template/AGENTS.md +44 -0
  168. package/skills/ai-delivery-orchestrate/references/formal-state-contract.md +64 -0
  169. package/skills/ai-delivery-orchestrate/references/workflow-model.md +29 -0
  170. package/skills/ai-delivery-orchestrate-release/SKILL.md +33 -0
  171. package/skills/ai-delivery-orchestrate-release/agents/openai.yaml +4 -0
  172. package/skills/ai-delivery-orchestrate-release/assets/release-request.yaml +9 -0
  173. package/skills/ai-delivery-orchestrate-release/assets/version-selection.yaml +16 -0
  174. package/skills/ai-delivery-orchestrate-release/references/release-workflow-contract.md +11 -0
  175. package/skills/ai-delivery-plan-iteration/SKILL.md +57 -0
  176. package/skills/ai-delivery-plan-iteration/agents/openai.yaml +4 -0
  177. package/skills/ai-delivery-plan-iteration/assets/planning-template/backlog.csv +1 -0
  178. package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-dependencies.csv +1 -0
  179. package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-experience-change-traceability.csv +1 -0
  180. package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-prototype-traceability.csv +1 -0
  181. package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-sources.csv +1 -0
  182. package/skills/ai-delivery-plan-iteration/assets/planning-template/vertical-slices.csv +1 -0
  183. package/skills/ai-delivery-plan-iteration/references/planning-contract.md +40 -0
  184. package/skills/ai-delivery-prepare-platform/SKILL.md +49 -0
  185. package/skills/ai-delivery-prepare-platform/agents/openai.yaml +4 -0
  186. package/skills/ai-delivery-prepare-platform/assets/platform-template/environment-ledger.csv +1 -0
  187. package/skills/ai-delivery-prepare-platform/references/platform-contract.md +18 -0
  188. package/skills/ai-delivery-prepare-release/SKILL.md +47 -0
  189. package/skills/ai-delivery-prepare-release/agents/openai.yaml +4 -0
  190. package/skills/ai-delivery-prepare-release/assets/release-template/delivery-items.csv +1 -0
  191. package/skills/ai-delivery-prepare-release/assets/release-template/release-manifest.yaml +18 -0
  192. package/skills/ai-delivery-prepare-release/references/release-contract.md +21 -0
  193. package/skills/ai-delivery-review-change/SKILL.md +40 -0
  194. package/skills/ai-delivery-review-change/agents/openai.yaml +4 -0
  195. package/skills/ai-delivery-review-change/references/review-contract.md +20 -0
  196. package/skills/ai-delivery-triage-failure/SKILL.md +45 -0
  197. package/skills/ai-delivery-triage-failure/agents/openai.yaml +4 -0
  198. package/skills/ai-delivery-triage-failure/references/failure-routing-contract.md +13 -0
  199. package/skills/ai-delivery-validate-artifacts/SKILL.md +37 -0
  200. package/skills/ai-delivery-validate-artifacts/agents/openai.yaml +4 -0
  201. package/skills/ai-delivery-validate-artifacts/references/artifact-contract.md +44 -0
  202. package/skills/ai-delivery-verify-candidate/SKILL.md +56 -0
  203. package/skills/ai-delivery-verify-candidate/agents/openai.yaml +4 -0
  204. package/skills/ai-delivery-verify-candidate/assets/verification-template/defect-artifacts.csv +1 -0
  205. package/skills/ai-delivery-verify-candidate/assets/verification-template/defects.csv +1 -0
  206. package/skills/ai-delivery-verify-candidate/assets/verification-template/test-work-packages.csv +1 -0
  207. package/skills/ai-delivery-verify-candidate/references/candidate-verification-contract.md +23 -0
  208. package/skills/ai-delivery-verify-production/SKILL.md +50 -0
  209. package/skills/ai-delivery-verify-production/agents/openai.yaml +4 -0
  210. package/skills/ai-delivery-verify-production/assets/production-verification-template/production-verification.md +15 -0
  211. package/skills/ai-delivery-verify-production/references/production-verification-contract.md +14 -0
@@ -0,0 +1,31 @@
1
+ artifact_id: VISUAL-SYSTEM-CONFIRMATION-0001
2
+ artifact_type: visual-system-confirmation
3
+ version: 1
4
+ iteration_id: ITER-0001
5
+ status: pending
6
+ producer_skill: ai-delivery-design-experience
7
+ visual_direction_ref: visual-direction.yaml
8
+ visual_direction_checksum: REPLACE_WITH_SHA256
9
+ design_tokens_ref: design-tokens.json
10
+ design_tokens_checksum: REPLACE_WITH_SHA256
11
+ ui_framework_selection_ref: ui-framework-selection.yaml
12
+ ui_framework_selection_checksum: REPLACE_WITH_SHA256
13
+ component_state_matrix_ref: component-state-matrix.csv
14
+ component_state_matrix_checksum: REPLACE_WITH_SHA256
15
+ checks:
16
+ product_fit: pending
17
+ typography: pending
18
+ semantic_color: pending
19
+ layout_and_spacing: pending
20
+ component_states: pending
21
+ responsive_rules: pending
22
+ accessibility: pending
23
+ framework_compatibility: pending
24
+ human_approval:
25
+ required: true
26
+ approver: null
27
+ decided_at: null
28
+ decision: pending
29
+ decision: pending
30
+ blocking_issues: []
31
+ evidence: []
@@ -0,0 +1,82 @@
1
+ # Experience Contract
2
+
3
+ ## Required Coverage
4
+
5
+ Map every in-scope `feature_id + terminal_id` pair to at least one flow and screen or explicitly justify why no visual surface exists.
6
+
7
+ `feature-screen-coverage.csv`:
8
+
9
+ `feature_id,terminal_id,flow_id,screen_id,state_id,coverage_status,notes`
10
+
11
+ `screen-states.csv`:
12
+
13
+ `state_id,screen_id,state_type,trigger,user_message,available_actions,recovery,accessibility_notes`
14
+
15
+ Use state types `default`, `loading`, `empty`, `success`, `partial`, `error`, `permission`, `disabled`, and `recovery` as applicable.
16
+
17
+ ## Design Baseline
18
+
19
+ Include task flows, information architecture, page inventory, an executable low-fidelity prototype, interaction contract, visual direction, framework selection, machine-readable design tokens, component states, a production-compatible formal UI baseline, responsive behavior, accessibility rules, content rules, change sets, final product reconciliation, and unresolved technical questions.
20
+
21
+ Do not select new product terminals or change feature behavior. Route those changes to product definition.
22
+
23
+ Apply [prototype-management-contract.md](prototype-management-contract.md) to every visual or interactive prototype member. A member cannot enter authoring without a valid human tool-selection receipt and cannot freeze without valid `UX-LF`, `UX-VS`, `UX-UI`, product-reconciliation, adjustment-closure, and impact-assessment evidence.
24
+
25
+ ## Staged Gates And Handoff
26
+
27
+ `UX-LF` accepts only an executable low-fidelity interaction revision with no dead controls and complete interaction/state evidence. `UX-VS` accepts exact visual-direction, design-token, framework-selection, and component-state checksums. `UX-UI` accepts a runnable formal UI revision that preserves confirmed interactions and applies the selected system. Product reconciliation runs after all members are candidate-approved and before freeze.
28
+
29
+ `ui-handoff.yaml` is the single downstream readiness interface. It pins the experience baseline, prototype set, all Gate receipts, interaction contract, tokens, framework selection, component states, page-component map, experience/requirement changes, and product coverage. It remains `development_readiness: blocked` until every Gate passes, product decision is `aligned`, all requirement changes are terminal, and no referenced artifact is stale.
30
+
31
+ Use `experience-change-set.csv` for `added`, `modified`, `retired`, `superseded`, and `unchanged` stable identities. Normalize multiple domains through `experience-change-domains.csv`; allowed domains are `requirement`, `layout`, `navigation`, `interaction`, `state`, `content`, `visual`, `component`, `responsive`, and `accessibility`. Do not infer deltas by visually comparing prototype files.
32
+
33
+ ## Prototype Manifest
34
+
35
+ Produce one `prototype-manifest.yaml` per independently versioned review bundle. A bundle may cover one or more terminals only when a single source revision, export, confirmation, and downstream validation lifecycle applies to all of them. Create separate manifests when terminals use different design sources, revision lifecycles, or review bundles.
36
+
37
+ Create `prototype-set.yaml` as the complete ordered handoff set. Record its artifact ID, version, iteration, status, producer, product baseline, initial architecture baseline, architecture-gate inputs with versions/checksums, and one member row per manifest with the member artifact ID, version, covered terminal IDs, manifest path, and manifest SHA-256. Freeze and register the set checksum after all member manifests are frozen.
38
+
39
+ Architecture must produce one accepted receipt per set member before reconciliation passes. Test design validates members relevant to its selected slices: every set member must appear in `prototype-test-scope.csv` as `included` or `out-of-scope`; every included member requires an accepted test receipt, and every exclusion requires slice/terminal evidence and rationale.
40
+
41
+ Name member files with their stable prototype ID, for example `prototype-manifest-PROTOTYPE-WEB-0001.yaml` and `prototype-confirmation-PROTOTYPE-WEB-0001.yaml`. Do not reuse an unsuffixed filename for multiple members.
42
+
43
+ Each prototype manifest contains:
44
+
45
+ - artifact ID, version, status, producer, and iteration ID;
46
+ - exact product and initial architecture input references;
47
+ - exact tool-selection reference/checksum;
48
+ - prototype type, fidelity, source path or URL, immutable source revision, and review entrypoint;
49
+ - stable review bundle path and SHA-256;
50
+ - covered terminal, flow, screen, and state IDs;
51
+ - page, canvas, canvas-page, prototype-file, and file-terminal catalog references with SHA-256 checksums;
52
+ - staged human Gate receipts, review sessions, review comments, adjustment log, and impact assessment references with SHA-256 checksums;
53
+ - traceability, state-catalog, and feature-screen-coverage references with SHA-256 checksums;
54
+ - applicable standard IDs and versions.
55
+
56
+ A remote design URL without an immutable revision and stable review export is not sufficient. Record the review entrypoint as a relative path inside the checksummed review bundle so it cannot drift independently. For a non-visual terminal, use `prototype_type: not-applicable` and record a product-terminal rationale.
57
+
58
+ `prototype-traceability.csv`:
59
+
60
+ `prototype_element_id,prototype_artifact_id,prototype_version,source_revision,prototype_file_id,canvas_id,page_id,feature_id,acceptance_id,terminal_id,flow_id,screen_id,state_id,interaction,coverage_status`
61
+
62
+ Every in-scope feature-terminal behavior and applicable state must resolve to at least one prototype element. Do not encode multiple IDs in one CSV cell; use multiple rows.
63
+
64
+ ## Prototype Source Confirmation
65
+
66
+ Write one immutable `prototype-confirmation.yaml` per set member. Pin the prototype-set reference/checksum, prototype manifest reference/checksum, artifact identity, source revision, review-bundle checksum, tool-selection checksum, management and review catalog checksums, impact-assessment checksum, and linked coverage checksums. Record separate results for:
67
+
68
+ - tool-selection validity;
69
+ - page/canvas/file management validity;
70
+ - mandatory staged human-review closure for `UX-LF`, `UX-VS`, and `UX-UI`;
71
+ - review-impact propagation;
72
+ - product behavior and acceptance alignment;
73
+ - terminal coverage;
74
+ - product-manual terminology;
75
+ - initial architecture constraints;
76
+ - state and interaction coverage;
77
+ - responsive and accessibility review;
78
+ - unresolved issues and required return node.
79
+
80
+ For every confirmation check, use statuses `pending`, `pass`, `fail`, and `not-applicable`; record evidence, and require a non-empty product-terminal rationale for `not-applicable`. Use decisions `confirmed-for-handoff` and `changes-required`. A confirmation can pass only when its set and manifest statuses are `frozen`, registered checksums match, tool selection is valid, `UX-LF`, `UX-VS`, and `UX-UI` are human-approved for visual or interactive members, product reconciliation is `valid/aligned`, the impact assessment is `valid/ready-for-finalization`, every required check is `pass` or justified `not-applicable`, and blocking issues are empty. Require `human_approval.required: true`, the latest review session for each applicable Gate `approved`, all comments terminal, all adjustments linked, and the approved formal UI source revision equal to the final manifest revision. Set confirmation `status: valid` with `confirmed_at` when confirmed; use `status: invalid` for `changes-required`. A genuinely non-visual terminal may mark visual Gates `not-applicable`; it must not use that exception for any member with user-operable interaction.
81
+
82
+ Downstream consumers must create separate receipts per prototype-set member and pin the source-confirmation version and checksum; they must not modify the frozen set, manifest, linked catalogs, or source confirmation. A rejected receipt creates a new affected prototype version and a new set version, then marks dependent experience, architecture, planning, and test artifacts stale as applicable.
@@ -0,0 +1,68 @@
1
+ # Prototype Management Contract
2
+
3
+ ## Tool Selection Gate
4
+
5
+ Reserve a stable `prototype_artifact_id` for each prototype-set member before authoring. Inspect the current product scope, terminals, fidelity, collaboration, offline, version-control, interaction, review, and delivery constraints. Record every considered option in one member-scoped `prototype-tool-candidates-<prototype_artifact_id>.csv`:
6
+
7
+ `candidate_id,prototype_artifact_id,tool_name,tool_kind,availability,availability_evidence,fit_level,fit_rationale,recommendation_rank`
8
+
9
+ Use `authoring-tool` and `design-assistant` for `tool_kind`; use `available`, `unavailable`, and `unknown` for availability; use `high`, `medium`, and `low` for fit. Figma, Pencil, and local HTML are authoring tools when available. A skill such as `ui-ux-pro-max-skill` is a design assistant, not a source-file or review-bundle manager.
10
+
11
+ Verify availability instead of assuming installation or access. For a project skill, inspect the project-scoped `.agents/skills/` installation. If the selected skill is unavailable, install it only under the current project's `.agents/skills/` after explicit user selection; never install it globally.
12
+
13
+ Recommend options with evidence, then ask the user to select one authoring tool and any optional design assistants for that member. Record the choice in `prototype-tool-selection-<prototype_artifact_id>.yaml`. The selection gate passes only with `status: valid`, `decision: selected`, a human `selected_by` and `selected_at`, an `available` selected authoring candidate, and a matching candidate-catalog checksum. Do not create prototype source, pages, canvases, or files before this gate passes. A tool change creates a new selection version and marks affected prototype artifacts stale.
14
+
15
+ ## Stable Page Identity
16
+
17
+ Use separate fields for identity and display:
18
+
19
+ - Main page: `page_id: P01`, `page_name: 页面名称A`, `display_label: P01-页面名称A`.
20
+ - Child page: `page_id: P01-01`, `parent_page_id: P01`, `page_name: 页面名称1`, `display_label: P01-01-页面名称1`.
21
+
22
+ Main page IDs match `^P[0-9]{2,}$`; child page IDs match `^P[0-9]{2,}-[0-9]{2,}$`. Do not create third-level IDs. Allocate a page ID only for an independent route or independently reviewable business page. Model dialogs, loading, empty, error, permission, disabled, success, partial, and recovery variants as elements or states unless they are independently routed pages.
23
+
24
+ Store all pages in member-scoped `page-catalog-<prototype_artifact_id>.csv`. Derive `display_label` from `page_id + "-" + page_name`; never parse identity from the label. Rename by changing `page_name` and `display_label` only. Never renumber or reuse an ID. Mark removed pages `retired`; allocate new IDs after the greatest allocated sibling number.
25
+
26
+ ## Canvas And File Boundaries
27
+
28
+ Use:
29
+
30
+ - `canvas-catalog-<prototype_artifact_id>.csv` for stable canvas identity and its owning main-page family;
31
+ - `canvas-pages-<prototype_artifact_id>.csv` for normalized canvas-to-page membership;
32
+ - `prototype-files-<prototype_artifact_id>.csv` for source files, authoring tool, revision, lifecycle, and review scope;
33
+ - `prototype-file-terminals-<prototype_artifact_id>.csv` for normalized file-to-terminal membership.
34
+
35
+ One canvas contains exactly one main-page family: one main page and any `Pxx-*` children. Never put different main pages on the same canvas. A large family may use multiple canvases while retaining the same `main_page_id`.
36
+
37
+ Split prototype files when terminals, selected authoring tools, permissions, freeze/review lifecycles, or independent delivery boundaries differ. A file may contain multiple canvases only when those boundaries are shared. Use stable IDs and explicit catalog rows; never infer page, canvas, file, or terminal relationships from names or design-tool hierarchy. Retire IDs instead of deleting or reusing them.
38
+
39
+ ## Mandatory Staged Human Review
40
+
41
+ Every visual or interactive member requires human review at `UX-LF`, `UX-VS`, and `UX-UI`. Record `human_review_required: true` in `prototype-review-decision-<prototype_artifact_id>.yaml`; `contract-only` is permitted only for a genuinely non-visual `not-applicable` member.
42
+
43
+ For each staged Gate:
44
+
45
+ 1. Record every round in `prototype-review-sessions-<prototype_artifact_id>.csv`, pinning the Gate, reviewed source revision, and evidence.
46
+ 2. Record every comment in `prototype-review-comments-<prototype_artifact_id>.csv` with page, canvas, file, element, classification, severity, responsible node, and evidence.
47
+ 3. Use classifications `design-correction`, `requirement-change`, `architecture-impact`, and `clarification`; every concrete adjustment additionally uses one or more normalized domains from `experience-change-domains.csv`.
48
+ 4. Use terminal comment statuses `resolved`, `rejected-with-rationale`, and `superseded`; open work uses `open`.
49
+ 5. Record every prototype revision caused by a comment in `prototype-adjustment-log-<prototype_artifact_id>.csv`, including classification, reason, linked requirement/experience changes, upstream/downstream impacts, and evidence. Never overwrite an earlier revision or omit an adjustment because it appears visual-only.
50
+ 6. Require another review round after adjustments. Exit the Gate only when the latest session decision is `approved`, every comment is terminal, and the Gate receipt pins the approved revision and checksums.
51
+
52
+ Set source confirmation `human_approval.required: true` and pin the final approver, decision time, approved formal UI revision, and exact set/member/Gate checksums. The approved revision must equal the manifest's final source revision.
53
+
54
+ ## Impact Propagation
55
+
56
+ Write `prototype-impact-assessment-<prototype_artifact_id>.yaml` after comments are classified and update it after every round. A `design-correction` updates experience artifacts only. A `clarification` updates only the artifacts named by its assessment without changing behavior. A `requirement-change` returns to product definition and creates a new product baseline before final prototype freeze. An `architecture-impact` returns to architecture and creates or validates the required architecture baseline before final prototype freeze.
57
+
58
+ Keep revised prototypes in `review-draft` while upstream change obligations remain open. Mark dependent artifacts stale, rerun affected nodes, and then revise the prototype from the new immutable inputs. The impact assessment passes with `status: valid` and `decision: ready-for-finalization` only when all required rebaselines resolve, stale impacts are declared, and blocking issues are empty.
59
+
60
+ ## Final Product Reconciliation
61
+
62
+ After every visual or interactive member reaches `candidate-approved`, aggregate all adjustments. Link every semantic adjustment to `requirement-change-set.csv`; use statuses `identified`, `product-triage`, `awaiting-product-confirmation`, `approved`, `rejected`, `product-baseline-updated`, `impact-propagated`, `prototype-rebased`, and `closed`.
63
+
64
+ Invoke product definition once for the complete candidate set. Product compares the approved baseline and prototype bidirectionally through `prototype-product-coverage.csv` and owns `product-prototype-reconciliation.yaml`. A rejected requirement change requires removal or correction of the prototype behavior. A changed product baseline makes affected members stale and requires their staged re-approval. Repeat until decision `aligned`; do not freeze by merely editing product documentation to match the prototype.
65
+
66
+ ## Final Freeze
67
+
68
+ The final manifest pins SHA-256 checksums for tool selection, page/canvas/file catalogs, every staged Gate, visual system, interaction/component contracts, review session/comment/adjustment catalogs, change sets, final product reconciliation, and impact assessment. Source confirmation and UI handoff may pass only when all staged reviews are approved and closed, reconciliation is aligned, change sets are terminal, page/canvas/file rules pass, and impact assessment is ready.
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: ai-delivery-design-tests
3
+ description: Validate confirmed prototype testability and define the overall release test strategy and public test contract for the next agile iteration slice. Use before TDD implementation, when a prototype or architecture test seam changes, when acceptance criteria are unclear, after replanning, or when independent verification finds a gap in test design.
4
+ ---
5
+
6
+ # Design Tests
7
+
8
+ Create a durable release strategy once and detailed test inputs just in time for the next slice.
9
+
10
+ ## Artifact Location
11
+
12
+ Write every workflow document produced by this skill under project `.workflow/`, defaulting version-scoped test design outputs to `.workflow/iterations/<iteration-id>/<node-id>/`. Automated test source remains in the repository test structure defined by the architecture and work package.
13
+
14
+ ## Task State
15
+
16
+ 1. Invoke `$ai-delivery-checkpoint-task` before preflight to recover or initialize the task snapshot.
17
+ 2. Checkpoint after every meaningful artifact, gate, validation, merge, deployment action, or other external milestone, and before compaction or interruption.
18
+ 3. Before returning, finish the snapshot as `completed`, `blocked`, `failed`, or `interrupted`, with actual outputs, evidence, blockers, and one idempotent next action. A Hook event alone never proves completion.
19
+
20
+ ## Preflight
21
+
22
+ Read the selected vertical slice, product acceptance criteria, exact `ui-handoff.yaml`, `product-prototype-reconciliation.yaml`, experience and requirement change sets, interaction contract, component-state matrix, page-component map, design tokens, frozen prototype set and checksum, every member manifest, tool-selection and page/canvas/file catalogs, review and impact records, source confirmation, architecture validation receipt, final architecture, confirmed public test seams, quality budgets, prior defects, applicable standards, and existing test strategy. Require `UX-LF`, `UX-VS`, and `UX-UI` to be human-approved, product reconciliation to be `aligned`, UI handoff development readiness to be `ready-for-development`, source confirmations to be `valid/confirmed-for-handoff`, and architecture receipts to be `valid/accepted`. Reject missing member receipts, nonterminal change rows, or mismatched IDs, versions, revisions, management/review checksums, or review-bundle checksums.
23
+
24
+ ## Workflow
25
+
26
+ 1. Establish or update the overall release test strategy and risk model.
27
+ 2. Confirm observable public interfaces and test seams. Never prescribe tests against private implementation details.
28
+ 3. Derive behavior examples from independent requirements and acceptance sources. Use the prototype to locate interactions and states, but never treat appearance alone as a product requirement.
29
+ 4. Map every prototype-set member to `included` or `out-of-scope` in `prototype-test-scope.csv` using selected slice and terminal evidence.
30
+ 5. Verify that every in-scope page, prototype interaction, component state, and `ready-for-development` experience change is observable and testable through a confirmed public seam. Write one `prototype-test-validation.yaml` per included member with the UI handoff and product-reconciliation checksums, `affected_experience_change_ids`, stable page/canvas/file/element IDs, and all management/review checksums. An accepted receipt uses `status: valid`; a `changes-required` receipt uses `status: invalid`. Accept the handoff only when every included member passes and every exclusion is justified; return untestable or ambiguous behavior to experience or architecture.
31
+ 6. Define the current iteration's functional, contract, data, security, performance, compatibility, accessibility, responsive, and visual-regression obligations. Trace behavior, visual-regression, responsive, and accessibility cases to each affected `experience_change_id`.
32
+ 7. Define test data, environment, automation, entry, exit, severity, and quality-gate rules.
33
+ 8. Separate developer-visible obligations from independent verification:
34
+ - publish acceptance examples, seams, contract expectations, and quality targets to development;
35
+ - leave adversarial, exploratory, cross-component, regression, and additional edge cases for candidate verification.
36
+ 9. Trace every obligation to stable requirement, feature, page, canvas, prototype file, prototype element, risk, and architecture IDs.
37
+
38
+ ## Outputs
39
+
40
+ - overall `test-strategy.md`;
41
+ - current `iteration-test-contract.md`;
42
+ - public behavior examples and contract fixtures;
43
+ - `test-data-plan.md` and `test-environment-plan.md`;
44
+ - `quality-gates.yaml`;
45
+ - one prototype test-validation YAML per relevant prototype-set member;
46
+ - `prototype-test-scope.csv`;
47
+ - test traceability CSV files including `experience_change_id` coverage;
48
+ - gaps returned to product, experience, architecture, or planning.
49
+
50
+ Do not implement product code or claim independent release acceptance.
51
+
52
+ Read [test-design-contract.md](references/test-design-contract.md) and use `assets/test-design-template/` for new files.
53
+
54
+ ## Handoff
55
+
56
+ Development receives the exact ready UI handoff, aligned product reconciliation, actionable experience changes, prototype-set identity/checksum, and relevant member identities/checksums with the public contract, validates that all are actionable, and returns missing seams or ambiguous expectations here. Independent verification later derives additional cases from the approved sources and candidate behavior.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Design Tests"
3
+ short_description: "Validate prototype testability and design test contracts"
4
+ default_prompt: "Use $ai-delivery-design-tests to validate prototype testability and design tests for the current iteration."
@@ -0,0 +1,19 @@
1
+ # Iteration Test Contract
2
+
3
+ ## Selected Slice And Sources
4
+
5
+ ## Confirmed Public Seams
6
+
7
+ ## Acceptance Examples
8
+
9
+ ## Contract And Data Obligations
10
+
11
+ ## Quality Targets
12
+
13
+ ## Test Data And Environment
14
+
15
+ ## Developer Automation
16
+
17
+ ## Entry And Exit Criteria
18
+
19
+ ## Traceability And Gaps
@@ -0,0 +1 @@
1
+ prototype_artifact_id,prototype_version,terminal_id,slice_id,scope_status,rationale,evidence_ref
@@ -0,0 +1,73 @@
1
+ artifact_id: PROTOTYPE-TEST-VALIDATION-0001
2
+ artifact_type: prototype-test-validation
3
+ version: 1
4
+ iteration_id: ITER-0001
5
+ status: draft
6
+ producer_skill: ai-delivery-design-tests
7
+ input_artifacts:
8
+ ui_handoff: UI-HANDOFF-0001@1
9
+ product_prototype_reconciliation: PRODUCT-PROTOTYPE-RECONCILIATION-0001@1
10
+ experience_change_set: EXPERIENCE-CHANGE-SET-0001@1
11
+ interaction_contract: INTERACTION-CONTRACT-0001@1
12
+ prototype_set: PROTOTYPE-SET-0001@1
13
+ prototype_manifest: PROTOTYPE-0001@1
14
+ prototype_confirmation: PROTOTYPE-CONFIRMATION-0001@1
15
+ architecture_validation: PROTOTYPE-ARCH-VALIDATION-0001@1
16
+ prototype_tool_selection: PROTOTYPE-TOOL-SELECTION-0001@1
17
+ prototype_review_decision: PROTOTYPE-REVIEW-DECISION-0001@1
18
+ prototype_impact_assessment: PROTOTYPE-IMPACT-ASSESSMENT-0001@1
19
+ standards: []
20
+ ui_handoff_ref: UI-HANDOFF-0001@1
21
+ ui_handoff_checksum: REPLACE_WITH_SHA256
22
+ product_prototype_reconciliation_ref: PRODUCT-PROTOTYPE-RECONCILIATION-0001@1
23
+ product_prototype_reconciliation_checksum: REPLACE_WITH_SHA256
24
+ experience_change_set_ref: EXPERIENCE-CHANGE-SET-0001@1
25
+ experience_change_set_checksum: REPLACE_WITH_SHA256
26
+ interaction_contract_ref: INTERACTION-CONTRACT-0001@1
27
+ interaction_contract_checksum: REPLACE_WITH_SHA256
28
+ prototype_set_ref: PROTOTYPE-SET-0001@1
29
+ prototype_set_checksum: REPLACE_WITH_SHA256
30
+ prototype_artifact_id: PROTOTYPE-0001
31
+ prototype_version: 1
32
+ prototype_manifest_ref: prototype-manifest-PROTOTYPE-0001.yaml
33
+ prototype_manifest_checksum: REPLACE_WITH_SHA256
34
+ prototype_confirmation_ref: PROTOTYPE-CONFIRMATION-0001@1
35
+ prototype_confirmation_checksum: REPLACE_WITH_SHA256
36
+ source_revision: REVISION-0001
37
+ review_bundle_algorithm: sha256
38
+ review_bundle_checksum: REPLACE_WITH_SHA256
39
+ tool_selection_checksum: REPLACE_WITH_SHA256
40
+ page_catalog_checksum: REPLACE_WITH_SHA256
41
+ canvas_catalog_checksum: REPLACE_WITH_SHA256
42
+ canvas_pages_checksum: REPLACE_WITH_SHA256
43
+ prototype_files_checksum: REPLACE_WITH_SHA256
44
+ prototype_file_terminals_checksum: REPLACE_WITH_SHA256
45
+ prototype_review_decision_checksum: REPLACE_WITH_SHA256
46
+ prototype_review_sessions_checksum: REPLACE_WITH_SHA256
47
+ prototype_review_comments_checksum: REPLACE_WITH_SHA256
48
+ prototype_adjustment_log_checksum: REPLACE_WITH_SHA256
49
+ prototype_impact_assessment_checksum: REPLACE_WITH_SHA256
50
+ traceability_checksum: REPLACE_WITH_SHA256
51
+ state_catalog_checksum: REPLACE_WITH_SHA256
52
+ feature_screen_coverage_checksum: REPLACE_WITH_SHA256
53
+ architecture_validation_ref: PROTOTYPE-ARCH-VALIDATION-0001
54
+ architecture_validation_version: 1
55
+ architecture_validation_checksum: REPLACE_WITH_SHA256
56
+ architecture_baseline_ref: ARCH-FINAL-0001@1
57
+ architecture_baseline_checksum: REPLACE_WITH_SHA256
58
+ test_contract_id: TEST-CONTRACT-0001
59
+ test_contract_version: 1
60
+ test_contract_checksum: REPLACE_WITH_SHA256
61
+ decision: changes-required
62
+ affected_experience_change_ids: []
63
+ affected_page_ids: []
64
+ affected_canvas_ids: []
65
+ affected_prototype_file_ids: []
66
+ affected_prototype_element_ids: []
67
+ observable_seams: []
68
+ untestable_elements: []
69
+ ambiguity_findings: []
70
+ accessibility_coverage: []
71
+ blocking_issues: []
72
+ return_node: experience-design
73
+ evidence: []
@@ -0,0 +1,31 @@
1
+ # Test Design Contract
2
+
3
+ ## Public Iteration Contract
4
+
5
+ Include selected slice IDs, exact `ui-handoff.yaml` identity/checksum, aligned `product-prototype-reconciliation.yaml` identity/checksum, applicable experience-change IDs and statuses, exact prototype-set identity/checksum, relevant member identities/review-bundle checksums, tool-selection and page/canvas/file catalog checksums, review/adjustment/impact checksums, interaction and component-state contract checksums, confirmed public seams, acceptance examples, API/data contracts, required developer automation, test data needs, quality targets, entry criteria, exit criteria, and traceability.
6
+
7
+ Do not publish the full independent verification case set before implementation. Candidate verification must derive additional adversarial, exploratory, edge, cross-component, and regression cases independently.
8
+
9
+ ## Quality Gates
10
+
11
+ For every gate record ID, scope, command or measurement, threshold, blocking behavior, evidence path, and owner stage. Do not use coverage percentage alone as proof of behavior.
12
+
13
+ ## Test Design Rules
14
+
15
+ - Verify observable behavior through public interfaces.
16
+ - Use expected results from approved specifications, worked examples, or independent sources.
17
+ - Mock only external system boundaries when needed.
18
+ - Trace every obligation to requirement, feature, acceptance, architecture, or risk IDs.
19
+ - Trace prototype-derived interactions and states to `page_id`, `canvas_id`, `prototype_file_id`, and `prototype_element_id` without treating unapproved visual invention as a requirement.
20
+ - Trace behavior, visual-regression, responsive, and accessibility obligations to each affected `experience_change_id`; test only changes in `ready-for-development` state.
21
+ - Define controlled data setup and cleanup.
22
+
23
+ ## Prototype Test Validation
24
+
25
+ `prototype-test-scope.csv`:
26
+
27
+ `prototype_artifact_id,prototype_version,terminal_id,slice_id,scope_status,rationale,evidence_ref`
28
+
29
+ Use `included` and `out-of-scope`. Create normalized rows when a member covers multiple terminal/slice pairs. Every prototype-set member must have at least one scope row; every exclusion requires a rationale and evidence.
30
+
31
+ Produce one `prototype-test-validation.yaml` per included prototype-set member. Pin the UI handoff, aligned product reconciliation, experience change set, interaction contract, prototype-set version/checksum, member manifest version/checksum, source-confirmation version/checksum, architecture-validation version/checksum, final architecture baseline version/checksum, source revision, review-bundle checksum, tool-selection checksum, page/canvas/file catalog checksums, review decision/session/comment/adjustment checksums, impact-assessment checksum, linked coverage checksums, and test-contract ID/version/checksum. Require `UX-LF`, `UX-VS`, and `UX-UI` approval, `ready-for-development`, upstream confirmation `valid/confirmed-for-handoff`, and architecture receipt `valid/accepted`. Record decision (`accepted` or `changes-required`), `affected_experience_change_ids`, affected page/canvas/file/element IDs, observable seams, untestable elements, ambiguity findings, accessibility coverage, evidence, and return node. Use receipt `status: valid` only with `accepted`, otherwise `status: invalid`. Reject missing member scope rows/receipts or mismatched identities and route corrections to the owning node.
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: ai-delivery-develop-iteration
3
+ description: Orchestrate implementation of one planned vertical slice from an exact confirmed prototype and public test contract by deriving dynamic technical work packages, assigning capability-based AI roles, enforcing TDD and independent review, and assembling a candidate. Use when an iteration slice, prototype receipts, and public test contract are ready for implementation or when verified defects return to development.
4
+ ---
5
+
6
+ # Develop Iteration
7
+
8
+ Derive technical tasks just in time. Do not predefine frontend, backend, database, or other roles unless the selected slice and architecture require them.
9
+
10
+ ## Artifact Location
11
+
12
+ Write every planning, traceability, review, evidence, and candidate document produced by this skill under project `.workflow/`, defaulting version-scoped outputs to `.workflow/iterations/<iteration-id>/<node-id>/`. Application source, automated test source, and non-document build artifacts remain in their architecture-defined repository or artifact locations.
13
+
14
+ ## Task State
15
+
16
+ 1. Invoke `$ai-delivery-checkpoint-task` before preflight to recover or initialize the task snapshot.
17
+ 2. Checkpoint after every meaningful artifact, gate, validation, merge, deployment action, or other external milestone, and before compaction or interruption.
18
+ 3. Before returning, finish the snapshot as `completed`, `blocked`, `failed`, or `interrupted`, with actual outputs, evidence, blockers, and one idempotent next action. A Hook event alone never proves completion.
19
+
20
+ ## Preflight
21
+
22
+ Read the selected vertical slice, exact ready `ui-handoff.yaml`, aligned `product-prototype-reconciliation.yaml`, experience/requirement change sets, interaction contract, component-state matrix, page-component map, exact prototype set and relevant member manifests/review bundles, tool-selection and page/canvas/file catalogs, review/impact records, prototype confirmations and downstream receipts, public test contract, final architecture, experience baseline, applicable standards, repository state, active defects, and platform constraints. Require `development_readiness: ready-for-development`, source confirmations `valid/confirmed-for-handoff`, architecture receipts `valid/accepted`, and test receipts `valid/accepted`. Validate stable references, complete relevant member receipts, matching set/member IDs/revisions, management/review/impact checksums, review-bundle checksums, and confirmed public test seams. Reject `proposed`, `blocked`, `stale`, or otherwise non-actionable experience changes.
23
+
24
+ ## Derive Work Packages
25
+
26
+ Resolve the only code repository from `.workflow/config/workspace.yaml`. Put source, retained tests, package manifests, and all work branches there; put work-package definitions, task shards, review decisions, and evidence in the workflow repository. Every handoff reference to code must include the configured `repo_id`, exact `code_commit`, optional `code_tag`, `source_path`, and SHA-256.
27
+
28
+ 1. Analyze impacted components, contracts, data, configuration, infrastructure, security, and documentation.
29
+ 2. Produce the smallest dependency graph of technical work packages that can deliver the vertical slice.
30
+ 3. Define a capability-based role per package. Combine related capabilities when safe; create specialized roles only when the work requires them.
31
+ 4. Declare objective, inputs, relevant `experience_change_id` values, page/canvas/file/element IDs, exact prototype-set and member identities, allowed and forbidden modification scope, dependencies, stack and commands, TDD seam, outputs, completion evidence, risks, and rollback considerations.
32
+ 5. Map every UI-bearing package to `task-experience-change-traceability.csv`. Derive `implementation_action` from the structured change contract using only `create|update|remove|migrate|no-code`; never infer whether work is new or modified from a visual diff or filename.
33
+ 6. Prevent parallel packages from owning overlapping write scopes. Serialize or revise boundaries when they overlap.
34
+ 7. Assign a stable execution sequence, write the complete technical work package and dependency CSV files, then register every package as a `queued` `$ai-delivery-checkpoint-task` snapshot. Do not execute the first package until the complete derived group is recoverable.
35
+ 8. Use `$ai-delivery-manage-git` to create an isolated worktree and `work/<iteration-id>/<task-id>-<slug>` branch for every package.
36
+
37
+ ## Execute And Converge
38
+
39
+ 1. Invoke `$ai-delivery-execute-work-package` for each ready package.
40
+ 2. Invoke `$ai-delivery-review-change` from an independent validation context before merge.
41
+ 3. Return failed reviews to the package executor; never let the reviewer patch the code.
42
+ 4. Merge passing work packages into the iteration branch through `$ai-delivery-manage-git` and required CI gates.
43
+ 5. Run slice-level build, public contract tests, and developer regression checks.
44
+ 6. Produce a new immutable candidate identity whenever code, migration, configuration, IaC, or dependencies change.
45
+
46
+ ## TDD Policy
47
+
48
+ Require TDD for business behavior, defect fixes, and contracts. Allow documented exceptions for generated code, pure configuration, simple visual-only changes, or disposable probes. Record the reason and review the exception.
49
+
50
+ ## Outputs
51
+
52
+ - technical work package and dependency CSV files;
53
+ - `task-prototype-traceability.csv` for UI-bearing packages;
54
+ - `task-experience-change-traceability.csv` for UI-bearing packages, with explicit create/update/remove/migrate/no-code action;
55
+ - dynamic role profiles;
56
+ - source, migration, configuration, and documentation changes;
57
+ - retained tests and Red/Green evidence;
58
+ - independent review results and resolutions;
59
+ - slice traceability and known limitations;
60
+ - buildable candidate commit and candidate manifest.
61
+
62
+ Read [development-contract.md](references/development-contract.md).
63
+
64
+ ## Handoff
65
+
66
+ Hand the candidate to `$ai-delivery-verify-candidate` only after all package reviews, CI gates, and developer checks pass and the delivery platform supplies a reproducible test environment.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Develop Iteration"
3
+ short_description: "Orchestrate dynamic technical work packages with TDD"
4
+ default_prompt: "Use $ai-delivery-develop-iteration to implement the current vertical slice in the configured code repository."
@@ -0,0 +1 @@
1
+ task_id,experience_change_id,change_type,implementation_action
@@ -0,0 +1 @@
1
+ task_id,prototype_artifact_id,prototype_version,source_revision,prototype_file_id,canvas_id,page_id,prototype_element_id
@@ -0,0 +1,39 @@
1
+ # Development Contract
2
+
3
+ ## Technical Work Packages
4
+
5
+ `technical-work-packages.csv`:
6
+
7
+ `task_id,iteration_id,slice_id,sequence,title,objective,capability_role,work_package_ref,stack_ref,test_seam_ref,status`
8
+
9
+ `task-dependencies.csv`:
10
+
11
+ `predecessor_task_id,successor_task_id,dependency_type`
12
+
13
+ `task-acceptance.csv`:
14
+
15
+ `task_id,acceptance_id`
16
+
17
+ `task-prototype-traceability.csv`:
18
+
19
+ `task_id,prototype_artifact_id,prototype_version,source_revision,prototype_file_id,canvas_id,page_id,prototype_element_id`
20
+
21
+ `task-experience-change-traceability.csv`:
22
+
23
+ `task_id,experience_change_id,change_type,implementation_action`
24
+
25
+ Use only `create`, `update`, `remove`, `migrate`, and `no-code` for `implementation_action`. Every UI-bearing task must map to at least one `ready-for-development` experience change. Do not derive action type from screenshots, visual diffs, filenames, or chat history.
26
+
27
+ Store detailed commands, expected outputs, risks, evidence, and rollback impact in one Markdown record per task.
28
+
29
+ Before executing any package in the derived group, initialize one `queued` runtime snapshot per CSV row. Copy `sequence` directly and translate every `blocks` or `enables` predecessor edge into `depends_on`. Recovery must be able to identify all not-started packages without relying on chat history.
30
+
31
+ For UI-bearing packages, record the exact UI handoff and aligned product-reconciliation checksums, experience change set checksum, prototype-set ID/version/checksum, every relevant member `prototype_artifact_id`, version, `source_revision`, `review_bundle_checksum`, tool-selection checksum, page/canvas/file catalog checksums, review/adjustment checksums, impact-assessment checksum, and normalized task-to-change plus task-to-page/canvas/file/element rows. Refuse implementation when development readiness is not `ready-for-development`, the set is incomplete, a mapped change is non-actionable, or any identity differs across experience confirmation, architecture validation, test validation, or iteration planning.
32
+
33
+ ## Candidate Identity
34
+
35
+ Record candidate ID, iteration ID, commit SHA, build ID, artifact digests, configuration baseline, migration set, IaC reference, source task IDs, standards baseline, and timestamp.
36
+
37
+ ## Dynamic Role Rules
38
+
39
+ Name the role from required capability, not organization chart. Combine roles when boundaries and risk permit. Keep implementation separate from change review, independent testing, and high-risk security validation.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: ai-delivery-evolve-workflow
3
+ description: Record explicit workflow feedback and objective delivery signals, evaluate them at safe points, govern project-local extensions through risk-classified proposals and trials, and inspect, approve, disable, roll back, or export extension evidence. Use when a user suggests improving the installed workflow, repeated failures or Gate rejections indicate a process problem, an evolution review is due, an extension needs approval or recovery, or another delivery Skill reaches a task or version safe point.
4
+ ---
5
+
6
+ # Evolve The Project Workflow
7
+
8
+ Use the project Evolution CLI for every feedback, proposal, extension, trial, and decision state change. Never edit `.workflow/evolution/index.yaml` or registered extension state directly.
9
+
10
+ ## Capture Feedback
11
+
12
+ 1. Treat explicit improvement language such as “以后应当”“这里不合理” or “建议” as feedback without asking again.
13
+ 2. Record a concise structured summary and return the generated feedback ID to the user.
14
+ 3. Use `source_kind: user` for explicit user intent, `objective` for repeatable failures, and `ai-observation` for a single AI hypothesis.
15
+ 4. Never persist full conversations, secrets, sensitive values, or chain-of-thought.
16
+
17
+ Run:
18
+
19
+ ```text
20
+ node .workflow/tools/evolution/evolve.mjs feedback record ...
21
+ ```
22
+
23
+ ## Evaluate Only At Safe Points
24
+
25
+ Invoke `evaluate --safe-point task` after a task finishes, `--safe-point version` during version closeout, or `--safe-point review` on explicit request. Do not change extension behavior during an active task.
26
+
27
+ - A user suggestion or strong Gate/version failure may become a proposal immediately.
28
+ - Other objective signals require three distinct events or two distinct tasks.
29
+ - A single `ai-observation` cannot authorize a proposal.
30
+
31
+ ## Govern Extensions
32
+
33
+ 1. Create a proposal spec with hypothesis, baseline, metrics, scope, rollback conditions, and feedback IDs.
34
+ 2. Generate extension files only in `.workflow/delivery/runtime/evolution/staging/`.
35
+ 3. Call `register`; let the CLI copy and checksum the version into `.workflow/extensions/`.
36
+ 4. Start or enable an extension only with `--safe-point task|version|review` after the active-task marker has been cleared. A terminal extension cannot be revived; changed content requires a new version.
37
+ 5. Let low-risk extensions enter trial automatically. For medium/high risk, Node scripts, or blocking behavior, first record an `extension-approval` feedback receipt with `--explicit-user`, `--confirmation-subject <id>@<version>`, and `--confirmation-checksum <sha256>`, then pass its ID to `approve --confirmation-feedback-id`.
38
+ 6. Record trial observations only at safe points. Low-risk trials become active after three applicable executions or one completed iteration when metrics do not worsen. Medium/high risk must pass trial before a second explicit `enable --state active` transition.
39
+ 7. Disable or roll back on regression, Hook failure, conflict, or checksum damage. Preserve all evidence.
40
+
41
+ User-authored files are not trusted merely because they exist in `.workflow/extensions/`; register and enable them through the same process.
42
+
43
+ ## Respect Precedence
44
+
45
+ Apply constraints in this order:
46
+
47
+ ```text
48
+ core safety and Gates > approved standards > human-approved extensions > automatic trial extensions
49
+ ```
50
+
51
+ An extension never edits package-managed Skills, formal-state tools, Hook tools, standards, or Gate definitions. Disable the lower-precedence extension on conflict.
52
+
53
+ ## Export Safely
54
+
55
+ Use `export` only to create a local, redacted promotion bundle. Never send it to another repository, project, or service without explicit user confirmation.
56
+
57
+ Read [evolution-contract.md](references/evolution-contract.md) before creating a proposal, manifest, executable Hook, or approval decision.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "自进化工作流"
3
+ short_description: "持续记录反馈、评估信号并安全演进项目级交付工作流扩展能力"
4
+ default_prompt: "使用 $ai-delivery-evolve-workflow 记录当前意见并在安全点评估可验证的项目级扩展。"
@@ -0,0 +1,42 @@
1
+ # Evolution Contract
2
+
3
+ ## Storage
4
+
5
+ - `.workflow/evolution/` contains Git-tracked feedback, proposals, experiments, decisions, and local promotion bundles.
6
+ - `.workflow/extensions/<extension-id>/versions/<version>/` contains immutable registered versions.
7
+ - `.workflow/delivery/runtime/evolution/` contains ignored event queues, staging files, and idempotency data.
8
+ - `.workflow/tools/evolution/evolve.mjs` is the only state mutation entrypoint.
9
+
10
+ ## Lifecycle
11
+
12
+ Use `observed`, `proposed`, `trial`, `active`, `rejected`, `disabled`, `rolled-back`, `superseded`, and `expired`. Enforce `proposed -> trial -> active`; terminal versions cannot be revived. Do not expire by elapsed time or iteration count. Use `expired` only for explicit closure or objectively vanished applicability. Bind approvals to extension ID, version, SHA-256, an explicit-user confirmation feedback receipt, source event, and time.
13
+
14
+ ## Risk
15
+
16
+ - `low`: advisory, checklist, display, or non-blocking declarative checks. Automatic trial is allowed; output is limited to `pass` or `warn`.
17
+ - `medium`: routing, template, work-package, artifact-generation, or validation behavior. Human approval is required.
18
+ - `high`: block, Node script, Git, deployment, security, permission, environment, or external-system capability. Human approval is required.
19
+
20
+ The CLI derives risk from the manifest and may only raise the requested risk.
21
+
22
+ ## Manifest
23
+
24
+ Use schema version 1 with `extension_id`, `version`, non-empty `capabilities`, and non-empty `hooks`. Each Hook declares `event`, `decision`, optional `message`, optional `evidence_refs`, and optional project-local `.mjs` `entrypoint`. A blocking decision is valid only on a `before` event, so a stopped transition cannot leave already-written formal state behind.
25
+
26
+ Supported events are `before`, `after`, and `failed` for task, node, gate, artifact, version, and release, plus `feedback-recorded`, `evaluation-due`, and `extension-state-changed`.
27
+
28
+ Hook output is JSON:
29
+
30
+ ```json
31
+ {
32
+ "decision": "pass | warn | block",
33
+ "messages": [],
34
+ "evidence_refs": []
35
+ }
36
+ ```
37
+
38
+ Node 18 remains supported. Import checks, a ten-second maximum timeout, a project-local working directory, and a minimal environment reduce risk but are not a security sandbox. Hook messages and evidence references are type-checked, bounded, and redacted before returning or entering Git-tracked audit records.
39
+
40
+ ## Trial
41
+
42
+ Every proposal declares a hypothesis, baseline, metrics, scope, and rollback conditions. Trial and activation commands require a named safe point and are rejected while `.workflow/delivery/runtime/active-task.json` exists. The default observation window is three applicable executions or one completed iteration, whichever occurs first. A low-risk trial with no regression becomes active automatically. Medium/high trials wait for explicit activation after evaluation. Any `worsened`, `failure`, Hook failure, or checksum damage rolls back or disables the affected extension.