@xgent-ai/skills 0.3.0 → 0.5.0

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 (631) hide show
  1. package/README.md +117 -11
  2. package/bin/xgent-skills.js +269 -9
  3. package/docs/claude-context-goal-guard.md +125 -0
  4. package/docs/codex-context-goal-guard.md +110 -0
  5. package/hooks/claude/context-goal-guard.js +139 -0
  6. package/hooks/claude/settings.example.json +26 -0
  7. package/hooks/codex/context-goal-guard.py +189 -0
  8. package/hooks/codex/hooks.example.json +26 -0
  9. package/package.json +7 -1
  10. package/skills/agi-mode/SKILL.md +225 -0
  11. package/skills/agi-mode/evals/baseline-coverage.md +96 -0
  12. package/skills/agi-mode/evals/scenarios.md +331 -0
  13. package/skills/agi-mode/evals/test_check_evidence.py +141 -0
  14. package/skills/agi-mode/playbooks/arena.md +47 -0
  15. package/skills/agi-mode/playbooks/authoring-a-skill.md +26 -0
  16. package/skills/agi-mode/playbooks/autonomous-run.md +39 -0
  17. package/skills/agi-mode/playbooks/bug-fix.md +27 -0
  18. package/skills/agi-mode/playbooks/design-prototype.md +41 -0
  19. package/skills/agi-mode/playbooks/eval.md +72 -0
  20. package/skills/agi-mode/playbooks/feature.md +26 -0
  21. package/skills/agi-mode/playbooks/forensics.md +31 -0
  22. package/skills/agi-mode/playbooks/hillclimb.md +73 -0
  23. package/skills/agi-mode/playbooks/investigation.md +29 -0
  24. package/skills/agi-mode/playbooks/migration-refactoring.md +27 -0
  25. package/skills/agi-mode/playbooks/optimization.md +27 -0
  26. package/skills/agi-mode/playbooks/pr-lifecycle.md +38 -0
  27. package/skills/agi-mode/playbooks/program.md +57 -0
  28. package/skills/agi-mode/playbooks/reflection.md +41 -0
  29. package/skills/agi-mode/playbooks/resource-cleanup.md +24 -0
  30. package/skills/agi-mode/playbooks/review.md +27 -0
  31. package/skills/agi-mode/playbooks/session-handoff.md +37 -0
  32. package/skills/agi-mode/playbooks/shipping.md +35 -0
  33. package/skills/agi-mode/playbooks/ui-delivery.md +34 -0
  34. package/skills/agi-mode/playbooks/unblock.md +54 -0
  35. package/skills/agi-mode/principles/autonomous-decisions.md +21 -0
  36. package/skills/agi-mode/principles/behavioral-tests.md +21 -0
  37. package/skills/agi-mode/principles/boundary-discipline.md +21 -0
  38. package/skills/agi-mode/principles/bounded-convergence.md +21 -0
  39. package/skills/agi-mode/principles/build-leverage.md +21 -0
  40. package/skills/agi-mode/principles/challenge-premises.md +21 -0
  41. package/skills/agi-mode/principles/complete-migrations.md +21 -0
  42. package/skills/agi-mode/principles/context-as-state.md +21 -0
  43. package/skills/agi-mode/principles/critical-path-throughput.md +21 -0
  44. package/skills/agi-mode/principles/domain-models-and-types.md +23 -0
  45. package/skills/agi-mode/principles/evidence-lifetime.md +21 -0
  46. package/skills/agi-mode/principles/experience-first.md +21 -0
  47. package/skills/agi-mode/principles/explore-alternatives.md +21 -0
  48. package/skills/agi-mode/principles/falsifiable-verification.md +21 -0
  49. package/skills/agi-mode/principles/foundations-first.md +21 -0
  50. package/skills/agi-mode/principles/idempotent-effects.md +21 -0
  51. package/skills/agi-mode/principles/information-first.md +21 -0
  52. package/skills/agi-mode/principles/minimize-complexity.md +21 -0
  53. package/skills/agi-mode/principles/outcome-ownership.md +21 -0
  54. package/skills/agi-mode/principles/prove-real-outcomes.md +21 -0
  55. package/skills/agi-mode/principles/redesign-from-constraints.md +21 -0
  56. package/skills/agi-mode/principles/root-cause.md +21 -0
  57. package/skills/agi-mode/principles/state-ownership.md +21 -0
  58. package/skills/agi-mode/principles/structural-learning.md +21 -0
  59. package/skills/agi-mode/principles/verifiable-units.md +21 -0
  60. package/skills/agi-mode/references/continuity.md +75 -0
  61. package/skills/agi-mode/references/eval-protocol.md +71 -0
  62. package/skills/agi-mode/references/evidence-contract.md +57 -0
  63. package/skills/agi-mode/references/evolution-evidence.md +71 -0
  64. package/skills/agi-mode/references/experiments.md +82 -0
  65. package/skills/agi-mode/references/reflection/divergent-reviewer.md +45 -0
  66. package/skills/agi-mode/references/reflection/judgment-reviewer.md +44 -0
  67. package/skills/agi-mode/references/reflection/synthesizer.md +39 -0
  68. package/skills/agi-mode/references/reflection/tooling-reviewer.md +57 -0
  69. package/skills/agi-mode/references/skill-evolution.md +50 -0
  70. package/skills/agi-mode/scripts/check_evidence.py +147 -0
  71. package/skills/apply-code-review/SKILL.md +53 -0
  72. package/skills/apply-code-review/agents/openai.yaml +4 -0
  73. package/skills/apply-code-review/references/record-contract.md +77 -0
  74. package/skills/apply-doc-review/SKILL.md +79 -0
  75. package/skills/apply-doc-review/agents/openai.yaml +4 -0
  76. package/skills/apply-doc-review/references/disposition-contract.md +57 -0
  77. package/skills/archify/LICENSE +22 -0
  78. package/skills/archify/SKILL.md +137 -0
  79. package/skills/archify/THIRD_PARTY_NOTICES.md +69 -0
  80. package/skills/archify/assets/JetBrainsMono-OFL.txt +93 -0
  81. package/skills/archify/assets/template.html +14937 -0
  82. package/skills/archify/bin/archify.mjs +2139 -0
  83. package/skills/archify/bin/open-artifact.mjs +86 -0
  84. package/skills/archify/bin/preview.mjs +653 -0
  85. package/skills/archify/bin/visual-check.mjs +829 -0
  86. package/skills/archify/brand-marks/README.md +31 -0
  87. package/skills/archify/brand-marks/catalog.json +131 -0
  88. package/skills/archify/delta/architecture-delta.mjs +1232 -0
  89. package/skills/archify/examples/agent-run.lifecycle.json +60 -0
  90. package/skills/archify/examples/agent-tool-call.workflow.json +94 -0
  91. package/skills/archify/examples/async-job-roundtrip.sequence.json +61 -0
  92. package/skills/archify/examples/brand-aware-delivery.architecture.json +47 -0
  93. package/skills/archify/examples/cache-miss-request.sequence.json +82 -0
  94. package/skills/archify/examples/checkout-platform.base.architecture.json +31 -0
  95. package/skills/archify/examples/checkout-platform.head.architecture.json +31 -0
  96. package/skills/archify/examples/dataflow-product-analytics.html +15048 -0
  97. package/skills/archify/examples/deployment-release.lifecycle.json +49 -0
  98. package/skills/archify/examples/event-stream.dataflow.json +57 -0
  99. package/skills/archify/examples/incident-response.workflow.json +64 -0
  100. package/skills/archify/examples/lifecycle-agent-run.html +14983 -0
  101. package/skills/archify/examples/product-analytics.dataflow.json +76 -0
  102. package/skills/archify/examples/production-deployment.architecture.json +71 -0
  103. package/skills/archify/examples/release-delivery.workflow.json +62 -0
  104. package/skills/archify/examples/sequence-cache-miss-request.html +15063 -0
  105. package/skills/archify/examples/web-app-rendered.html +15012 -0
  106. package/skills/archify/examples/web-app.architecture.json +46 -0
  107. package/skills/archify/examples/workflow-agent-tool-call-rendered.html +15054 -0
  108. package/skills/archify/migrations/workflow-v2.mjs +279 -0
  109. package/skills/archify/package-lock.json +149 -0
  110. package/skills/archify/package.json +39 -0
  111. package/skills/archify/recipes/scenarios.mjs +391 -0
  112. package/skills/archify/references/authoring-contract.md +247 -0
  113. package/skills/archify/references/brand-marks.md +65 -0
  114. package/skills/archify/references/delivery-contract.md +138 -0
  115. package/skills/archify/references/viewer-runtime.md +45 -0
  116. package/skills/archify/renderers/architecture/grid.mjs +62 -0
  117. package/skills/archify/renderers/architecture/render-architecture.mjs +1078 -0
  118. package/skills/archify/renderers/dataflow/README.md +104 -0
  119. package/skills/archify/renderers/dataflow/render-dataflow.mjs +483 -0
  120. package/skills/archify/renderers/lifecycle/README.md +115 -0
  121. package/skills/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
  122. package/skills/archify/renderers/sequence/README.md +114 -0
  123. package/skills/archify/renderers/sequence/render-sequence.mjs +464 -0
  124. package/skills/archify/renderers/shared/brand-marks.mjs +563 -0
  125. package/skills/archify/renderers/shared/cli.mjs +218 -0
  126. package/skills/archify/renderers/shared/desktop-readability.mjs +26 -0
  127. package/skills/archify/renderers/shared/diagnostics.mjs +160 -0
  128. package/skills/archify/renderers/shared/engineering-profiles.mjs +157 -0
  129. package/skills/archify/renderers/shared/generated-brand-marks.mjs +2003 -0
  130. package/skills/archify/renderers/shared/generated-validators.mjs +13 -0
  131. package/skills/archify/renderers/shared/geometry.mjs +1423 -0
  132. package/skills/archify/renderers/shared/i18n.mjs +595 -0
  133. package/skills/archify/renderers/shared/layout-report.mjs +40 -0
  134. package/skills/archify/renderers/shared/legend.mjs +217 -0
  135. package/skills/archify/renderers/shared/output-path.mjs +340 -0
  136. package/skills/archify/renderers/shared/repository-evidence.mjs +239 -0
  137. package/skills/archify/renderers/shared/repository-location.mjs +58 -0
  138. package/skills/archify/renderers/shared/text-fit.mjs +49 -0
  139. package/skills/archify/renderers/shared/utils.mjs +232 -0
  140. package/skills/archify/renderers/shared/validator.mjs +86 -0
  141. package/skills/archify/renderers/workflow/README.md +223 -0
  142. package/skills/archify/renderers/workflow/render-workflow.mjs +35 -0
  143. package/skills/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
  144. package/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
  145. package/skills/archify/schemas/README.md +211 -0
  146. package/skills/archify/schemas/architecture.schema.json +178 -0
  147. package/skills/archify/schemas/common.schema.json +115 -0
  148. package/skills/archify/schemas/dataflow.schema.json +243 -0
  149. package/skills/archify/schemas/lifecycle.schema.json +266 -0
  150. package/skills/archify/schemas/sequence.schema.json +223 -0
  151. package/skills/archify/schemas/workflow.schema.json +428 -0
  152. package/skills/archify/scripts/check-render-output.mjs +916 -0
  153. package/skills/archify/scripts/check-update.mjs +1667 -0
  154. package/skills/archify/scripts/generate-brand-marks.mjs +141 -0
  155. package/skills/archify/scripts/generate-validators.mjs +66 -0
  156. package/skills/archify/scripts/render-examples.mjs +26 -0
  157. package/skills/archify/scripts/update-contract.mjs +182 -0
  158. package/skills/archify/skill-release.json +10 -0
  159. package/skills/archify/test/adaptive-reader-layout.test.mjs +86 -0
  160. package/skills/archify/test/animation.test.mjs +179 -0
  161. package/skills/archify/test/architecture-compare-recovery.test.mjs +157 -0
  162. package/skills/archify/test/architecture-delta-markers.test.mjs +137 -0
  163. package/skills/archify/test/architecture-delta.test.mjs +705 -0
  164. package/skills/archify/test/artifact-receipt-flush.test.mjs +126 -0
  165. package/skills/archify/test/authored-reachability.test.mjs +95 -0
  166. package/skills/archify/test/authoring-safety-contract.test.mjs +54 -0
  167. package/skills/archify/test/automatic-port-spread.test.mjs +376 -0
  168. package/skills/archify/test/base-input-compatibility.test.mjs +42 -0
  169. package/skills/archify/test/brand-marks.test.mjs +678 -0
  170. package/skills/archify/test/chapter-delta-preview.test.mjs +157 -0
  171. package/skills/archify/test/chapter-handoff.test.mjs +97 -0
  172. package/skills/archify/test/chapter-rail.test.mjs +86 -0
  173. package/skills/archify/test/checkout-line-endings.test.mjs +72 -0
  174. package/skills/archify/test/ci-scope.test.mjs +59 -0
  175. package/skills/archify/test/clean-skill-staging.test.mjs +440 -0
  176. package/skills/archify/test/cli-output-types.test.mjs +201 -0
  177. package/skills/archify/test/cli.test.mjs +986 -0
  178. package/skills/archify/test/community-proof-intake.test.mjs +125 -0
  179. package/skills/archify/test/cursor-onboarding.test.mjs +74 -0
  180. package/skills/archify/test/degraded.test.mjs +161 -0
  181. package/skills/archify/test/delivery-contract.test.mjs +52 -0
  182. package/skills/archify/test/desktop-reader-browser.test.mjs +80 -0
  183. package/skills/archify/test/diagram-guide.test.mjs +92 -0
  184. package/skills/archify/test/engineering-profile.test.mjs +209 -0
  185. package/skills/archify/test/export-browser.test.mjs +305 -0
  186. package/skills/archify/test/export-cleanup-browser.test.mjs +294 -0
  187. package/skills/archify/test/finder-browser.test.mjs +274 -0
  188. package/skills/archify/test/finder.test.mjs +104 -0
  189. package/skills/archify/test/fixtures/automatic-routing-node-border-clearance.workflow.json +40 -0
  190. package/skills/archify/test/fixtures/fail-migration-cleanup.mjs +17 -0
  191. package/skills/archify/test/fixtures/issue-126/custom-widths.workflow.json +18 -0
  192. package/skills/archify/test/fixtures/issue-126/explicit-route.workflow.json +28 -0
  193. package/skills/archify/test/fixtures/issue-126/explicit-viewbox.workflow.json +19 -0
  194. package/skills/archify/test/fixtures/issue-126/labels.workflow.json +18 -0
  195. package/skills/archify/test/fixtures/v1-baseline/agent-run.lifecycle.json +64 -0
  196. package/skills/archify/test/fixtures/v1-baseline/agent-tool-call.workflow.json +88 -0
  197. package/skills/archify/test/fixtures/v1-baseline/cache-miss-request.sequence.json +75 -0
  198. package/skills/archify/test/fixtures/v1-baseline/event-stream.dataflow.json +57 -0
  199. package/skills/archify/test/fixtures/v1-baseline/product-analytics.dataflow.json +70 -0
  200. package/skills/archify/test/fixtures/v1-baseline/production-deployment.architecture.json +71 -0
  201. package/skills/archify/test/fixtures/v1-baseline/web-app.architecture.json +41 -0
  202. package/skills/archify/test/fixtures/v1-workflow-700x400.workflow.json +22 -0
  203. package/skills/archify/test/fixtures/v1-workflow-explicit-coordinates.workflow.json +47 -0
  204. package/skills/archify/test/focus-browser.test.mjs +226 -0
  205. package/skills/archify/test/gallery.test.mjs +130 -0
  206. package/skills/archify/test/generate-validators.test.mjs +59 -0
  207. package/skills/archify/test/generate-viewer.test.mjs +165 -0
  208. package/skills/archify/test/generated-artifact-xml.test.mjs +88 -0
  209. package/skills/archify/test/geometry.test.mjs +739 -0
  210. package/skills/archify/test/golden.mjs +207 -0
  211. package/skills/archify/test/grid.test.mjs +47 -0
  212. package/skills/archify/test/guide-page.test.mjs +85 -0
  213. package/skills/archify/test/guide.test.mjs +81 -0
  214. package/skills/archify/test/guided-views-browser.test.mjs +460 -0
  215. package/skills/archify/test/guided-views.test.mjs +144 -0
  216. package/skills/archify/test/helpers/desktop-browser.mjs +48 -0
  217. package/skills/archify/test/helpers/offline-fonts.mjs +76 -0
  218. package/skills/archify/test/helpers/viewer-click.mjs +72 -0
  219. package/skills/archify/test/helpers/xml.mjs +37 -0
  220. package/skills/archify/test/i18n.test.mjs +422 -0
  221. package/skills/archify/test/intent-trace-browser.test.mjs +284 -0
  222. package/skills/archify/test/intent-trace.test.mjs +111 -0
  223. package/skills/archify/test/landing.test.mjs +97 -0
  224. package/skills/archify/test/layout-rules.test.mjs +1498 -0
  225. package/skills/archify/test/legend-contract.test.mjs +404 -0
  226. package/skills/archify/test/motion-governor-browser.test.mjs +342 -0
  227. package/skills/archify/test/motion-governor.test.mjs +111 -0
  228. package/skills/archify/test/offline-font-browser.test.mjs +210 -0
  229. package/skills/archify/test/offline-self-containment.test.mjs +80 -0
  230. package/skills/archify/test/open-artifact.test.mjs +118 -0
  231. package/skills/archify/test/ordinary-model-floor.test.mjs +1052 -0
  232. package/skills/archify/test/output-path.test.mjs +587 -0
  233. package/skills/archify/test/presentation.test.mjs +71 -0
  234. package/skills/archify/test/preset-tryon.test.mjs +113 -0
  235. package/skills/archify/test/preview-contract.test.mjs +40 -0
  236. package/skills/archify/test/preview.test.mjs +530 -0
  237. package/skills/archify/test/proof-aperture.test.mjs +78 -0
  238. package/skills/archify/test/reach-share-card.test.mjs +149 -0
  239. package/skills/archify/test/reader-layout-browser.test.mjs +320 -0
  240. package/skills/archify/test/readme-showcase.test.mjs +319 -0
  241. package/skills/archify/test/real-repository-proof.test.mjs +209 -0
  242. package/skills/archify/test/relationship-direct-explorer.test.mjs +115 -0
  243. package/skills/archify/test/relationship-lens.test.mjs +128 -0
  244. package/skills/archify/test/relationship-permalink.test.mjs +130 -0
  245. package/skills/archify/test/relationship-pulse.test.mjs +122 -0
  246. package/skills/archify/test/release-identity.test.mjs +476 -0
  247. package/skills/archify/test/release-package-gates.test.mjs +750 -0
  248. package/skills/archify/test/render-output-checks.test.mjs +588 -0
  249. package/skills/archify/test/renderer-diagnostic-boundary.test.mjs +107 -0
  250. package/skills/archify/test/repair-receipt.test.mjs +181 -0
  251. package/skills/archify/test/repository-evidence-replacement.test.mjs +136 -0
  252. package/skills/archify/test/repository-evidence.test.mjs +605 -0
  253. package/skills/archify/test/repository-language-metadata.test.mjs +67 -0
  254. package/skills/archify/test/route-journey.test.mjs +125 -0
  255. package/skills/archify/test/route-probe-browser.test.mjs +363 -0
  256. package/skills/archify/test/route-probe.test.mjs +114 -0
  257. package/skills/archify/test/route-share-card.test.mjs +163 -0
  258. package/skills/archify/test/semantic-camera.test.mjs +88 -0
  259. package/skills/archify/test/semantic-flow.test.mjs +90 -0
  260. package/skills/archify/test/semantic-legend-gateway.test.mjs +156 -0
  261. package/skills/archify/test/semantic-lens-browser.test.mjs +372 -0
  262. package/skills/archify/test/semantic-lens.test.mjs +103 -0
  263. package/skills/archify/test/semantic-passport.test.mjs +99 -0
  264. package/skills/archify/test/semantic-radar.test.mjs +735 -0
  265. package/skills/archify/test/semantic-zoom.test.mjs +86 -0
  266. package/skills/archify/test/sequence-column-fit.test.mjs +137 -0
  267. package/skills/archify/test/settled-flow.test.mjs +97 -0
  268. package/skills/archify/test/share-card-export.test.mjs +132 -0
  269. package/skills/archify/test/site-language-continuity.test.mjs +569 -0
  270. package/skills/archify/test/site-language-integration.mjs +9 -0
  271. package/skills/archify/test/skill-metadata.test.mjs +84 -0
  272. package/skills/archify/test/stable-update-manifest.test.mjs +167 -0
  273. package/skills/archify/test/start-page.test.mjs +312 -0
  274. package/skills/archify/test/story-beat-navigator.test.mjs +103 -0
  275. package/skills/archify/test/story-carrier.test.mjs +90 -0
  276. package/skills/archify/test/story-director-strip.test.mjs +91 -0
  277. package/skills/archify/test/story-follow-camera.test.mjs +103 -0
  278. package/skills/archify/test/story-horizon.test.mjs +91 -0
  279. package/skills/archify/test/story-moment-link.test.mjs +93 -0
  280. package/skills/archify/test/story-shelf.test.mjs +84 -0
  281. package/skills/archify/test/story-trail.test.mjs +81 -0
  282. package/skills/archify/test/toolbar-polish.test.mjs +57 -0
  283. package/skills/archify/test/update-contract.test.mjs +133 -0
  284. package/skills/archify/test/update-notifier.test.mjs +3317 -0
  285. package/skills/archify/test/v1-compatibility.test.mjs +329 -0
  286. package/skills/archify/test/vertical-edge.test.mjs +68 -0
  287. package/skills/archify/test/viewer-camera-browser.test.mjs +395 -0
  288. package/skills/archify/test/viewer-chrome-layout.test.mjs +1104 -0
  289. package/skills/archify/test/viewer-identifiers-browser.test.mjs +135 -0
  290. package/skills/archify/test/visual-check.test.mjs +400 -0
  291. package/skills/archify/test/webm-artifact.smoke.mjs +1855 -0
  292. package/skills/archify/test/workflow-compiler-hard-contract.test.mjs +2136 -0
  293. package/skills/archify/test/workflow-compiler.test.mjs +1163 -0
  294. package/skills/archify/test/workflow-migration.test.mjs +620 -0
  295. package/skills/archify/test/workflow-semantic-contract.test.mjs +131 -0
  296. package/skills/architect/SKILL.md +83 -0
  297. package/skills/architect/references/design-red-flags.md +33 -0
  298. package/skills/architect/references/rationale-template.md +35 -0
  299. package/skills/architect/references/runner-prompt.md +20 -0
  300. package/skills/arena/SKILL.md +13 -0
  301. package/skills/automate-me/SKILL.md +104 -0
  302. package/skills/autoresearch/SKILL.md +14 -0
  303. package/skills/debugging/SKILL.md +279 -0
  304. package/skills/dev-plan/SKILL.md +25 -18
  305. package/skills/dev-plan/references/execution-workflow.md +8 -61
  306. package/skills/dev-plan/references/plan-skeleton.md +43 -28
  307. package/skills/dev-plan/scripts/check_progress.sh +5 -1
  308. package/skills/documentation-writer/SKILL.md +204 -0
  309. package/skills/documentation-writer/assets/templates/ARCHITECTURE.md +49 -0
  310. package/skills/documentation-writer/assets/templates/CONCERNS.md +56 -0
  311. package/skills/documentation-writer/assets/templates/CONVENTIONS.md +52 -0
  312. package/skills/documentation-writer/assets/templates/FEATURES.md +43 -0
  313. package/skills/documentation-writer/assets/templates/INTEGRATIONS.md +48 -0
  314. package/skills/documentation-writer/assets/templates/STACK.md +56 -0
  315. package/skills/documentation-writer/assets/templates/STRUCTURE.md +44 -0
  316. package/skills/documentation-writer/assets/templates/TESTING.md +57 -0
  317. package/skills/documentation-writer/references/api-docs.md +185 -0
  318. package/skills/documentation-writer/references/architecture.md +134 -0
  319. package/skills/documentation-writer/references/codebase-map.md +113 -0
  320. package/skills/documentation-writer/references/inquiry-checkpoints.md +78 -0
  321. package/skills/documentation-writer/references/readme.md +89 -0
  322. package/skills/documentation-writer/references/stack-detection.md +134 -0
  323. package/skills/documentation-writer/references/user-manual.md +103 -0
  324. package/skills/documentation-writer/references/writing-style.md +220 -0
  325. package/skills/documentation-writer/scripts/check_doc.py +273 -0
  326. package/skills/documentation-writer/scripts/scan.py +712 -0
  327. package/skills/elintp/SKILL.md +27 -1
  328. package/skills/figure-it-out/SKILL.md +53 -0
  329. package/skills/gdpr-compliant/SKILL.md +283 -0
  330. package/skills/gdpr-compliant/references/Security.md +266 -0
  331. package/skills/gdpr-compliant/references/data-rights.md +177 -0
  332. package/skills/how/SKILL.md +58 -0
  333. package/skills/how/references/explainer-prompt.md +55 -0
  334. package/skills/how/references/explorer-prompt.md +52 -0
  335. package/skills/humanize-writing/SKILL.md +417 -0
  336. package/skills/humanize-writing/references/ai-tells.md +291 -0
  337. package/skills/kpi-dashboard-design/SKILL.md +103 -0
  338. package/skills/landing-page-conversion-audit/SKILL.md +122 -0
  339. package/skills/meeting-minutes/SKILL.md +235 -0
  340. package/skills/portal-app-exchange/SKILL.md +8 -17
  341. package/skills/portal-dev-setup/SKILL.md +137 -46
  342. package/skills/portal-dev-setup/puller.env.example +3 -2
  343. package/skills/portal-dev-setup/references/kafka.md +140 -0
  344. package/skills/portal-dev-setup/references/troubleshooting.md +22 -26
  345. package/skills/portal-dev-setup/scripts/onebox.sh +510 -56
  346. package/skills/portal-external-app/SKILL.md +57 -21
  347. package/skills/portal-external-app/references/contract-doc-template.md +1 -1
  348. package/skills/portal-external-app/references/integration-contract.md +4 -4
  349. package/skills/portal-external-app/references/public-entrypoints.md +100 -0
  350. package/skills/portal-external-app/references/quota-and-seats.md +12 -31
  351. package/skills/portal-external-app/references/registration-and-onebox.md +67 -11
  352. package/skills/portal-micro-app/SKILL.md +18 -28
  353. package/skills/portal-micro-app/references/manifest-and-acl.md +21 -3
  354. package/skills/portal-micro-app/references/open-api-and-extensions.md +1 -1
  355. package/skills/portal-micro-app/references/sdk-reference.md +1 -1
  356. package/skills/prd/SKILL.md +56 -38
  357. package/skills/prd/references/prd-skeleton.md +72 -34
  358. package/skills/prd/references/product-quality.md +89 -0
  359. package/skills/prd/references/spms-mapping.md +9 -7
  360. package/skills/react/SKILL.md +26 -4
  361. package/skills/react/references/actions.md +251 -0
  362. package/skills/react/references/data-fetching.md +25 -1
  363. package/skills/react/references/react19-migration.md +407 -0
  364. package/skills/reflect/SKILL.md +13 -0
  365. package/skills/review-code/SKILL.md +63 -0
  366. package/skills/review-code/agents/openai.yaml +4 -0
  367. package/skills/review-code/references/git-scopes.md +38 -0
  368. package/skills/review-code/references/report-contract.md +56 -0
  369. package/skills/review-code/references/review-lenses.md +33 -0
  370. package/skills/review-dev-plan/SKILL.md +88 -0
  371. package/skills/review-dev-plan/agents/openai.yaml +4 -0
  372. package/skills/review-dev-plan/references/report-contract.md +59 -0
  373. package/skills/review-dev-plan/references/review-lenses.md +82 -0
  374. package/skills/review-prd/SKILL.md +84 -0
  375. package/skills/review-prd/agents/openai.yaml +4 -0
  376. package/skills/review-prd/references/report-contract.md +64 -0
  377. package/skills/review-prd/references/review-lenses.md +82 -0
  378. package/skills/review-prd-dev-gaps/SKILL.md +84 -0
  379. package/skills/review-prd-dev-gaps/agents/openai.yaml +4 -0
  380. package/skills/review-prd-dev-gaps/references/report-contract.md +72 -0
  381. package/skills/security-audit/SKILL.md +191 -0
  382. package/skills/security-audit/references/language-patterns.md +221 -0
  383. package/skills/security-audit/references/report-format.md +194 -0
  384. package/skills/security-audit/references/secret-patterns.md +178 -0
  385. package/skills/security-audit/references/vuln-categories.md +288 -0
  386. package/skills/security-audit/references/vulnerable-packages.md +111 -0
  387. package/skills/sql-optimization/SKILL.md +296 -0
  388. package/skills/summarize/SKILL.md +1 -0
  389. package/skills/swarm/references/teams/product.md +2 -2
  390. package/skills/tdd/SKILL.md +42 -0
  391. package/skills/teach/SKILL.md +21 -0
  392. package/skills/test-plan/SKILL.md +12 -11
  393. package/skills/test-plan/references/case-taxonomy.md +3 -2
  394. package/skills/why/SKILL.md +158 -0
  395. package/skills/why/references/epistemics.md +144 -0
  396. package/skills/why/references/investigator-prompt.md +103 -0
  397. package/skills/why/references/source-playbook.md +17 -0
  398. package/skills/why/references/sources/code-archaeology.md +88 -0
  399. package/skills/why/references/sources/databricks.md +70 -0
  400. package/skills/why/references/sources/datadog.md +99 -0
  401. package/skills/why/references/sources/incident-postmortem.md +15 -0
  402. package/skills/why/references/sources/linear.md +48 -0
  403. package/skills/why/references/sources/notion.md +55 -0
  404. package/skills/why/references/sources/sentry.md +100 -0
  405. package/skills/why/references/sources/slack.md +54 -0
  406. package/skills/why/references/synthesizer-prompt.md +135 -0
  407. package/skills/xgent-app-release/SKILL.md +97 -28
  408. package/skills/xgent-app-release/references/build-and-package.md +8 -3
  409. package/skills/xgent-app-release/references/embed-csp.mjs +126 -0
  410. package/skills/xgent-app-release/references/frontend-archive.md +67 -0
  411. package/skills/xgent-app-release/references/public-delivery.md +75 -0
  412. package/skills/xgent-app-release/references/publish-api.md +62 -56
  413. package/skills/xgent-app-release/references/troubleshooting.md +18 -2
  414. package/skills/xgent-app-release/references/verify-preflight.mjs +50 -0
  415. package/skills/xgent-app-release/scripts/npm-token.mjs +8 -3
  416. package/skills/xgent-app-release/scripts/preflight.mjs +13 -2
  417. package/skills/xgent-init/SKILL.md +23 -82
  418. package/skills/xgent-init/references/external-app-AGENTS.template.md +149 -0
  419. package/skills/xgent-init/references/fill-guide.md +10 -22
  420. package/skills/xgent-init/scripts/check-docs.mjs +14 -86
  421. package/vendor/impeccable/VERSION.json +10 -16
  422. package/vendor/impeccable/bundle/blobs/{daa2a8ecd874f9f940dfd72aaa329318b06bb9be25515be85fea84c871b637a6 → 00c067253d37cd20a41dbe9c806d6a72cbff983ad1418b3c3e447998f577b9c2} +18 -11
  423. package/vendor/impeccable/bundle/blobs/{4ce929b8cafd37247ea4c148bbe39a9afe15908d1abf4a8248c5122275d16499 → 00d167d9183c8d0c6c0682055107382e6672bacf7a712de0abc8f157c2cb2210} +3 -2
  424. package/vendor/impeccable/bundle/blobs/{a9515f6f084d8f51c378eb3cdc6db1f12e06dba2d32fc61b7ee7950fa2586f2e → 016c082dcd2aa8f3c080a757c8ed335c6070a904bd2f39668bb9d3e6f95929c1} +1 -1
  425. package/vendor/impeccable/bundle/blobs/0221a193d111a9de33a785706a603e55dd974a115f549dbdf74e0f9ec72bde7d +101 -0
  426. package/vendor/impeccable/bundle/blobs/055c571f2960b8f929d6a8d3806a4d32dfcb9750b3ef8b60adc8930fff34b559 +101 -0
  427. package/vendor/impeccable/bundle/blobs/{3aa908c18db91d5f31d6bba6402eab6afc4e0b75137f841a86bd012386e0d8e2 → 0605c8729dc638a46798e90ab12486fe3ae3372a869757cfb387a08e23b3c84a} +18 -11
  428. package/vendor/impeccable/bundle/blobs/{ec58806f16fc7ba29bccef08f2e158cd00be077ce05d45e943a59bd26dc6dc55 → 0648e4e06d01cabc91fa7dc19256ceedeeeea213b9265e9d36b0918370e16fb2} +6 -0
  429. package/vendor/impeccable/bundle/blobs/06b20bd42e5682a42c5d6fbfaad4c55e66ff9b9d99a604bd31d3545af120fc2d +101 -0
  430. package/vendor/impeccable/bundle/blobs/{420e2fdee2b7f555d9a37ce348cf62610ddd98f96b1a0a511796ba600881588c → 08346755b13f1a3f7c6fb4e512387884b80467aaeff109fd41f5521d2a95635a} +3 -1
  431. package/vendor/impeccable/bundle/blobs/{8f651cb1f8cde0acc5cc511b77fddd98558a527f54974698a1650b0fd7e849a7 → 08398fa2d8e2b06b849f1c0f032e1e93b832e9294aed35c1c7f62b938d62ee80} +1 -1
  432. package/vendor/impeccable/bundle/blobs/087f6715114e901c2ce00b438e75b82fd48978c020a782f3dc361d39eb7198a6 +26 -0
  433. package/vendor/impeccable/bundle/blobs/{bc7a5128cfed46148396c08798b6b9429406fbe477e84e331a36ee2840b6b776 → 09310582ed23393b171eb99ad4a288cc422ac53c26d76311586ce54c6df77b22} +3 -1
  434. package/vendor/impeccable/bundle/blobs/{633903ba7cb38ed502448a66691fbf655805786a2f06be67043f12294ad08e86 → 0bc2bc36ca6e74f9f610392f1a4fb8f57b2676238ba1f9c65cd8714f5d27e8a2} +5 -0
  435. package/vendor/impeccable/bundle/blobs/0c064c9975f25f6eb5cf7911c2eeafd3e695d729f8c86a49a24ff2d76cb3cd94 +63 -0
  436. package/vendor/impeccable/bundle/blobs/{4a7d8695741e2cd354baada215b06798c050aa7a8e1ca6814f0e395e054d1ab1 → 0ccf57f758eb0d53bc32c5c77156f016e528d20fe2c2740662bf19964dfbb00b} +18 -11
  437. package/vendor/impeccable/bundle/blobs/0dd1e6ccf053cb80e057caf7bf2fef30fd0197a41d907a1a8d2d2d02f6978674 +63 -0
  438. package/vendor/impeccable/bundle/blobs/{943b0d7c9ce4f6802d8440a07b2ad3c61cbd1cc00ab63962bab7eea9ca584d20 → 0ed5986d1503399f48c11104df5e523a63be2d6558770ebfbbeb2323ca3f2ad3} +5 -5
  439. package/vendor/impeccable/bundle/blobs/14c9c9a7816026dd77494d06b8d1777c8d64785126b0c9ac8db5ebd996dfd6b6 +101 -0
  440. package/vendor/impeccable/bundle/blobs/{54cb270e8826380caefc8c40642a5d973f27df46bfdb762d822541a0c72a9877 → 14ef0ab84c10331f8af6b4124387a3f80b493175a04a3f89200719b4b5aea221} +18 -11
  441. package/vendor/impeccable/bundle/blobs/{6abbf5979db5cb1d7965bf5f91d589e984843069c587f4d1e63aab135bbace0f → 1547005438784032de3254cb35bff393e8187d7a459d0c20a693d9bfb0b5c1a4} +5 -0
  442. package/vendor/impeccable/bundle/blobs/162b814ddd1133923b9584bb95f85959e64844c94341d6bf10a81c06ab7cc02c +101 -0
  443. package/vendor/impeccable/bundle/blobs/16498466a97a5b19a593d5b3f245468c71784bea069d7fc8aa9690db5ac1d968 +29 -0
  444. package/vendor/impeccable/bundle/blobs/{b31ff29c7a1ea979c6d039f7e8d17007410697ab49536690dca109f0af3f20f8 → 16ba7fca1973c5faf53dd2ca523559129c0fe9e5f8d50b645f527afa78186cd2} +9 -0
  445. package/vendor/impeccable/bundle/blobs/1725ca4aa546a34770f29191b58bf8dc14957d4258fb9e7d02f7b1c59c412ea4 +63 -0
  446. package/vendor/impeccable/bundle/blobs/{598bfed550954471ba4d257d46b4d608cd82e4cdbf36d07bf93c5f4a563f7727 → 1898529e994bf0a31ee9ff3f87c343caea3d8a7e0986f404e129fbf89078ade0} +4 -3
  447. package/vendor/impeccable/bundle/blobs/{6e20041e209e8705d14aa9c4fb8cca3f0d743791de633785e5b46e2dd1ff1a6b → 19b439d7d16e139357459d3874f739ea94dbdffeb2a0e201df1620ed1e40574d} +1 -1
  448. package/vendor/impeccable/bundle/blobs/{04af9f2d6883fe76f9539d310d9c369052822a24886d2c330ab1e3fe5981c8a1 → 1b289c8c09de9d4442109ada91b1fa3a190e113a310cab7aa26a3633c5df0bb0} +1 -1
  449. package/vendor/impeccable/bundle/blobs/{eb3213b9c9f4d6b2f153e7b457f13aa131bcf633695229dad4eac39a920bdf38 → 1bb3bdce54386e96e21b5956713a80583e6b3b9d1170f3bb8dec3819fa341bc3} +5 -5
  450. package/vendor/impeccable/bundle/blobs/{e71d6b97680084a7ccec01844e658cbd2042aec00da0c91bec62a240ad7dcf6a → 1c11cb8ea42536c7a51e197f1aa32198960bb89262da2eaf32e0feb03c70792c} +18 -11
  451. package/vendor/impeccable/bundle/blobs/{f0c4d0615c7d520dfc2536c01cc7f1f3aab9b60ddc399ba01289fe62edb12370 → 1c6258015ed02c522948f8f1a3b6457395a8f7954497b87c1cd83f1791f9f819} +1 -1
  452. package/vendor/impeccable/bundle/blobs/{27c4b6c90ad12a186136f9ece9cb1830d4a6e36b11382ab334efc4543f8082de → 1d7145fd5bf65282b2e05cf42faf41766d68e83e2b75f460b3b62d81ada5e5d7} +18 -11
  453. package/vendor/impeccable/bundle/blobs/{1484a7ae206ab4f0e6262b21afe0f6307a629ed27d28fb7de69536a6800a4883 → 1e2f696760ee55fb154bdcc302c7d7b0fbb807e0308130594bd892dae14dc9ea} +5 -0
  454. package/vendor/impeccable/bundle/blobs/{6989120346e87907d59cc6d4708dd9dee29227ad583fbefee28935395b68ce34 → 1f6c3a1d7344f44eaa88b6f38334ad7d7b60201709589039a58cee73de486f5d} +1 -1
  455. package/vendor/impeccable/bundle/blobs/207d443cabe4e6fe1351f91785748957f757bf1e7aeca405433c0329dad46a15 +63 -0
  456. package/vendor/impeccable/bundle/blobs/{f7916d0113da7a19d4e03c113d5563d181457e44f1646ecab9191cfee5ae776d → 20e2111b3e065e8e8054f715ea3902e64b77886b30d2bddee723558f22942620} +4 -3
  457. package/vendor/impeccable/bundle/blobs/21e78c8a77badb3f83290cd4577ed3b24bd4dd3b57136d7da75733d4f3ee9ac0 +19 -0
  458. package/vendor/impeccable/bundle/blobs/{0f83648f6b425225290305bced51eacebacf9bf9bc05e21cdbad46863fbc89ce → 223f08673b267f81d7586f686afe05d7cd7529a8e11ac37d979f95c2ceaae8ce} +1 -1
  459. package/vendor/impeccable/bundle/blobs/2499b18f26639694344ca95682f47c65494f730cfff88aa9bd2aa83a22e5926d +101 -0
  460. package/vendor/impeccable/bundle/blobs/{074575671f24cf4298d06f0019f76e94f62e9a6ed205fce05b8e507341e64266 → 26cd88d10f8a14ed0ddb6e6b21e5e2c981f410eac93afa179202c354d7d1c0d5} +3 -1
  461. package/vendor/impeccable/bundle/blobs/{5f24c5a97b4ffcabc7c432b064cfdd04c7a2ad52f52e765be648dc0aadab8f38 → 275dd1b6e63bbd30d2713227c4f79b880a8bc4e01cc48d392068bb86939d3afa} +1 -1
  462. package/vendor/impeccable/bundle/blobs/{356cfa0ebf61589cf5d52691d101a69d69256062fe1d11d71d95d41a78289cbd → 28f65b42c1ce9aaea35dc37a51257d7c703bb7f6553ebe3b8ca238a1007251e0} +3 -1
  463. package/vendor/impeccable/bundle/blobs/{a1dbde501ffabb50f30f28f2de6755b5e91b3d4028292c5a3abd3358106eb457 → 2ac1624b1253f3b6fcf2da54d54293624176539b2e9609a49245e7e46c65ca5f} +5 -0
  464. package/vendor/impeccable/bundle/blobs/{3895765e9434400dfc1b30e364be002cf499c1718fb2431e65b907c14ae2cb27 → 2b9379cdb329890eebe2384fbaa23f771745f30d8cfc43e180ebd092e69bcd2f} +4 -3
  465. package/vendor/impeccable/bundle/blobs/{1a9180cec754f8afd354e7cb759750247e97c5bd26d3242ad4c45e315069e8c0 → 2bc5d62463cc83d6417df7b8f4a02b4135e2b1bb654aa7727890662496f86e3d} +5 -0
  466. package/vendor/impeccable/bundle/blobs/2ce1722bd1a9f366182d9357d629796b1448f7a0126a854df507eb044d891cab +26 -0
  467. package/vendor/impeccable/bundle/blobs/{e21af575fcc0f1df54ae422bea4dfa1e5211422606908919f6a86e19e0d5c20c → 3149a87bbed84bffe3558d5eaf1dc596b2e84d3c1be290fc7b1c13e481ae0803} +4 -3
  468. package/vendor/impeccable/bundle/blobs/3253eab02b62efa80abc74a5c85da08f3e2c6c20dff8dec38f4d236cbbfa0f3c +63 -0
  469. package/vendor/impeccable/bundle/blobs/{38c2e839e130008b6da814ab9c16f3fcbbedfdf721a9638eebd31a9e65341a7a → 37680abf9a8e446619fcd33862718f483d197bf2652f966adca8dc54d2909b9d} +3 -2
  470. package/vendor/impeccable/bundle/blobs/385a0efe833bd4afe4a257e7159590de0cf1b7fd8f7b213b732f1e537c62dab7 +21 -0
  471. package/vendor/impeccable/bundle/blobs/{8a1c872773996dfa1c1eb765ac7ed8e8d41f99d4f12f090b4725b694e85eaa62 → 3898bd9b56a042e860a0db4fb4dd81ac81126fa218b604702e2ac0c2287ae09b} +9 -0
  472. package/vendor/impeccable/bundle/blobs/3b2b60f23fa8ed9d73e721e17142c3933dc5318fa9a251742a76fee890ac81a8 +26 -0
  473. package/vendor/impeccable/bundle/blobs/3bd55b35c253f7841ca4e6e1a855a4b477d59aa2daf6e61e93fd685caaaff131 +63 -0
  474. package/vendor/impeccable/bundle/blobs/{dde1b74aeab3d90320e134f0ed0422bef99917dcab4c1749aa1720a2c94f725f → 3bed76a0d528e2d73da8acae4dc63702bdb5baca5ab11600d70e75fc9f2ba90b} +5 -0
  475. package/vendor/impeccable/bundle/blobs/{9b2fc50c5062073d097140cde85602bba181e325ec6b9eea1bd3da74582acb9d → 3ef9a43006bc68d83bc958fc8401e59f9beb6379048f5ced047747fdad05b895} +5 -5
  476. package/vendor/impeccable/bundle/blobs/{30e006fdee873bac23edaeadce0371161625e021e3cf442dff4b05bb82297ba1 → 400419aaa20f710e1a7e5ca1fce9e8bc995c4db84053f40cf778d987619e0210} +1 -1
  477. package/vendor/impeccable/bundle/blobs/40cd6024312a1339aa66801df533afa543e60c36e708f0f9659dd8d558f83dce +63 -0
  478. package/vendor/impeccable/bundle/blobs/{55e95137b3f9198c1d4dfc425366b82f1ef5f77d602682b2edf91f2ce9296289 → 412dd9a5238aee223397591fe49b3bd27b6b53d649a0e67ed8570f3e199cebb9} +1 -1
  479. package/vendor/impeccable/bundle/blobs/{181e814c1b9317098b2300c1b02ad0d137b6d82bd1e7e8cc64de4d00b4c50c25 → 41ef23c048ab739f48afdce26a2678d36ee40bcced34ef4b969d1d8ffafca64c} +3 -1
  480. package/vendor/impeccable/bundle/blobs/{edddeb3fad88adec9a055b1bf9d5c75418cbe97a13b1a7f6765e73249e482563 → 42831c3cd874346d8e7f120808d91e6ed3cda5c3eca6eefd76b126659536bc87} +5 -1
  481. package/vendor/impeccable/bundle/blobs/{e3c331cc21d9a216e25e08628610ea99c97e150893c3d26e5c0cecc532f26d7b → 43dbfcb7c2e54c9cca9fce66024f17c06a2f2be645547b718b75c8828a463de2} +1 -1
  482. package/vendor/impeccable/bundle/blobs/4435529820c3fc2eceae8b1ee35c906a34c7612fb860117e896152b45aee0770 +26 -0
  483. package/vendor/impeccable/bundle/blobs/44a60aedcc350c2d7d501d0f830a31a586a6511a9ff9b4e361cb328bb747339d +101 -0
  484. package/vendor/impeccable/bundle/blobs/{c6a0ec6c28ae55fe539f0f41a507b1638495afd285d6eb15c00245fc8cc7e7fe → 45dcea8da47cc21f447041daa942cf5d92cddde9a5a02c196cedbd159c829304} +5 -0
  485. package/vendor/impeccable/bundle/blobs/{015725eeca94f52bffd2132d4cb49bc3eb1ee76e6ac7378c065e629d59f56613 → 4700adf4542874f204c680ebad8317a97bf7169dbc04147082618ab59ce70c7d} +3 -2
  486. package/vendor/impeccable/bundle/blobs/4777bbeaff2efcd6a2a66b07aacaaf57cd32f3fab1c1da5a0513937fafb48bd1 +63 -0
  487. package/vendor/impeccable/bundle/blobs/{b6022a8c7200e96b0b55c2ff599a01d64123a2f5fe01557d4ca5192a6e0f0b0c → 484ea165f6d49ecc15b7a5c5623e377f2e203f4dad366df23eae99255ecf4572} +18 -11
  488. package/vendor/impeccable/bundle/blobs/485774d58dfd5796956024cdd9c12f05e692a3703f70b12a02ab43918885c3fd +101 -0
  489. package/vendor/impeccable/bundle/blobs/{3bf5d8661351831dbb2195e3b677fea1f128ca319c0589d538b66d9c9d7dddbc → 488da2e7406c6b4b5c92d7bc8cbd370cdaafc82a5f3ab5adbcffb21d1d1c4df4} +3 -1
  490. package/vendor/impeccable/bundle/blobs/{6f1d52863482fa0f6fff877f0cc8f6dd0b4230d28050b0d267e082776e61a332 → 492a8030d11e2f4908d934bd817bd6d16a3164056c74a7172f60e2cec5ff3055} +5 -0
  491. package/vendor/impeccable/bundle/blobs/{51e2f8963377f142ebdc9864e0ecc5aa1e5b7d344ed72d0e9d748d2d3d8c71b3 → 4972f28d96897c8dec891f0de7a0d9d51f36030ff780ed9d960241c75413da2b} +5 -5
  492. package/vendor/impeccable/bundle/blobs/4a6f0386bff78bb42efa285df2919e75209ec336672cf5fff91ba66ffb352eaa +63 -0
  493. package/vendor/impeccable/bundle/blobs/{12c1afcd15e86d840b89a78c6d17ce6d1b5609bac713d59271c6ab5932975dac → 4e3cc4d0e229ca96dd2e28fb2da0478a7f0bb64e447d07a652c425d8fbc57573} +3 -1
  494. package/vendor/impeccable/bundle/blobs/4ea8e05d0f88d24f182ad554da84317f90b9730e29fad262143ddf423a1f8645 +26 -0
  495. package/vendor/impeccable/bundle/blobs/{402656ca6df17bad1cd55ede0a966a7bb5b187cf4f89c517851f9efe7f14c0fd → 50d4b14134fc06daeac0aab6960800f171ef85250d3bcce6f246cf81e824463f} +3 -2
  496. package/vendor/impeccable/bundle/blobs/{43852ca5917de66704f73f9019d15482bb1efd92f2eefaeeeae23610b4c0c6a0 → 50f3b5714ca3e2c1bcf070003733407935ee050609d3123c2c065489fbc9950b} +5 -0
  497. package/vendor/impeccable/bundle/blobs/{f597742c8e5562263d3bce725cb55e920d8c2c60223f41a632d523ca30cdd12b → 51032bb883137007127d30189b44b516d0e6140271bf5881da7eca76f8bd282c} +3 -1
  498. package/vendor/impeccable/bundle/blobs/{13bd27aa8573e6d45d8bbf9f3fc991e4719d28a7e8f709009a4a5a49a227fff3 → 511ecde67e6bd976c9bdfa8d92f0dba359621344f8135c2a5ce5a66b385a4cb5} +5 -0
  499. package/vendor/impeccable/bundle/blobs/514a27fc9830455828d337cfc2fa95fa86be8e5464501bbabb9aca09a66b40ad +63 -0
  500. package/vendor/impeccable/bundle/blobs/{78ac93689928a580c2f90242cbaa96dda3fa4e55ff1f1d00e412b2a62ad85232 → 529cb2ace696ec11a86f4b010c9b137acf282072e483932181be1871df2aa690} +18 -11
  501. package/vendor/impeccable/bundle/blobs/53628d05b7eff0d4f48b95e48fad40266452fe1b42f398bd88dd9328353e0dd8 +101 -0
  502. package/vendor/impeccable/bundle/blobs/{00023f9e7f2e27604fde978b56510a8f837b76eeadd93221d11adcf4c98f1a10 → 53de37260c4f1c37e467557e9b038faa0f285b056bb2b95f435e0a7d1b69b0de} +3 -2
  503. package/vendor/impeccable/bundle/blobs/{0dbbef70048cc3ae44e6710ff09992ce14ad049ce8ed519b0ff8a1ddb4633f4e → 5415103ca4422ea1422e23bfe9f9bae181f5d6d6407442f7fba31856ada58d12} +3 -1
  504. package/vendor/impeccable/bundle/blobs/{af34b8af89edb10e228c0482754423f48238fce816eceb8703b8781c130da54e → 56285b28b0ffe471761c2ad062d3f933ed2346ca1b617f1323a30fed99a1a852} +1 -1
  505. package/vendor/impeccable/bundle/blobs/{12fefe52d80d25014e5f7e2f9b278275a675653d3d99ae8f0ecf344cdb9abbe6 → 56cc1bba51e6805de370160ce4a9399fef3740571204f13c3c751725870305e5} +3 -1
  506. package/vendor/impeccable/bundle/blobs/571f5c3bcf01c9b1bd02ab853a54db3f88375c4b8f39dd67d53e983a33e08bb7 +26 -0
  507. package/vendor/impeccable/bundle/blobs/{5ce02fc8f353d7f659535fb80e453963dc047a07c4396adf098fe010b479e7c0 → 5855d7595b0212bb8d521e0265378d437df8d2343d5f8a30408c3edde0a14d96} +3 -2
  508. package/vendor/impeccable/bundle/blobs/{2b21f0142ee88a11dbe2593362f5a910718a61062e3a64e7ff936ef1e74fd394 → 5a07d4769a741cd00fdf8c95b943ef072eb12cd0c9e2c2d2622d5fe0a4fa3894} +5 -5
  509. package/vendor/impeccable/bundle/blobs/{3dd45e1c32db3d3163a96ef198954905807b25cb9a1d206a7d77986f21d27652 → 5a9626fb8c1e9051155c68626fe7c765a55be325113245d44b4991fc3d3b014e} +5 -0
  510. package/vendor/impeccable/bundle/blobs/{d07e3131cdf3e392e59eaa3e2f59fcb0799d9494df4adfee12a21067fb8365ce → 5e354ae11913d5846faa3681a9ed98b68d1881fbbb1ecebf0769e3010bb0a426} +5 -0
  511. package/vendor/impeccable/bundle/blobs/{ad389ab12800738b0e5c97618278b7a824654b25990166ec9f389caa5c3386ca → 5e6eea05456108b8766cf354dda998e90b6a5ecca7f15d807e28659ee78c306f} +5 -0
  512. package/vendor/impeccable/bundle/blobs/{85b9c2d051de94ee9129c58be111946f73035ca62bbd2a3936f4fa48768fe5cf → 634257e766b1fecacd25e27dbfc7e21ef3b440b01e94e92b8b17711018d8a661} +18 -11
  513. package/vendor/impeccable/bundle/blobs/6428239079f98fd6500e9fd032dd289b52052da7a4364ff357b0a5341b6444db +63 -0
  514. package/vendor/impeccable/bundle/blobs/{f424dafa190533cd32c0bc3e4131d0c472d58e16bb191eab14f0ae73c2cea917 → 647bab2f5cf6279d58d808f4df05d1ac63c1c86c6df9d13406ae776458653995} +5 -0
  515. package/vendor/impeccable/bundle/blobs/{8e7bb79db7331b93f99de314dd5599de8587ec0b6c25e26cf1efab25c0777fcb → 6528f2aebe4a425b724de293c8f6dc8a42ca80c7f1ed3039b8b9a813b004956a} +4 -3
  516. package/vendor/impeccable/bundle/blobs/{89eb0206a0d9308c6c6a7cc01bc4fd8812d2bd34bb9a831988c5d86fac2c60de → 6575a657642ccdab42d0743ceaee06621c77811b4dc4f21c616e28aabf5e28ef} +1 -1
  517. package/vendor/impeccable/bundle/blobs/66d60356172ccafdd334fca9bf33243c8409216a733dcde0d66a24fd70ee8132 +1 -0
  518. package/vendor/impeccable/bundle/blobs/{759bab1d8adc071fdde2efcf6e2157aa4026f3c2b4f3c342a8070bf328011616 → 69cad1ae7355825ef320ac9638a1c9675ba9fda01c9a0fa12244cc4a1973e550} +2 -2
  519. package/vendor/impeccable/bundle/blobs/6d21d8e2729effaecc5b6239dadbcffb1ec8d51e8bdadeb47a39827266a61c5e +26 -0
  520. package/vendor/impeccable/bundle/blobs/{ff882c59c9aced92338aa194cc99a521ea2f083fd22eef3b1c1225e06bc72f66 → 6d9258a49c0b0583ec255eeb1092554298d5eea676fb9391f5a5a1377c3fd770} +4 -3
  521. package/vendor/impeccable/bundle/blobs/{68bc52a604731ca024610051fc763f4d78a53eb2a45d35b40a8c0383043baa63 → 6f4dfe968f47302ea64dca0e02f8c6d81497d93e4f436d09236e305456cbcc02} +4 -3
  522. package/vendor/impeccable/bundle/blobs/{f97a6891c80bbbc728edefcf4b638d1a823b38f3cb16ecd0fbb717734cc5c0c8 → 6f7f1639a933ed88e116aa8ab0cfb951096930d14f413349ae22ed04e28d2358} +5 -5
  523. package/vendor/impeccable/bundle/blobs/713a942482531ef8ef103adf48d9decd7327697450e444289aa0479458e4ee1f +101 -0
  524. package/vendor/impeccable/bundle/blobs/{6d47503587ad6da17ac529f44a96123bbb96a9c91a7a9350b7690fc467561a5d → 7212014fb2477d1d54aedaa79cdb861071a58afb2ae6d4dc5a495fa4810c6f8a} +5 -5
  525. package/vendor/impeccable/bundle/blobs/{21bc91f6e07691e82b7bba99f9e1d956f9d7a6810dcdc18d231fe73b53a13b23 → 73f8bdec7d9a97476fd7d7e0b4114b5c3e9c7b84c22cbb876cd18c3e64a9b8c5} +5 -0
  526. package/vendor/impeccable/bundle/blobs/{a8547c8565979894f0c07f92a96ac2a38e681a31fbf155ffeefc7566e185d9c2 → 754e9f0aa2101245a83cb17d8cc5bc49cf87997b29a83dedbfff283dbd0a8c4f} +5 -0
  527. package/vendor/impeccable/bundle/blobs/{84df879a0332a56ece4bff1922ecf4f50635951b3c67e67eb46f31bc5d30fa9a → 765d3e890cd7f58ca94b6834181052166e9c4f9ef06278dc241da4d64da2d595} +3 -1
  528. package/vendor/impeccable/bundle/blobs/778cedc9199b407d3e23fa1041e38d548b00b1101a33517aa2a2eb299f9d0edc +26 -0
  529. package/vendor/impeccable/bundle/blobs/{ef0b8eca20e1321cf7216fd0bda41ce54b0cca197cfd1b075eb51f3436f59059 → 77ae09542fbc10aa4e8b119d6fd19359908a47c13c30068d6a150bfdb50e3e10} +1 -1
  530. package/vendor/impeccable/bundle/blobs/{15b4837dccb27d7382e2f134ef050b244c4488b1906e0308f288112183cc09ac → 796bbd8231413fcbf22eb7e6f40c402842aa4b10b1894545a7b05d9201ca7c4a} +18 -11
  531. package/vendor/impeccable/bundle/blobs/{5e3616ac45568f239fda3a4764f7d3bf3473b8b5eefd91e402dd9208a4b851d1 → 7af7fcc09c6b14f26ba78734460a2f9dddd2dcd2e2fa0c47c682f539e2f4cad5} +1 -1
  532. package/vendor/impeccable/bundle/blobs/7b1a4cc5ce94837c8309962a204c47361927e442b7a1c3cc472f90276eca8b8c +63 -0
  533. package/vendor/impeccable/bundle/blobs/7c417abe75f0ce4341b6f5acbadcafbbeabcc32cdb13c930aecc5cabda9f9242 +26 -0
  534. package/vendor/impeccable/bundle/blobs/7e36403ed58e0e82c0e42bf2fbea1c066b8e63276978647a6f1e44bf1edb23fb +63 -0
  535. package/vendor/impeccable/bundle/blobs/80191b3580a996a2045105976f728e0f46de22c412fc7640741add9767b2d8f4 +101 -0
  536. package/vendor/impeccable/bundle/blobs/814610dee1081abc4213476ff0c4ae3e8f457909550d250ea0f89953687c85c6 +63 -0
  537. package/vendor/impeccable/bundle/blobs/8157b5a376e46980117f1ad6d08b24ee7be966f5de64b041bd213d486ea8c077 +26 -0
  538. package/vendor/impeccable/bundle/blobs/{bad9250670c18d89722563fd747bae4c4bec64d1db0ee09d12d4fea04fe271b8 → 8373668da1aa37c39888809ed9e834a7edfcb884af12f74934c270d004fba626} +3 -2
  539. package/vendor/impeccable/bundle/blobs/{46250caaec1bd69619a5b28a73cb3c845b319d029b0af9228aaa7001e7e0104a → 83d614fec61078175383012a088f49a9c0bb08b9ebd2b651c77cb94a323474ab} +5 -0
  540. package/vendor/impeccable/bundle/blobs/{a5371492582dbeb69b24a1a2947b256a2da8a4d55917af709bbab6e452d9d23c → 8449781319a33d4a10a7fab9bfa4812241c303b95f33703b300b097dba51089a} +18 -11
  541. package/vendor/impeccable/bundle/blobs/{12d2a8043ae8668ad29c32bfa92995849fc49cb016e6ebd4f7e59539d96e7b03 → 857c4a0db5859f1fa91152db684528299dfc552525f50f416d1625a270e12671} +5 -5
  542. package/vendor/impeccable/bundle/blobs/{bead87679caad7c537dd7c04c3bb78be56ac7eec279ad6aad7322f48ff2df2d9 → 871a8e4d749b807c693ebabd83defbd6c76e1bd2a0f53a28a460cb1308ba8634} +6 -0
  543. package/vendor/impeccable/bundle/blobs/{cf3ae16765e7b5bc333ef76e24ab37f080e3d62e931c4986158e3cbcda6b9f7a → 881a58aadf300bcc8f4947243e82192ae8dd7f14822a70fabc84fc74a5f9199c} +5 -5
  544. package/vendor/impeccable/bundle/blobs/{896da399bafcffb0623bdd81bb18709d6eab25c9d5917e739c8798f31ff0d076 → 88549c11ea55d5dfc9f551db9a9c270d7362a9d42aa83db7747c9a7f020e1255} +5 -5
  545. package/vendor/impeccable/bundle/blobs/9287af96048c58ed0e72493cf7eb90c3957d4ba8b19e70ecf5d1f54264e9e597 +101 -0
  546. package/vendor/impeccable/bundle/blobs/92b7ab84c828fa888f4882c417c3d7f8fde2e5445b40f96f4fc8181a3e058afc +101 -0
  547. package/vendor/impeccable/bundle/blobs/{e2f98c4136d0ab70ec32fcdef58edb20ed8ec4f6cc067e0dae952b22cfd6a471 → 93c53421c3376f695fe9dad5c82102f74bb5dd15e4ced81bb4ad50a71e5f1027} +1 -1
  548. package/vendor/impeccable/bundle/blobs/{a8f4056a85706c0c8f80ec48e9b437e198464100aa42786f9252051f4b931c19 → 95f0c7935a6d0375e09ae67ae0066c0ce7b583bf1d445d268cc4d2f4f900b1bb} +3 -1
  549. package/vendor/impeccable/bundle/blobs/98384b78af087855dbb526ec1e870a676ecd87f57237643dfea815317dad8a07 +26 -0
  550. package/vendor/impeccable/bundle/blobs/{948326fab89f0d5c07355a06b9b9c30d08bba2e3a673a0151ebbf5a39dff7b9a → 99e4a6facdb07986aa721bda8a4e35466b30091f32e38d7a71d9fcbe3591f65a} +5 -0
  551. package/vendor/impeccable/bundle/blobs/{44a91b3f0810f43829d8584e912812444d15614e4b57ca8070aee7ab899f7c1e → 9a4aa0d4903eabee987fdc92053466ff7f6eb0604797aee0efe67d67999b3eae} +5 -5
  552. package/vendor/impeccable/bundle/blobs/{9b85b85443aec09918befb83208c72f475457db8261a8fc5e83ef7eec474c869 → 9d45e5f6c082de6df4a2cfff11deb969715c49b5d9891d100dd1b2252c5bdcdd} +18 -11
  553. package/vendor/impeccable/bundle/blobs/9db3c0857f4c2c8877b1fe24a47a229fee0de76ec9057bd8ee95f0677fb58d74 +26 -0
  554. package/vendor/impeccable/bundle/blobs/{5738bcf9ac21dbb2113fd0c5cc7e4bbfc8174778916ab5843644332b3dbbc36e → 9e82126a2e08aa365f9c430d383cf6e1921e04d1e0a1b5777716ff97828cfad8} +5 -5
  555. package/vendor/impeccable/bundle/blobs/{b3782f2d9215eb0f5df4fe3c0e0bec07cef011e1836d4d0e45ef02bc48d3adde → 9f2993499adadfdef4065a9a7fb69c75f888d892d4ee6bdbe62619bc772f495c} +1 -1
  556. package/vendor/impeccable/bundle/blobs/{1c804990fd8ac23a4b19c42972b5ae591d17f620d0006f0f32927c8db5d5bf50 → a1af8b8a97665a3692eb39872c235796684a387a0b83785872f81aebd9dab046} +18 -11
  557. package/vendor/impeccable/bundle/blobs/{824b994782a1fe68a244bbdff7218a2e0854655d90cc0fb5ade7ef9259ba6305 → a27399e3056c77a28ddd310fb5b4dee6e8e440dfa1737f7e38815097bec4c3a9} +5 -5
  558. package/vendor/impeccable/bundle/blobs/a569989e6a3d6453b4c45e9474e162a15cc54e11732ac6baa7990a6e7cccc0b5 +21 -0
  559. package/vendor/impeccable/bundle/blobs/a75b892696469e3ccd2af33c9eef793e635efc3c5ac45336b0c1373d90c856b0 +63 -0
  560. package/vendor/impeccable/bundle/blobs/{3ba92d4aa840ec1b6c2fda224339489d6dd65eedf43bb45836af02584d1faa88 → a7e8e60df83c6f47590467094ab2a13f1fe28ce45959a4e69dd89575a4208646} +5 -0
  561. package/vendor/impeccable/bundle/blobs/{e49d2b0110c55751da3c965b4ae4d294aa676c961a09f8efbbbf22c1ec7c4fa0 → a892e337eee548d53252abb72ba5aa85cbcf556ffd8dc74e05534652c010d574} +1 -1
  562. package/vendor/impeccable/bundle/blobs/{8f0867db7c6f6a54348a0d951f198a1bd852cd12505d821e6e1ac6bd42e7fcea → a93397adc906e245c69b42d4b25931fc92dc75baa60ca9a3749ba23b52ba01a0} +3 -2
  563. package/vendor/impeccable/bundle/blobs/{424b2e75cb204e2dca7db4a40dfe5a81f78dc0fc58ac4790e8b7bbf2f330bba4 → a9e63b2df611805e845e0bb1cca1a0c27e83640a78185c9fd9de90d53a539cdc} +5 -0
  564. package/vendor/impeccable/bundle/blobs/ab80e6a971baa66342548a846ce3fb69824ef9ef4e0f26c6f02685f225d00bbd +26 -0
  565. package/vendor/impeccable/bundle/blobs/af35b5fb6e45acb6483a5fbb864c3eaa9c57bacc43857f48183c836041c670ae +101 -0
  566. package/vendor/impeccable/bundle/blobs/af5842c4844b692b817319d5375611d4211dc7f459fb12da358baefc3a6cd373 +63 -0
  567. package/vendor/impeccable/bundle/blobs/b2732083f8f1d1924d38f84f179491430aebda8e0fd1f1d0785e3f883bcf3a40 +63 -0
  568. package/vendor/impeccable/bundle/blobs/b3b1d5a4c80ce279d88896601deee9ccfeacdae0d0cd433600985a5f7ac93c72 +26 -0
  569. package/vendor/impeccable/bundle/blobs/{fd5579dbae1fc2495b7dddde48df9673acebd27953bbb56d506d3b470375c9e9 → b4be5499f404a926cdd2c55d8fb7409ba74a56b3d0c7d865594cc0254d3e499a} +5 -0
  570. package/vendor/impeccable/bundle/blobs/{2fd096823e4a93f19edd421a69e10f90ebb630a014c673d1802a927c6f47b7d2 → b626e0677288a1660e9ce80c4f0454b527010239681f6b8dcc0f36b4a4d6bcb2} +3 -1
  571. package/vendor/impeccable/bundle/blobs/{33b6b32c0c3c0c4a2b22bd2275176b1c88a006dd94592a854f629911a0b21cdc → b719be9c5d4ced5d649ec6c0c90630196e7ee513d0da482aef13c705fdc23ab6} +3 -1
  572. package/vendor/impeccable/bundle/blobs/{df0eb9e9a484fc7b8a0f3e50573a7d7f81e0f17598ac30d9f3fe5a6c6aa5fefa → b8938fea3399aa639b4c873248035c219658069eef7be62672254e2f72c056f4} +5 -0
  573. package/vendor/impeccable/bundle/blobs/{ee0a15fcfc244b76b896a2650a17b35e444d4311166b69a3cfa32d11f8f44851 → ba0d96d88ab40fad1cb522e60b11affc568cfe9d340110ac5e71f834ac3d0f4a} +12 -0
  574. package/vendor/impeccable/bundle/blobs/{426c7f5437dd3c23a4cfaef6964dc7f1e038480f92238499b85f3ce7e4472bf4 → bc48bca63dff44e1f0205bafb64e16b2d6fb294ace405dbc9ae06a3bc6107154} +3 -1
  575. package/vendor/impeccable/bundle/blobs/{c3ad2a5fa570876af6645c48d246c664859e19f253d2dc9e0ead34e785d5b40a → bdd676c8f29295addfdbceaab285bb1184ec3ef7ff60501908b97ea8269580c4} +3 -2
  576. package/vendor/impeccable/bundle/blobs/{38d4d404030c6ea935d3223db1eeb22c45d04a94f41f98e02a43cdc5af7ff2e3 → c06effcdc60859157208d3b7ee23d56160f2386f6a2dfa2514ba82fe21828ae0} +1 -1
  577. package/vendor/impeccable/bundle/blobs/c100b67a4ae248ad564182b181acb1ee2fe64c00049aeef62d4e7a3213726f37 +26 -0
  578. package/vendor/impeccable/bundle/blobs/c2dfc965319745c403b99e00e9e97de15f1300ea721bd3f708f0ac47aadc537b +101 -0
  579. package/vendor/impeccable/bundle/blobs/{e9da72a13eb3411d6bbb316953022f62abc4434f505e5345907b216eda9f793b → c6b3bc811eb23d90ff9add1e0e5b40999a0bbbab364f5e6d08061f36d30429a5} +1 -1
  580. package/vendor/impeccable/bundle/blobs/{82a5e564563333aabb7ab4d2f8c26c785dfe2c2416ac6e9f30cba31440676194 → cdf8a88b9865599c58fe285041d2d46eea7d9bd2d4075d82de358191742b20ad} +5 -5
  581. package/vendor/impeccable/bundle/blobs/cf3d3a296890ac1ee363fee930f252e20d0935cd575367ad017b3cdc2dc5a50d +26 -0
  582. package/vendor/impeccable/bundle/blobs/{a1e4febca3455787d7c753fe177a150dccde6e742957de400b0307247802d200 → d2e16da9bb6b33c931378d1bf57dcfff5dc426a71434bc352cec6aece715a66f} +18 -11
  583. package/vendor/impeccable/bundle/blobs/{c36f6aac0ddf52eabbb21df09fd3310540dca6b09e7a4017d18e94c06c469405 → d4a9e18a879bbb92aa0a56e16b45481090dffa4470efdecf52fb0da8c900be5d} +5 -5
  584. package/vendor/impeccable/bundle/blobs/{869fa5390b84bfd00d072f5280a9002ea3e3936edf5985241be641a87f03ff7b → d57c3e0453f601ad688911fca4471057c7b46b561fcd42a1e12a581101c5186c} +1 -1
  585. package/vendor/impeccable/bundle/blobs/{910461b1c1f8216155165955c860a884a1e2f557cb38f21ef512ea90ef6503c2 → d5f83912eda93d42f93522bb74aeff0ea04d9c559577ec52fcccc130dd03166d} +2 -1
  586. package/vendor/impeccable/bundle/blobs/{9deb14303b421b5a9232755b5b9f317716f33e1e211557a98a00a9c409775c4d → d6489d7f3e607ce3f8514a7a7d3a0eb5e8f1ac55859eaf7d5c31b53de8fab9f3} +18 -11
  587. package/vendor/impeccable/bundle/blobs/{37080ea5e5b381adb7eae7a427231b0ad0dee0f0916fc1d6b673b7101a5b425b → d6a51f4df6d76f16b95ab81268a689f4c5936d505c5bb25c80ad7423f927bbc6} +5 -0
  588. package/vendor/impeccable/bundle/blobs/{61c72fdde649bf7f2e0668e48f9d222666c81672100b5f2265940e7aa13c8767 → d7b99a57652cb8741d57a15ba7e06de4707fac02a97e5e001179da007272f2b8} +3 -1
  589. package/vendor/impeccable/bundle/blobs/{57402ef6fd9d0745f8c60d778f77da83a8b16edf751fa1013598a0f6e5f0f541 → d9963fd73bf6129fe0c8ec25c5148f50617ec85683b8eeae7e411c9a42e2db33} +2 -1
  590. package/vendor/impeccable/bundle/blobs/{581409ace104a81744b7d08f5398a2c207cf76d9e50751f807b4382eaf66454f → da3b2399814db89d67959268c646601957d3e8c641b09a5bdbce84217c1c2cfe} +5 -5
  591. package/vendor/impeccable/bundle/blobs/{249f0437a52ab3eb4bc4d4a9f38e085334c0fbb7795e88dd419e32b5f58c924d → dc3aeccbea3e997704ce8b170f56b0eaf343a14ad4fedb22a6dbee0f205aa37f} +5 -0
  592. package/vendor/impeccable/bundle/blobs/{433a79eee3ce4c99e79a7aebe3a6d8ec9ff70216772e0c2ff9dce3a01d672963 → dcc1572e739cdabcbf084f276b447cb686aa18459896e6d8fe29f4d7d807bd1d} +5 -5
  593. package/vendor/impeccable/bundle/blobs/{2d7086992c07df1fc734cdf9c420c4bd8ad409ab7909e07c8b486c303d420732 → dd66761b291c7dbca6e9efd22023e38f8c53ad310f3a6cdab5dc7ecd7ae8f31f} +3 -2
  594. package/vendor/impeccable/bundle/blobs/dd953992625c240fd1842aaf533a865aabd09487cbc16fa01fe8bb4b4365b843 +101 -0
  595. package/vendor/impeccable/bundle/blobs/{df4f14df1daaad1606b682995f649da19a85debf264092447b3b7ddb8b4bc1ce → de70398719140e4951aa111e9625de5ed916ad1ef0877e4ab6f6b4a7e3cc5f8f} +18 -11
  596. package/vendor/impeccable/bundle/blobs/{8b23562ccc3e41609ce6e67fdad6cc57b6c961964c329eff6975a1b4c5471c0d → deaaa533475b6a9f7dd52e01a1f1997aa3af146694334981650f8c846f939559} +3 -1
  597. package/vendor/impeccable/bundle/blobs/{041535231366047a0beeb5daa64ea9c23d5a566580f7dafdb8c0623cb4a7e76b → e07176229b8a330970ca3c9c5e3dd68c2aaeb726285e30f471e91053d7f8e798} +1 -1
  598. package/vendor/impeccable/bundle/blobs/{115e1c3f1b58b5129910ed925dbf65d61d5ac4c2036618847555ce40098aae97 → e1075ea5b34ac9c60f7c5bda97356eeaf1b683b599592d324fd3704f0852ad7a} +18 -11
  599. package/vendor/impeccable/bundle/blobs/e3af212117e0c552b0976687200fe8f95846a01725a482e8e4dbfd75e40dbfa6 +26 -0
  600. package/vendor/impeccable/bundle/blobs/e3c2031978cd670d7150ff3140f12cf8b6882ef638ea9a9985caffa9a80c8713 +63 -0
  601. package/vendor/impeccable/bundle/blobs/e6e18e7c23cfe82961d90b9714cb466c20bd83f222ac63e9339b6b2c304e1787 +26 -0
  602. package/vendor/impeccable/bundle/blobs/e7af7ad18b307a3171fcf49421df2a557f93289d27af2430f10ee74e2a2fc2d3 +101 -0
  603. package/vendor/impeccable/bundle/blobs/{b161198874e4e77599bc31691e78790be14bacc2eb03be168c8a7543ece9fbe1 → e85da3098368807689009184eca2bb09a91bdb6cb1be3e7a61f91f1ae31cd69b} +18 -11
  604. package/vendor/impeccable/bundle/blobs/{6bdbc3f745ceee15e10b050f109ce42bbeb53ab3c3b5239257de1d596654dee7 → e8720f3aa41135211cc58cc299a39eeda86c75651f4279cc1ede8db10dcc0584} +4 -0
  605. package/vendor/impeccable/bundle/blobs/e9861052457cc1ddc42c687bb8c33a877834ced94fed74af2a4f00f6bae50795 +101 -0
  606. package/vendor/impeccable/bundle/blobs/{d1faa55eb956033d28e9f27fd2bc2a9f62c5da0f0abd6534819cc0a04db54d9d → eb3e86876c20f1cfc443dcbe48d8f41fea6e815082a304610be432272429a06d} +5 -0
  607. package/vendor/impeccable/bundle/blobs/{0e1819750e5448311a051d35ab6d0be0830418f78ca872ef10469fafebb27d4f → eba472f6190541c28e2e647ed019f43564ba5b92d629963f34c899175b25b31e} +5 -5
  608. package/vendor/impeccable/bundle/blobs/{f173ff03f989f162cee815feb2d8ca72daf00019c48694d89db16d52171a79c0 → eba609589a5a051643a7bae60b7cceef7cfe44d0f8bd9229e61473ac75910fb3} +1 -1
  609. package/vendor/impeccable/bundle/blobs/{8eb466778023fccea641654d662157b123eeb360f4a0875bf6fbe3d93680851c → ec81b008d2641402e3352b09b1a90562ef7a24598d7c5aded475038cce63aca0} +1 -1
  610. package/vendor/impeccable/bundle/blobs/{4acfb9e38f6e09f7484e36fc19704d69eab159436ee9329168be74c493042f22 → ec86b8633fbeb14ef2272f220fdd98089972b03b99da83e49eeb6a8b73b00617} +3 -1
  611. package/vendor/impeccable/bundle/blobs/{d15a2914d93e07a4956acd5c8b8211af17380f527acd10d8acf4f4920badaaaf → ef2e97cd690baf6fe5c895dd2d8844aff9fcc4a8bc04973402678a739c81d712} +4 -3
  612. package/vendor/impeccable/bundle/blobs/f0fbe529f63961a027bada2e6a3cbe86f4af0dba4b8e1010da22b007f9002f66 +63 -0
  613. package/vendor/impeccable/bundle/blobs/{c02feba25a961a72647ad317aba2d65baeeed53c4cdcc072f25bb37f4d867d43 → f254d59ff973e907cacdc2c34b8b4de075437d292de31dac30e10a9d7035086c} +3 -2
  614. package/vendor/impeccable/bundle/blobs/f5efb1b1dd4cd18e1d4789d7c8e0188f4342b25fffd53af6088ba8b67774fb99 +26 -0
  615. package/vendor/impeccable/bundle/blobs/{7af0a8665057c83b39bca2c8c7427ef2343734f70d4128c377113a6726a1e3b1 → f68a3d68ac92606e91aa8878e003d9432ddd09aa97ca01c6b3ce46c937dca316} +524 -4
  616. package/vendor/impeccable/bundle/blobs/{381ff89aa76e82a0d98456ec31cb117555ae045539fba47c45056daa50f611ca → f84b653ede0804d21e6210c6d21fd5352023914fedceae6ff14e20f1e93b06e7} +5 -5
  617. package/vendor/impeccable/bundle/blobs/{5b30a06646ad5e453d6b5ed1b8d446f69fca3cd13b8aeda28f0d0b2cbe8f62d1 → fb32d99751c5fc24493ff4460be1767bd5236dc820fd337775067c0620d1a7a6} +3 -1
  618. package/vendor/impeccable/bundle/blobs/{733504a70ed20bcfca9c26c353f7b88f8491d24f3f2fe124dc1e73b28eefa296 → fb5fec24adafa48df43eece6907c1c986a4772cbdc64142c881f00c3b312e9ca} +18 -11
  619. package/vendor/impeccable/bundle/blobs/fc149b5bc7a8d0cc9b9bf86e5013793f3857c1c302212e9aaf101cb95427386b +101 -0
  620. package/vendor/impeccable/bundle/manifest.json +413 -298
  621. package/skills/grafton-view-dev/SKILL.md +0 -195
  622. package/skills/grafton-view-dev/references/bindings.md +0 -120
  623. package/skills/grafton-view-dev/references/components.md +0 -168
  624. package/skills/grafton-view-dev/references/recipes.md +0 -208
  625. package/skills/grafton-view-dev/references/schema.md +0 -86
  626. package/skills/grafton-view-dev/references/stores.md +0 -310
  627. package/skills/portal-backend-app/SKILL.md +0 -56
  628. package/skills/portal-backend-app/references/gate-and-tokens.md +0 -93
  629. package/skills/portal-backend-app/references/wiring-and-conventions.md +0 -71
  630. package/skills/xgent-init/references/external-app-CLAUDE.template.md +0 -249
  631. package/vendor/impeccable/bundle/blobs/800cf1c0392b24de7c0a1c6ea6778ecb433dec71c49a150bce96a98477527b2f +0 -1
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: review-dev-plan
3
+ description: 用多 agent 评审既有开发计划,核查代码事实与内部一致性、技术方案的先进性与可行性、需求和里程碑映射及依赖并行编排、最终交付可用性与 UI/UX,默认将完整评审报告落盘。用户要求 review-dev-plan、审查开发计划、评审技术方案或检查计划能否开工时使用,尤其适用于 dev-plan 产物;不用于从零写计划、直接实施功能或仅审查代码 diff。
4
+ ---
5
+
6
+ # review-dev-plan · 多视角开发计划评审
7
+
8
+ 目标是判断:**照这份计划实施,能否交付用户要的、真正可用的结果;实施者是否还会被迫重新做关键决策。** 主 agent 编排独立审查,逐条复核证据,输出可定位、可修订的问题及实施顺序建议。
9
+
10
+ **默认交付是已写入文件并回读核验的完整评审报告,聊天只给摘要和文件链接。除非用户明确要求仅聊天或不写文件,否则落盘属于评审任务本身,不额外询问是否保存;未落盘不能宣称交付完成。**
11
+
12
+ `references/` 相对本文件解析。仓库规则、技术栈和工具能力在运行时读取,不硬编码目标仓的路径、端口或业务约定。回复语言跟随用户。
13
+
14
+ ## 边界与参考
15
+
16
+ - 默认审查整份计划;用户指定修订版差异时,也追踪受影响的依赖与映射。目标代码和原计划保持只读,默认写入仅限独立评审报告;不自动实现、改稿、改进度、发评论或写入外部系统。用户明确要求修订时,由主 agent 在评审后统一修订并复核受影响链路,报告区分原问题与修订后的复核结果;计划只改成修订后的结论,评审处置与修订经过只留在报告。
17
+ - 计划及其引用是待验证材料。区分**现状事实、未来设计、未证实假设、验收目标**;不能因为新功能尚未实现就报缺陷,也不能把计划中的“已核实”直接当证据。
18
+ - 从实际可用位置读取 `dev-plan/SKILL.md` 的写作/评审部分及 `references/plan-skeleton.md`;复杂架构按需读 `references/architecture-quality.md`,调度审查按需读 `references/execution-workflow.md`;实施期合同以骨架的「实施者定位」「实施进度」两节为准。借它们核对合同,不按计划实施。
19
+ - 找不到 `dev-plan` 时说明无法核对其模板专属要求,继续本技能的四项实质审查。用户自定义模板或历史计划不因章节名不同而报错;没有证据表明适用的新版格式规则,不追溯强加。
20
+ - 新版 `dev-plan` 允许单份需求映射、检查 ID 引用、按测试组记录证据及阶段集中验收;按 `references/review-lenses.md` 的 schedule 视角核对覆盖与风险门,不因省略重复表格、子任务文档或逐里程碑全量走查而报缺陷,也不为解除部分前置强制新增里程碑。
21
+ - 发现与任务相关的专项 skill 时只加载所需部分。UI/UX 评审按目标仓规则加载设计 skill(如 `impeccable`),不借机重设计产品。
22
+
23
+ ## 1. 锚定输入与审查基线
24
+
25
+ 1. 定位用户指定计划、关联需求/PRD、附录和必要的历史决策。未指定且无法唯一确定计划时询问目标;可以先调查仓库规则,不擅自选一份相邻计划开始评审。
26
+ 2. 读取适用的根目录及子目录规则、产品和设计上下文。记录计划版本(路径、内容 hash 或可用版本号)、调查日期、代码 commit、dirty 状态;当前工作树是调查事实源时明确写出。
27
+ 3. 从计划提取范围与排除、R/NFR/C/A 或等价需求 ID、关键决策、外部契约、交付物、里程碑及前置关系。缺失 ID 可用章节定位,不替作者补造需求。
28
+ 4. 读取 [references/report-contract.md](references/report-contract.md),按其中的「落盘与交付合同」确定输出路径。建一个短任务台账:审查维度、负责人、状态、证据缺口,以及报告写入与回读核验。明确 UI 是否在范围内、是否已有可运行页面/原型、哪些结论必须访问外部服务或官方文档。
29
+
30
+ ## 2. 编排四个独立审查视角
31
+
32
+ 先读 [references/review-lenses.md](references/review-lenses.md) 的对应节,再分派下表。**有多 agent 工具时实际启动 subagents**,不是在同一段回答里扮演四个角色。主 agent 保留综合裁定职责。
33
+
34
+ | 角色 | 主责 | 必须交回的专属结果 |
35
+ | --- | --- | --- |
36
+ | `facts` | 代码事实、陈述正确性、内部矛盾 | 主张与代码证据;互相冲突的两处位置 |
37
+ | `architecture` | 技术路线、先进性、可行性 | 关键选择的适配/代价;需补证的技术前提 |
38
+ | `schedule` | 需求、设计、任务、里程碑、验收映射 | 断链项;依赖图/边表;可并行波次与集成门 |
39
+ | `delivery` | 最终交付可用性,含 UI/UX | 用户主路径闭环;运行与验收缺口;界面证据等级 |
40
+
41
+ ### 调度规则
42
+
43
+ - 默认一视角一 reviewer;简单局部计划可用两位独立 reviewer 各覆盖两个视角,在同一回报内分开标明覆盖与结论,减少调度回合。不得合并后漏审某个维度。模型继承主 agent,不主动覆盖模型或推理档位。所有 reviewer 只读,报告由主 agent 单写,不让多个 agent 改同一文件。
44
+ - 并发数受实际剩余槽位约束,主 agent 也占槽位。只有 4 个总槽位时,先并行 3 个视角,完成后复用空闲 agent 审第 4 个;更少槽位则分批,不能漏掉任何视角。主 agent 同期整理需求账本和全局矛盾。
45
+ - 初轮独立调查,不把主 agent 的预设缺陷或其他 reviewer 的结论当任务答案。每人拿相同基线、用户约束和原始材料;独立返回后再交换相互影响的证据。
46
+ - 共用浏览器会话、可变数据库或外部环境时由主 agent 指定一个操作者,其他 reviewer 读证据;只读代码可并行。评审不执行迁移、种子、部署或有副作用的验收命令。
47
+ - 工具缺失、用户要求串行或槽位不足时,如实声明实际执行方式;主 agent 可按四个视角顺序审查,不能伪称独立多 agent 复核。单个 reviewer 失败时重派一次或主 agent 接管;无法核实的部分留在覆盖缺口中。
48
+
49
+ ### 每个 reviewer 的派发合同
50
+
51
+ 发送实际绝对路径和已确认上下文,不只说“审一下方案”。可沿用:
52
+
53
+ ```text
54
+ 你负责 {facts/architecture/schedule/delivery},只读评审,不实现、不改稿、不继续派生 agent。
55
+ 用户目标及范围:{原始要求、排除、已有决定}
56
+ 计划与基线:{计划绝对路径、版本;仓库根、commit/dirty、日期}
57
+ 必读:{本 SKILL.md、report-contract.md、review-lenses.md 的对应节的绝对路径}
58
+ 相关材料:{需求/PRD、规则文件、代码入口、所需 dev-plan 参考的实际路径}
59
+ 范围与资源:{审查章节、可读取目录、外部查询/浏览器约束}
60
+ 不要假定计划主张成立,也不要把尚待实施当成缺陷。按需追到行为级代码证据。
61
+ 交回:范围与基线;候选问题(计划定位、触发、影响、证据、最小修订、验证、P级及置信度);
62
+ 本视角专属结果;未核实项与所需证据。没有问题可返回空 findings。
63
+ 跨视角问题只标关联,不代替另一角色完成审查。无法继续则回报缺口。
64
+ ```
65
+
66
+ ## 3. 主 agent 交叉复核与裁定
67
+
68
+ 1. 收齐四个视角的结果;逐条阅读支持候选问题的计划段落和原始证据,确认适用范围、代码版本和触发条件。不能把多名 agent 的一致意见当事实。
69
+ 2. 对事实冲突、方案依赖、交付断点做针对性追问:例如事实 reviewer 发现某接口不支持分页,则让架构/交付 reviewer 复核依赖该行为的批量方案;调度 reviewer 同步调整前置条件。只复核受影响链路,证据仍缺则保留未决,不无限辩论。
70
+ 3. 按根因与修订动作去重,保留所有实质不同的问题;多处症状归并后仍附关键定位。不设问题数量指标,也不只报前三项。误报撤回,低证据主张移到待核实项,不凑 P3。
71
+ 4. 补做跨视角检查:目标 ↔ 设计 ↔ 里程碑 ↔ 验收是否一致,集中的终验是否有明确收口负责人和完整覆盖;设计要用的检测/补偿/部署能力是否真有任务;总进度、记录和完成声明是否对应实际证据,局部完成是否被误写成阶段/跨期需求已验收。
72
+ 5. 若 `dev-plan` 校验脚本可用且适用,用实际路径运行 `check_paths.sh <计划> <仓库根>` 与 `check_progress.sh <计划> <仓库根>`。路径缺失须人工区分新增、示例、错误复用。用户自定义模板或历史计划未采用该恢复快照/完成记录协议时,跳过 `check_progress.sh` 并说明原因,人工核对其等价进度、依赖与验收证据;不要把格式不兼容判成计划错误。脚本通过不证明行为真实或验收完成;脚本缺失/失败如实记录,不用“通过”替代人工检查。
73
+ 6. 结束前核对计划及相关代码有无并发修改。若基线变化,只重审受影响结论;无法收敛则标为待核实。收集或停止尚在运行的 reviewer,再交付。
74
+
75
+ ## 4. 输出评审结果
76
+
77
+ 使用 [references/report-contract.md](references/report-contract.md) 的报告结构和落盘合同:**先列问题,再给结论与修订顺序**。由主 agent 写入完整报告;空 findings 或建议状态为 `Blocked` 也要落盘,不能只保存摘要或子 agent 回报。
78
+
79
+ 报告至少包含:
80
+
81
+ - 按严重度排序、编号的问题,每条定位到计划行或稳定章节,并附行为级代码/规则/外部证据。
82
+ - 四个维度的审查覆盖及未核实项;UI 分清文档推演、原型走查和实际浏览器验证。
83
+ - 需求到交付的映射缺口,以及建议的依赖顺序、可并行任务、共享资源负责人和最终集成验收。没有安全并行空间时给出具体原因。
84
+ - 建议状态 `Ready / Proposed / Blocked`,说明与计划自报状态是否一致、阻塞解除条件;这只是评审建议,不自动修改计划状态。
85
+
86
+ **没有确认问题时允许空 findings;有未核实的关键前提时不能据此判 Ready。计划评审通过也不表示功能已实现或上线可用。**
87
+
88
+ 交付前确认:报告已写入并回读、内容符合上述合同、文件链接指向实际产物。最终回复给出报告链接、建议状态及关键问题/待核实项摘要;用户明确要求仅聊天时,直接在聊天中交付完整报告。写入失败时按落盘合同说明未完成项,不把聊天摘要算作完成。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "开发计划评审"
3
+ short_description: "多 agent 核查代码事实、技术方案、依赖编排与交付可用性,默认落盘报告"
4
+ default_prompt: "使用 $review-dev-plan 评审指定开发计划,将有证据的问题、就绪结论和可并行的实施编排建议写入完整评审报告,默认落盘并回读核验,回复报告链接与摘要。"
@@ -0,0 +1,59 @@
1
+ # 问题判定与报告合同
2
+
3
+ ## 落盘与交付合同
4
+
5
+ - **默认保存完整 Markdown 报告**,只有用户明确要求仅聊天或不写文件时才跳过。聊天中的报告正文、拟写入内容或路径预告都不算已落盘。
6
+ - 路径优先级:用户指定路径 → 本地计划同目录的 `<计划文件名去掉扩展名>.review.md`;例如 `docs/plan/cache.md` 对应 `docs/plan/cache.review.md`。输入只有聊天文本或远程文档、没有本地计划文件时,遵循仓库报告目录约定;无约定则写当前工作区的 `docs/reviews/<主题短名>.review.md`。按需创建目录,不因用户未指定路径而停下询问。
7
+ - 写入前检查目标是否已存在。用户已明确要求更新或覆盖该报告时按授权执行;否则保留旧报告,在同目录依次尝试 `<主题>.review.<YYYY-MM-DD>.md`、`<主题>.review.<YYYY-MM-DD>-2.md` 等未占用名称。用户指定路径发生同名冲突时也另存,并在最终回复说明实际路径;不得覆盖原计划或代码。
8
+ - 主 agent 单独写入下文「完整报告顺序」的全部内容,然后回读实际文件,核对问题、待核实项、覆盖与基线、实施编排和总体结论均已保留,检查引用定位与报告路径有效。空 findings、部分证据缺失或 `Blocked` 不免除保存义务,按实际覆盖情况写明限制。
9
+ - 最终聊天回复只给实际报告链接、建议状态和关键问题/待核实项摘要,避免重复整份报告;明确仅聊天时才在聊天中交付完整报告。
10
+ - 无可用文件写入工具或写入失败时,明确说明“报告未落盘”、原因与目标路径,在聊天中提供完整报告以保留结果,并将落盘标为未完成;不能声称已保存或给出不存在的产物链接。
11
+
12
+ ## 什么进入 findings
13
+
14
+ 确认的问题须同时具备:计划中的可定位主张或缺口、已核实的依据、具体触发/受影响场景、对本期目标的实际后果、可执行的最小修订。建议作者换个人偏好的技术、堆更多章节、覆盖无关老问题,都不算。
15
+
16
+ “没有写 X”须先确认全文/引用中确实没有,并证明 X 是本期交付必要条件。证据不足的风险放待核实项,写所需证据及影响;关键待核实项仍可阻塞就绪判断,不能伪装成已证实缺陷。
17
+
18
+ 每条只解释一个独立根因。合并重复症状时保留涉及的需求、里程碑和规则来源。无实质影响的拼写、偏好、格式不报;违反适用合同而会造成实施偏差的格式问题说明其后果。
19
+
20
+ ## 严重度与置信度
21
+
22
+ | 等级 | 在计划评审中的含义 |
23
+ | --- | --- |
24
+ | P0 | 已证实、无须额外假设就会造成重大安全/数据/运行灾难的计划指令,必须立即纠正;极少使用 |
25
+ | P1 | 核心目标不可达,或范围、安全、数据、外部契约、关键 NFR 存在高影响错误;受影响任务开工前必须修订 |
26
+ | P2 | 局部功能、验收或编排有可证实缺口;在对应里程碑前修正 |
27
+ | P3 | 有明确收益和依据的小改进,不阻塞实施;纯偏好不进入 findings |
28
+
29
+ 置信度用高/中/低及依据。严重度表示后果,置信度表示证据强弱,不互相替代。仅猜测的问题不靠降为 P3 混入 findings。
30
+
31
+ ## 单条问题格式
32
+
33
+ ```markdown
34
+ 1. [P1] F-01 · <简短、可执行的标题>
35
+ - 定位:<计划路径:行号或稳定章节;冲突时给两处;关联 R/M ID>
36
+ - 问题:<在什么条件下,按计划会发生什么,为什么影响本期目标。简短一段。>
37
+ - 证据:<代码路径:精确行号/符号、适用规则定位、实测结果或官方文档 URL/版本/日期>
38
+ - 修订:<最小需要补充、改正的决策/契约/任务;避免整份重写>
39
+ - 复核:<改稿后检查的断言或实现后的验收;区分二者>
40
+ - 置信度:<高/中 + 原因>;阻塞:<受影响任务/里程碑或否>
41
+ ```
42
+
43
+ 本地文件优先使用可点击路径和短行定位;行号变动大时同时给稳定标题/符号。定位指向原计划有责任承载该要求的位置,不能指向 reviewer 自己新写的报告。代码行号不必位于 git diff 内,计划评审可能没有 diff。
44
+
45
+ ## 完整报告顺序
46
+
47
+ 1. **确认问题**:P0 → P3 排序,稳定编号 F-01 等;空结果写“未发现可确认的问题”,不凑数。复审沿用原编号,区分已解决、仍存在、新增。
48
+ 2. **待核实/待决策**:每项写缺什么证据、影响哪个决定/任务、谁可提供以及最晚确认点;责任人未知就写待指定,不虚构用户承诺。
49
+ 3. **覆盖摘要**:记录计划与代码基线、实际 agent 分工、四维覆盖/跳过理由、脚本及浏览器实际执行情况。只列结论相关来源,不倾倒阅读日志。无 UI 可写不适用;交付可用性不能随 UI 一起跳过。
50
+ 4. **映射与实施编排**:列断链 ID 或确认映射完整的核对范围;给依赖边、并行波次、共享文件/资源负责人角色和汇合验收。现有编排成立时简要确认并引用原计划,只展开有必要调整的部分,不重抄完整映射或为形式新增里程碑/过程文档。只报文件不冲突、不报依赖条件的“可并行”不合格。小计划可合成一张短表。
51
+ 5. **总体结论与修订顺序**:建议状态、理由、与原状态的差异,先纠正前提/契约,再修设计、映射与编排;写清解除阻塞的可观察条件。
52
+
53
+ ### 就绪判断(沿用 dev-plan 的含义)
54
+
55
+ - `Blocked`:仍有会改变范围、安全、数据、外部契约或关键 NFR 的未决项,或核心交付无法成立;说明具体阻塞范围。无关且独立的前期工作可以单列,不把整个计划宣称 Ready。
56
+ - `Proposed`:方案与实施前置完整,只等待非阻塞评审;不能用它收纳重大未知或实质开工阻塞。
57
+ - `Ready`:所审范围的实施前置均已解决,关键证据无缺口,剩余非阻塞建议不影响承诺交付。说明评审覆盖限制,不把 Ready 当作实现完成或产品上线许可。
58
+
59
+ 严重度和状态不是机械一一对应:同一个 P2 在某计划中可能阻塞关键外部契约,另一个 P2 只是非关键局部改进。依据影响判断,不使用总分平均掉阻塞项。
@@ -0,0 +1,82 @@
1
+ # 四个审查视角
2
+
3
+ 各 reviewer 只需读自己的节;跨视角追问时再读关联节。检查深度与计划改动面相称,不为填清单创造需求或阻塞。
4
+
5
+ ## A. facts:代码事实、正确性与矛盾
6
+
7
+ 把关键陈述整理成“计划主张 → 类型 → 来源 → 核实结果”。优先核实会改变技术选择、依赖或交付结果的事实:
8
+
9
+ - 声称存在或可复用的路径、符号、路由、表、包导出、命令、配置是否真实存在;新增项明确标注即可,不能要求它已存在。
10
+ - 追到调用者与实现的行为:参数/返回、错误、分页、排序、事务、幂等、权限传播、缓存失效和删除语义。函数同名、类型匹配不等于行为满足。
11
+ - 安装/初始化、存量升级、部署配置和生产执行链是否与开发态假设一致。计划声明“无需改动”的邻接面是否真的支持目标。
12
+ - 数字与结论是否有用户要求、代码、配置、运行证据或明确决策来源;没有来源的性能承诺、规模、工期不能成为架构依据。
13
+ - 对照全文的范围/非目标、契约字段、事实归属、鉴权、数据生命周期、失败语义、迁移回滚、验收断言和进度,找互斥陈述。矛盾同时定位两处,并说明在什么操作上无法同时成立。
14
+ - 旧文档与当前代码不一致时标明时间和基线;规则约束与运行事实分开,不能因为文档旧就自行废除规则。已有缺陷只有被本计划依赖或放大、导致目标无法交付时才进入本次 findings,并说明关联。
15
+
16
+ 交回关键核实表:`主张/计划定位 | 事实/设计/假设/目标 | 证据定位 | 已核实足够/已核实缺口/未核实 | 影响`。无关事实不用穷举。
17
+
18
+ ## B. architecture:技术先进性与可行性
19
+
20
+ “先进性”评价的是在真实约束下能否改善交付、性能、安全、可靠性或维护成本。**新技术不自动加分,旧技术也不自动合格**。
21
+
22
+ 1. 从本期 R/NFR/C 推导需要解决的问题。主要选择是否有可行备选、收益与代价;复杂或难回退选择是否记录选择理由与重审条件。简单可逆决策无需硬补 ADR。
23
+ 2. 同时比较沿用现有范式和有实际收益的现代方案:能力差距、生态支持、复杂度、可维护性、迁移成本、运行成本和团队可操作性。仅因版本旧而建议升级不算问题;已有方案无法满足受支持版本、必要能力或明确约束时应指出。
24
+ 3. 涉及版本能力、弃用、支持周期、安全公告或外部服务限制等时效性事实,先读目标项目依赖/锁文件,再查官方文档、发布说明或原始论文,标记版本、查询日期和 URL。不能联网则列具体待核实项,不用记忆冒充最新结论。
25
+ 4. 审查模块边界、事实所有权、接口深度和变化局部性;新基础设施或抽象是否解决真实复杂度,删除它后是否只减少转发层。避免为假想规模过度设计,也不机械维护已不适配的现状。
26
+ 5. 核对关键请求/任务的并发、原子性、幂等、重试、超时、租约、隔离、背压和失败恢复,按实际风险裁剪;热路径的查询/索引、缓存与新鲜性是否满足目标。
27
+ 6. 对持久化和外部契约检查新旧版本共存、迁移/回填、切换门、不可逆步骤、回滚及恢复。对外依赖核实真实能力、权限、配额和部署条件。
28
+ 7. 验证方案能否以目标仓的构建、测试和运行入口落地;风险是否有观测/验证手段。需要 spike 的未知项写“验证问题、成功判据、影响的决策、最晚完成点”,不在评审中自动实现 spike。
29
+
30
+ 交回少量关键决策的判断:`选择 | 驱动需求 | 证据与版本 | 收益/代价 | 可行性 | 必要修订或保留理由`。只是另一种同样可行的做法放非阻塞建议,不能当缺陷。
31
+
32
+ ## C. schedule:映射、依赖与实施编排
33
+
34
+ 双向追踪,不只看里程碑标题齐不齐:
35
+
36
+ `需求 R/NFR/C/A → 设计/决策 → 交付物/任务 → 里程碑 → 可观察验收`
37
+
38
+ - 每条本期需求有实现与验收;每项设计/交付物有负责的任务;每个验收有设计依据。映射在账本或专门表中完整保留一份即可,需求原文和断言可引用 PRD/检查 ID,须追到定义与覆盖范围,不要求多处重复展开。排除/延期有明确去向,不能用无关测试占位。
39
+ - 里程碑退出条件能判定局部结果,阶段收口有跨模块集成与用户主路径验证。允许同能力、同环境且无独立风险门的验收合并,核对检查覆盖、执行时点、收口负责人和前置就绪;骨架阶段不要求尚未实现的端到端路径。安全、迁移、不可逆操作、发布及用户分期门不能被合并绕过,风险不能拖到终验才发现。局部完成不等于阶段/跨期需求已验收,fixture 或构建通过不能替代真实集成、权限、业务或界面验收。
40
+ - 完成数、最近完成、下一步、记录链接及基线一致;初稿不预填完成,进行中不计完成。已完成有本里程碑退出检查证据;可按测试组覆盖多条条件,须逐条可追溯,共同环境/基线可只写一次,不默认要求子任务文档。复用证据须有原记录及依据:相关代码、配置、依赖、输入与环境未变,否则重跑受影响检查,阶段收口仍有必要集成回归。适用 dev-plan 协议时核对逐行退出条件及里程碑记录,不机械否定历史格式。
41
+ - 提取有向依赖边 `前置任务 → 后置任务` 及其产物;检查循环、缺失节点、倒置、隐藏的跨系统前置和过粗的里程碑阻塞。编号不是依赖,文件分目录也不代表无依赖。
42
+ - 区分开发、集成和终验前置,以及代码、契约、迁移、配置/权限与环境资源依赖。下游只需某个已通过必要检查的成果时,建议将依赖细化到该成果与解锁证据即可,不强制新增里程碑。稳定契约下可用 fixture 开发;无关走查或发布排练不默认阻塞开发,用户分期与风险门仍须遵守。
43
+
44
+ 无论有无 findings,都交回编排核对结论;现有编排成立时引用原计划的依赖与验收安排,有必要调整时再给建议(简单线性计划可用短表):
45
+
46
+ | 波次/任务 | 前置及解锁证据 | 可同时做的工作 | 写入边界/共享负责人 | 运行资源约束 | 汇合验收 |
47
+ | --- | --- | --- | --- | --- | --- |
48
+
49
+ 只有输入稳定、前置满足、文件及运行资源无冲突时才建议并行;小任务委派成本可能高于收益,未使用 subagents 本身不构成编排缺陷。公共类型、路由注册、锁文件、迁移序号由单一负责人处理;同库迁移、端口、开发栈、浏览器会话需隔离或串行。主集成人负责整体验收与计划回写。
50
+
51
+ 没有工期估算时只说拓扑顺序和结构上的瓶颈链;不要声称计算出关键工期或编造“节省 X%”。不能安全并行时解释具体依赖即可。reviewer 这里只建议实施编排,不启动实施任务。
52
+
53
+ ## D. delivery:可用性与 UI/UX
54
+
55
+ 从目标使用者的完整任务反推交付,避免只检查文件是否齐全:
56
+
57
+ `获得/安装 → 初始化/配置 → 登录与授权 → 找到入口 → 完成核心操作 → 确认结果 → 失败后恢复`
58
+
59
+ 非 UI 交付使用相应旅程:调用方接入 API、运维部署服务、开发者安装并调用 SDK。没有界面时 UI 标为“不适用”,仍须审交付可用性。
60
+
61
+ - 交付物是否包含所需产物、入口、配置、迁移、权限/种子增量、示例或使用说明;安装后能否实际使用,已安装用户能否升级。
62
+ - 主路径与失败/边界是否端到端闭环;长任务、部分成功、重复提交、权限不足、依赖不可用是否给出可理解状态和恢复办法。
63
+ - 发布顺序、回退/补偿、观测和运维步骤是否能由目标操作者执行,验证所需账号、数据、环境和工具是否在计划中有获取办法。
64
+ - 看似“最终验收”的内容是否只覆盖单模块或静态检查;成功结果是否能由使用者观察,而不是依赖实现者知道内部日志。
65
+
66
+ 涉及 UI 时读取适用的 PRODUCT/DESIGN 或等价上下文,按仓库规则使用设计 skill,核对:
67
+
68
+ - 信息架构、导航和发现性是否贴近目标角色与任务;主操作和信息层级是否明确,是否把实现细节变成用户的额外工作。
69
+ - loading、empty、error、partial、disabled、success 的语义和下一步;表单校验、操作反馈、可恢复性;破坏性操作采用与后果相称的确认或撤销。
70
+ - 权限变化、长文本/大数据、响应式、键盘与焦点、读屏名称、对比度、主题、语言和减少动效等项目适用要求是否有方案与验收。
71
+ - 复用组件/设计规范是否一致;不因个人审美偏好报缺陷。UX 问题说明“哪个角色做什么时,被什么阻碍,导致什么结果”。
72
+
73
+ 区分证据层级:
74
+
75
+ | 现有材料 | 能得出的结论 | 报告措辞 |
76
+ | --- | --- | --- |
77
+ | 仅计划/流程描述 | 任务闭环与交互方案的合理性 | 文档推演;待实现后浏览器验收 |
78
+ | 静态设计稿/截图 | 可见布局与信息层级 | 静态评审,不能证明交互行为 |
79
+ | 可运行原型/页面 | 本次实际走过的主路径与边界 | 写环境、步骤、结果和证据 |
80
+ | 环境或浏览器不可用 | 只能判断已有材料 | 未在浏览器验证;注明缺口 |
81
+
82
+ 已有可运行 UI 且授权与工具允许时,按项目浏览器工作流验证主路径及关键边界;有写入副作用的操作先确认授权范围,不能为评审改动真实业务数据。尚未实现的计划不因没有页面就自动 Blocked,关键在交互方案与未来验收是否足够明确。类型检查和单测不算 UI 验证。
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: review-prd
3
+ description: 评审既有 PRD 或产品需求文档,核实代码现状与依赖,审查创新性、先进性、可用性、便捷体验、美观 UI、AI 赋能、SMAR、UAT 预期状态及分期终验,默认将完整评审报告落盘。用户要求 review-prd、review PRD、需求评审或检查需求是否合理且可验收时使用;不用于从零写 PRD、评审技术开发计划或仅审查代码 diff。
4
+ ---
5
+
6
+ # review-prd · 基于代码事实的产品需求评审
7
+
8
+ 目标是判断:**在用户约束内,这份 PRD 是否充分设计了值得做、可用且体验好的产品,能否清楚交接「做什么」与「怎样算完成」,它对代码现状和前置能力的认识是否真实。** 评审既检查错误与缺口,也检查有价值的创新和 AI 机会是否被遗漏;不止审文档格式。
9
+
10
+ **默认交付是已写入文件并回读核验的完整评审报告,聊天只给摘要和实际文件链接。除非用户明确要求仅聊天或不写文件,否则落盘属于评审任务本身,不额外询问是否保存;未落盘不能宣称交付完成。**
11
+
12
+ `references/` 相对本文件解析。仓库规则、产品上下文、代码位置、工具和外部依赖在运行时读取,不硬编码目标仓的业务约定。回复语言跟随用户。
13
+
14
+ ## 边界与参考
15
+
16
+ - 默认审查整份 PRD;指定差异或局部范围时,同时追踪受影响的场景、需求、验收和分期。原 PRD 与代码保持只读,默认写入仅限独立评审报告;不自动实现、改稿、写 SPMS 或发送评论。用户明确要求修订时,先形成可追踪的问题,再统一修订并复核;报告保留处置记录,PRD 正文只保留修订后的产品结论。
17
+ - 区分**现状事实、目标能力、用户/平台约束、未证实假设、验收门槛与观察/PoC 基线**。新能力尚未实现不是 PRD 缺陷;代码当前行为也不是禁止产品演进的理由。报告指出增量与前置,不擅自把当前实现固化为需求。
18
+ - PRD 回答 what / why / 怎样算完成。用户旅程、信息层级、视觉要求、AI 产品行为属于产品设计;内部架构、表结构、端点拆分、模型/算法选型与技术里程碑属于开发计划。UAT 定义角色、场景、预期状态与清晰判据;测试脚本、造数、故障注入、工具及 TC 创建属于测试计划。已给定技术约束、外部产品契约与作为产品能力的评测台可以保留,不能机械按技术词判越界。
19
+ - 在可用时读取 `prd/references/product-quality.md` 校准产品质量规则;采用该模板的文档再按需读 `prd/references/prd-skeleton.md`。找不到 `prd` 时继续按本技能的实质标准评审,不要求安装依赖。用户自定义模板或历史 PRD 不因章节名、编号、缺少 TC 或未录入 SPMS 被判不合格。
20
+ - UI 评审读取目标仓实际适用的产品/设计规范;只有能看到的材料才支持视觉结论。源码、静态稿、原型与浏览器实测分别标注,不把静态推演写成已验证体验。
21
+
22
+ ## 1. 锚定输入与审查基线
23
+
24
+ 1. 定位用户指定 PRD、原始诉求、已确认约束、关联 PRD 与必要决策。目标无法唯一确定时询问文件/范围,可以先调查仓库规则;不擅自选一份相邻文档评审。
25
+ 2. 读取适用的根目录及相关子目录规则、产品与设计上下文。记录 PRD 路径/版本或内容 hash、调查日期、代码仓路径、commit 与 dirty 状态;当前工作树参与调查时明确写出。无 Git 则用可用版本标识;读不到源代码则如实记录证据缺口,继续能做的文档审查。
26
+ 3. 提取目标、非目标、角色/权限、业务状态、关键旅程、FR/NFR、UAT/验收、依赖、产品决策、分期与终验关系。无需求 ID 时用稳定章节定位,不补造 SPMS key。只读工具可用时核对关联项目/需求与重复立项情况,不把录入状态当实现状态。
27
+ 4. 将会改变产品选择的现状主张和前置条件列入核实清单:声称已支持、未支持、可复用、无需改动、兼容、已验证及性能数字等。标清它们是事实还是未来目标。
28
+ 5. 读取 [references/report-contract.md](references/report-contract.md),确定报告路径;记录四个审查维度及代码核实、报告写入、回读核验的状态。事实能查就先查,只向用户询问无法从证据推出的产品决定;缺少某项输入时继续不依赖它的审查。
29
+
30
+ ## 2. 编排四个审查视角
31
+
32
+ 先读 [references/review-lenses.md](references/review-lenses.md) 的对应节,再分派。各视角都以用户约束为边界,不为凑问题扩大产品范围。
33
+
34
+ | 角色 | 主责 | 必须交回的专属结果 |
35
+ | --- | --- | --- |
36
+ | `facts` | 代码现状、依赖契约、主张真伪与内部冲突 | 现状核实矩阵:已有能力、真实增量、行为冲突、未核实项及证据 |
37
+ | `product` | 创新、先进性、AI 价值与合理范围 | 关键产品选择的价值/取舍;有依据的遗漏机会、AI 闭环与前置 |
38
+ | `experience` | 可用性、便捷旅程、美观 UI 与状态表达 | 各角色任务闭环;体验/视觉缺口;界面证据等级 |
39
+ | `acceptance` | SMAR、UAT、需求追踪、分期与终验 | 目标/场景/需求/验收/UAT 的断链;独立用户价值、计划规模与终验一致性 |
40
+
41
+ ### 调度规则
42
+
43
+ - 有多 agent 工具且当前授权允许时实际启动只读 subagents,主 agent 负责综合裁定和报告单写;不能在同一回答中扮演多个角色后宣称独立复核。简单局部文档可用两位 reviewer 各覆盖两个视角,回报分开说明覆盖与结论。模型继承主 agent,不主动覆盖模型或推理档位。
44
+ - 并发数按实际剩余槽位安排,主 agent 也占槽位。只有 4 个总槽位时,先运行 3 个视角,结束后复用空闲 agent 完成第 4 个;更少则分批。工具/授权不允许、用户要求串行时,主 agent 按四个视角顺序审查,如实写执行方式,不能漏掉维度。
45
+ - 初轮给 reviewer 相同基线、用户约束和原始材料,不把预设缺陷或别人的结论当答案。每个 reviewer 只读原 PRD 与代码,不能继续派生 agent,也不写最终报告。
46
+ - 代码可并行只读;共用浏览器或外部环境由一个操作者采集证据。评审不自动跑迁移、种子、部署、收费模型评测或有副作用的业务操作。必要验证按现有授权执行,做不到则报告缺口。
47
+ - 单个 reviewer 失败时重派一次或由主 agent 接管;不能核实的部分进入待核实项,不无限重试。
48
+
49
+ ### Reviewer 派发合同
50
+
51
+ ```text
52
+ 你负责 {facts/product/experience/acceptance},只读评审,不实现、不改稿、不继续派生 agent。
53
+ 用户目标及范围:{原始要求、排除、已有产品决定}
54
+ PRD 与基线:{PRD 绝对路径及版本;代码仓根、commit/dirty、日期}
55
+ 必读:{本 SKILL.md、report-contract.md、review-lenses.md 对应节的绝对路径}
56
+ 相关材料:{规则、产品/设计上下文、已知代码入口、关联 PRD/需求的实际位置}
57
+ 资源边界:{可读目录、可运行检查、外部查询与浏览器授权}
58
+ 核实产品主张依赖的实际行为;新功能未实现不算缺陷,现有代码也不是永久产品约束。
59
+ 交回:范围与基线;候选问题(PRD 定位、场景/触发、影响、证据、最小产品修订、
60
+ 复核判据、严重度与置信度);本视角专属结果;待核实/待决定项及所需证据。
61
+ 没有问题可以返回空 findings。机会提案须说明用户价值与约束,不强制增加功能或实现方案。
62
+ ```
63
+
64
+ ## 3. 主 agent 交叉复核与裁定
65
+
66
+ 1. 逐条阅读支持候选问题的 PRD 段落与原始证据,核对角色、作用域、版本和触发条件。文件/函数存在不等于行为可用,多位 reviewer 一致也不等于事实。
67
+ 2. 现状核实至少追到 PRD 依赖的用户或外部系统可观察行为:入口/权限、关键业务逻辑、结果与状态反馈;按需求核对租户隔离、分页、重复/冲突、数据保护、失败恢复、AI 权限/预算及依赖。只读到部分链路就标部分核实,不声称端到端可用。
68
+ 3. 将证据影响传回相关视角:例如事实侧发现模型调用没有当前主体授权,产品侧复核 AI 前置,体验侧复核不可用状态,验收侧复核判据和分期。只复核受影响链路,不借机设计具体调用方案。
69
+ 4. 按根因与修订动作去重,保留所有实质不同的问题。已确认问题进入 findings,低证据主张进入待核实项;纯偏好不算缺陷,有价值但非必要的产品机会单列,不凑问题数或用总分抵消阻塞。
70
+ 5. 核对「目标 ↔ 场景 ↔ FR/NFR ↔ 验收 ↔ UAT 状态 ↔ 分期/终验」的一致性。每期要有独立用户价值;承接计划尽量 5–8 个 Milestone,连续性例外 9–10 个须有理由,最多 10 个。PRD 的规模建议不是技术任务表,不能要求其已经拆出 M1…Mn。
71
+ 6. 结束前核对 PRD 与相关代码是否并发变化;只重审受影响结论,无法收敛则标待核实。收集或停止仍在运行的 reviewer,再交付。
72
+
73
+ ## 4. 输出评审结果
74
+
75
+ 使用 [references/report-contract.md](references/report-contract.md) 的完整报告顺序和落盘合同,**先列问题,再给总体结论与修订顺序**。由主 agent 保存完整报告并回读;空 findings、代码无法访问或结论为「需补证」也要落盘。
76
+
77
+ 报告至少包含:
78
+
79
+ - 按严重度排序且可定位的问题,附用户场景、实际后果、行为级证据、最小产品修订与复核条件。
80
+ - 代码现状核实矩阵、关键依赖和待核实项;区分静态代码、现有测试、实际运行与浏览器证据,不把尚待开发的目标报成当前缺陷。
81
+ - 四维覆盖及六个产品设计维度的实质结论、SMAR/UAT 与分期终验的断链;不因缺少固定章节或 TC 判错。
82
+ - 建议结论 **通过 / 需修订 / 需补证**,写清阻塞范围与解除条件;有价值的非阻塞机会与修订优先顺序。
83
+
84
+ **评审通过仅表示在已核实范围内可作为开发/测试计划的输入,不表示功能已实现、性能已实测、UI 已验证或可直接上线。** 最终聊天回复给实际报告链接、结论和关键问题/待核实项摘要。写入失败时说明「报告未落盘」并按合同保留完整内容,不能链接不存在的产物。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "PRD 评审"
3
+ short_description: "核实代码现状,审查产品价值、AI、UI、UAT、SMAR 与分期,产出有证据的评审报告"
4
+ default_prompt: "使用 $review-prd 评审指定 PRD,核实代码现状及关键依赖,将有证据的问题、产品改进建议和结论写入完整评审报告,默认落盘并回读核验,回复报告链接与摘要。"
@@ -0,0 +1,64 @@
1
+ # 问题判定与 PRD 评审报告合同
2
+
3
+ ## 落盘与交付
4
+
5
+ - **默认保存完整 Markdown 报告**;只有用户明确要求仅聊天或不写文件时跳过。聊天正文、拟写入内容和路径预告都不算已落盘,不把「是否保存」留作交付前的确认问题。
6
+ - 路径优先级:用户指定 → 本地 PRD 同目录的 `<PRD 文件名去掉扩展名>.review.md`。输入只有聊天文本/远程文档时遵循仓库报告目录惯例,无惯例则写当前工作区的 `docs/reviews/<主题短名>.review.md`。按需建目录,不因未给路径停下。
7
+ - 写入前检查同名。已授权更新/覆盖该报告则执行;否则保留旧报告,依次尝试同目录 `<主题>.review.<YYYY-MM-DD>.md`、`<主题>.review.<YYYY-MM-DD>-2.md` 等未占用名称。用户指定路径冲突也保留旧文件并说明实际路径,不覆盖原 PRD 或代码。
8
+ - 主 agent 单写完整报告并回读实际文件,核对 findings、待核实项、代码矩阵、覆盖、映射/分期、结论和修订顺序齐全;检查引用定位与文件链接。空 findings、缺源码或「需补证」不免除落盘。
9
+ - 最终聊天给实际报告链接、结论与关键摘要;仅聊天模式在聊天交付完整报告。写入工具不可用或失败时明确「报告未落盘」、原因与目标路径,在聊天保留完整结果,将保存标为未完成;不能链接不存在的文件。
10
+
11
+ ## 什么进入 findings
12
+
13
+ 确认的问题同时具备:PRD 可定位的主张/缺口、已核实依据、具体用户场景/触发、对已确认目标的实际后果、可执行的最小产品修订。每条一个独立根因,重复症状合并但保留关键定位。纯格式、偏好或无关旧代码问题不进入 findings。
14
+
15
+ 「没有写 X」先查正文、引用、附录及已确认约束,证明 X 是本产品目标的必要条件;章节标题不同不算缺失。新功能未实现不算 PRD 错误;可确认的前置误判、虚假现状或缺少产品增量才是问题。源码未定位、依赖未联调不是「能力不存在」的证据。
16
+
17
+ 证据不足的主张放待核实项,写需什么证据及对结论的影响;关键证据缺口仍可阻塞通过。高价值且在约束内的增强机会有依据则单列提案,不能把每个合理备选都报成缺陷,更不能借评审自行增加产品承诺。
18
+
19
+ ## 严重度与置信度
20
+
21
+ | 等级 | PRD 评审中的含义 |
22
+ | --- | --- |
23
+ | P0 | 已确认的产品规则直接要求重大安全、数据或业务灾难,需立即纠正;极少使用 |
24
+ | P1 | 核心任务、权限/数据边界、关键依赖或终验口径存在高影响错误/缺口,进入下游计划前须修订 |
25
+ | P2 | 局部产品行为、体验、验收或分期存在可证实缺口,相关范围交接前修正 |
26
+ | P3 | 有明确依据和收益的小改进,不阻塞交接;个人偏好不算问题 |
27
+
28
+ 严重度表示后果,置信度用高/中及依据表达证据强弱。仅猜测的风险不能靠降为 P3 混进 findings,不设问题数或评分指标。
29
+
30
+ ## 单条问题格式
31
+
32
+ ```markdown
33
+ 1. [P1] F-01 · <可行动的标题>
34
+ - 定位:<PRD 文件:行号/稳定章节;冲突时两处;需求/场景/验收 ID>
35
+ - 场景与问题:<什么角色在什么条件下要完成什么,按当前 PRD 会产生什么后果>
36
+ - 证据:<读过的代码文件:精确行号/符号、用户约束/规则定位、运行证据或官方文档 URL/版本/日期>
37
+ - 修订:<最小需要补定/改正的产品行为、状态、边界、前置或验收;不展开内部实现>
38
+ - 复核:<改稿后应一致的产品断言/依据;未来效果验证与本次文档复核分开>
39
+ - 置信度:<高/中 + 依据>;阻塞:<目标/需求/交接范围或否>
40
+ ```
41
+
42
+ 本地引用使用可点击文件链接与短行定位,必要时补稳定标题/符号;定位指向原 PRD 应承载要求的位置,不指向 reviewer 自己的新报告。只引用读过的原文,截断内容先补读;不能把外部例子数字当成本产品承诺。
43
+
44
+ ## 完整报告顺序
45
+
46
+ 1. **确认问题**:P0 → P3,F-01 等稳定编号;无确认问题如实写「未发现可确认的问题」。复审沿用编号,区分已解决、仍存在、新增。
47
+ 2. **待核实/待决策**:缺什么证据或产品决定、影响哪项需求、谁能提供及应在何交接节点前明确;负责人未知写待指定,不虚构日期或用户承诺。
48
+ 3. **代码现状核实矩阵**:`PRD 主张/定位 | 类型 | 实际行为与证据等级 | 已有满足/部分满足/真实增量/行为冲突/未核实 | 产品影响`。代码读不到仍列关键主张、调查限制和所需材料,不留空表假装核实完毕。
49
+ 4. **覆盖与基线**:PRD 版本/路径、代码仓/commit/dirty、日期、实际 reviewer 分工或串行方式、四维覆盖。六个产品维度分别给结论/不适用理由;记录实际代码、测试、设计稿及浏览器证据等级与缺口,只列结论相关来源,不倾倒读文件日志。
50
+ 5. **需求追踪与分期终验**:列目标/场景/需求/验收/UAT 断链或已核对范围;检查每期独立价值、5–8 个 Milestone 预算/最多 10 个的连续性例外、关键前置、跨期终验及相互冲突的口径。建议产品交付顺序,不生成技术任务、并行波次或测试脚本。
51
+ 6. **产品增强机会**:有依据的非必要提案,写价值、场景、约束/代价及采用后需调整的需求;无则写「无」,不为创新凑数。
52
+ 7. **总体结论与修订顺序**:建议结论、阻塞范围与解除条件。先修事实/约束,再定产品语义/体验/AI,随后同步验收、UAT 和分期终验。未解决的重大未知不能藏进「通过」。
53
+
54
+ 短 PRD 可以用紧凑段落/表格承载这些内容;完整报告不是固定字数,也不是 reviewer 原始回报的拼接。结构借鉴 `review-dev-plan`,判断对象是产品需求,不沿用其实施就绪状态或技术编排要求。
55
+
56
+ ## 结论口径
57
+
58
+ - **通过**:所审范围产品目标、行为、状态、验收与分期清楚,关键现状和前置有证据,剩余建议不影响交接;说明覆盖限制。
59
+ - **需修订**:有已确认且阻塞交接的产品问题,列具体范围和修订条件。无关独立能力可单列已满足条件,不能将整份含阻塞的 PRD 宣称通过。
60
+ - **需补证**:暂无已确认的交接阻塞,但关键现状、依赖或产品决定仍不能成立/未确认,列所需证据与节点。已有阻塞缺陷同时存在时用「需修订」并继续列补证项。
61
+
62
+ 状态按影响与证据判断,不能靠总分平均。纯产品方向已经足够明确、技术实现选择留给开发计划时,不因尚无架构方案阻塞 PRD;核心依赖能力是否存在/授权/适配仍须核实。
63
+
64
+ 评审通过不表示功能已实现、线上部署、性能达标、UI 已通过浏览器验收,也不自动批准需求或变更 SPMS 状态。
@@ -0,0 +1,82 @@
1
+ # 四个 PRD 审查视角
2
+
3
+ Reviewer 读自己的节;跨视角复核再读关联节。按本次产品范围裁剪检查深度,不能用一张通用清单制造功能或阻塞。
4
+
5
+ ## A. facts:核实代码现状与前置
6
+
7
+ 先把关键主张分成现状、未来能力、约束、假设、验收目标。事实核实优先覆盖会改变范围、产品形态、权限、兼容、质量或依赖的陈述。
8
+
9
+ ### 从文件存在追到实际行为
10
+
11
+ 1. 用 `rg --files` / `rg` 定位声明和真实调用者,读取相关入口、授权、业务实现、返回/状态展示及必要配置。文件名、路由、类型或函数存在,只能证明那个入口存在,不能证明已经满足用户场景。
12
+ 2. 按 PRD 依赖的行为追踪:谁能发现/执行、输入边界、状态迁移、结果是否可消费、错误/降级、重复与冲突、分页与规模、跨租户/用户边界。发现对应测试时读其断言和替身,区分真实行为与 mock 假设;未执行测试不写「测试通过」。
13
+ 3. 核实可复用依赖的契约、权限、配置和目标环境:可检索不等于可安装,HTTP 入口不等于支持 Agent 原生消费,模型网关存在不等于当前应用/主体可调用,前端隐藏按钮不等于后端拒绝越权。
14
+ 4. 声称「不存在」时说明检查过的目录/入口/配置和搜索范围,必要时跟踪动态注册或外部服务。仅未搜到关键词只能写「在已查范围未定位」,不能断言整个系统没有能力。
15
+ 5. 声称已验证兼容、性能、UI 或生产可用时核对实际环境、版本与记录。当前源码存在、历史计划完成、SPMS 状态与生产部署不是同一事实。没有部署证据不推断线上版本;没有有效测量不声称达到门槛。
16
+ 6. 数字、业务规则和平台约束给来源;区分代码现状与规范要求。两者冲突就同时定位,不因代码不同自动废除约束。旧文档/README/记忆仅是线索,不代替本次行为核实。
17
+ 7. 涉及当前生态支持、版本能力或外部限制时先读依赖/配置,再查官方文档或一手来源,保留版本、日期与链接。不能访问就标具体待核实项,不以记忆冒充最新结论。
18
+
19
+ ### 现状核实矩阵
20
+
21
+ | PRD 主张/定位 | 类型 | 代码现状及证据等级 | 与目标的关系 | 产品影响/所需补证 |
22
+ | --- | --- | --- | --- | --- |
23
+ | <已有能力/可复用/未支持等陈述> | <现状/目标/约束/假设> | <路径:行号/符号;源码核实/测试记录/实测/未核实> | <已有满足/部分满足/真实增量/行为冲突/未核实> | <改正背景、明确增量、补前置/决策/证据> |
24
+
25
+ 「真实增量」仅表示本次已查实现不具备目标能力,不表示 PRD 有缺陷。「已有满足」也不自动撤回需求,可能仍需要新的可用性、质量或治理边界。用户已明确不考虑存量时尊重该选择,不强加迁移兼容;其他产品前置仍须核实。
26
+
27
+ 已有代码缺陷只有被本 PRD 依赖、放大或直接阻断目标时进入评审;无关代码问题不扩展成本次代码审计。源码不可访问时交付明确的核实清单与证据缺口,继续其他维度;不能冒充已核实或直接判依赖不存在。
28
+
29
+ ## B. product:创新、先进性、AI 与范围
30
+
31
+ 从用户问题推导价值,检查采用的选择是否在约束内把任务设计充分。先进性以用户收益、质量和合理成本判断,技术新旧、术语数量或功能多少不自动加分。
32
+
33
+ - 是否仅转录功能清单,遗漏完成关键任务必须的发现、理解、决策、使用与维护环节?是否有比照搬现状/参考项目更有价值的产品形态?指出具体场景、收益与取舍,不能只写「不够创新」。
34
+ - 参考产品、官方生态能力是否适配目标用户、租户、身份和使用环境?区分声明、已核实能力和拟新增能力,避免承诺未经验证的兼容组合。
35
+ - AI 能改善发现、理解、创作、决策或重复劳动时是否有合理方案?未采用但有充分理由则可接受;没有 AI 不自动算缺陷,用户排除或价值不足时不强加。
36
+ - 已采用 AI 是否有明确任务、触发、授权输入、可用输出、依据/不确定性、用户采纳/修改/拒绝/撤销、质量口径、成本与不可用状态?辅助 AI 不可用时基本任务能否继续;AI 是核心时是否如实进入等待/失败,而非虚假成功?
37
+ - 原始诉求、目标、范围、非目标及决策是否一致?终局是在本 PRD 范围内充分设计,不是整个产品无限扩张。PoC 说明要证明的假设及成立判据,不能自动扩成完整系列,也不能仅罗列技术组件。
38
+ - 是否把怎么实现混进产品决策?内部架构、表/端点设计、算法/模型选型移交开发计划;已给定约束和外部可消费契约保留必要产品语义。
39
+
40
+ 交回:`产品选择 | 用户价值/目标 | 依据与约束 | 取舍/不足 | 必要修订或非阻塞机会`。遗漏机会只有在直接影响已确认目标、且收益和适配有依据时才作为缺陷;其他合理改进单列提案,不能未经确认写成承诺。
41
+
42
+ ## C. experience:可用、便捷与美观 UI
43
+
44
+ 逐角色走主旅程:`找到入口 → 理解信息/条件 → 完成任务 → 确认结果 → 再次使用或失败恢复`。无 UI 产品仍走调用方/Agent/运维的相应消费旅程,可用性不能随 UI 一起跳过。
45
+
46
+ - 主路径是否能完成端到端任务,而不是只有数据、API 或几个按钮?用户是否被迫理解内部术语、反复输入信息、切换入口或自行补步骤?首次与高频路径是否合适?
47
+ - 相关的等待、空数据、无权、错误、部分成功、重复/冲突、取消及恢复是否状态清楚、结果真实、下一步可行动?角色与权限改变不能只靠前端隐藏。
48
+ - 默认信息、主操作和信息层级是否支持任务;细节是否渐进展示;风险和必要前置是否始终足够可见?
49
+ - 美观是否落实为信息主次、排版、密度、留白、视觉语言与宿主一致性;是否只写「现代 UI」或仅有可访问性指标?适用的窗口、主题、语言、键盘/焦点、对比度等是否有产品要求与验收?
50
+ - 区分产品交互与实现:一次引用跳转、状态反馈、可撤销操作属于 PRD;组件库、CSS/DOM 与焦点代码的实现不应被强制补进 PRD。
51
+
52
+ | 实际材料 | 支持的结论 | 必须说明的限制 |
53
+ | --- | --- | --- |
54
+ | PRD/流程/源码 | 任务闭环、规则与交互要求的合理性 | 文档/静态代码推演,不能证明美观或真实交互通过 |
55
+ | 设计稿/截图 | 可见布局、信息层级与视觉一致性 | 静态评审,不能证明操作和权限行为 |
56
+ | 已授权的原型/浏览器实测 | 本次实际观察的旅程、状态与视觉 | 记录环境/版本/场景/结果;没有走过的路径仍未验证 |
57
+
58
+ 没有实现页面不自动阻塞 PRD;关键在产品状态与验收是否已定清。现有页面可安全只读走查时按目标仓浏览器工作流采集证据,不为评审改动真实业务数据。UX findings 写清哪个角色在什么任务中被怎样阻碍,不能把个人审美偏好当缺陷。
59
+
60
+ ## D. acceptance:SMAR、UAT 与分期终验
61
+
62
+ SMAR 检查目标与需求:
63
+
64
+ | 原则 | 核对要点 |
65
+ | --- | --- |
66
+ | Specific | 角色、对象、场景、作用域、权限与能力边界明确,领域词和状态语义一致 |
67
+ | Measurable | 预期状态可判断;数值有作用域/负载/样本/分母/窗口,明确枚举、是/否、相等/不变也合格 |
68
+ | Actionable | 用户或授权主体能执行具体业务动作,得到可用结果;不只写愿景或技术名词 |
69
+ | Reasonable | 价值、质量、成本、依赖及支持范围与用户约束相容,未知前置没有被写成无条件承诺 |
70
+
71
+ 区分验收门槛、上线观察指标与 PoC 比较基线;建议数值不能冒充已实测结果。不用 Time-bound 编造工期,已有外部日期、性能时延、超时、有效期及观察窗口仍有效。
72
+
73
+ 双向追踪:`原始诉求/目标 → 场景 → FR/NFR → 验收 → UAT 预期状态 → 分期/终验`。
74
+
75
+ - 每个目标有需求承接,每个重要用户场景有预期状态与通过条件,每条完整能力有可判断的验收。UAT 应描述结果是否可用、反馈、下一步及数据变化,不只是一条提示文案。
76
+ - 成功与本产品相关的空、拒绝、冲突、取消、失败/恢复和 AI 不确定/降级场景有清晰结果。不能到测试计划阶段才决定产品状态,也不能把造数、脚本、探针、故障注入当 UAT 内容。
77
+ - 没有 TC、没有 SPMS key、章节不同本身不算缺陷。真实 key 不可伪造;缺少验收语义才是问题。代码/设计内部断言若无法表达外部结果,要求改为业务边界,不要求 PRD 拟写测试过程。
78
+ - 每期有独立用户价值、范围与出口判据,不按前后端技术栈切期。终局需求不因交付节奏被删小,非目标不充当延期列表;已明确的其他 PRD 分工可作为范围去向。
79
+ - 每期开发计划尽量 5–8 个 Milestone;连续性例外 9–10 个说明理由,最多 10 个;小范围可以更少,不凑数。这里只检查规模预算,详细任务和准确拆解由 dev-plan 核实,超出则反馈拆期。
80
+ - 逐条核对分期验收分配和最终完成期;跨期条目正文、分期矩阵及已录入系统的终验声明口径一致。部分交付不能被标成整条完成,前置条件不归本 PRD 的不得被默默视为已就绪。
81
+
82
+ 交回断链 ID/章节、相互矛盾的两处、受影响用户场景与最小产品修订。不能因没有开发计划的技术里程碑而判 PRD 不可行动。
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: review-prd-dev-gaps
3
+ description: 接受 PRD 与已完成的开发计划,追读里程碑完成记录并核对实际实现,将差异分为明确遗漏、合理变更和需用户 Triage 的实现差异;通过交互式问答确定处置,有 follow-up 时调用 dev-plan 创建 gaps plan。用于开发完成后的需求覆盖核查,不用于评审 PRD 质量、计划设计或单次代码 diff。
4
+ ---
5
+
6
+ # review-prd-dev-gaps · PRD 与开发交付差异核查
7
+
8
+ 目标:回答 **PRD 要求的能力实际上交付了什么,哪些漏做了,哪些调整有充分依据,哪些差异需要用户拍板,以及还要补什么。** 以 PRD 建立完整覆盖账本,以计划、完成记录和实际行为交叉核实,不把「计划已完成」等同于「PRD 已实现」。
9
+
10
+ 默认交付完整差异报告;存在应跟进事项时,再实际调用 `dev-plan` 产出独立 gaps plan。`references/` 相对本文件解析,回复语言跟随用户。
11
+
12
+ ## 边界
13
+
14
+ - 输入为 PRD、已完成开发计划及其引用的完成记录;代码仓、测试、运行证据和历史决策用于核实。目标无法唯一确定时询问文档/仓库位置,先做不依赖该信息的调查,不擅自选择相邻文档。
15
+ - 默认只写差异报告和新 gaps plan。原 PRD、原计划、完成记录和代码保持只读;文档同步也列为 follow-up,不自动修改历史完成事实。不自动实施、创建 issue、发布或发送评论。
16
+ - 只核对 PRD 及已确认变更承诺的范围,不新增产品机会,不设问题数量或 top-N 截断。明确不在本期的需求保留追踪去向,不当成本期遗漏;未获确认的删减/延期不能算范围外。
17
+ - 参考 `gen-specs-as-issues` 的文档对照实际行为、用户旅程和依赖分析思路,不继承其问题配额、评分公式或 issue 创建流程;运行时不依赖该参考技能。
18
+
19
+ ## 1. 锚定输入与证据链
20
+
21
+ 1. 读取适用仓库规则,记录审查日期、PRD/计划路径及版本或 hash、代码仓 commit/dirty 状态、目标阶段和验收环境。当前工作树参与调查时明确标注;不能把开发分支通过当成已经上线。
22
+ 2. 通读 PRD 与开发计划,提取原始需求 ID、用户场景、业务规则、权限、FR/NFR、验收/UAT、分期和显式排除。无 ID 时使用稳定章节定位;仅为审查拆出的子项标明是本报告编号,不冒充源需求。
23
+ 3. 沿计划的记录索引读取各里程碑完成记录,包括测试结果、已知限制、未完成项、延期和实现变更;按需追读其指向的验收报告、ADR 或用户决定。相对链接按所属文档目录解析。记录缺失、链接不可访问或内容截断时标出缺口,不推断其中内容。
24
+ 4. 核对完成声明与记录:里程碑退出条件、跳过/失败测试、局部验收与阶段终验是否一致。原计划实际未完成时说明输入前提不成立,继续核对可确认部分,不能把未完成项包装成「完成后新发现」的遗漏。
25
+ 5. 读取 [references/report-contract.md](references/report-contract.md),确定报告路径,建立 `PRD → 计划/里程碑 → 完成记录 → 实际行为/验证` 的追踪账本。**从 PRD 向下追踪**,防止只审计划已有条目而漏掉从未进入计划的需求。
26
+
27
+ ## 2. 核实功能实现情况
28
+
29
+ - 每个在范围内的需求/验收条件都要有覆盖行。一个需求部分满足时拆出未满足条件,不用已实现的主路径掩盖权限、异常、状态反馈或边界行为的缺口。跨里程碑能力检查最终用户旅程,不能只拼接各局部的完成声明。
30
+ - 追到可观察行为:入口与权限 → 业务处理/依赖 → 数据或状态变化 → 用户/调用方结果;按该需求检查配置开关、部署条件和真实接线。文件存在、类型定义、占位代码、mock、不可达入口不等于交付。
31
+ - 完成记录是证据线索,不是免检证明。区分「文档自述」「静态代码核实」「已有测试/运行记录」「本次实际验证」,注明环境、版本及适用范围;未运行测试就不能说本次通过。性能、视觉、端到端可用性等结论必须有相应证据。
32
+ - 报「不存在」前,调查真实入口、同义实现、复用能力、配置及替代路径;一次关键词未命中不足以证明遗漏。只在授权范围运行必要验证,不能执行迁移、部署或有副作用的业务操作来凑证据。
33
+ - 证据不足时,先查能查的事实,再列具体补证方式。无法访问代码/环境时继续文档级核对,保留未核实状态,不把整份 PRD 宣称已实现,也不把所有未知都报成遗漏。
34
+
35
+ ## 3. 将实质差异分为三类
36
+
37
+ 每项差异用稳定 `G-01` 等编号,记录 PRD 期望、实际行为、影响、来源和分类依据。已满足/范围外是覆盖状态;待核实是证据状态,均不是第四类差异结论。证据未足够时分类可暂空,不强行三选一。
38
+
39
+ | 类别 | 判定条件 | 默认处置 |
40
+ | --- | --- | --- |
41
+ | **A · 明确遗漏** | 本期有效需求或验收条件明确;证据确认未实现、部分缺失或行为不满足;没有适用的已批准变更,且恢复原要求不需要新的产品取舍 | 纳入 follow-up,给出最小补齐范围和验收条件;无需重复询问是否修复已明确的要求 |
42
+ | **B · 合理变更** | 有可核实的实现/可行性约束、替代方案及取舍依据;替代行为已实现并有相应证据;保持产品目标与验收承诺,或改变承诺已获有权决策者明确确认 | 保留变更及其依据,不要求机械恢复原实现;仍需同步文档或补验收的事项单列 follow-up |
43
+ | **C · 需 Triage 的实现差异** | 实际与 PRD 不同,涉及范围、体验、权限/数据、外部契约、关键 NFR 或验收取舍,且现有决定不能确定处置;或约束导致原要求不能直接补齐 | 准备上下文与真实可行选项,请用户决定;未回答保持待决 |
44
+
45
+ 判定约束:
46
+
47
+ - 「实现更方便」「工期不够」或开发者自述「合理」不能单独支持 B;可行性受限也不自动批准产品降级。无批准的承诺变更归 C。
48
+ - 纯内部实现替换、用户可见语义和验收保持一致且证据充分,可归 B,不为技术细节额外求批。既有明确决定仍有效时直接沿用并引用,不重复 Triage。
49
+ - 事实与处置分开:用户可决定接受限制、补齐或延期,不能用用户选择证明功能已实现。A 被明确豁免后保留原判定与决策轨迹;C 已决也保留原编号,不抹去曾经的差异。
50
+ - 同一变更的适配部分与遗留缺口可以拆项并关联,不能用整项 B 吞掉未实现部分。明确遗漏如果修复将引入新的产品取舍,关联 C 先决策再定修复范围。
51
+
52
+ ## 4. 交互式 Triage
53
+
54
+ 有 C 时,先准备可审阅的报告和问题卡,再使用环境实际可用的 `AskUserQuestion`、`AskUserTool`、`request_user_input_async` 或等价交互工具;遵守工具当前模式/参数限制,不虚构工具调用。工具不可用时在聊天中提出同等清晰的问题并等待。用户明确要求不交互时,保存待决事项,不代替用户拍板。
55
+
56
+ 每张问题卡包含:
57
+
58
+ 1. **差异与来源**:G-ID、PRD 要求及定位、当前行为与代码/完成记录证据。
59
+ 2. **影响与原因**:受影响角色和场景、为何发生、已证实的约束及尚未知的事实。
60
+ 3. **待决定的具体问题**:例如是否接受现有限制,不能只问「这个怎么处理」。
61
+ 4. **可行选项和后果**:通常 2–3 项,如按 PRD 补齐、接受现状并修订需求、采用替代方案或延期;说明各自用户效果、范围、风险和验收变化。推荐项写理由,不凭空给工期或提供已知不可行方案;允许自由回答。
62
+
63
+ - 交互问题本身带上问题卡的关键上下文,不能只写 G-ID 或让用户先翻报告才能理解选项;长证据用报告定位链接补充。
64
+ - 按依赖顺序提问,一轮只问少量相互独立的问题;上游选择改变下游选项时先等上游答案。缺的是事实时请求材料或安排补证,不让用户凭偏好裁定代码事实。
65
+ - 将明确回答写入决策账本:`D-ID → G-ID → 选择/理由 → 新验收边界 → follow-up/延期/豁免 → 用户确认日期与来源`。上下文中已给出的明确决定可直接登记;含糊回答只追问影响实施的部分。
66
+ - 异步等待期间继续不依赖该决定的核查;默认选项、超时、空回答都不是批准。用户选「稍后决定」则保持待决,记录解除条件,不循环催问,也不把它改写成接受现状。
67
+ - 收到决定后复核受影响需求、验收与关联差异,只重新打开因新证据或新决定失效的问题。
68
+
69
+ ## 5. 收敛 follow-up 并调用 dev-plan
70
+
71
+ 形成一份有来源的 follow-up 清单:未被明确豁免/延期的 A;C 决策要求的补齐或替代实现;B 或接受现状后必要的文档同步、验证补齐。证据缺口只有形成具体、已确定范围的调查/验证任务才纳入,不能包装成未经证实的修复需求。合并同根因任务,保留所有 G-ID/需求关联。
72
+
73
+ - 已满足、无后续动作的 B、明确豁免或已延期到别期的事项不进入本次实施范围;报告保留理由、去向和重新评估条件。全部无 follow-up 时明确写「无需 gaps plan」,不创建空计划。
74
+ - 清单非空时,**实际定位并读取可用的 `dev-plan/SKILL.md`,按其写计划流程、骨架和校验生成独立 gaps plan**;不止建议用户以后调用,也不在本技能复制一套开发计划模板。缺少该技能时查找可用安装位置;仍找不到则保留报告和交接清单,说明计划生成受阻,不能声称已创建。
75
+ - 交给 `dev-plan` 的输入:PRD、原计划及相关记录路径,差异报告、代码基线,选定 G-ID 和 D-ID,已确定目标与验收、排除/延期项、相关代码证据和依赖。原 PRD 提供来源,用户确认的变更提供新目标,当前代码提供起点;不能让下游再次按旧 PRD 推翻已确认决定。
76
+ - 使用 `<原计划名>-gaps` 作为默认代号,输出目录、重名处理和最终状态遵守 `dev-plan`。保留 PRD 需求 ID,并追踪 `需求 → G-ID/D-ID → gaps 任务/里程碑 → 验收`;只规划增量,不重做已完成里程碑,不复制旧计划的完成记录,初始化新计划未开始的进度。
77
+ - 未决 C 不得作为已选方案进入计划。若仍在等回答,先保存报告;独立且已确定的 follow-up 可先成独立范围的计划,显式排除待决项。未决项影响该计划范围或关键依赖时按 `dev-plan` 标 `Blocked`,不能用假设绕过;不得把部分计划说成全部差异已处理。
78
+ - 计划生成后回读,检查范围、决策、验收与报告一致,并在报告中回填实际路径、状态和 G-ID 去向。默认到计划交付为止,不开始执行 gaps plan。
79
+
80
+ ## 6. 完成检查与交付
81
+
82
+ 按报告合同保存并回读完整报告,检查:PRD 覆盖无静默漏行,A/B/C 有证据,待核实与待决未伪装成已解决,用户决定已落实到 follow-up,计划只含确认范围且链接真实。结束前核对输入/代码基线是否变化,只复核受影响结论。
83
+
84
+ 最终回复给报告链接、三类差异数量、待核实/待决数量,以及 gaps plan 的实际链接与状态(或无需生成/受阻原因)。报告落盘、用户决策、计划生成分别说明完成情况;有未决/缺证时不宣称整份 PRD 已完整交付。