You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: templates/commands/constitution.md
+27-9Lines changed: 27 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,17 +18,35 @@ You **MUST** consider the user input before proceeding (if not empty).
18
18
19
19
You are updating the project research constitution at `/memory/constitution.md`. This file defines the scientific context, core principles, and standards for the project. Your job is to collect concrete details from the user and fill in the template.
20
20
21
+
## Interaction Style
22
+
23
+
**IMPORTANT**: Ask questions ONE AT A TIME. Do not dump all questions at once.
24
+
25
+
- After asking a question, STOP and wait for the user's response.
26
+
- Once they answer, update `/memory/constitution.md` with that section, then ask the next question.
27
+
- This creates a guided conversation rather than an overwhelming list.
28
+
29
+
**Exception**: If the user provides substantial context in their initial input (after the command), use it to pre-fill what you can. Then only ask about gaps, still one question at a time.
30
+
31
+
**Progress saving**: After each answer, write the updated section to the file so progress is saved even if the conversation is interrupted.
32
+
21
33
Follow this execution flow:
22
34
23
35
1. Load the existing constitution at `/memory/constitution.md`.
24
36
- Identify placeholder tokens in square brackets (e.g., `[PROJECT_NAME]`, `[DATA_SOURCES]`).
37
+
- Check what's already filled in vs. what needs input.
38
+
39
+
2. If user provided context upfront:
40
+
- Pre-fill as many sections as possible from their input.
41
+
- Write the partial constitution to the file.
42
+
- Identify remaining gaps and ask about them ONE AT A TIME.
25
43
26
-
2. Collect values for each section:
27
-
-If user input supplies details, use them.
28
-
-Otherwise, infer from existing repo context (README, existing scripts, data files).
29
-
-For sections the user hasn't addressed, ask focused questions or mark as `[TODO: description]`.
44
+
3. If user provided no context (or minimal):
45
+
-Start with the first section (Research Context).
46
+
-Ask ONE focused question about that section.
47
+
-Wait for response, update file, then move to next section.
30
48
31
-
3. Section-specific guidance:
49
+
4. Section-specific guidance:
32
50
33
51
**Research Context**: Get the big picture - what questions, why this matters, who uses the outputs.
34
52
@@ -44,19 +62,19 @@ Follow this execution flow:
44
62
45
63
**Project Notes**: Probe for constraints that might not be obvious - data embargoes, collaborator agreements, deadlines.
46
64
47
-
4. Draft the completed constitution:
65
+
5. Draft the completed constitution:
48
66
- Replace placeholders with concrete text.
49
67
- Keep HTML comments as guidance unless the user asks to remove them.
50
68
- Use clear, direct language - this is a working document, not a legal contract.
51
69
52
-
5. Consistency check:
70
+
6. Consistency check:
53
71
- If `/memory/spec.md` exists, verify data sources and scope align.
54
72
- If analysis scripts exist, verify stated environment matches actual dependencies.
55
73
- Flag any inconsistencies to the user.
56
74
57
-
6. Write the completed constitution to `/memory/constitution.md`.
75
+
7. Write the completed constitution to `/memory/constitution.md`.
58
76
59
-
7. Summarize for the user:
77
+
8. Summarize for the user:
60
78
- What sections are complete vs. marked TODO.
61
79
- Any inconsistencies found.
62
80
- Suggested next steps (e.g., "Run `speckit specify` to create your first analysis spec").
0 commit comments