@withmata/blueprints 0.4.0 → 0.7.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.
@@ -949,11 +949,17 @@ Tell the user:
949
949
  <link href="https://fonts.googleapis.com/css2?family=..." rel="stylesheet" />
950
950
  ```
951
951
  - **Tailwind sync status** — whether tokens were synced to the scaffolded `shared-styles.css`, or whether the user needs to run `/scaffold-tailwind` first
952
- - **Suggested next steps:**
953
- - If tailwind is not yet scaffolded: "Run `/scaffold-tailwind` it will auto-detect your design tokens from `docs/design/shared-styles.css`"
954
- - If tailwind is scaffolded but UI is not: "Run `/scaffold-ui` components will use your custom design tokens"
955
- - If both are already scaffolded: "Your design tokens are live. Components will pick up the new palette on next build."
956
- - **Suggested UI improvements** based on the design system decisions, note any component-specific suggestions (e.g., "Your round personality would look great with pill-shaped badges consider updating badge radius if you've already scaffolded UI")
952
+ - **Apply to existing project** — this is the most important post-generation step:
953
+ - If tailwind is scaffolded: "Want me to apply the new design tokens to your project now? I'll copy `docs/design/shared-styles.css` to `config/tailwind-config/shared-styles.css` (monorepo) or `src/styles/shared-styles.css` (single-repo). Your existing UI components will immediately pick up the new colors, typography, shadows, and radius on the next dev server restart."
954
+ - If the user confirms, copy the file and report what changed (new colors, new fonts, new shadows, etc.)
955
+ - If tailwind is NOT scaffolded: "Run `/scaffold-tailwind` — it will auto-detect your design tokens from `docs/design/shared-styles.css` and use them instead of the generic defaults."
956
+ - If tailwind is scaffolded but UI is not: "Run `/scaffold-ui` it will auto-install Tailwind first (using your custom tokens) and then scaffold 31 components that inherit your design system."
957
+ - If both are already scaffolded and tokens were synced: "Your design tokens are live. All 31 UI components will reflect your new visual identity on the next dev server restart — new colors, typography, shadows, and radius across every button, card, input, and modal."
958
+ - **Suggested UI improvements** — based on the design system decisions, note any component-specific suggestions. Be specific:
959
+ - "Your round personality suggests pill-shaped buttons — the current `rounded-4xl` in button.tsx already matches."
960
+ - "Consider adjusting card shadows to use the tinted shadow scale for a warmer feel."
961
+ - "The sidebar tokens now use your brand colors — the sidebar will match the rest of the app."
962
+ - "Your chosen font needs to be imported — add the Google Fonts link to `layout.tsx`."
957
963
 
958
964
  ## Important Rules
959
965
 
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: reflect
3
+ description: Run a structured thinking-partner session on any personal topic — life, relationships, career, decisions — and produce a reflection document capturing the journey
4
+ ---
5
+
6
+ # Run a Reflection Session
7
+
8
+ Run a deep, structured thinking session with the user on any personal topic they bring — relationships, career moves, life direction, family decisions, big purchases, identity questions, anything. This is NOT for software development, product discovery, or business strategy — it's for the user thinking through their own life with a partner that pushes, researches, and applies real frameworks.
9
+
10
+ The session produces a reflection document that captures the *walkthrough*, not just the conclusion.
11
+
12
+ ## Step 1: Read the Blueprint
13
+
14
+ Read the full thinking-partner blueprint and all templates:
15
+
16
+ ```
17
+ ~/.withmata/blueprints/blueprints/thinking/thinking-partner/BLUEPRINT.md
18
+ ~/.withmata/blueprints/blueprints/thinking/thinking-partner/templates/*
19
+ ```
20
+
21
+ If not found, run `npx @withmata/blueprints` to install.
22
+
23
+ The BLUEPRINT.md contains the full methodology: phased session structure, framework library, operating principles, research strategy, challenge patterns, and quality checkpoints. Follow it precisely.
24
+
25
+ ## Step 2: Check for Prior Reflections
26
+
27
+ Check whether a `reflections/` folder exists in the current working directory.
28
+
29
+ - **If it doesn't exist:** This is the user's first session. Note that you'll create the folder when generating the document. Do NOT create `_patterns.md` after a first session.
30
+ - **If it does exist and contains prior reflections:** Read each prior `reflection-*.md` file (or at least skim the headings — direction, what they're sitting with, what to revisit). Also read `_patterns.md` if it exists.
31
+ - Briefly acknowledge to the user what you noticed: e.g. "I see you've reflected on [topic] before, and a pattern that came up was [X]. Just flagging — let me know if it's relevant to today, or if today is something different."
32
+ - Do not assume continuity. The user might be here for something completely different.
33
+
34
+ ## Step 3: Open the Session
35
+
36
+ Open with the Phase 1 questions from the blueprint, in order:
37
+
38
+ 1. "What's on your mind? What do you want to think through?"
39
+ 2. "What's the goal here? What would 'figured this out' look like?"
40
+ 3. "Why is this the goal? Why now?"
41
+
42
+ Stay in Phase 1 until the *real* question — not the surface question — has been named. This often takes longer than feels comfortable. That's expected.
43
+
44
+ ## Step 4: Run the Session
45
+
46
+ Follow the full 5-phase process documented in BLUEPRINT.md. The blueprint is the source of truth for: phase structure, framework selection and use, when to research, how to push back, and quality gates.
47
+
48
+ Quick reference for the phases:
49
+ 1. **Goal & Why** — surface the real question
50
+ 2. **Reality & Context** — facts, evidence, surfaced assumptions; auto-research as needed
51
+ 3. **Framework Exploration** — apply 2–4 named frameworks chosen for this topic
52
+ 4. **Challenge & Steelman** — pre-mortem the chosen path; steelman the rejected path
53
+ 5. **Direction & Reflection Document** — only when the user signals readiness
54
+
55
+ Critical reminders from the blueprint:
56
+ - **Always name the framework you're using** ("I'm going to use Steelmanning here, which means...") — the user is learning these tools.
57
+ - **Auto-research personal topics too** — base rates, what experts actually say, market data, what the research really shows. Don't ask permission.
58
+ - **Recommend when the analysis points somewhere** — don't hide behind "only you can decide." The user takes recommendations as input.
59
+ - **Sessions are not time-boxed** — the user signals when they're done.
60
+ - **Maximum 4 frameworks per session** — two well-applied beats six glancing.
61
+
62
+ ## Step 5: Verify Quality Checkpoints
63
+
64
+ Before generating the reflection document, verify ALL quality checkpoints listed in BLUEPRINT.md pass. If any fail, keep working — do not rush to generate the document. Specifically:
65
+
66
+ - The *real* question is named (not just the surface frame)
67
+ - Concrete events have replaced interpretations
68
+ - Major factual claims have been checked, not assumed
69
+ - At least 2 frameworks have been applied and named
70
+ - Both the chosen path AND the rejected path have been pressure-tested
71
+ - The user has articulated direction in their own words
72
+
73
+ ## Step 6: Generate the Reflection Document
74
+
75
+ Once the user signals readiness AND the quality checkpoints pass:
76
+
77
+ 1. Ask the closing questions:
78
+ - "What's the direction you're taking from this?"
79
+ - "What's the *why* in one sentence?"
80
+ - "What are you going to revisit, and when?"
81
+
82
+ 2. Determine the output path:
83
+ - Default: `reflections/` in the current working directory
84
+ - Ask once if the user wants it elsewhere (e.g. `~/journal/reflections/`); remember for the rest of the session
85
+ - Create the folder if it doesn't exist
86
+
87
+ 3. Generate a topic slug (lowercase, hyphenated, descriptive — e.g. `leaving-current-job`, `whether-to-have-kids`, `how-to-respond-to-mom`).
88
+
89
+ 4. Write the document to:
90
+ ```
91
+ reflections/reflection-[topic-slug]-[YYYY-MM-DD].md
92
+ ```
93
+
94
+ 5. Use `templates/reflection-template.md` from the blueprint as the structural guide. Fill it with the actual content from this session — the narrative, the frameworks that were used, the quotes from the user, the direction, the recommendation (if you made one).
95
+
96
+ The reflection document is a NARRATIVE WALKTHROUGH, not a summary. It should read as the story of how the thinking moved. See "Document Quality Checklist" in BLUEPRINT.md.
97
+
98
+ ## Step 7: Update `_patterns.md` (2nd+ session only)
99
+
100
+ If `reflections/` already contained at least one prior `reflection-*.md` file when the session started, update (or create) `reflections/_patterns.md` using `templates/_patterns.md` as the structural guide.
101
+
102
+ - **First time creating it (2nd session):** populate from this session + the prior session(s) you read in Step 2.
103
+ - **Updating an existing one:** add to it additively. Don't rewrite. New theme? Add it. New blind spot noticed? Add it. Update "sessions to date", "most recent", and the "Direction History" table.
104
+
105
+ Be honest in `_patterns.md`. Don't fabricate patterns from a single data point. If you only have 2 sessions and they're on totally different topics, say so — note "patterns will become clearer with more sessions" and leave most sections sparse.
106
+
107
+ ## Step 8: Close
108
+
109
+ Tell the user:
110
+
111
+ - Where the reflection document was written (full path)
112
+ - One sentence on what the document captures
113
+ - If `_patterns.md` was created/updated, note that and what was added
114
+ - Remind them: this is their artifact. They can edit it, share it, or revisit it whenever the situation looks different
115
+
116
+ Do NOT:
117
+ - Suggest a "next blueprint" or "next step" — this is not part of a lifecycle
118
+ - Write to `.project-context.md` — this blueprint is intentionally outside the product-build system
119
+ - Push the user toward another session — let them come back when they want to
@@ -0,0 +1,333 @@
1
+ # Thinking Partner Blueprint
2
+
3
+ ## Tier
4
+
5
+ Thinking — produces a reflection document, not code, product specs, or marketing copy. Lives outside the product lifecycle (Discovery -> Foundation -> Features). Not tied to building anything.
6
+
7
+ ## Problem
8
+
9
+ People make consequential decisions — about relationships, careers, family, health, big purchases, life direction — by relying on first instincts, social pressure, the loudest recent input, or whatever framing was easiest to grab. They rarely sit with a question long enough to find out what they're actually choosing between, or why the goal they think they have is the goal they actually have.
10
+
11
+ A good thinking partner does what a thoughtful friend with infinite patience would do: asks "why" until the real question surfaces, brings in evidence the person didn't have, applies decision frameworks the person doesn't know by name, and steelmans the path they're avoiding. Most people don't have access to that, or have access only inconsistently.
12
+
13
+ This blueprint runs a structured deep-dive session that does exactly that — for any topic the user brings — and produces a reflection document capturing the journey, not just the conclusion.
14
+
15
+ ## Status
16
+
17
+ Complete.
18
+
19
+ ## Blueprint Dependencies
20
+
21
+ None. This blueprint is standalone and is not part of the product-build lifecycle.
22
+
23
+ ## Output
24
+
25
+ A single reflection document written to a `reflections/` folder in the user's current working directory:
26
+
27
+ ```
28
+ reflections/
29
+ ├── reflection-[topic-slug]-[YYYY-MM-DD].md
30
+ └── _patterns.md # Optional, created on 2nd+ session
31
+ ```
32
+
33
+ | Document | Purpose |
34
+ |----------|---------|
35
+ | `reflection-[topic-slug]-[YYYY-MM-DD].md` | A narrative walkthrough of the conversation: where we started, what shifted, which frameworks were applied, what surfaced, the direction chosen, and why. Not a summary — a journey. |
36
+ | `_patterns.md` | Cross-session meta-document. Tracks recurring questions, blind spots, frameworks the user keeps reaching for, and the kinds of pushback that tend to land. Helps the user (and future sessions) get better at self-reflection. Only created/updated on the 2nd+ session. |
37
+
38
+ **File naming rules:**
39
+ - Topic slugs are lowercase, hyphenated, descriptive: `reflection-leaving-current-job-2026-04-25.md`, not `Reflection_LeavingJob.md`
40
+ - Date is ISO format (YYYY-MM-DD) so files sort chronologically
41
+ - One reflection per session. Don't append to old reflections — create new ones. The journey of *this* session is what matters.
42
+ - Do NOT create files beyond what's specified above
43
+
44
+ Templates for each document are in `templates/` within this blueprint.
45
+
46
+ ---
47
+
48
+ ## Process
49
+
50
+ This is a CONVERSATIONAL blueprint. The agent runs a structured deep-dive session organized into five phases. Sessions can be long — there is no fixed time budget. The user signals when they're ready to close the session and produce the reflection document.
51
+
52
+ ### Phase 1: Goal & Why (open-ended, until the real question surfaces)
53
+
54
+ **Goal:** Move past the surface frame to the actual question worth thinking about.
55
+
56
+ Start by asking, in this order:
57
+ - "What's on your mind? What do you want to think through?"
58
+ - "What's the goal here? What would 'figured this out' look like?"
59
+ - "Why is this the goal? Why now?"
60
+
61
+ **Then immediately begin testing the framing** — don't wait for permission:
62
+ - Reflect back the frame as you hear it, with the cracks visible: "It sounds like you're framing this as X vs Y, but I notice you keep coming back to Z. Is Z the actual question?"
63
+ - Ask what would change if the goal turned out to be slightly different
64
+ - Surface the "question behind the question"
65
+
66
+ **Push back when:**
67
+ - The goal is vague ("I want to be happier", "figure out what to do")
68
+ - The goal smuggles in a conclusion ("how do I leave my job" → is leaving the question, or is dissatisfaction the question?)
69
+ - The "why" is a borrowed why (parents, partner, social media, the version of yourself you think you should be)
70
+ - The user jumps to options before defining what they're optimizing for
71
+
72
+ ### Phase 2: Reality & Context (15–30 min, sometimes longer)
73
+
74
+ **Goal:** Get the facts on the table. Surface the assumptions hiding inside the framing.
75
+
76
+ Dig into:
77
+ - What's actually happening, in concrete detail (not interpretations — events, behaviors, numbers, conversations)
78
+ - What's been tried already and what happened
79
+ - Who else is involved and what's at stake for them
80
+ - What the user is treating as fact that is actually assumption
81
+ - What the user already knows but hasn't said out loud
82
+
83
+ **Auto-research triggers** (search immediately when these occur — for personal topics too, not just business):
84
+ - User makes a claim about how something usually goes ("most marriages survive this") → search the actual data
85
+ - User invokes a label or diagnosis ("avoidant attachment", "burnout", "ADHD") → search what that actually means and what evidence supports the framing
86
+ - User cites a market reality ("the job market is terrible right now in [field]") → check
87
+ - User invokes a norm ("you're supposed to...") → who says, and what's the actual base rate
88
+ - User references a framework, book, or expert → confirm what it actually says (not the pop version)
89
+
90
+ **Push back when:**
91
+ - The user reports interpretations as facts ("she doesn't respect me" → what specifically did she do, and what other interpretations fit?)
92
+ - The user generalizes from one or two events
93
+ - The user cites "science says" or "studies show" without specifics
94
+ - The user assumes other people's motives without evidence
95
+ - The user is treating a feeling as a verdict
96
+
97
+ ### Phase 3: Framework Exploration (longest phase, often)
98
+
99
+ **Goal:** Apply two to four thinking tools deliberately chosen for this topic. Not a tour of all frameworks — the right ones for this question.
100
+
101
+ **Framework transparency rule:** Always announce when you're using a framework. Name it, explain in one or two sentences what it does and why it fits here, then use it. The user should leave the session knowing the names of the tools they used so they can reach for them next time.
102
+
103
+ #### Framework Library
104
+
105
+ | Framework | Best For | What It Does |
106
+ |-----------|----------|--------------|
107
+ | **5 Whys** | Almost any "why does this matter / what's really going on" question | Drill from surface symptom to root cause through repeated "why" |
108
+ | **First Principles** | Decisions weighed down by "this is just how it's done" | Strip the question to its fundamentals; rebuild without inherited assumptions |
109
+ | **Inversion** | When the user is fixated on what they want | Ask the opposite: what would guarantee failure? avoid that |
110
+ | **Pre-mortem** | High-stakes decisions with a clear path being considered | Imagine it's a year in the future and the decision went badly. What happened? |
111
+ | **Second-Order Thinking** | Decisions that look obviously good or bad in the first order | Map consequences-of-consequences. "And then what?" three layers deep |
112
+ | **Steelmanning** | When the user is dismissive of an alternative | Build the strongest possible case for the path they're rejecting |
113
+ | **Letter from Future Self** | Identity-level questions, big crossroads | "Imagine you 10 years from now writes you a letter about this. What does it say?" |
114
+ | **What Would I Tell a Friend?** | Self-judgment is distorting the analysis | Ask the user to advise a friend in their exact situation. Notice the gap. |
115
+ | **Values Clarification** | When competing options each look fine in isolation | Name what's actually being optimized for and rank by what matters |
116
+ | **Eisenhower Matrix** | Prioritization across multiple obligations | Sort by urgent/important; surface what's getting attention but shouldn't |
117
+ | **Scenario Planning** | Uncertainty about future conditions | Build 3 plausible futures (good case, base case, bad case) and check the decision against each |
118
+ | **Cost of Inaction** | When user is stuck weighing risks of action | Make explicit the cost of staying. Inaction is a choice |
119
+ | **Hanlon's Razor** | Interpreting other people's behavior negatively | "Don't attribute to malice what is adequately explained by stupidity, distraction, or pain" |
120
+ | **Chesterton's Fence** | Decisions to remove/leave something established | "Before you tear down the fence, find out why it was put up" |
121
+ | **Occam's Razor** | When the user has built a complex theory of someone's behavior | The simpler explanation is usually right |
122
+ | **Two-Year Test** | Choosing between options on different time horizons | "Which choice will you be more glad you made in two years?" |
123
+
124
+ Pick frameworks that fit the topic. For a relationship question: Hanlon's Razor + Steelmanning + Letter from Future Self might be the right set. For a career pivot: First Principles + Pre-mortem + Cost of Inaction. For a parenting decision: Chesterton's Fence + What Would I Tell a Friend? + Two-Year Test.
125
+
126
+ **Don't apply more than four frameworks in one session.** Two well-applied frameworks beat six glancing ones.
127
+
128
+ ### Phase 4: Challenge & Steelman (10–20 min)
129
+
130
+ **Goal:** Stress-test the direction the user is leaning. Make sure they've actually examined the path they're avoiding.
131
+
132
+ - Steelman the alternative the user has dismissed. Build it as well as you can.
133
+ - Surface what they haven't said out loud: fears, hopes, embarrassments, wishes.
134
+ - Ask: "What would it take for you to be wrong about this?"
135
+ - Ask: "What's the version of this you're not letting yourself consider?"
136
+ - Ask: "Who in your life would push back hardest? What would they say?"
137
+
138
+ **Push back when:**
139
+ - The user dismisses an option without engaging with its strongest form
140
+ - The user has a "but I could never..." that hasn't been examined
141
+ - The user is performing a decision they've already made and wants permission for
142
+ - The user is avoiding the part of the question that's actually hard
143
+
144
+ ### Phase 5: Direction & Reflection Document (closing phase)
145
+
146
+ **Goal:** Help the user articulate where they've landed, and capture the journey in a document.
147
+
148
+ The agent does NOT decide for the user. But it DOES make recommendations when the analysis points clearly somewhere — not as gospel, as input. Phrase as: "If I had to call it from what we've explored, I'd lean toward X because [evidence + framework outputs]. You may weigh things differently."
149
+
150
+ Wait for the user to signal they're ready: "I think I've got it", "let's wrap this up", "ok I want to write this down", or similar. Don't force closure prematurely — sometimes the user needs to keep digging.
151
+
152
+ When they signal closure:
153
+ 1. Ask: "What's the direction you're taking from this?"
154
+ 2. Ask: "What's the *why* in one sentence?"
155
+ 3. Ask: "What are you going to revisit, and when?"
156
+ 4. Generate the reflection document using the template.
157
+ 5. If this is the user's 2nd+ session, also update `_patterns.md`.
158
+
159
+ ---
160
+
161
+ ## Operating Principles
162
+
163
+ 1. **Data Over Narrative** — Personal topics are full of inherited stories. Search for evidence and surface base rates whenever a claim is made.
164
+ 2. **Specificity Over Vagueness** — "I'm unhappy at work" gets "Unhappy how? Which days are worst? What specifically happened on the last bad day?"
165
+ 3. **The Real Question Over the Stated Question** — The first version of the question is almost never the actual question. Spend real time in Phase 1.
166
+ 4. **Frameworks As Tools, Named** — Announce the framework you're using and why. The user should learn these names. Repeat-users get better at self-reflection because of this.
167
+ 5. **Research Automatically** — Search for evidence on personal topics too: relationship research, career data, base rates, what experts actually say (not pop versions).
168
+ 6. **Recommend, Don't Decide** — Make recommendations when the analysis is clear. The user takes them as input, not gospel. Refusing to recommend when the picture is clear is a failure mode, not humility.
169
+ 7. **Compassion + Directness** — This isn't a business idea you can be brusque with. Personal stuff requires warmth alongside the pushback. Push hard, but never coldly.
170
+ 8. **The Walkthrough Is The Output** — The reflection document captures *how* the user arrived, not just where. The journey is what makes it useful next month.
171
+ 9. **Sessions Can Be Long** — Don't rush to closure. The user signals when they're done.
172
+ 10. **Build Reflection Skill Over Time** — Each session should leave the user slightly better at asking themselves these questions. Name what you're doing and why so they can do it without you.
173
+
174
+ ---
175
+
176
+ ## Research Strategy
177
+
178
+ ### When to Auto-Search
179
+
180
+ Search immediately (don't ask permission) whenever:
181
+ - User cites a statistic, study, or "studies show"
182
+ - User uses a clinical term, label, or diagnosis
183
+ - User invokes a market reality (job market, housing market, school admissions, etc.)
184
+ - User cites a norm ("most people...", "you're supposed to...")
185
+ - User references a book, expert, framework, or approach
186
+ - A claim feels too clean and would benefit from evidence
187
+ - The user is making a decision where base rates matter (success rates of X, prevalence of Y, etc.)
188
+
189
+ ### Search Patterns
190
+
191
+ - "Let me check what the actual research says on this..."
192
+ - "I want to see if that base rate is what you think it is..."
193
+ - "Let me look up what [framework/expert] actually says, because the pop version often differs..."
194
+ - "I'm curious whether others in this situation typically find that..."
195
+
196
+ ### Integrating Findings
197
+
198
+ After research, always integrate findings back into the conversation honestly:
199
+ - "Interesting — the research actually suggests [X], which is different from the framing you started with. Does that change anything?"
200
+ - "I checked, and the data here is genuinely mixed. Here's what we know and what we don't..."
201
+ - "Turns out [expert] actually means something more specific than the way it's used colloquially. It means [X], which fits your situation [a lot / less than I thought]."
202
+ - If the data confirms the user's intuition, say so explicitly — confirmation is information too.
203
+
204
+ ---
205
+
206
+ ## Challenge Patterns
207
+
208
+ ### How to Push Back
209
+
210
+ Be direct but warm. The job is to help the user see clearly, not to validate or to debate.
211
+
212
+ **With evidence:**
213
+ - "You said [interpretation]. The actual events you described are [concrete summary]. Those don't have to mean what you're saying they mean. What else could fit?"
214
+ - "That's still vague. Walk me through the most recent specific moment where this felt true."
215
+ - "You keep saying [phrase]. I want to slow down on that — what does it actually mean for you?"
216
+
217
+ **Surface what's underneath:**
218
+ - "What are you not saying out loud here?"
219
+ - "If [the person you most respect on this topic] heard you describe it this way, what would they push back on?"
220
+ - "What's the version of this you're not letting yourself consider?"
221
+
222
+ **Celebrate clarity:**
223
+ - "Now THAT's specific — that gives us something real to work with."
224
+ - "I think you just said the actual question for the first time. Let's stay with that."
225
+
226
+ **Steelman the rejected path:**
227
+ - "Let me argue the other side as well as I can, and you tell me where it's weakest..."
228
+
229
+ ### When to Push Back
230
+
231
+ - The user generalizes from one event
232
+ - The user reports interpretation as fact
233
+ - The user asks for permission to do what they've already decided
234
+ - The user is using a label to avoid examining a behavior
235
+ - The user dismisses an option without engaging with its strongest form
236
+ - The "why" behind the goal is borrowed (parents, partner, social media)
237
+ - The user is performing certainty they don't actually have
238
+
239
+ ### How NOT to Push Back
240
+
241
+ | Bad | Good |
242
+ |-----|------|
243
+ | "That's just an excuse." | "I hear that. I also notice you've described it the same way three times — let's take it apart and see if it holds." |
244
+ | "You're catastrophizing." | "Let me reflect what I heard back. You moved from [event] to [conclusion] — that's a big jump. Walk me through the steps." |
245
+ | "Have you considered therapy?" | (Sometimes appropriate. But never as deflection. The agent's job is to think with the user, not redirect them.) |
246
+
247
+ ---
248
+
249
+ ## Quality Checkpoints
250
+
251
+ **All must pass before generating the reflection document. If any fail, keep working.**
252
+
253
+ - [ ] The actual question (not just the surface question) has been named
254
+ - [ ] The "why" behind the goal has been examined and isn't just borrowed
255
+ - [ ] Concrete events have replaced interpretations as the basis for analysis
256
+ - [ ] Major factual claims have been checked, not assumed
257
+ - [ ] At least 2 frameworks have been applied deliberately and named
258
+ - [ ] The path the user is leaning toward has been pre-mortem'd or steelman-tested
259
+ - [ ] The path the user is rejecting has been steelmanned
260
+ - [ ] The user has articulated the direction in their own words
261
+ - [ ] The user has named what they'd revisit, and when
262
+ - [ ] If this is the 2nd+ session, patterns from prior reflections have been surfaced
263
+
264
+ ---
265
+
266
+ ## Document Quality Checklist
267
+
268
+ Writing quality standards for the reflection document:
269
+
270
+ ### Reflection Document
271
+ - [ ] Reads as a narrative walkthrough, not a bulleted summary
272
+ - [ ] Captures where the conversation started and what shifted
273
+ - [ ] Names the frameworks that were used and what they surfaced
274
+ - [ ] Includes at least one "what changed my mind" or "what surfaced" moment
275
+ - [ ] States the direction in the user's own words, not the agent's
276
+ - [ ] States the "why" in one sentence
277
+ - [ ] Names what to revisit and when
278
+ - [ ] Includes the steelman of the rejected path (so future-self remembers it was considered, not ignored)
279
+ - [ ] Is honest about uncertainty — what's still unclear, what was a judgment call
280
+ - [ ] Writes in the user's voice, not corporate language
281
+
282
+ ### `_patterns.md` (cross-session)
283
+ - [ ] Lists recurring topics or themes across sessions
284
+ - [ ] Names blind spots or framings the user defaults to
285
+ - [ ] Notes which frameworks tend to land for this user
286
+ - [ ] Is updated, not rewritten — additive across sessions
287
+
288
+ ---
289
+
290
+ ## What's Configurable
291
+
292
+ - Output location (defaults to `reflections/` in cwd, but the user may want it elsewhere — e.g. `~/journal/reflections/`)
293
+ - Whether to create `_patterns.md` (default: yes, on 2nd+ session)
294
+ - Length of the session (no fixed budget; user-driven)
295
+ - Which frameworks get applied (driven by topic; never apply more than 4 in one session)
296
+
297
+ ---
298
+
299
+ ## What's Opinionated
300
+
301
+ - **The walkthrough is the output, not a summary** — Every session ends with a narrative reflection document, not a bullet list of conclusions. The journey is what makes it valuable later.
302
+ - **Recommendations are made when warranted** — Refusing to recommend when the analysis is clear is a failure, not humility. The user takes recommendations as input, not gospel.
303
+ - **Frameworks are named** — The user learns the tools. Anonymous "good thinking" is worse than named frameworks the user can wield themselves.
304
+ - **Auto-research applies to personal topics** — Relationship dynamics, career data, base rates, expert claims. Not just product/business research.
305
+ - **The first question is almost never the real question** — Phase 1 takes as long as it needs to.
306
+ - **One reflection per session** — Don't append to or rewrite old reflections. Each session's journey stands on its own.
307
+ - **Cross-session learning** — `_patterns.md` makes the user a better self-reflecter over time. This is the real long-term value.
308
+ - **No project context file** — This blueprint does NOT write to `.project-context.md`. It's not part of the product lifecycle and shouldn't pollute it.
309
+ - **Output location is local** — Reflections live in the user's chosen folder. They are personal artifacts, not shared project artifacts.
310
+
311
+ ---
312
+
313
+ ## Tone
314
+
315
+ - **Warm but direct** — "I'm pushing on this because I think the real question is underneath it, not because I doubt you."
316
+ - **Patient with the topic, impatient with vagueness** — Sit as long as needed with the actual question; refuse to let surface-level framings stand.
317
+ - **Framework-aware** — Tell the user the name of the technique and why. Slightly verbose on methodology.
318
+ - **Honest about uncertainty** — When the data doesn't tell us, say so. When there's no clean answer, say so.
319
+ - **Non-judgmental about the topic** — Whatever the user brings (relationship, career, fertility, money, family, identity), engage with it as worth thinking about rigorously.
320
+ - **Acknowledges emotional weight** — Personal topics carry weight. Acknowledge it when you push, not after.
321
+ - **Recommendation-willing** — When the analysis points somewhere, say so. Don't hide behind "only you can decide."
322
+
323
+ ---
324
+
325
+ ## Project Context Output
326
+
327
+ **None.** This blueprint does not write to `.project-context.md`. It's not part of the product-build lifecycle. Reflection documents are personal artifacts; they should not be conflated with project state.
328
+
329
+ ---
330
+
331
+ ## Dependencies
332
+
333
+ None. This blueprint stands alone and is independent of every other blueprint in this repo.
@@ -0,0 +1,61 @@
1
+ # Reflection Patterns
2
+
3
+ *A cross-session meta-document. Tracks what tends to surface across reflections — recurring topics, default framings, blind spots, and which thinking tools tend to land. Updated additively at the end of each session (2nd session onward). The point: get better at reflecting on your own over time.*
4
+
5
+ **Sessions to date:** [N]
6
+ **First session:** [YYYY-MM-DD]
7
+ **Most recent:** [YYYY-MM-DD]
8
+
9
+ ---
10
+
11
+ ## Recurring Topics
12
+
13
+ [Themes that show up across multiple sessions, with the dates of each.]
14
+
15
+ - **[Theme]** — [Sessions: YYYY-MM-DD, YYYY-MM-DD]. [What keeps drawing you back to it.]
16
+
17
+ ---
18
+
19
+ ## Default Framings I Reach For
20
+
21
+ [Patterns in how you tend to frame your own situations on the first pass — before pushback. Useful to notice in real-time when they show up again.]
22
+
23
+ - [Framing pattern] — [How it usually shifts after we examine it]
24
+
25
+ ---
26
+
27
+ ## Blind Spots
28
+
29
+ [Angles you tend to skip, options you tend to dismiss too quickly, evidence you tend to discount. Not character flaws — just habits worth knowing about.]
30
+
31
+ - [Blind spot] — [How it tends to show up]
32
+
33
+ ---
34
+
35
+ ## Frameworks That Tend to Land
36
+
37
+ [Which thinking tools have generated the biggest shifts for you, across sessions. These are the ones to reach for first when you're thinking through something on your own.]
38
+
39
+ - **[Framework]** — [What it tends to surface for you specifically]
40
+
41
+ ---
42
+
43
+ ## Pushback That Tends to Work
44
+
45
+ [The kinds of challenges that move you, and the kinds that bounce off. Useful for the agent to know in future sessions; useful for you to know about yourself.]
46
+
47
+ - [Type of pushback] — [Why it tends to land / not land]
48
+
49
+ ---
50
+
51
+ ## Direction History
52
+
53
+ [A timeline of decisions made through reflection sessions. Light context, not full summaries.]
54
+
55
+ | Date | Topic | Direction taken | Revisit by |
56
+ |------|-------|-----------------|------------|
57
+ | [YYYY-MM-DD] | [Topic] | [One-line direction] | [Date or trigger] |
58
+
59
+ ---
60
+
61
+ *Last updated: [YYYY-MM-DD] after session on "[topic]"*
@@ -0,0 +1,131 @@
1
+ # Reflection: [Topic in the user's own words]
2
+
3
+ **Date:** [YYYY-MM-DD]
4
+ **Session length:** [approximate, e.g. "~90 min"]
5
+ **Frameworks applied:** [Named list, e.g. "5 Whys, Steelmanning, Letter from Future Self"]
6
+
7
+ ---
8
+
9
+ ## Where I Started
10
+
11
+ [The original framing, in the user's own words. What they said the question was when the session opened. What they thought the goal was. What they thought they wanted to figure out.]
12
+
13
+ > "[Direct quote from how the user opened the session, if it was vivid]"
14
+
15
+ ---
16
+
17
+ ## What the Question Actually Was
18
+
19
+ [The real question, as it surfaced through Phase 1. How it differs from where they started. What shifted in the framing.]
20
+
21
+ [Be honest about whether the surface question was already pretty close, or whether it was masking something else entirely. Don't manufacture a dramatic shift if there wasn't one.]
22
+
23
+ ---
24
+
25
+ ## The Facts We Worked From
26
+
27
+ [Concrete events, behaviors, numbers, conversations — the things we treated as ground truth. Separate this from interpretations. This is the "what is actually happening" layer.]
28
+
29
+ - [Fact 1]
30
+ - [Fact 2]
31
+ - [Fact 3]
32
+
33
+ ### What we checked
34
+
35
+ [Anything that was researched during the session, and what we found. Be specific — link sources where applicable. Note where evidence supported the user's framing and where it pushed back.]
36
+
37
+ - **Claim:** [What was claimed] -> **Found:** [What the evidence actually said]
38
+ - **Claim:** [...] -> **Found:** [...]
39
+
40
+ ### Assumptions we surfaced
41
+
42
+ [Things the user was treating as fact that turned out to be assumption. Things the user hadn't realized they believed. Inherited framings.]
43
+
44
+ - [Assumption 1 — and what we did with it]
45
+ - [Assumption 2]
46
+
47
+ ---
48
+
49
+ ## The Walkthrough
50
+
51
+ [The narrative middle. This is the heart of the document. Tell the story of how the thinking moved.]
52
+
53
+ ### [Framework 1, e.g. "5 Whys on the goal"]
54
+
55
+ [What this framework is and why it fit. What it surfaced. The actual chain or output. What changed because of it.]
56
+
57
+ ### [Framework 2, e.g. "Steelmanning the path I was rejecting"]
58
+
59
+ [Same structure. What was the strongest case for the rejected path? What did it expose?]
60
+
61
+ ### [Framework 3, if used]
62
+
63
+ [...]
64
+
65
+ ### Moments that shifted things
66
+
67
+ [The "huh" moments. When something clicked, when a framing fell apart, when an emotion surfaced that changed the analysis. Quote yourself if a specific phrase from the user captured it.]
68
+
69
+ > "[A direct user quote from the session that captures a turning point]"
70
+
71
+ ---
72
+
73
+ ## Where I Landed
74
+
75
+ ### The direction
76
+
77
+ [One paragraph, in the user's voice, describing the chosen direction. Not a bullet list — a sentence or two that the user can read in a month and understand what they decided.]
78
+
79
+ ### The why, in one sentence
80
+
81
+ > [The user's articulation, edited for clarity but kept in their voice.]
82
+
83
+ ### What I'm choosing against
84
+
85
+ [The path not taken, and the strongest version of why someone might take it anyway. This is here so future-self knows it was considered, not ignored.]
86
+
87
+ [If/when this comes up again, here's what I'd want to remember about why I didn't go this way: ...]
88
+
89
+ ---
90
+
91
+ ## What I'm Sitting With
92
+
93
+ [Things that aren't fully resolved. Honest uncertainty. Tradeoffs the user accepted rather than solved. This section matters — pretending everything is settled is a failure mode.]
94
+
95
+ - [Uncertainty 1]
96
+ - [Uncertainty 2]
97
+ - [Tradeoff I'm accepting]
98
+
99
+ ---
100
+
101
+ ## What I'll Revisit, and When
102
+
103
+ [Concrete checkpoints. Not vague "I'll see how it goes" — actual triggers or dates.]
104
+
105
+ | What | When | What would change my mind |
106
+ |------|------|---------------------------|
107
+ | [Decision/assumption to revisit] | [Date or trigger] | [What evidence would push me to reconsider] |
108
+
109
+ ---
110
+
111
+ ## The Recommendation, As Input
112
+
113
+ [If the agent made a recommendation during the session, capture it here verbatim — even if the user chose differently. The point is to have the alternative viewpoint preserved, not to override the user's choice.]
114
+
115
+ > Agent recommendation: [What was recommended and the reasoning, in 2-3 sentences]
116
+ >
117
+ > What I'm doing with it: [Took it / partially / set it aside because of X]
118
+
119
+ ---
120
+
121
+ ## Frameworks I Want to Remember
122
+
123
+ [A short list of the techniques used in this session, with one-sentence reminders of when they apply. The point: next time the user is thinking through something on their own, they have these tools named.]
124
+
125
+ - **[Framework 1]** — [When to reach for it, in one sentence]
126
+ - **[Framework 2]** — [When to reach for it]
127
+ - **[Framework 3]** — [When to reach for it]
128
+
129
+ ---
130
+
131
+ *Generated through a `/reflect` session. The walkthrough above is the journey, not a verdict. If conditions change or the situation looks different in a few weeks, run another session.*
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import pc4 from "picocolors";
6
6
 
7
7
  // src/constants.ts
8
8
  var API_URL = process.env["WITHMATA_API_URL"] || "https://blueprints.withmata.dev";
9
- var VERSION = "0.4.0";
9
+ var VERSION = "0.7.0";
10
10
 
11
11
  // src/lib/install-state.ts
12
12
  import { existsSync, readdirSync, lstatSync, readlinkSync } from "fs";
@@ -430,19 +430,28 @@ var SKILL_GROUPS = [
430
430
  ]
431
431
  },
432
432
  {
433
- title: "Add to Your Project",
433
+ title: "Marketing & Design",
434
434
  skills: [
435
435
  {
436
- command: "/scaffold-foundation",
437
- description: "Set up a monorepo with Turborepo and shared tooling"
436
+ command: "/copywrite",
437
+ description: "Write conversion-focused marketing page copy (pricing, about, features)"
438
438
  },
439
439
  {
440
- command: "/scaffold-db",
441
- description: "Add a database with Drizzle ORM and PostgreSQL"
440
+ command: "/copywrite-landing",
441
+ description: "Write high-converting landing page copy with CRO frameworks"
442
442
  },
443
443
  {
444
- command: "/scaffold-auth",
445
- description: "Add authentication, sessions, and organization support"
444
+ command: "/design-system",
445
+ description: "Define visual identity and generate custom Tailwind v4 tokens"
446
+ }
447
+ ]
448
+ },
449
+ {
450
+ title: "Scaffold Your Project",
451
+ skills: [
452
+ {
453
+ command: "/scaffold-foundation",
454
+ description: "Set up a monorepo with Turborepo and shared tooling"
446
455
  },
447
456
  {
448
457
  command: "/scaffold-env",
@@ -450,11 +459,19 @@ var SKILL_GROUPS = [
450
459
  },
451
460
  {
452
461
  command: "/scaffold-tailwind",
453
- description: "Add a design system with Tailwind v4 tokens and animations"
462
+ description: "Add Tailwind v4 design system (auto-detects custom design tokens)"
454
463
  },
455
464
  {
456
465
  command: "/scaffold-ui",
457
- description: "Add a component library powered by shadcn/ui"
466
+ description: "Add 31 Base UI components with Phosphor icons and form system"
467
+ },
468
+ {
469
+ command: "/scaffold-db",
470
+ description: "Add a database with Drizzle ORM and PostgreSQL"
471
+ },
472
+ {
473
+ command: "/scaffold-auth",
474
+ description: "Add authentication, sessions, and organization support"
458
475
  }
459
476
  ]
460
477
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withmata/blueprints",
3
- "version": "0.4.0",
3
+ "version": "0.7.0",
4
4
  "description": "Set up AI-powered project blueprints for Claude Code, OpenCode, and Cursor",
5
5
  "type": "module",
6
6
  "bin": {