diff --git a/src/agents/prometheus-prompt.test.ts b/src/agents/prometheus-prompt.test.ts index 18092134a..07fa57efc 100644 --- a/src/agents/prometheus-prompt.test.ts +++ b/src/agents/prometheus-prompt.test.ts @@ -166,7 +166,7 @@ describe("PROMETHEUS_SYSTEM_PROMPT spec-driven intent type", () => { const prompt = PROMETHEUS_SYSTEM_PROMPT //#when / #then - expect(prompt.toLowerCase()).toMatch(/spec.first|spec.aware/) + expect(prompt.toLowerCase()).toContain("spec-first") }) }) @@ -200,3 +200,21 @@ describe("PROMETHEUS_SYSTEM_PROMPT spec compliance section", () => { expect(prompt.toLowerCase()).toMatch(/spec framework/i) }) }) + +describe("PROMETHEUS_SYSTEM_PROMPT OpenSpec expanded commands", () => { + test("should contain /opsx:ff fast-forward command", () => { + //#given + const prompt = PROMETHEUS_SYSTEM_PROMPT + + //#when / #then + expect(prompt).toContain("/opsx:ff") + }) + + test("should contain /opsx:explore command", () => { + //#given + const prompt = PROMETHEUS_SYSTEM_PROMPT + + //#when / #then + expect(prompt).toContain("/opsx:explore") + }) +}) diff --git a/src/agents/prometheus/gemini.ts b/src/agents/prometheus/gemini.ts index 23307a8c0..b62002bb8 100644 --- a/src/agents/prometheus/gemini.ts +++ b/src/agents/prometheus/gemini.ts @@ -138,10 +138,10 @@ This is not optional. Output your current understanding in this exact format: ### SDD Framework Check (during exploration) While running exploration agents in Phase 1, ALSO check for spec-driven development framework directories: -- \`openspec/\` -> OpenSpec framework detected -- \`.specify/\` -> Spec Kit framework detected +- \`openspec/\` -> OpenSpec framework detected. Read: \`openspec/specs/*/spec.md\`, \`openspec/changes/*/proposal.md\`. Shorten interview — specs answer discovery questions. +- \`.specify/\` -> Spec Kit framework detected. Read: \`.specify/constitution.md\`, \`.specify/specs/*.md\`. Pre-fill clearance from spec content. -If found: announce detection, read spec files (see spec-driven-mode instructions), treat this as **Spec-Driven** intent, pre-fill clearance from spec content, and shorten interview accordingly. +If found: announce detection, treat this as **Spec-Driven** intent, reference spec files in plan tasks, and suggest framework commands in TODO sections (\`/opsx:propose\`, \`/opsx:apply\`, \`/opsx:ff\` for OpenSpec; \`specify spec\`, \`specify plan\` for Spec Kit). --- diff --git a/src/agents/prometheus/gpt.ts b/src/agents/prometheus/gpt.ts index 46d444db7..7a4f634fb 100644 --- a/src/agents/prometheus/gpt.ts +++ b/src/agents/prometheus/gpt.ts @@ -92,7 +92,7 @@ At the start of every session, check for SDD framework directories: - \`openspec/\` -> OpenSpec detected. Read: \`openspec/specs/*/spec.md\`, \`openspec/changes/*/proposal.md\` - \`.specify/\` -> Spec Kit detected. Read: \`.specify/constitution.md\`, \`.specify/specs/*.md\` -When detected: announce it, read specs BEFORE interview, pre-fill clearance from spec content, shorten interview, reference spec files in plan tasks, and suggest framework commands in TODO sections (\`/opsx:propose\`, \`/opsx:apply\` for OpenSpec; \`specify spec\`, \`specify plan\` for Spec Kit). +When detected: announce it, read specs BEFORE interview, pre-fill clearance from spec content, shorten interview, reference spec files in plan tasks, and suggest framework commands in TODO sections (\`/opsx:propose\`, \`/opsx:apply\`, \`/opsx:ff\` for OpenSpec; \`specify spec\`, \`specify plan\` for Spec Kit). This is Spec-Driven intent -- ground the plan in existing spec requirements. diff --git a/src/agents/prometheus/spec-driven-mode.ts b/src/agents/prometheus/spec-driven-mode.ts index e528bc6f6..464ce5084 100644 --- a/src/agents/prometheus/spec-driven-mode.ts +++ b/src/agents/prometheus/spec-driven-mode.ts @@ -46,11 +46,20 @@ When a framework is detected, adjust your interview behavior: ## Available Framework Commands Reference -### OpenSpec commands: -- \`/opsx:propose\` - Create a new change proposal from requirements -- \`/opsx:apply\` - Apply an approved proposal to generate tasks -- \`/opsx:archive\` - Archive a completed change -- \`/opsx:verify\` - Verify implementation matches spec +### OpenSpec commands (core profile — available by default): +- \`/opsx:propose\` - Create a change and generate all planning artifacts in one step +- \`/opsx:explore\` - Think through ideas, investigate problems, compare approaches +- \`/opsx:apply\` - Implement tasks from tasks.md, checking off as you go +- \`/opsx:archive\` - Archive a completed change (optionally syncs delta specs) + +### OpenSpec commands (expanded profile — requires \`openspec config profile\` + \`openspec update\`): +- \`/opsx:new\` - Scaffold a new change folder (no artifacts generated yet) +- \`/opsx:continue\` - Create the next single artifact in the dependency chain +- \`/opsx:ff\` - Fast-forward: create ALL planning artifacts at once +- \`/opsx:verify\` - Validate implementation matches artifacts +- \`/opsx:sync\` - Merge delta specs into main specs +- \`/opsx:bulk-archive\` - Archive multiple completed changes with conflict detection +- \`/opsx:onboard\` - Interactive guided tutorial using the actual codebase ### Spec Kit commands: - \`specify spec\` - Create or update a spec