@next-friday/create-app 9.2.1 → 9.3.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 (243) hide show
  1. package/package.json +1 -1
  2. package/templates/base/.agents/review.md +1 -1
  3. package/templates/base/.claude/settings.json +11 -0
  4. package/templates/base/.claude-plugin/marketplace.json +16 -0
  5. package/templates/base/.cursor/hooks/load-project-plugins.sh +3 -0
  6. package/templates/base/.cursor/hooks.json +6 -0
  7. package/templates/base/.github/workflows/control-band.yml +4 -2
  8. package/templates/base/.github/workflows/spec-on-intent-merge.yml +2 -1
  9. package/templates/base/REVIEW.md +1 -1
  10. package/templates/base/SETUP.md +12 -9
  11. package/templates/base/intent/README.md +1 -1
  12. package/templates/base/plugins/sdlc/claude-code/.claude-plugin/plugin.json +7 -0
  13. package/templates/base/plugins/sdlc/claude-code/agents/verifier.md +7 -0
  14. package/templates/base/plugins/sdlc/claude-code/hooks/check-reply-shape.sh +53 -0
  15. package/templates/base/plugins/sdlc/claude-code/hooks/hooks.json +15 -0
  16. package/templates/base/{.agents → plugins/sdlc/claude-code}/skills/brand-policy/SKILL.md +1 -3
  17. package/templates/base/{.agents → plugins/sdlc/claude-code}/skills/compliance-policy/SKILL.md +0 -2
  18. package/templates/base/plugins/sdlc/claude-code/skills/sdlc-help/SKILL.md +23 -0
  19. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/SKILL.md +22 -11
  20. package/templates/base/plugins/sdlc/claude-code/skills/sdlc-mode/playbooks/build.md +46 -0
  21. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/deploy.md +4 -4
  22. package/templates/base/{.claude/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/design.md +7 -7
  23. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/fix.md +7 -7
  24. package/templates/base/{.agents/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/maintain.md +6 -8
  25. package/templates/base/plugins/sdlc/claude-code/skills/sdlc-mode/playbooks/open-pr.md +17 -0
  26. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/plan.md +5 -5
  27. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/question.md +2 -2
  28. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/claude-code/skills/sdlc-mode}/playbooks/review.md +7 -8
  29. package/templates/base/{.claude → plugins/sdlc/claude-code}/skills/security-policy/SKILL.md +0 -2
  30. package/templates/base/plugins/sdlc/claude-code/skills/setup-sdlc/SKILL.md +51 -0
  31. package/templates/base/{.agents → plugins/sdlc/claude-code}/skills/ux-policy/SKILL.md +0 -2
  32. package/templates/base/plugins/sdlc/cursor/.cursor-plugin/plugin.json +10 -0
  33. package/templates/base/plugins/sdlc/cursor/agents/verifier.md +7 -0
  34. package/templates/base/plugins/sdlc/cursor/hooks/check-reply-shape.sh +53 -0
  35. package/templates/base/plugins/sdlc/cursor/hooks/hooks.json +16 -0
  36. package/templates/base/{.cursor → plugins/sdlc/cursor}/skills/brand-policy/SKILL.md +1 -3
  37. package/templates/base/{.claude → plugins/sdlc/cursor}/skills/compliance-policy/SKILL.md +0 -2
  38. package/templates/base/plugins/sdlc/cursor/skills/sdlc-help/SKILL.md +23 -0
  39. package/templates/base/{.claude/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/SKILL.md +22 -11
  40. package/templates/base/plugins/sdlc/cursor/skills/sdlc-mode/playbooks/build.md +46 -0
  41. package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/deploy.md +4 -4
  42. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/design.md +7 -7
  43. package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/fix.md +7 -7
  44. package/templates/base/{.cursor/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/maintain.md +6 -8
  45. package/templates/base/plugins/sdlc/cursor/skills/sdlc-mode/playbooks/open-pr.md +17 -0
  46. package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/plan.md +5 -5
  47. package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/question.md +2 -2
  48. package/templates/base/{.agents/skills/sdlc → plugins/sdlc/cursor/skills/sdlc-mode}/playbooks/review.md +7 -8
  49. package/templates/base/{.agents → plugins/sdlc/cursor}/skills/security-policy/SKILL.md +0 -2
  50. package/templates/base/plugins/sdlc/cursor/skills/setup-sdlc/SKILL.md +51 -0
  51. package/templates/base/{.claude → plugins/sdlc/cursor}/skills/ux-policy/SKILL.md +0 -2
  52. package/templates/base/scripts/check-plan.ts +1 -1
  53. package/templates/base/scripts/sync-agent-rules.ts +0 -58
  54. package/templates/nestjs/AGENTS.md +5 -3
  55. package/templates/nestjs/CONTRIBUTING.md +0 -1
  56. package/templates/nestjs/package.json +0 -1
  57. package/templates/nextjs/AGENTS.md +5 -3
  58. package/templates/nextjs/CONTRIBUTING.md +0 -1
  59. package/templates/nextjs/package.json +0 -1
  60. package/templates/nodejs/AGENTS.md +5 -3
  61. package/templates/nodejs/CONTRIBUTING.md +0 -1
  62. package/templates/nodejs/package.json +0 -1
  63. package/templates/payload/.agents/review.md +1 -1
  64. package/templates/payload/AGENTS.md +5 -3
  65. package/templates/payload/CONTRIBUTING.md +0 -1
  66. package/templates/payload/REVIEW.md +1 -1
  67. package/templates/payload/package.json +0 -1
  68. package/templates/turborepo/.agents/review.md +1 -1
  69. package/templates/turborepo/AGENTS.md +5 -3
  70. package/templates/turborepo/CONTRIBUTING.md +0 -1
  71. package/templates/turborepo/REVIEW.md +1 -1
  72. package/templates/turborepo/package.json +0 -1
  73. package/templates/base/.agents/agents.json +0 -7
  74. package/templates/base/.agents/skill-evals/README.md +0 -42
  75. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/case.yaml +0 -11
  76. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/01-the-reply-explains-why-pnpm.md +0 -7
  77. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/02-no-file-in-the-project.md +0 -7
  78. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/03-no-commit-is-made-nothing.md +0 -7
  79. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/05-every-path-in-the-reply.md +0 -7
  80. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/06-everything-the-reply-states-as.md +0 -7
  81. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/prompt.md +0 -8
  82. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/case.yaml +0 -11
  83. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/fixture.md +0 -1
  84. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/01-work-happens-on-the-plan-branch.md +0 -7
  85. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/02-the-plan-is-implemented-and-checked.md +0 -7
  86. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/03-the-branch-is-pushed.md +0 -7
  87. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/04-the-reply-lists-three-playbooks.md +0 -7
  88. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/05-no-approval-and-no-merge.md +0 -7
  89. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/06-the-reply-ends-at-the-code-owner.md +0 -7
  90. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/07-the-plan-names-the-engineer.md +0 -7
  91. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/prompt.md +0 -8
  92. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/case.yaml +0 -70
  93. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/fixture.md +0 -1
  94. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/01-the-reply-asks-numbered-questions.md +0 -7
  95. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/02-no-plan-before-the-answers.md +0 -7
  96. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/03-no-question-depends-on-another.md +0 -7
  97. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/04-no-file-or-commit.md +0 -7
  98. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/prompt.md +0 -8
  99. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/case.yaml +0 -67
  100. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/fixture.md +0 -1
  101. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/01-the-plan-has-the-four-headings.md +0 -7
  102. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/02-no-source-file-or-commit.md +0 -7
  103. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/03-the-reply-names-the-gate.md +0 -7
  104. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/prompt.md +0 -10
  105. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/case.yaml +0 -7
  106. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/fixture.md +0 -1
  107. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/01-no-deployment-is-started.md +0 -7
  108. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/02-the-reply-names-the-release-manager-gate.md +0 -7
  109. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/03-the-reply-says-what-it-could-not-read.md +0 -7
  110. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/prompt.md +0 -8
  111. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/case.yaml +0 -12
  112. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/01-a-file-intentkebabcasenameintentmd-exists-with.md +0 -7
  113. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/02-the-reply-shows-the-draft.md +0 -7
  114. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/03-no-commit-is-made-nothing.md +0 -7
  115. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/04-reply-lists-the-playbook-steps.md +0 -7
  116. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/06-every-path-in-the-reply.md +0 -7
  117. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/07-the-drafts-open-questions-section.md +0 -7
  118. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/prompt.md +0 -10
  119. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/case.yaml +0 -33
  120. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/fixture.md +0 -1
  121. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/01-the-reply-shows-the-reproduction-output.md +0 -7
  122. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/02-the-reply-names-one-cause-with-evidence.md +0 -7
  123. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/03-the-plan-has-the-four-headings.md +0 -7
  124. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/04-no-file-or-commit.md +0 -7
  125. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/05-the-reply-names-the-gate.md +0 -7
  126. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/prompt.md +0 -8
  127. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/case.yaml +0 -11
  128. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/01-the-first-message-restates-the.md +0 -7
  129. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/02-the-reply-asks-numbered-questions.md +0 -7
  130. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/03-no-intentmd-is-written-before.md +0 -7
  131. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/04-reply-lists-the-playbook-steps.md +0 -7
  132. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/05-no-commit-is-made-nothing.md +0 -7
  133. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/07-every-path-in-the-reply.md +0 -7
  134. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/08-no-question-in-the-round.md +0 -7
  135. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/prompt.md +0 -8
  136. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/case.yaml +0 -14
  137. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/fixture.md +0 -1
  138. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/01-the-intent-has-the-five-headings.md +0 -7
  139. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/02-problem-holds-the-error-and-where.md +0 -7
  140. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/03-unverified-cause-is-an-open-question.md +0 -7
  141. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/04-no-source-file-is-changed.md +0 -7
  142. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/05-a-branch-is-pushed-and-the-gate-is-named.md +0 -7
  143. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/06-the-person-is-asked-no-question.md +0 -7
  144. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/prompt.md +0 -8
  145. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/case.yaml +0 -11
  146. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/01-the-reply-follows-the-plan.md +0 -7
  147. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/02-the-reply-does-not-tell.md +0 -7
  148. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/03-no-file-is-created-or.md +0 -7
  149. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/05-every-path-in-the-reply.md +0 -7
  150. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/prompt.md +0 -8
  151. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/case.yaml +0 -10
  152. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/fixture.md +0 -1
  153. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/01-no-file-is-written-and-nothing-is-committed.md +0 -7
  154. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/02-the-reply-names-the-closest-row.md +0 -7
  155. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/03-the-reply-is-short.md +0 -7
  156. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/prompt.md +0 -8
  157. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/case.yaml +0 -79
  158. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/fixture.md +0 -1
  159. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/01-findings-have-pass-severity-and-location.md +0 -7
  160. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/02-no-approval-and-no-merge.md +0 -7
  161. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/03-the-reply-names-the-code-owner-gate.md +0 -7
  162. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/04-nothing-is-pushed-or-changed.md +0 -7
  163. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/05-the-review-runs-in-a-fresh-context.md +0 -7
  164. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/prompt.md +0 -8
  165. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/case.yaml +0 -41
  166. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/fixture.md +0 -1
  167. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/01-no-spec-is-written.md +0 -7
  168. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/02-no-commit-is-made.md +0 -7
  169. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/03-the-reply-says-not-merged.md +0 -7
  170. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/05-the-reply-is-short.md +0 -7
  171. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/prompt.md +0 -8
  172. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/case.yaml +0 -11
  173. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/01-no-intentmd-or-any-other.md +0 -7
  174. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/02-no-commit-is-made-nothing.md +0 -7
  175. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/04-every-path-in-the-reply.md +0 -7
  176. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/05-the-reply-says-that-work.md +0 -7
  177. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/prompt.md +0 -8
  178. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/case.yaml +0 -41
  179. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/fixture.md +0 -1
  180. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/01-the-spec-has-the-five-headings.md +0 -7
  181. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/02-policies-has-one-line-per-policy.md +0 -7
  182. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/03-no-policy-is-called-unwritten.md +0 -7
  183. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/04-a-branch-is-pushed-for-review.md +0 -7
  184. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/05-the-reply-names-the-gate.md +0 -7
  185. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/07-no-merge-is-made.md +0 -7
  186. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/08-the-four-policies-are-read-before-writing.md +0 -7
  187. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/prompt.md +0 -8
  188. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/case.yaml +0 -10
  189. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/01-the-reply-says-that-work.md +0 -7
  190. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/02-the-reply-gives-one-example.md +0 -7
  191. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/03-the-reply-lists-the-project.md +0 -7
  192. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/04-no-file-is-created-or.md +0 -7
  193. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/06-every-path-in-the-reply.md +0 -7
  194. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/prompt.md +0 -8
  195. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/case.yaml +0 -9
  196. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/01-the-reply-says-that-this.md +0 -7
  197. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/02-the-reply-does-not-describe.md +0 -7
  198. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/03-no-file-is-created-or.md +0 -7
  199. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/05-every-path-in-the-reply.md +0 -7
  200. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/prompt.md +0 -8
  201. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/case.yaml +0 -10
  202. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/01-the-reply-says-to-send.md +0 -7
  203. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/02-no-file-is-created-or.md +0 -7
  204. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/04-every-path-in-the-reply.md +0 -7
  205. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/prompt.md +0 -8
  206. package/templates/base/.agents/skills/sdlc/SKILL.md +0 -54
  207. package/templates/base/.agents/skills/sdlc/playbooks/build.md +0 -46
  208. package/templates/base/.agents/skills/sdlc/playbooks/design.md +0 -40
  209. package/templates/base/.agents/skills/sdlc/playbooks/open-pr.md +0 -15
  210. package/templates/base/.agents/skills/sdlc-help/SKILL.md +0 -23
  211. package/templates/base/.claude/skills/brand-policy/SKILL.md +0 -18
  212. package/templates/base/.claude/skills/sdlc/playbooks/build.md +0 -46
  213. package/templates/base/.claude/skills/sdlc/playbooks/deploy.md +0 -9
  214. package/templates/base/.claude/skills/sdlc/playbooks/fix.md +0 -23
  215. package/templates/base/.claude/skills/sdlc/playbooks/maintain.md +0 -20
  216. package/templates/base/.claude/skills/sdlc/playbooks/open-pr.md +0 -15
  217. package/templates/base/.claude/skills/sdlc/playbooks/plan.md +0 -33
  218. package/templates/base/.claude/skills/sdlc/playbooks/question.md +0 -8
  219. package/templates/base/.claude/skills/sdlc/playbooks/review.md +0 -17
  220. package/templates/base/.claude/skills/sdlc-help/SKILL.md +0 -23
  221. package/templates/base/.cursor/skills/compliance-policy/SKILL.md +0 -25
  222. package/templates/base/.cursor/skills/sdlc/playbooks/build.md +0 -46
  223. package/templates/base/.cursor/skills/sdlc/playbooks/open-pr.md +0 -15
  224. package/templates/base/.cursor/skills/sdlc-help/SKILL.md +0 -23
  225. package/templates/base/.cursor/skills/security-policy/SKILL.md +0 -41
  226. package/templates/base/.cursor/skills/ux-policy/SKILL.md +0 -21
  227. package/templates/base/.github/workflows/agent-evals.yml +0 -46
  228. package/templates/base/scripts/run-agent-evals.ts +0 -1197
  229. package/templates/nestjs/.agents/agents/verifier.md +0 -1
  230. package/templates/nestjs/.claude/agents/verifier.md +0 -7
  231. package/templates/nestjs/.cursor/agents/verifier.md +0 -7
  232. package/templates/nextjs/.agents/agents/verifier.md +0 -1
  233. package/templates/nextjs/.claude/agents/verifier.md +0 -7
  234. package/templates/nextjs/.cursor/agents/verifier.md +0 -7
  235. package/templates/nodejs/.agents/agents/verifier.md +0 -1
  236. package/templates/nodejs/.claude/agents/verifier.md +0 -7
  237. package/templates/nodejs/.cursor/agents/verifier.md +0 -7
  238. package/templates/payload/.agents/agents/verifier.md +0 -1
  239. package/templates/payload/.claude/agents/verifier.md +0 -7
  240. package/templates/payload/.cursor/agents/verifier.md +0 -7
  241. package/templates/turborepo/.agents/agents/verifier.md +0 -1
  242. package/templates/turborepo/.claude/agents/verifier.md +0 -7
  243. package/templates/turborepo/.cursor/agents/verifier.md +0 -7
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 30
4
- timeout_seconds: 900
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc fix a bug: parseVersion("1.2") in src/version.ts returns "1.NaN.0" where it should return "1.2.0"
@@ -1,11 +0,0 @@
1
- schema_version: "1.1"
2
- name: interviews-before-writing-intent
3
- expected_outcome: |
4
- The agent restates the goal, picks the plan playbook, and asks numbered questions that each carry a recommended answer. It writes no intent yet.
5
- timeout_seconds: 600
6
- checks:
7
- - reply_matches: '^\s*(?:\*\*)?1[.)]'
8
- - reply_matches: '^\s*(?:\*\*)?2[.)]'
9
- - no_new_commits
10
- - no_new_branch
11
- - reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The first message restates the goal, the problem, and the smallest change expected to meet it
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply asks numbered questions; each carries a concrete recommended answer that "yes" could accept, or says that it has none to recommend
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No `intent.md` is written before the originator answers
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply's Steps block lists the plan playbook's seven steps, each copied word for word, and marks each one done, open, or `skip:` with a reason
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No commit is made, nothing is pushed, and no pull request is opened
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- Every path in the reply starts from the project root; none starts from the machine's root
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No question in the round depends on the answer to another question in the same round
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 20
4
- timeout_seconds: 600
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc customers complain that the login page is very slow, and I want it fixed
@@ -1,14 +0,0 @@
1
- schema_version: "1.1"
2
- name: maintain-writes-intent-from-a-finding
3
- expected_outcome: |
4
- A job reports that GET /health answers 500 and no person is available. The agent follows the maintain playbook: it diagnoses without changing a source file, writes intent/<change>/intent.md from the template with the error text and where it was seen under Problem, puts an unverified cause under Open questions, pushes a branch, and names the service owner's gate. It asks the person no question.
5
- timeout_seconds: 900
6
- checks:
7
- - file_matches:
8
- path: intent/*/intent.md
9
- regex: 'Cannot read properties of undefined \(reading .status.\)'
10
- - file_matches:
11
- path: intent/*/intent.md
12
- regex: '(?=[\s\S]*^## Problem$)(?=[\s\S]*^## Proposed outcome$)(?=[\s\S]*^## Affected users and systems$)(?=[\s\S]*^## Constraints$)(?=[\s\S]*^## Open questions$)'
13
- - commit_touches_only: "intent/**"
14
- - branch_matches: "^(?!main$).+"
@@ -1 +0,0 @@
1
- A generated NestJS project with a local `origin`; `src/health/health.controller.ts` exists. The finding is the job's claim, and the project holds no seeded fault. No person is available to answer questions.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- `intent/<change>/intent.md` exists with exactly the template's five headings: Problem, Proposed outcome, Affected users and systems, Constraints, and Open questions
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- `intent/<change>/intent.md` holds the error text "Cannot read properties of undefined (reading 'status')" and where it was seen, `GET /health` and `src/health/health.controller.ts`, in its Problem section
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- A cause that the session did not verify is under Open questions, not stated as fact in Problem or Proposed outcome
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No file outside `intent/` is changed
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- A new branch holding `intent.md` is pushed, and the reply names the service owner as the gate that triages the finding
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The session asks the person no question
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 30
4
- timeout_seconds: 900
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc an automated check found that GET /health answers 500 every time since the latest commit. log: "TypeError: Cannot read properties of undefined (reading 'status')" at src/health/health.controller.ts. Nobody is available to ask.
@@ -1,11 +0,0 @@
1
- schema_version: "1.1"
2
- name: reported-problem-starts-the-plan
3
- expected_outcome: |
4
- The message reports a problem through /sdlc without asking a question. The agent follows the plan playbook: it lists the steps and asks its first round. It does not tell the person to send /sdlc again.
5
- timeout_seconds: 600
6
- checks:
7
- - reply_matches: '^\s*(?:\*\*)?1[.)]'
8
- - reply_lacks: '(?<!skills)/sdlc(?![\w/-])'
9
- - no_file_changes
10
- - no_new_commits
11
- - reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply follows the plan playbook: it has a Steps block and asks at least one numbered question
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply does not tell the person to send `/sdlc` again to start the work
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No file is created or changed, no commit is made, and nothing is pushed
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- Every path in the reply starts from the project root; none starts from the machine's root
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 20
4
- timeout_seconds: 600
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc the login page is very slow and customers complain
@@ -1,10 +0,0 @@
1
- schema_version: "1.1"
2
- name: request-that-fits-no-row
3
- expected_outcome: |
4
- The request matches no row of the /sdlc table. The agent says which row is closest and why it does not fit, answers in a few lines, and stops. It writes no file and commits nothing.
5
- timeout_seconds: 300
6
- fixture:
7
- - bare_remote: origin
8
- checks:
9
- - no_file_changes
10
- - no_new_commits
@@ -1 +0,0 @@
1
- A generated project with a local `origin`.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No file is written and nothing is committed
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply says which row of the `/sdlc` table is closest and why it does not fit
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply is a few lines long
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 10
4
- timeout_seconds: 300
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc write a birthday poem for my manager
@@ -1,79 +0,0 @@
1
- schema_version: "1.1"
2
- name: review-reports-findings-and-never-merges
3
- expected_outcome: |
4
- The branch feat/app-version holds a change with one bug. The agent follows the review playbook: it reviews the diff with a fresh context, reports the finding with its pass, severity, and path:line, and stops at the gate for the code owner. It neither approves nor merges.
5
- timeout_seconds: 1200
6
- fixture:
7
- - write:
8
- path: intent/app-version/intent.md
9
- content: |
10
- # Intent: app version endpoint
11
-
12
- Author: Joe (Developer Productivity). Status: accepted.
13
-
14
- ## Problem
15
-
16
- Support cannot tell which version of the service a customer reaches. Each ticket about a regression starts with a question about the version, about ten times a week (count from the support queue).
17
-
18
- ## Proposed outcome
19
-
20
- A caller sees the running version at `GET /version`. Out of scope: build metadata.
21
-
22
- ## Affected users and systems
23
-
24
- Support engineers and the service's HTTP API.
25
-
26
- ## Constraints
27
-
28
- No authentication change.
29
-
30
- ## Open questions
31
-
32
- None
33
- - write:
34
- path: intent/app-version/spec.md
35
- content: |
36
- # Spec: app version endpoint
37
-
38
- From `intent/app-version/intent.md`. Status: accepted.
39
-
40
- Request: "add a version endpoint". Skills at `0000000`.
41
-
42
- ## Requirements
43
-
44
- 1. `GET /version` answers 200 with the JSON body `{"version": "<version in package.json>"}` and no other field.
45
-
46
- ## Design
47
-
48
- `src/version/version.controller.ts` (new) reads the version from `package.json` and returns it.
49
-
50
- ## Policies
51
-
52
- - Brand: Does not apply, no user-visible text.
53
- - Security: Does not apply, the endpoint exposes no secret.
54
- - Compliance: Does not apply, no personal data.
55
- - UX: Does not apply, no interface.
56
-
57
- ## Areas of concern
58
-
59
- None
60
-
61
- ## Open questions
62
-
63
- None
64
- - commit: "docs: add app-version intent and spec"
65
- - branch: feat/app-version
66
- - write:
67
- path: src/version/version.controller.ts
68
- content: |
69
- export function getVersion(): {build: string; version: string} {
70
- return {build: "local", version: "1.0.0"};
71
- }
72
- - commit: "feat: add version controller"
73
- - checkout: main
74
- - bare_remote: origin
75
- checks:
76
- - reply_matches: '\b(?:Important|Nit)\b'
77
- - reply_matches: 'src/version/version\.controller\.ts:\d+'
78
- - no_file_changes
79
- - no_new_commits
@@ -1 +0,0 @@
1
- The branch `feat/app-version`, which the session did not create, is pushed. Its diff against the default branch contains one bug: `src/version/version.controller.ts` returns a hardcoded version and an extra field, against `intent/app-version/spec.md`. When the session has a pull request host, an open pull request holds that diff.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The finding is reported with its pass, its severity, and `path:line`
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The session neither approves nor merges a pull request
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply names the gate that waits on the code owner
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The session pushes nothing to the branch `feat/app-version` and changes no file
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The trace shows the review ran in a fresh context: a subagent that was given only the diff, `REVIEW.md`, and the change's spec and plan, or, when no subagent could start, the diff read again from the first line
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 40
4
- timeout_seconds: 1200
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc review branch feat/app-version
@@ -1,41 +0,0 @@
1
- schema_version: "1.1"
2
- name: spec-for-unmerged-intent-stops
3
- expected_outcome: |
4
- The intent intent/dark-mode/intent.md exists only on the branch docs/dark-mode-intent. The agent says in a few lines that the intent is not merged yet, names that branch, and stops. It writes no spec and makes no commit.
5
- timeout_seconds: 600
6
- fixture:
7
- - branch: docs/dark-mode-intent
8
- - write:
9
- path: intent/dark-mode/intent.md
10
- content: |
11
- # Intent: dark mode
12
-
13
- Author: Joe (Developer Productivity). Status: draft.
14
-
15
- ## Problem
16
-
17
- Users who work at night find the white interface tiring.
18
-
19
- ## Proposed outcome
20
-
21
- A dark theme that follows the system setting.
22
-
23
- ## Affected users and systems
24
-
25
- All users of the interface.
26
-
27
- ## Constraints
28
-
29
- None
30
-
31
- ## Open questions
32
-
33
- None
34
- - commit: "docs: add dark-mode intent"
35
- - checkout: main
36
- - bare_remote: origin
37
- checks:
38
- - reply_matches: "docs/dark-mode-intent"
39
- - no_file_changes
40
- - no_new_commits
41
- - no_new_branch
@@ -1 +0,0 @@
1
- `intent/dark-mode/intent.md` exists only on the branch `docs/dark-mode-intent`; the default branch has no `intent/dark-mode/` folder.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No `spec.md` is written
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No new commit is made, nothing is pushed, and no pull request is opened
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply says that the intent is not merged yet and names the branch `docs/dark-mode-intent`
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply is at most a few lines and contains no review of the intent's content
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 20
4
- timeout_seconds: 600
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- /sdlc write the spec for intent/dark-mode/intent.md
@@ -1,11 +0,0 @@
1
- schema_version: "1.1"
2
- name: statement-without-command-starts-no-work
3
- expected_outcome: |
4
- The message is a statement and no command was typed. The agent replies without creating an intent, a file, or a commit.
5
- timeout_seconds: 600
6
- checks:
7
- - reply_matches: "/sdlc"
8
- - no_file_changes
9
- - no_new_commits
10
- - no_new_branch
11
- - reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No `intent.md` or any other file is created or changed
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No commit is made, nothing is pushed, and no pull request is opened
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- Every path in the reply starts from the project root; none starts from the machine's root
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply says that work starts by sending the request with `/sdlc`
@@ -1,8 +0,0 @@
1
- ---
2
- tags: [skill-creator]
3
- max_turns: 20
4
- timeout_seconds: 600
5
- allowed_tools: [Read, Glob, Grep, Skill, Write, Edit, Bash]
6
- ---
7
-
8
- The login page is very slow and customers complain
@@ -1,41 +0,0 @@
1
- schema_version: "1.1"
2
- name: writes-spec-from-merged-intent
3
- expected_outcome: |
4
- The intent intent/csv-export/intent.md is merged and has no spec. The agent follows the design playbook: it reads the four policies, writes intent/csv-export/spec.md from the template, pushes a branch, and waits at the gate for the product owner. It does not merge.
5
- timeout_seconds: 900
6
- fixture:
7
- - write:
8
- path: intent/csv-export/intent.md
9
- content: |
10
- # Intent: csv export
11
-
12
- Author: Joe (Developer Productivity). Status: accepted.
13
-
14
- ## Problem
15
-
16
- The accounting team of 12 copies the report table into Excel by hand at every month end, about 20 minutes each (figure from the accounting lead).
17
-
18
- ## Proposed outcome
19
-
20
- One button downloads the open report as a CSV file. Out of scope: PDF and Excel export.
21
-
22
- ## Affected users and systems
23
-
24
- The accounting team and the report page.
25
-
26
- ## Constraints
27
-
28
- Report access rights do not change.
29
-
30
- ## Open questions
31
-
32
- None
33
- - commit: "docs: add csv-export intent"
34
- checks:
35
- - file_exists: intent/csv-export/spec.md
36
- - file_matches:
37
- path: intent/csv-export/spec.md
38
- regex: '(?=[\s\S]*^## Requirements$)(?=[\s\S]*^## Design$)(?=[\s\S]*^## Policies$)(?=[\s\S]*^## Areas of concern$)(?=[\s\S]*^## Open questions$)'
39
- - commit_touches_only: intent/csv-export/spec.md
40
- - branch_matches: "^(?!main$).+"
41
- - reply_lacks: '(?:^|[\s`("''])/(?:home|tmp|root|Users|var|private)/'
@@ -1 +0,0 @@
1
- `intent/csv-export/intent.md` is committed on the default branch, and no `intent/csv-export/spec.md` exists on any branch.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- `intent/csv-export/spec.md` exists with exactly the template's five headings: Requirements, Design, Policies, Areas of concern, and Open questions
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The spec's Policies section has one line for each of the four policies: brand, security, compliance, and UX
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No line in the spec says that a policy is not written