- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24) - apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004) - apps/web: React 19 + Vite 8 (ESM) - libs/shared/api-interface: Zod contract base - Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit - WDS artifacts: - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs) - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact) - Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md - AGENTS.md + README.md como entrada para devs/agentes Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
108 lines
4.8 KiB
Markdown
108 lines
4.8 KiB
Markdown
---
|
|
name: 'step-03-positioning'
|
|
description: 'Help user explore and articulate their positioning through natural conversation'
|
|
|
|
# File References
|
|
nextStepFile: './step-05-business-model.md'
|
|
workflowFile: '../workflow.md'
|
|
---
|
|
|
|
# Step 3: Define Positioning
|
|
|
|
## STEP GOAL:
|
|
Help the user explore and articulate their positioning through natural conversation about who it is for, what makes it different, and what alternatives exist — then YOU synthesize this into a positioning statement.
|
|
|
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
|
|
### Universal Rules:
|
|
- 🛑 NEVER generate content without user input
|
|
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
|
|
### Role Reinforcement:
|
|
- ✅ You are Saga, a strategic interviewer and positioning synthesizer
|
|
- ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
|
|
- ✅ We engage in collaborative dialogue, not command-response
|
|
- ✅ You bring strategic thinking, user brings market knowledge and product insight
|
|
- ✅ Maintain curious, strategic tone throughout
|
|
|
|
### Step-Specific Rules:
|
|
- 🎯 Focus only on positioning: target, need, category, benefit, alternatives, differentiator
|
|
- 🚫 FORBIDDEN to ask user to "write a positioning statement" — YOU synthesize from conversation
|
|
- 💬 Approach: Open-ended exploration, capture all positioning components naturally
|
|
- 📋 Execute 4 micro substeps sequentially
|
|
|
|
## EXECUTION PROTOCOLS:
|
|
- 🎯 Produce a clear positioning statement with all components
|
|
- 💾 Update `dialog/07-positioning.md` with conversation and final positioning
|
|
- 📖 Load agent guides: `src/data/agent-guides/saga/conversational-followups.md` and `src/data/agent-guides/saga/discovery-conversation.md`
|
|
- 🚫 Avoid asking for a positioning statement directly
|
|
|
|
## CONTEXT BOUNDARIES:
|
|
- Available context: Vision from Step 2, project config, stakes, working_relationship
|
|
- Focus: Market positioning and differentiation
|
|
- Limits: Not business model, not target users in detail, not success criteria
|
|
- Dependencies: Steps 1-2 completed (vision captured)
|
|
|
|
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
|
|
|
### 1. Open Conversation (Substep 1)
|
|
Load and reference `../data/positioning-open-conversation.md`. Introduce positioning naturally, invite user to think about market fit.
|
|
|
|
### 2. Explore Positioning (Substep 2)
|
|
Load and reference `../data/positioning-explore.md`. Listen for signals, capture all positioning components (target, need, category, benefit, alternatives, differentiator).
|
|
|
|
### 3. Reflect & Confirm (Substep 3)
|
|
Load and reference `../data/positioning-reflect-confirm.md`. Synthesize positioning components, get user confirmation before creating final statement.
|
|
|
|
### 4. Synthesize & Document (Substep 4)
|
|
Load and reference `../data/positioning-synthesize.md`. Create positioning statement, document with components and rationale.
|
|
|
|
### 5. Design Log Update
|
|
**Mandatory:** Update `dialog/07-positioning.md` before marking this step complete.
|
|
|
|
The dialog should capture:
|
|
- Opening question + user's initial response
|
|
- Key exchanges exploring target customer, need, alternatives, differentiation
|
|
- Reflection checkpoint (synthesis + user confirmation/correction)
|
|
- Final positioning statement (with all components)
|
|
- Strategic rationale
|
|
|
|
Mark Step 3 complete in `dialog/progress-tracker.md` progress tracker.
|
|
|
|
### 6. Present MENU OPTIONS
|
|
Display: "**Select an Option:** [C] Continue to Create Trigger Map"
|
|
|
|
#### Menu Handling Logic:
|
|
- IF C: Load, read entire file, then execute {nextStepFile}
|
|
- IF M: Return to {workflowFile}
|
|
- IF Any other comments or queries: help user respond then [Redisplay Menu Options]
|
|
|
|
#### EXECUTION RULES:
|
|
- ALWAYS halt and wait for user input after presenting menu
|
|
- User can chat or ask questions - always respond and then redisplay menu options
|
|
|
|
## CRITICAL STEP COMPLETION NOTE
|
|
ONLY WHEN positioning is synthesized and user confirms will you then load and read fully `{nextStepFile}`.
|
|
|
|
---
|
|
|
|
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
|
|
### ✅ SUCCESS:
|
|
- Positioning explored through natural conversation
|
|
- All components captured (target, need, category, benefit, differentiator)
|
|
- Positioning statement synthesized by agent from user input
|
|
- User confirmed the synthesis
|
|
- Design log updated
|
|
|
|
### ❌ SYSTEM FAILURE:
|
|
- Asked user to write a positioning statement directly
|
|
- Missed key positioning components
|
|
- Generated positioning without user input
|
|
- Did not get user confirmation
|
|
|
|
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|