@next-friday/create-app 9.2.0 → 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 (260) hide show
  1. package/package.json +13 -10
  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 +8 -8
  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 +6 -6
  27. package/templates/base/{.agents/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 +8 -8
  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 +6 -6
  47. package/templates/base/{.claude/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-agent-gates.ts +14 -1
  53. package/templates/base/scripts/check-plan.ts +1 -1
  54. package/templates/base/scripts/sync-agent-rules.ts +0 -58
  55. package/templates/nestjs/AGENTS.md +6 -4
  56. package/templates/nestjs/CONTRIBUTING.md +0 -1
  57. package/templates/nestjs/package.json +7 -8
  58. package/templates/nextjs/AGENTS.md +6 -4
  59. package/templates/nextjs/CONTRIBUTING.md +0 -1
  60. package/templates/nextjs/package.json +7 -8
  61. package/templates/nodejs/AGENTS.md +6 -4
  62. package/templates/nodejs/CONTRIBUTING.md +0 -1
  63. package/templates/nodejs/package.json +3 -4
  64. package/templates/payload/.agents/review.md +1 -1
  65. package/templates/payload/AGENTS.md +6 -4
  66. package/templates/payload/CONTRIBUTING.md +0 -1
  67. package/templates/payload/REVIEW.md +1 -1
  68. package/templates/payload/package.json +9 -10
  69. package/templates/turborepo/.agents/review.md +1 -1
  70. package/templates/turborepo/AGENTS.md +6 -4
  71. package/templates/turborepo/CONTRIBUTING.md +0 -1
  72. package/templates/turborepo/REVIEW.md +1 -1
  73. package/templates/turborepo/apps/app/package.json +6 -6
  74. package/templates/turborepo/apps/backoffice/package.json +8 -8
  75. package/templates/turborepo/package.json +1 -2
  76. package/templates/base/.agents/agents.json +0 -7
  77. package/templates/base/.agents/skill-evals/README.md +0 -42
  78. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/case.yaml +0 -12
  79. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/01-the-reply-explains-why-pnpm.md +0 -7
  80. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/02-no-file-in-the-project.md +0 -7
  81. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/03-no-commit-is-made-nothing.md +0 -7
  82. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/04-the-reply-is-in-the.md +0 -7
  83. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/05-every-path-in-the-reply.md +0 -7
  84. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/graders/06-everything-the-reply-states-as.md +0 -7
  85. package/templates/base/.agents/skill-evals/sdlc/answers-question-without-writing/prompt.md +0 -8
  86. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/case.yaml +0 -12
  87. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/fixture.md +0 -1
  88. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/01-work-happens-on-the-plan-branch.md +0 -7
  89. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/02-the-plan-is-implemented-and-checked.md +0 -7
  90. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/03-the-branch-is-pushed.md +0 -7
  91. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/04-the-reply-lists-three-playbooks.md +0 -7
  92. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/05-no-approval-and-no-merge.md +0 -7
  93. 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
  94. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/graders/07-the-plan-names-the-engineer.md +0 -7
  95. package/templates/base/.agents/skill-evals/sdlc/build-continues-from-an-accepted-plan/prompt.md +0 -8
  96. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/case.yaml +0 -71
  97. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/fixture.md +0 -1
  98. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/01-the-reply-asks-numbered-questions.md +0 -7
  99. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/02-no-plan-before-the-answers.md +0 -7
  100. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/03-no-question-depends-on-another.md +0 -7
  101. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/04-no-file-or-commit.md +0 -7
  102. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/graders/05-the-reply-is-in-thai.md +0 -7
  103. package/templates/base/.agents/skill-evals/sdlc/build-interviews-before-planning/prompt.md +0 -8
  104. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/case.yaml +0 -68
  105. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/fixture.md +0 -1
  106. 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
  107. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/02-no-source-file-or-commit.md +0 -7
  108. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/03-the-reply-names-the-gate.md +0 -7
  109. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/graders/04-the-reply-is-in-thai.md +0 -7
  110. package/templates/base/.agents/skill-evals/sdlc/build-plans-and-waits-for-the-engineer/prompt.md +0 -10
  111. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/case.yaml +0 -8
  112. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/fixture.md +0 -1
  113. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/01-no-deployment-is-started.md +0 -7
  114. 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
  115. 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
  116. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/graders/04-the-reply-is-in-the-language.md +0 -7
  117. package/templates/base/.agents/skill-evals/sdlc/deploy-stops-at-the-production-gate/prompt.md +0 -8
  118. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/case.yaml +0 -13
  119. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/01-a-file-intentkebabcasenameintentmd-exists-with.md +0 -7
  120. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/02-the-reply-shows-the-draft.md +0 -7
  121. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/03-no-commit-is-made-nothing.md +0 -7
  122. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/04-reply-lists-the-playbook-steps.md +0 -7
  123. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/05-the-reply-is-in-the.md +0 -7
  124. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/06-every-path-in-the-reply.md +0 -7
  125. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/graders/07-the-drafts-open-questions-section.md +0 -7
  126. package/templates/base/.agents/skill-evals/sdlc/drafts-intent-and-waits-for-yes/prompt.md +0 -10
  127. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/case.yaml +0 -34
  128. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/fixture.md +0 -1
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/graders/06-the-reply-is-in-thai.md +0 -7
  135. package/templates/base/.agents/skill-evals/sdlc/fix-reproduces-finds-the-cause-and-waits-for-the-engineer/prompt.md +0 -8
  136. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/case.yaml +0 -12
  137. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/01-the-first-message-restates-the.md +0 -7
  138. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/02-the-reply-asks-numbered-questions.md +0 -7
  139. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/03-no-intentmd-is-written-before.md +0 -7
  140. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/04-reply-lists-the-playbook-steps.md +0 -7
  141. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/05-no-commit-is-made-nothing.md +0 -7
  142. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/06-the-reply-is-in-the.md +0 -7
  143. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/07-every-path-in-the-reply.md +0 -7
  144. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/graders/08-no-question-in-the-round.md +0 -7
  145. package/templates/base/.agents/skill-evals/sdlc/interviews-before-writing-intent/prompt.md +0 -8
  146. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/case.yaml +0 -14
  147. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/fixture.md +0 -1
  148. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/01-the-intent-has-the-five-headings.md +0 -7
  149. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/02-problem-holds-the-error-and-where.md +0 -7
  150. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/03-unverified-cause-is-an-open-question.md +0 -7
  151. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/04-no-source-file-is-changed.md +0 -7
  152. 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
  153. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/graders/06-the-person-is-asked-no-question.md +0 -7
  154. package/templates/base/.agents/skill-evals/sdlc/maintain-writes-intent-from-a-finding/prompt.md +0 -8
  155. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/case.yaml +0 -12
  156. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/01-the-reply-follows-the-plan.md +0 -7
  157. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/02-the-reply-does-not-tell.md +0 -7
  158. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/03-no-file-is-created-or.md +0 -7
  159. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/04-the-reply-is-in-the.md +0 -7
  160. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/graders/05-every-path-in-the-reply.md +0 -7
  161. package/templates/base/.agents/skill-evals/sdlc/reported-problem-starts-the-plan/prompt.md +0 -8
  162. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/case.yaml +0 -11
  163. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/fixture.md +0 -1
  164. 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
  165. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/02-the-reply-names-the-closest-row.md +0 -7
  166. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/graders/03-the-reply-is-short-and-in-thai.md +0 -7
  167. package/templates/base/.agents/skill-evals/sdlc/request-that-fits-no-row/prompt.md +0 -8
  168. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/case.yaml +0 -79
  169. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/fixture.md +0 -1
  170. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/01-findings-have-pass-severity-and-location.md +0 -7
  171. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/02-no-approval-and-no-merge.md +0 -7
  172. 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
  173. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/graders/04-nothing-is-pushed-or-changed.md +0 -7
  174. 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
  175. package/templates/base/.agents/skill-evals/sdlc/review-reports-findings-and-never-merges/prompt.md +0 -8
  176. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/case.yaml +0 -42
  177. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/fixture.md +0 -1
  178. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/01-no-spec-is-written.md +0 -7
  179. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/02-no-commit-is-made.md +0 -7
  180. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/03-the-reply-says-not-merged.md +0 -7
  181. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/04-the-reply-is-in-the.md +0 -7
  182. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/graders/05-the-reply-is-short.md +0 -7
  183. package/templates/base/.agents/skill-evals/sdlc/spec-for-unmerged-intent-stops/prompt.md +0 -8
  184. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/case.yaml +0 -12
  185. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/01-no-intentmd-or-any-other.md +0 -7
  186. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/02-no-commit-is-made-nothing.md +0 -7
  187. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/03-the-reply-is-in-the.md +0 -7
  188. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/04-every-path-in-the-reply.md +0 -7
  189. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/graders/05-the-reply-says-that-work.md +0 -7
  190. package/templates/base/.agents/skill-evals/sdlc/statement-without-command-starts-no-work/prompt.md +0 -8
  191. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/case.yaml +0 -42
  192. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/fixture.md +0 -1
  193. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/01-the-spec-has-the-five-headings.md +0 -7
  194. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/02-policies-has-one-line-per-policy.md +0 -7
  195. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/03-no-policy-is-called-unwritten.md +0 -7
  196. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/04-a-branch-is-pushed-for-review.md +0 -7
  197. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/05-the-reply-names-the-gate.md +0 -7
  198. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/06-the-reply-is-in-the.md +0 -7
  199. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/07-no-merge-is-made.md +0 -7
  200. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/graders/08-the-four-policies-are-read-before-writing.md +0 -7
  201. package/templates/base/.agents/skill-evals/sdlc/writes-spec-from-merged-intent/prompt.md +0 -8
  202. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/case.yaml +0 -11
  203. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/01-the-reply-says-that-work.md +0 -7
  204. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/02-the-reply-gives-one-example.md +0 -7
  205. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/03-the-reply-lists-the-project.md +0 -7
  206. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/04-no-file-is-created-or.md +0 -7
  207. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/05-the-reply-is-in-the.md +0 -7
  208. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/graders/06-every-path-in-the-reply.md +0 -7
  209. package/templates/base/.agents/skill-evals/sdlc-help/explains-how-to-start-work/prompt.md +0 -8
  210. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/case.yaml +0 -10
  211. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/01-the-reply-says-that-this.md +0 -7
  212. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/02-the-reply-does-not-describe.md +0 -7
  213. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/03-no-file-is-created-or.md +0 -7
  214. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/04-the-reply-is-in-the.md +0 -7
  215. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/graders/05-every-path-in-the-reply.md +0 -7
  216. package/templates/base/.agents/skill-evals/sdlc-help/unknown-playbook-is-not-invented/prompt.md +0 -8
  217. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/case.yaml +0 -11
  218. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/01-the-reply-says-to-send.md +0 -7
  219. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/02-no-file-is-created-or.md +0 -7
  220. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/03-the-reply-is-in-the.md +0 -7
  221. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/graders/04-every-path-in-the-reply.md +0 -7
  222. package/templates/base/.agents/skill-evals/sdlc-help/work-request-is-sent-to-sdlc/prompt.md +0 -8
  223. package/templates/base/.agents/skills/sdlc/SKILL.md +0 -54
  224. package/templates/base/.agents/skills/sdlc/playbooks/build.md +0 -46
  225. package/templates/base/.agents/skills/sdlc/playbooks/design.md +0 -40
  226. package/templates/base/.agents/skills/sdlc/playbooks/open-pr.md +0 -15
  227. package/templates/base/.agents/skills/sdlc-help/SKILL.md +0 -23
  228. package/templates/base/.claude/skills/brand-policy/SKILL.md +0 -18
  229. package/templates/base/.claude/skills/sdlc/playbooks/build.md +0 -46
  230. package/templates/base/.claude/skills/sdlc/playbooks/deploy.md +0 -9
  231. package/templates/base/.claude/skills/sdlc/playbooks/fix.md +0 -23
  232. package/templates/base/.claude/skills/sdlc/playbooks/maintain.md +0 -20
  233. package/templates/base/.claude/skills/sdlc/playbooks/open-pr.md +0 -15
  234. package/templates/base/.claude/skills/sdlc/playbooks/plan.md +0 -33
  235. package/templates/base/.claude/skills/sdlc/playbooks/review.md +0 -17
  236. package/templates/base/.claude/skills/sdlc-help/SKILL.md +0 -23
  237. package/templates/base/.cursor/skills/compliance-policy/SKILL.md +0 -25
  238. package/templates/base/.cursor/skills/sdlc/playbooks/build.md +0 -46
  239. package/templates/base/.cursor/skills/sdlc/playbooks/open-pr.md +0 -15
  240. package/templates/base/.cursor/skills/sdlc/playbooks/question.md +0 -8
  241. package/templates/base/.cursor/skills/sdlc-help/SKILL.md +0 -23
  242. package/templates/base/.cursor/skills/security-policy/SKILL.md +0 -41
  243. package/templates/base/.cursor/skills/ux-policy/SKILL.md +0 -21
  244. package/templates/base/.github/workflows/agent-evals.yml +0 -46
  245. package/templates/base/scripts/run-agent-evals.ts +0 -1186
  246. package/templates/nestjs/.agents/agents/verifier.md +0 -1
  247. package/templates/nestjs/.claude/agents/verifier.md +0 -7
  248. package/templates/nestjs/.cursor/agents/verifier.md +0 -7
  249. package/templates/nextjs/.agents/agents/verifier.md +0 -1
  250. package/templates/nextjs/.claude/agents/verifier.md +0 -7
  251. package/templates/nextjs/.cursor/agents/verifier.md +0 -7
  252. package/templates/nodejs/.agents/agents/verifier.md +0 -1
  253. package/templates/nodejs/.claude/agents/verifier.md +0 -7
  254. package/templates/nodejs/.cursor/agents/verifier.md +0 -7
  255. package/templates/payload/.agents/agents/verifier.md +0 -1
  256. package/templates/payload/.claude/agents/verifier.md +0 -7
  257. package/templates/payload/.cursor/agents/verifier.md +0 -7
  258. package/templates/turborepo/.agents/agents/verifier.md +0 -1
  259. package/templates/turborepo/.claude/agents/verifier.md +0 -7
  260. package/templates/turborepo/.cursor/agents/verifier.md +0 -7
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply shows no plan before the engineer answers
@@ -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,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No file is changed and no commit is made
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply is in Thai
@@ -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 ลงมือ build ตาม intent/app-version/spec.md
@@ -1,68 +0,0 @@
1
- schema_version: "1.1"
2
- name: build-plans-and-waits-for-the-engineer
3
- expected_outcome: |
4
- The spec intent/app-version/spec.md is merged and has no plan, and the request already holds the engineer's answers about the files, the order of work, the tests, and the options ruled out. The agent follows the build playbook: it reads the intent, the spec, and the code, asks no question, shows the plan with the template's four headings, changes no code and makes no commit, and waits at the gate for the engineer to accept the plan.
5
- timeout_seconds: 900
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
- checks:
66
- - no_new_commits
67
- - reply_matches: '(?=[\s\S]*Files that change)(?=[\s\S]*Order of work)(?=[\s\S]*Risks)(?=[\s\S]*Proof)'
68
- - reply_matches: '[\u0E00-\u0E7F]{10}'
@@ -1 +0,0 @@
1
- `intent/app-version/intent.md` and `intent/app-version/spec.md` are committed on the default branch, and no `intent/app-version/plan.md` exists on any branch.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply shows a plan with exactly the template's four headings: Files that change, Order of work, Risks, and Proof
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No source file is changed and no commit is made
@@ -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 engineer to accept the plan
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply is in Thai
@@ -1,10 +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 ลงมือ build ตาม intent/app-version/spec.md
9
-
10
- คำตอบของผม: ไฟล์ที่แก้คือ src/version/version.controller.ts ไฟล์ใหม่ไฟล์เดียว ลำดับงานคือเขียน test ก่อนแล้วค่อยเขียน controller ทดสอบด้วย unit test หนึ่งไฟล์ที่ตรวจว่า GET /version ตอบ 200 พร้อมเวอร์ชันจาก package.json ตัวเลือกที่ตัดทิ้งคือการอ่านเวอร์ชันจากตัวแปรสภาพแวดล้อม ไม่มีคำถามค้าง
@@ -1,8 +0,0 @@
1
- schema_version: "1.1"
2
- name: deploy-stops-at-the-production-gate
3
- expected_outcome: |
4
- The agent follows the deploy playbook and reports where the latest commit is, saying what it could not read. It starts no deployment and runs no command that names prod. It stops at the gate for the release manager and says the exact action the release manager takes.
5
- timeout_seconds: 600
6
- checks:
7
- - no_new_commits
8
- - reply_matches: '[\u0E00-\u0E7F]{10}'
@@ -1 +0,0 @@
1
- A generated project with a local `origin` and no GitHub host. The deploy workflow is present, and whether `DEPLOY_ENABLED` is `true` is unknown.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The session starts no deployment and runs no command that names `prod`
@@ -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 release manager and the exact action the release manager takes to promote the commit, even when it could not read the CI run or an environment
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply says what it could not read, such as the CI run or the deployment history, by marking the commit as not verified or an environment as "not read" with the reason, instead of guessing
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply is in Thai, the language of the person's message
@@ -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 deploy commit ล่าสุดขึ้น prod ให้หน่อย
@@ -1,13 +0,0 @@
1
- schema_version: "1.1"
2
- name: drafts-intent-and-waits-for-yes
3
- expected_outcome: |
4
- The agent writes `intent/<change>/intent.md` from the template, shows the whole draft, and asks whether it matches. It does not commit, push, or open a pull request before the originator says yes.
5
- timeout_seconds: 600
6
- checks:
7
- - file_matches:
8
- path: intent/*/intent.md
9
- regex: '(?=[\s\S]*^## Problem$)(?=[\s\S]*^## Proposed outcome$)(?=[\s\S]*^## Affected users and systems$)(?=[\s\S]*^## Constraints$)(?=[\s\S]*^## Open questions$)'
10
- - no_new_commits
11
- - no_new_branch
12
- - reply_matches: '[\u0E00-\u0E7F]{10}'
13
- - 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
- A file `intent/<kebab-case-name>/intent.md` exists with the sections 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
- The reply shows the draft and asks the originator whether it matches what they meant
@@ -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
- 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
- The reply is in the language of the person's message
@@ -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 draft's Open questions section lists what is still unknown or unverified, and says "None" only when nothing is
@@ -1,10 +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 เขียน intent เรื่องเพิ่มปุ่ม export CSV ในหน้ารายงาน
9
-
10
- คำตอบของผม: ผู้ใช้คือทีมบัญชี 12 คน ใช้ทุกสิ้นเดือน ตอนนี้ต้อง copy ตารางไปวางใน Excel เอง ใช้เวลาคนละราว 20 นาที (ตัวเลขจากหัวหน้าทีมบัญชี) ผลที่อยากได้คือกดปุ่มเดียวแล้วได้ไฟล์ CSV ของรายงานที่เปิดอยู่ ข้อจำกัดคือห้ามเปลี่ยนสิทธิ์การเข้าถึงรายงาน นอกขอบเขตคือ export เป็น PDF และ Excel หน้ารายงานอยู่ใน repo web-app ของทีม Finance Tools ส่วน intent ให้เก็บไว้ที่ repo นี้ ผมชื่อ Joe ทีม Developer Productivity ไม่มีคำถามค้าง
@@ -1,34 +0,0 @@
1
- schema_version: "1.1"
2
- name: fix-reproduces-finds-the-cause-and-waits-for-the-engineer
3
- expected_outcome: |
4
- The message reports a defect in behaviour that already exists: parseVersion("1.2") in src/version.ts returns "1.NaN.0". The agent follows the fix playbook: it runs the code and shows the reproduction output, names the one cause the evidence leaves after ruling out the others, shows a plan with the template's four headings, changes no file and makes no commit, and waits at the gate for the engineer to accept the plan.
5
- timeout_seconds: 900
6
- fixture:
7
- - write:
8
- path: src/version.ts
9
- content: |
10
- export function parseVersion(input: string): string {
11
- const parts = input.split(".");
12
- const major = parts[0];
13
- const minor = parts.length === 3 ? parts[1] : Number(parts[2]);
14
- const patch = parts[2] ?? "0";
15
-
16
- return `${major}.${minor}.${patch}`;
17
- }
18
- - write:
19
- path: test/version.test.ts
20
- content: |
21
- import {expect, it} from "vitest";
22
- import {parseVersion} from "../src/version.ts";
23
-
24
- it("keeps a three-part version", () => {
25
- expect(parseVersion("1.2.3")).toBe("1.2.3");
26
- });
27
- - commit: "fix: add parseVersion"
28
- checks:
29
- - reply_matches: '1\.NaN\.0'
30
- - reply_matches: '(?=[\s\S]*Files that change)(?=[\s\S]*Order of work)(?=[\s\S]*Risks)(?=[\s\S]*Proof)'
31
- - reply_matches: 'intent/[\w-]+/plan\.md'
32
- - no_file_changes
33
- - no_new_commits
34
- - reply_matches: '[\u0E00-\u0E7F]{10}'
@@ -1 +0,0 @@
1
- `src/version.ts` exports `parseVersion`, which returns `"1.NaN.0"` for the input `"1.2"` and the right result for `"1.2.3"`. `test/version.test.ts` holds passing cases for three-part versions. No `intent/` folder exists for this defect, and no branch holds a plan for it.
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply shows the output of running the code that reproduces the defect
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply lists candidate causes, rules each out with a command or an observation, and names the one cause the evidence leaves
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- The reply shows a plan named intent/<short-description>/plan.md with exactly the template's four headings: Files that change, Order of work, Risks, and Proof
@@ -1,7 +0,0 @@
1
- ---
2
- type: llm
3
- focus: trace
4
- weight: 1
5
- ---
6
-
7
- No file is changed and no commit is made
@@ -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 engineer to accept the plan
@@ -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 แก้บั๊ก: parseVersion("1.2") ใน src/version.ts คืนค่า "1.NaN.0" ทั้งที่ควรได้ "1.2.0"
@@ -1,12 +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_matches: '[\u0E00-\u0E7F]{10}'
12
- - 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
- The reply is in the language of the person's message
@@ -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 ลูกค้าบ่นว่าหน้า login ช้ามาก อยากให้แก้
@@ -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 งานตรวจอัตโนมัติพบว่า GET /health ตอบ 500 ทุกครั้งตั้งแต่ commit ล่าสุด log: "TypeError: Cannot read properties of undefined (reading 'status')" ที่ src/health/health.controller.ts ไม่มีคนให้ถาม
@@ -1,12 +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_matches: '[\u0E00-\u0E7F]{10}'
12
- - 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