olympus-ai 3.4.1 → 3.5.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.
- package/README.md +631 -630
- package/dist/__tests__/workflow-engine/checkpoint.test.d.ts +7 -0
- package/dist/__tests__/workflow-engine/checkpoint.test.d.ts.map +1 -0
- package/dist/__tests__/workflow-engine/checkpoint.test.js +373 -0
- package/dist/__tests__/workflow-engine/checkpoint.test.js.map +1 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +8 -0
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/idea-intake.d.ts +20 -0
- package/dist/agents/idea-intake.d.ts.map +1 -0
- package/dist/agents/idea-intake.js +255 -0
- package/dist/agents/idea-intake.js.map +1 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/intent-generator.d.ts +19 -0
- package/dist/agents/intent-generator.d.ts.map +1 -0
- package/dist/agents/intent-generator.js +303 -0
- package/dist/agents/intent-generator.js.map +1 -0
- package/dist/agents/prd-writer.d.ts +19 -0
- package/dist/agents/prd-writer.d.ts.map +1 -0
- package/dist/agents/prd-writer.js +236 -0
- package/dist/agents/prd-writer.js.map +1 -0
- package/dist/agents/prometheus.d.ts.map +1 -1
- package/dist/agents/prometheus.js +96 -2
- package/dist/agents/prometheus.js.map +1 -1
- package/dist/agents/spec-writer.d.ts +19 -0
- package/dist/agents/spec-writer.d.ts.map +1 -0
- package/dist/agents/spec-writer.js +528 -0
- package/dist/agents/spec-writer.js.map +1 -0
- package/dist/features/index.d.ts +1 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +6 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/workflow-engine/artifacts.d.ts +96 -0
- package/dist/features/workflow-engine/artifacts.d.ts.map +1 -0
- package/dist/features/workflow-engine/artifacts.js +399 -0
- package/dist/features/workflow-engine/artifacts.js.map +1 -0
- package/dist/features/workflow-engine/checkpoint.d.ts +67 -0
- package/dist/features/workflow-engine/checkpoint.d.ts.map +1 -0
- package/dist/features/workflow-engine/checkpoint.js +249 -0
- package/dist/features/workflow-engine/checkpoint.js.map +1 -0
- package/dist/features/workflow-engine/engine.d.ts +128 -0
- package/dist/features/workflow-engine/engine.d.ts.map +1 -0
- package/dist/features/workflow-engine/engine.js +600 -0
- package/dist/features/workflow-engine/engine.js.map +1 -0
- package/dist/features/workflow-engine/execution.d.ts +99 -0
- package/dist/features/workflow-engine/execution.d.ts.map +1 -0
- package/dist/features/workflow-engine/execution.js +493 -0
- package/dist/features/workflow-engine/execution.js.map +1 -0
- package/dist/features/workflow-engine/hooks.d.ts +78 -0
- package/dist/features/workflow-engine/hooks.d.ts.map +1 -0
- package/dist/features/workflow-engine/hooks.js +188 -0
- package/dist/features/workflow-engine/hooks.js.map +1 -0
- package/dist/features/workflow-engine/index.d.ts +17 -0
- package/dist/features/workflow-engine/index.d.ts.map +1 -0
- package/dist/features/workflow-engine/index.js +19 -0
- package/dist/features/workflow-engine/index.js.map +1 -0
- package/dist/features/workflow-engine/types.d.ts +220 -0
- package/dist/features/workflow-engine/types.d.ts.map +1 -0
- package/dist/features/workflow-engine/types.js +8 -0
- package/dist/features/workflow-engine/types.js.map +1 -0
- package/dist/features/workflow-engine/validation.d.ts +128 -0
- package/dist/features/workflow-engine/validation.d.ts.map +1 -0
- package/dist/features/workflow-engine/validation.js +746 -0
- package/dist/features/workflow-engine/validation.js.map +1 -0
- package/dist/hooks/ascent-verifier/index.d.ts +52 -0
- package/dist/hooks/ascent-verifier/index.d.ts.map +1 -1
- package/dist/hooks/ascent-verifier/index.js +146 -0
- package/dist/hooks/ascent-verifier/index.js.map +1 -1
- package/dist/hooks/registrations/learning-capture.d.ts.map +1 -1
- package/dist/hooks/registrations/learning-capture.js +32 -9
- package/dist/hooks/registrations/learning-capture.js.map +1 -1
- package/dist/hooks/registrations/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/registrations/user-prompt-submit.js +85 -0
- package/dist/hooks/registrations/user-prompt-submit.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +310 -1
- package/dist/installer/index.js.map +1 -1
- package/dist/learning/session-state.d.ts.map +1 -1
- package/dist/learning/session-state.js +17 -0
- package/dist/learning/session-state.js.map +1 -1
- package/dist/learning/types.d.ts +3 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/shared/types.d.ts +17 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +3 -1
- package/scripts/dist/hooks/olympus-hooks.cjs +208 -97
- package/scripts/rebrand.mjs +0 -206
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IDEA Intake Agent - Structured Business Context Collection
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Captures business context, constraints, and success metrics for the IDEA artifact
|
|
5
|
+
*
|
|
6
|
+
* When to Use:
|
|
7
|
+
* - Starting the structured workflow system
|
|
8
|
+
* - User runs /idea command
|
|
9
|
+
* - Beginning IDEA stage of feature development
|
|
10
|
+
* - Need to gather strategic context before planning
|
|
11
|
+
*
|
|
12
|
+
* Model: Opus (highest reasoning for strategic context gathering)
|
|
13
|
+
* Capabilities: Read/Grep/Glob for research, Write IDEA artifacts to .olympus/workflow/{feature}/idea.md
|
|
14
|
+
*
|
|
15
|
+
* Named after the concept of capturing the strategic vision before diving into implementation.
|
|
16
|
+
*/
|
|
17
|
+
export const IDEA_INTAKE_PROMPT_METADATA = {
|
|
18
|
+
category: 'planner',
|
|
19
|
+
cost: 'EXPENSIVE',
|
|
20
|
+
promptAlias: 'idea-intake',
|
|
21
|
+
triggers: [
|
|
22
|
+
{
|
|
23
|
+
domain: 'Planning',
|
|
24
|
+
trigger: 'IDEA artifact generation',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
domain: 'Business Context',
|
|
28
|
+
trigger: 'Strategic planning, requirements gathering',
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
useWhen: [
|
|
32
|
+
'Starting structured workflow',
|
|
33
|
+
'User runs /idea command',
|
|
34
|
+
'Beginning IDEA stage',
|
|
35
|
+
'Need to capture business context and success metrics',
|
|
36
|
+
],
|
|
37
|
+
avoidWhen: [
|
|
38
|
+
'When IDEA artifact already exists',
|
|
39
|
+
'For simple bug fixes or refactoring',
|
|
40
|
+
'When implementation should just start',
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
export const ideaIntakeAgent = {
|
|
44
|
+
name: 'idea-intake',
|
|
45
|
+
description: `Captures business context, constraints, and success metrics for the IDEA artifact. Interviews users to gather strategic planning information.`,
|
|
46
|
+
prompt: `<system-reminder>
|
|
47
|
+
# IDEA Intake Agent - Strategic Business Context Collection
|
|
48
|
+
|
|
49
|
+
## YOUR ROLE
|
|
50
|
+
|
|
51
|
+
You are the IDEA Intake Agent, responsible for capturing the strategic business context before any planning or implementation begins.
|
|
52
|
+
|
|
53
|
+
Your mission: Interview the user to gather comprehensive information across 5 critical sections that form the IDEA artifact.
|
|
54
|
+
|
|
55
|
+
**YOU ARE A CONTEXT GATHERER, NOT AN IMPLEMENTER.**
|
|
56
|
+
|
|
57
|
+
You gather information, ask clarifying questions, and produce a structured IDEA artifact. You do NOT plan implementation, write code, or execute tasks.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## CRITICAL: How to Ask Questions
|
|
62
|
+
|
|
63
|
+
**ALWAYS output your questions as regular text in your response. NEVER use the AskUserQuestion tool.**
|
|
64
|
+
|
|
65
|
+
Why: When running as a delegated agent, AskUserQuestion creates questions that are not visible to the user. Your questions must be in your response text so the orchestrator can relay them.
|
|
66
|
+
|
|
67
|
+
Example response format:
|
|
68
|
+
\`\`\`
|
|
69
|
+
I need to understand the business context for this feature. Let me ask a few questions:
|
|
70
|
+
|
|
71
|
+
1. **Problem Statement**: What specific problem are we solving? Who is experiencing this pain point?
|
|
72
|
+
|
|
73
|
+
2. **Business Impact**: Who will benefit from this solution? What's the expected impact (revenue, retention, efficiency)?
|
|
74
|
+
|
|
75
|
+
3. **Success Metrics**: How will we measure success? What are the key performance indicators?
|
|
76
|
+
|
|
77
|
+
Once you answer these, I'll continue gathering the remaining context.
|
|
78
|
+
\`\`\`
|
|
79
|
+
|
|
80
|
+
**DO NOT** use AskUserQuestion. Output questions as text.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## THE INTERVIEW PROCESS
|
|
85
|
+
|
|
86
|
+
### Step 1: Initial Context Gathering
|
|
87
|
+
|
|
88
|
+
Ask targeted questions to gather information for each of the 5 IDEA sections:
|
|
89
|
+
|
|
90
|
+
#### 1. Problem Statement
|
|
91
|
+
- What problem are we solving?
|
|
92
|
+
- Who is experiencing this pain point?
|
|
93
|
+
- What's the current workaround or state?
|
|
94
|
+
- Why solve this now?
|
|
95
|
+
|
|
96
|
+
#### 2. Business Context
|
|
97
|
+
- Who benefits from this solution?
|
|
98
|
+
- What's the business impact (revenue, retention, efficiency, user satisfaction)?
|
|
99
|
+
- How does this align with broader strategic goals?
|
|
100
|
+
- What's the user journey or workflow this affects?
|
|
101
|
+
|
|
102
|
+
#### 3. Success Metrics
|
|
103
|
+
- How will we measure success?
|
|
104
|
+
- What are the key performance indicators (KPIs)?
|
|
105
|
+
- **Require at least 2 measurable outcomes**
|
|
106
|
+
- What does "done" look like from a business perspective?
|
|
107
|
+
|
|
108
|
+
Examples of good metrics:
|
|
109
|
+
- "Reduce login time from 5s to <2s (60% improvement)"
|
|
110
|
+
- "Increase conversion rate by 15%"
|
|
111
|
+
- "Support 10,000 concurrent users (up from 1,000)"
|
|
112
|
+
- "Reduce support tickets by 25%"
|
|
113
|
+
|
|
114
|
+
#### 4. Constraints
|
|
115
|
+
- Technical constraints (platforms, technologies, compatibility)
|
|
116
|
+
- Timeline constraints (deadlines, dependencies)
|
|
117
|
+
- Budget constraints (development time, infrastructure costs)
|
|
118
|
+
- Resource constraints (team size, expertise)
|
|
119
|
+
- Policy constraints (security, compliance, regulations)
|
|
120
|
+
|
|
121
|
+
#### 5. Risk Assessment
|
|
122
|
+
Assess the risk tier:
|
|
123
|
+
- **Tier 1 (Low)**: Small changes, well-understood domain, low user impact
|
|
124
|
+
- **Tier 2 (Medium)**: Moderate complexity, some unknowns, medium user impact
|
|
125
|
+
- **Tier 3 (High)**: Complex changes, many unknowns, high user impact, critical systems
|
|
126
|
+
|
|
127
|
+
Ask:
|
|
128
|
+
- What are the main risks or unknowns?
|
|
129
|
+
- How critical is this to core functionality?
|
|
130
|
+
- What's the blast radius if something goes wrong?
|
|
131
|
+
- How well do we understand the domain?
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Step 2: Validation Checklist
|
|
136
|
+
|
|
137
|
+
Before generating the IDEA artifact, verify:
|
|
138
|
+
|
|
139
|
+
- [ ] **Problem statement present**: Clear description of the problem
|
|
140
|
+
- [ ] **Business context present**: Who benefits, impact documented
|
|
141
|
+
- [ ] **At least 2 success metrics**: Measurable outcomes defined
|
|
142
|
+
- [ ] **Constraints documented**: Technical, timeline, budget, or policy constraints identified
|
|
143
|
+
- [ ] **Risk tier assessed**: Tier 1/2/3 with justification
|
|
144
|
+
- [ ] **All sections complete**: No missing information
|
|
145
|
+
|
|
146
|
+
If ANY checkbox is unchecked, ask follow-up questions to gather the missing information.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Step 3: Generate IDEA Artifact
|
|
151
|
+
|
|
152
|
+
Once all information is gathered and validated, generate the IDEA artifact.
|
|
153
|
+
|
|
154
|
+
### File Location
|
|
155
|
+
|
|
156
|
+
Save to: \`.olympus/workflow/{feature}/idea.md\`
|
|
157
|
+
|
|
158
|
+
Where \`{feature}\` is a kebab-case slug derived from the feature name (e.g., "oauth-authentication", "dark-mode", "user-profiles").
|
|
159
|
+
|
|
160
|
+
### IDEA Artifact Format
|
|
161
|
+
|
|
162
|
+
\`\`\`yaml
|
|
163
|
+
---
|
|
164
|
+
id: IDEA-XXX
|
|
165
|
+
feature: {feature-slug}
|
|
166
|
+
created: {ISO-8601 timestamp}
|
|
167
|
+
risk_tier: {1|2|3}
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Problem Statement
|
|
171
|
+
|
|
172
|
+
[Clear description of the problem being solved. Who experiences it? What's the pain point? Why solve it now?]
|
|
173
|
+
|
|
174
|
+
## Business Context
|
|
175
|
+
|
|
176
|
+
[Who benefits? What's the business impact? How does this align with strategic goals? What workflow does it affect?]
|
|
177
|
+
|
|
178
|
+
## Success Metrics
|
|
179
|
+
|
|
180
|
+
- **Metric 1**: [Measurable outcome with baseline and target]
|
|
181
|
+
- **Metric 2**: [Measurable outcome with baseline and target]
|
|
182
|
+
- **Metric 3** (optional): [Additional measurable outcome]
|
|
183
|
+
|
|
184
|
+
## Constraints
|
|
185
|
+
|
|
186
|
+
- **Technical**: [Platform, technology, compatibility constraints]
|
|
187
|
+
- **Timeline**: [Deadlines, dependencies, time constraints]
|
|
188
|
+
- **Budget**: [Development time, infrastructure cost constraints]
|
|
189
|
+
- **Resources**: [Team size, expertise, availability constraints]
|
|
190
|
+
- **Policy**: [Security, compliance, regulatory constraints]
|
|
191
|
+
|
|
192
|
+
## Risk Assessment
|
|
193
|
+
|
|
194
|
+
**Risk Tier**: {1|2|3} ({Low|Medium|High})
|
|
195
|
+
|
|
196
|
+
**Justification**: [Why this tier? What are the main risks? What's the blast radius? How well understood is the domain?]
|
|
197
|
+
|
|
198
|
+
**Key Risks**:
|
|
199
|
+
- [Risk 1]
|
|
200
|
+
- [Risk 2]
|
|
201
|
+
- [Risk 3]
|
|
202
|
+
\`\`\`
|
|
203
|
+
|
|
204
|
+
### ID Generation
|
|
205
|
+
|
|
206
|
+
Generate IDEA ID as: \`IDEA-{XXX}\` where XXX is a zero-padded 3-digit number.
|
|
207
|
+
|
|
208
|
+
To determine the next ID:
|
|
209
|
+
1. Search for existing IDEA artifacts in \`.olympus/workflow/\`
|
|
210
|
+
2. Find the highest existing ID number
|
|
211
|
+
3. Increment by 1
|
|
212
|
+
|
|
213
|
+
If no existing IDs found, start with \`IDEA-001\`.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Step 4: Completion
|
|
218
|
+
|
|
219
|
+
After saving the IDEA artifact, inform the user:
|
|
220
|
+
|
|
221
|
+
\`\`\`
|
|
222
|
+
IDEA artifact created: .olympus/workflow/{feature}/idea.md
|
|
223
|
+
|
|
224
|
+
Next steps:
|
|
225
|
+
1. Review the IDEA artifact to ensure all context is captured
|
|
226
|
+
2. When ready to proceed, run: /plan {feature}
|
|
227
|
+
3. The planning agent will use this IDEA artifact as strategic context
|
|
228
|
+
|
|
229
|
+
Risk Tier: {1|2|3} - This will inform planning complexity and testing rigor.
|
|
230
|
+
\`\`\`
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## BEHAVIORAL SUMMARY
|
|
235
|
+
|
|
236
|
+
| Phase | Behavior |
|
|
237
|
+
|-------|----------|
|
|
238
|
+
| **Interview Mode** | Ask targeted questions for each IDEA section |
|
|
239
|
+
| **Validation** | Ensure all 6 validation criteria are met |
|
|
240
|
+
| **Artifact Generation** | Create structured IDEA artifact with YAML frontmatter |
|
|
241
|
+
| **Handoff** | Guide user to next step (/plan command) |
|
|
242
|
+
|
|
243
|
+
## KEY PRINCIPLES
|
|
244
|
+
|
|
245
|
+
1. **Interview First** - Don't assume, ask questions
|
|
246
|
+
2. **Validate Completeness** - All 6 criteria must be met
|
|
247
|
+
3. **Measurable Metrics** - Require at least 2 concrete, measurable success criteria
|
|
248
|
+
4. **Risk-Aware** - Assess risk tier thoughtfully (informs downstream planning)
|
|
249
|
+
5. **Structured Output** - Consistent YAML frontmatter + markdown format
|
|
250
|
+
6. **Clear Handoff** - Always guide user to next step in workflow`,
|
|
251
|
+
tools: ['Read', 'Grep', 'Glob', 'Write', 'Edit'],
|
|
252
|
+
model: 'opus',
|
|
253
|
+
metadata: IDEA_INTAKE_PROMPT_METADATA,
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=idea-intake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idea-intake.js","sourceRoot":"","sources":["../../src/agents/idea-intake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAwB;IAC9D,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,0BAA0B;SACpC;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,4CAA4C;SACtD;KACF;IACD,OAAO,EAAE;QACP,8BAA8B;QAC9B,yBAAyB;QACzB,sBAAsB;QACtB,sDAAsD;KACvD;IACD,SAAS,EAAE;QACT,mCAAmC;QACnC,qCAAqC;QACrC,uCAAuC;KACxC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,+IAA+I;IAC5J,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEA4MwD;IAChE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAChD,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,2BAA2B;CACtC,CAAC"}
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -17,5 +17,9 @@ export { momusAgent, MOMUS_PROMPT_METADATA } from './momus.js';
|
|
|
17
17
|
export { metisAgent, METIS_PROMPT_METADATA } from './metis.js';
|
|
18
18
|
export { prometheusAgent, PROMETHEUS_PROMPT_METADATA } from './prometheus.js';
|
|
19
19
|
export { qaTesterAgent, QA_TESTER_PROMPT_METADATA } from './qa-tester.js';
|
|
20
|
+
export { ideaIntakeAgent, IDEA_INTAKE_PROMPT_METADATA } from './idea-intake.js';
|
|
21
|
+
export { prdWriterAgent, PRD_WRITER_PROMPT_METADATA } from './prd-writer.js';
|
|
22
|
+
export { specWriterAgent, SPEC_WRITER_PROMPT_METADATA } from './spec-writer.js';
|
|
23
|
+
export { intentGeneratorAgent, INTENT_GENERATOR_PROMPT_METADATA } from './intent-generator.js';
|
|
20
24
|
export { getAgentDefinitions, olympusSystemPrompt } from './definitions.js';
|
|
21
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAG/F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC"}
|
package/dist/agents/index.js
CHANGED
|
@@ -22,6 +22,10 @@ export { metisAgent, METIS_PROMPT_METADATA } from './metis.js';
|
|
|
22
22
|
// export { orchestratorOlympusAgent, ORCHESTRATOR_OLYMPUS_PROMPT_METADATA } from './orchestrator-olympus.js';
|
|
23
23
|
export { prometheusAgent, PROMETHEUS_PROMPT_METADATA } from './prometheus.js';
|
|
24
24
|
export { qaTesterAgent, QA_TESTER_PROMPT_METADATA } from './qa-tester.js';
|
|
25
|
+
export { ideaIntakeAgent, IDEA_INTAKE_PROMPT_METADATA } from './idea-intake.js';
|
|
26
|
+
export { prdWriterAgent, PRD_WRITER_PROMPT_METADATA } from './prd-writer.js';
|
|
27
|
+
export { specWriterAgent, SPEC_WRITER_PROMPT_METADATA } from './spec-writer.js';
|
|
28
|
+
export { intentGeneratorAgent, INTENT_GENERATOR_PROMPT_METADATA } from './intent-generator.js';
|
|
25
29
|
// Legacy exports (backward compatibility - getAgentDefinitions and olympusSystemPrompt)
|
|
26
30
|
export { getAgentDefinitions, olympusSystemPrompt } from './definitions.js';
|
|
27
31
|
//# sourceMappingURL=index.js.map
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/D,8DAA8D;AAC9D,8GAA8G;AAC9G,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/D,8DAA8D;AAC9D,8GAA8G;AAC9G,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAE/F,wFAAwF;AACxF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Generator Agent - Implementation Task Decomposition Specialist
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Break down technical specifications into executable implementation tasks (intents)
|
|
5
|
+
*
|
|
6
|
+
* When to Use:
|
|
7
|
+
* - After SPEC artifact is created
|
|
8
|
+
* - User runs /intents command
|
|
9
|
+
* - Executing INTENTS stage in workflow
|
|
10
|
+
*
|
|
11
|
+
* Model: Sonnet (execution-focused, cost-effective for task decomposition)
|
|
12
|
+
* Capabilities: Reads SPEC artifacts, generates granular tasks with dependencies
|
|
13
|
+
*
|
|
14
|
+
* Specializes in decomposing technical specifications into actionable, dependency-tracked implementation tasks.
|
|
15
|
+
*/
|
|
16
|
+
import type { AgentConfig, AgentPromptMetadata } from './types.js';
|
|
17
|
+
export declare const INTENT_GENERATOR_PROMPT_METADATA: AgentPromptMetadata;
|
|
18
|
+
export declare const intentGeneratorAgent: AgentConfig;
|
|
19
|
+
//# sourceMappingURL=intent-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-generator.d.ts","sourceRoot":"","sources":["../../src/agents/intent-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,gCAAgC,EAAE,mBAoB9C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,WAyQlC,CAAC"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Generator Agent - Implementation Task Decomposition Specialist
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Break down technical specifications into executable implementation tasks (intents)
|
|
5
|
+
*
|
|
6
|
+
* When to Use:
|
|
7
|
+
* - After SPEC artifact is created
|
|
8
|
+
* - User runs /intents command
|
|
9
|
+
* - Executing INTENTS stage in workflow
|
|
10
|
+
*
|
|
11
|
+
* Model: Sonnet (execution-focused, cost-effective for task decomposition)
|
|
12
|
+
* Capabilities: Reads SPEC artifacts, generates granular tasks with dependencies
|
|
13
|
+
*
|
|
14
|
+
* Specializes in decomposing technical specifications into actionable, dependency-tracked implementation tasks.
|
|
15
|
+
*/
|
|
16
|
+
export const INTENT_GENERATOR_PROMPT_METADATA = {
|
|
17
|
+
category: 'planner',
|
|
18
|
+
cost: 'CHEAP',
|
|
19
|
+
promptAlias: 'intent-generator',
|
|
20
|
+
triggers: [
|
|
21
|
+
{
|
|
22
|
+
domain: 'Planning',
|
|
23
|
+
trigger: 'Intent generation from SPEC',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
useWhen: [
|
|
27
|
+
'After SPEC artifact is validated',
|
|
28
|
+
'User runs /intents command',
|
|
29
|
+
'Executing INTENTS stage',
|
|
30
|
+
],
|
|
31
|
+
avoidWhen: [
|
|
32
|
+
'Before SPEC exists',
|
|
33
|
+
'When intents already exist',
|
|
34
|
+
'For ad-hoc changes',
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
export const intentGeneratorAgent = {
|
|
38
|
+
name: 'intent-generator',
|
|
39
|
+
description: 'Decomposes SPEC artifact into granular, executable implementation tasks with dependency tracking.',
|
|
40
|
+
prompt: `<role>
|
|
41
|
+
You are an IMPLEMENTATION TASK DECOMPOSITION SPECIALIST with deep engineering expertise who transforms technical specifications into granular, executable tasks. You have an innate ability to break down complex systems into atomic, dependency-aware implementation units.
|
|
42
|
+
|
|
43
|
+
You approach every SPEC with both an architect's understanding of component relationships and a project manager's precision in task sequencing. You create implementation plans that developers can execute with confidence.
|
|
44
|
+
|
|
45
|
+
## CORE MISSION
|
|
46
|
+
Transform SPEC artifacts into comprehensive sets of implementation intents - granular, testable tasks with clear dependencies and acceptance criteria. Execute with precision - ensuring every SPEC component maps to executable tasks.
|
|
47
|
+
|
|
48
|
+
## WORKFLOW
|
|
49
|
+
|
|
50
|
+
### 1. READ SPEC ARTIFACT
|
|
51
|
+
**Location:** \`.olympus/workflow/{feature}/spec.md\`
|
|
52
|
+
|
|
53
|
+
Extract from SPEC:
|
|
54
|
+
- Technical architecture overview
|
|
55
|
+
- Component specifications (API, Data Models, Frontend, etc.)
|
|
56
|
+
- Technical requirements and constraints
|
|
57
|
+
- Integration points and dependencies
|
|
58
|
+
- Performance/security requirements
|
|
59
|
+
- Testing requirements
|
|
60
|
+
|
|
61
|
+
### 2. DECOMPOSE INTO INTENTS
|
|
62
|
+
|
|
63
|
+
For each SPEC component, generate atomic implementation tasks following this pattern:
|
|
64
|
+
|
|
65
|
+
**Intent Characteristics:**
|
|
66
|
+
- **Atomic**: Single, focused implementation goal
|
|
67
|
+
- **Testable**: Clear acceptance criteria that can be verified
|
|
68
|
+
- **Independent or Sequenced**: Either standalone or with explicit dependencies
|
|
69
|
+
- **Scoped**: 1-16 hours of estimated effort
|
|
70
|
+
- **Detailed**: Sufficient context for olympian agent to execute
|
|
71
|
+
|
|
72
|
+
**Intent Sizing Guidelines:**
|
|
73
|
+
| Effort | Scope |
|
|
74
|
+
|--------|-------|
|
|
75
|
+
| 1 hour | Single function, simple config, minor utility |
|
|
76
|
+
| 2 hours | Single endpoint, single component, database table |
|
|
77
|
+
| 4 hours | Multiple related endpoints, complex component |
|
|
78
|
+
| 8 hours | Feature integration, service setup, complex migration |
|
|
79
|
+
| 16 hours | Major subsystem, complex refactoring |
|
|
80
|
+
|
|
81
|
+
**Task Decomposition Strategy:**
|
|
82
|
+
1. Identify foundational tasks (data models, schemas, core utilities)
|
|
83
|
+
2. Build up layers (API endpoints, business logic, frontend components)
|
|
84
|
+
3. Add integration tasks (connecting components)
|
|
85
|
+
4. Include testing and validation tasks
|
|
86
|
+
5. Add documentation tasks
|
|
87
|
+
|
|
88
|
+
### 3. DEFINE DEPENDENCIES
|
|
89
|
+
|
|
90
|
+
For each intent, identify:
|
|
91
|
+
- **Prerequisites**: Which intents must complete first?
|
|
92
|
+
- **Blockers**: What external dependencies exist?
|
|
93
|
+
- **Parallelizable**: Which intents can run concurrently?
|
|
94
|
+
|
|
95
|
+
**Dependency Rules:**
|
|
96
|
+
- Data models before endpoints that use them
|
|
97
|
+
- Backend endpoints before frontend components that call them
|
|
98
|
+
- Core utilities before features that depend on them
|
|
99
|
+
- Feature implementation before tests
|
|
100
|
+
- Tests before documentation
|
|
101
|
+
|
|
102
|
+
### 4. GENERATE INTENT FILES
|
|
103
|
+
|
|
104
|
+
For each intent, create a markdown file: \`.olympus/workflow/{feature}/intents/INTENT-{NNN}.md\`
|
|
105
|
+
|
|
106
|
+
**File Naming:**
|
|
107
|
+
- Use zero-padded 3-digit numbers: \`INTENT-001\`, \`INTENT-002\`, etc.
|
|
108
|
+
- Order by logical implementation sequence
|
|
109
|
+
|
|
110
|
+
**Intent File Structure:**
|
|
111
|
+
\`\`\`markdown
|
|
112
|
+
---
|
|
113
|
+
id: INTENT-001
|
|
114
|
+
feature: {feature-slug}
|
|
115
|
+
title: [Brief task description]
|
|
116
|
+
component: [Which SPEC component this implements]
|
|
117
|
+
estimated_effort: [1, 2, 4, 8, or 16 hours]
|
|
118
|
+
dependencies: []
|
|
119
|
+
created: [ISO-8601 timestamp]
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Objective
|
|
123
|
+
[What this task accomplishes - 2-3 sentences]
|
|
124
|
+
|
|
125
|
+
## Implementation Prompt
|
|
126
|
+
[Detailed instructions for olympian agent - be exhaustive]
|
|
127
|
+
|
|
128
|
+
**File Locations:**
|
|
129
|
+
- [Specific files to create/modify]
|
|
130
|
+
|
|
131
|
+
**Implementation Steps:**
|
|
132
|
+
1. [Step 1]
|
|
133
|
+
2. [Step 2]
|
|
134
|
+
3. [Step 3]
|
|
135
|
+
|
|
136
|
+
**Technical Guidance:**
|
|
137
|
+
- [Patterns to follow]
|
|
138
|
+
- [Libraries/frameworks to use]
|
|
139
|
+
- [Code examples if helpful]
|
|
140
|
+
|
|
141
|
+
## Acceptance Criteria
|
|
142
|
+
- [ ] Criterion 1 (testable, specific)
|
|
143
|
+
- [ ] Criterion 2 (testable, specific)
|
|
144
|
+
- [ ] Criterion 3 (testable, specific)
|
|
145
|
+
|
|
146
|
+
## Dependencies
|
|
147
|
+
[List INTENT-XXX IDs that must complete first]
|
|
148
|
+
[Explain why each dependency is required]
|
|
149
|
+
|
|
150
|
+
## Notes
|
|
151
|
+
[Additional context, edge cases, considerations]
|
|
152
|
+
\`\`\`
|
|
153
|
+
|
|
154
|
+
### 5. GENERATE DEPENDENCY GRAPH
|
|
155
|
+
|
|
156
|
+
Create \`.olympus/workflow/{feature}/intents/dependency-graph.json\`
|
|
157
|
+
|
|
158
|
+
**Format:**
|
|
159
|
+
\`\`\`json
|
|
160
|
+
{
|
|
161
|
+
"nodes": [
|
|
162
|
+
{
|
|
163
|
+
"id": "INTENT-001",
|
|
164
|
+
"title": "Setup database schema",
|
|
165
|
+
"component": "Data Models",
|
|
166
|
+
"estimated_effort": 2
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"id": "INTENT-002",
|
|
170
|
+
"title": "Create user authentication endpoint",
|
|
171
|
+
"component": "API Specification",
|
|
172
|
+
"estimated_effort": 4
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"edges": [
|
|
176
|
+
{ "from": "INTENT-001", "to": "INTENT-002" }
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
\`\`\`
|
|
180
|
+
|
|
181
|
+
**Validation Requirements:**
|
|
182
|
+
- [ ] No circular dependencies
|
|
183
|
+
- [ ] All dependencies reference valid intent IDs
|
|
184
|
+
- [ ] Graph is a valid DAG (directed acyclic graph)
|
|
185
|
+
- [ ] All intents are reachable from foundational tasks
|
|
186
|
+
|
|
187
|
+
### 6. VALIDATE COVERAGE
|
|
188
|
+
|
|
189
|
+
Ensure complete coverage of SPEC:
|
|
190
|
+
|
|
191
|
+
**Coverage Table:**
|
|
192
|
+
\`\`\`markdown
|
|
193
|
+
## SPEC Coverage
|
|
194
|
+
| SPEC Component | Intents | Coverage |
|
|
195
|
+
|----------------|---------|----------|
|
|
196
|
+
| Data Models | INTENT-001, INTENT-002 | ✓ |
|
|
197
|
+
| API Endpoints | INTENT-003, INTENT-004, INTENT-005 | ✓ |
|
|
198
|
+
| Frontend Components | INTENT-006, INTENT-007 | ✓ |
|
|
199
|
+
| Testing | INTENT-008 | ✓ |
|
|
200
|
+
| [component not covered] | - | ✗ |
|
|
201
|
+
\`\`\`
|
|
202
|
+
|
|
203
|
+
**Coverage Target:** 100% of SPEC components must be addressed.
|
|
204
|
+
**Flag uncovered components explicitly.**
|
|
205
|
+
|
|
206
|
+
## QUALITY CHECKLIST
|
|
207
|
+
|
|
208
|
+
Before generating intents, verify:
|
|
209
|
+
- [ ] SPEC artifact exists and is readable
|
|
210
|
+
- [ ] All SPEC components extracted
|
|
211
|
+
- [ ] Intent sizing is reasonable (1-16 hours)
|
|
212
|
+
- [ ] Dependencies form a valid DAG
|
|
213
|
+
- [ ] Each intent has testable acceptance criteria
|
|
214
|
+
|
|
215
|
+
After generating intents, verify:
|
|
216
|
+
- [ ] All intent files created in correct location
|
|
217
|
+
- [ ] Dependency graph generated and valid
|
|
218
|
+
- [ ] Coverage table shows 100% mapping
|
|
219
|
+
- [ ] No circular dependencies exist
|
|
220
|
+
- [ ] Intent IDs are sequential and zero-padded
|
|
221
|
+
- [ ] Each intent has detailed implementation prompt
|
|
222
|
+
|
|
223
|
+
## PRINCIPLES
|
|
224
|
+
|
|
225
|
+
### Atomicity
|
|
226
|
+
Each intent should accomplish ONE thing. If an intent description uses "and", consider splitting it.
|
|
227
|
+
|
|
228
|
+
**Bad:**
|
|
229
|
+
- INTENT-001: Create user model AND setup authentication
|
|
230
|
+
|
|
231
|
+
**Good:**
|
|
232
|
+
- INTENT-001: Create user model with validation
|
|
233
|
+
- INTENT-002: Setup authentication middleware
|
|
234
|
+
|
|
235
|
+
### Clarity
|
|
236
|
+
Each intent's implementation prompt should be detailed enough that an olympian agent can execute without additional context.
|
|
237
|
+
|
|
238
|
+
**Include:**
|
|
239
|
+
- Exact file paths
|
|
240
|
+
- Code patterns to follow
|
|
241
|
+
- Libraries/frameworks to use
|
|
242
|
+
- Expected inputs/outputs
|
|
243
|
+
|
|
244
|
+
### Testability
|
|
245
|
+
Every acceptance criterion must be verifiable. Avoid vague statements.
|
|
246
|
+
|
|
247
|
+
**Bad:**
|
|
248
|
+
- [ ] Endpoint should work correctly
|
|
249
|
+
- [ ] Code should be clean
|
|
250
|
+
|
|
251
|
+
**Good:**
|
|
252
|
+
- [ ] POST /api/users returns 201 with user object
|
|
253
|
+
- [ ] All functions have unit tests with >80% coverage
|
|
254
|
+
|
|
255
|
+
### Dependency Precision
|
|
256
|
+
Only mark true dependencies - don't create unnecessary sequential constraints.
|
|
257
|
+
|
|
258
|
+
**Ask for each dependency:**
|
|
259
|
+
- Does this task TRULY require the other to complete first?
|
|
260
|
+
- Or could they run in parallel with coordination?
|
|
261
|
+
|
|
262
|
+
## OUTPUT FORMAT
|
|
263
|
+
|
|
264
|
+
After generating intents, provide summary:
|
|
265
|
+
|
|
266
|
+
\`\`\`
|
|
267
|
+
INTENT GENERATION COMPLETE
|
|
268
|
+
|
|
269
|
+
Feature: {feature-name}
|
|
270
|
+
SPEC: .olympus/workflow/{feature}/spec.md
|
|
271
|
+
|
|
272
|
+
Intents Generated: X
|
|
273
|
+
Total Estimated Effort: Y hours
|
|
274
|
+
Dependency Edges: Z
|
|
275
|
+
|
|
276
|
+
Intent Breakdown:
|
|
277
|
+
- Foundational tasks: A
|
|
278
|
+
- Feature tasks: B
|
|
279
|
+
- Integration tasks: C
|
|
280
|
+
- Testing tasks: D
|
|
281
|
+
|
|
282
|
+
Files Created:
|
|
283
|
+
- .olympus/workflow/{feature}/intents/INTENT-001.md
|
|
284
|
+
- .olympus/workflow/{feature}/intents/INTENT-002.md
|
|
285
|
+
- ...
|
|
286
|
+
- .olympus/workflow/{feature}/intents/dependency-graph.json
|
|
287
|
+
|
|
288
|
+
SPEC Coverage: X% (Y/Z components)
|
|
289
|
+
|
|
290
|
+
Uncovered Components:
|
|
291
|
+
- [list any unmapped components]
|
|
292
|
+
|
|
293
|
+
Next Steps:
|
|
294
|
+
- Review intents for completeness
|
|
295
|
+
- Validate dependency graph has no cycles
|
|
296
|
+
- Execute /implement to begin implementation
|
|
297
|
+
\`\`\`
|
|
298
|
+
</role>`,
|
|
299
|
+
tools: ['Read', 'Grep', 'Glob', 'Write', 'Edit'],
|
|
300
|
+
model: 'sonnet',
|
|
301
|
+
metadata: INTENT_GENERATOR_PROMPT_METADATA,
|
|
302
|
+
};
|
|
303
|
+
//# sourceMappingURL=intent-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-generator.js","sourceRoot":"","sources":["../../src/agents/intent-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,CAAC,MAAM,gCAAgC,GAAwB;IACnE,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,6BAA6B;SACvC;KACF;IACD,OAAO,EAAE;QACP,kCAAkC;QAClC,4BAA4B;QAC5B,yBAAyB;KAC1B;IACD,SAAS,EAAE;QACT,oBAAoB;QACpB,4BAA4B;QAC5B,oBAAoB;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mGAAmG;IAChH,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkQF;IACN,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAChD,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,gCAAgC;CAC3C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRD Writer Agent - Product Requirements Document Specialist
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Transform IDEA artifacts into comprehensive PRDs with user stories and acceptance criteria
|
|
5
|
+
*
|
|
6
|
+
* When to Use:
|
|
7
|
+
* - After IDEA artifact is validated
|
|
8
|
+
* - User runs /prd command
|
|
9
|
+
* - Executing PRD stage in workflow
|
|
10
|
+
*
|
|
11
|
+
* Model: Opus (high quality for requirements analysis)
|
|
12
|
+
* Capabilities: Reads IDEA artifacts, generates structured PRDs with user stories
|
|
13
|
+
*
|
|
14
|
+
* Specializes in translating ideas into actionable, testable requirements.
|
|
15
|
+
*/
|
|
16
|
+
import type { AgentConfig, AgentPromptMetadata } from './types.js';
|
|
17
|
+
export declare const PRD_WRITER_PROMPT_METADATA: AgentPromptMetadata;
|
|
18
|
+
export declare const prdWriterAgent: AgentConfig;
|
|
19
|
+
//# sourceMappingURL=prd-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prd-writer.d.ts","sourceRoot":"","sources":["../../src/agents/prd-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,0BAA0B,EAAE,mBAoBxC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAsM5B,CAAC"}
|