diff --git a/src/core/templates/slash-command-templates.ts b/src/core/templates/slash-command-templates.ts index 7a63c032..be21328a 100644 --- a/src/core/templates/slash-command-templates.ts +++ b/src/core/templates/slash-command-templates.ts @@ -5,7 +5,8 @@ const baseGuardrails = `**Guardrails** - Keep changes tightly scoped to the requested outcome. - Refer to \`openspec/AGENTS.md\` (located inside the \`openspec/\` directory—run \`ls openspec\` or \`openspec update\` if you don't see it) if you need additional OpenSpec conventions or clarifications.`; -const proposalGuardrails = `${baseGuardrails}\n- Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.`; +const proposalGuardrails = `${baseGuardrails}\n- Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files. +- Do not write any code during the proposal stage. Only create design documents (proposal.md, tasks.md, design.md, and spec deltas). Implementation happens in the apply stage after approval.`; const proposalSteps = `**Steps** 1. Review \`openspec/project.md\`, run \`openspec list\` and \`openspec list --specs\`, and inspect related code or docs (e.g., via \`rg\`/\`ls\`) to ground the proposal in current behaviour; note any gaps that require clarification. @@ -16,6 +17,7 @@ const proposalSteps = `**Steps** 6. Draft \`tasks.md\` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work. 7. Validate with \`openspec validate --strict\` and resolve every issue before sharing the proposal.`; + const proposalReferences = `**Reference** - Use \`openspec show --json --deltas-only\` or \`openspec show --type spec\` to inspect details when validation fails. - Search existing requirements with \`rg -n "Requirement:|Scenario:" openspec/specs\` before writing new ones.