create-claude-rails 0.1.2 → 0.2.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.
Files changed (31) hide show
  1. package/lib/cli.js +47 -3
  2. package/lib/copy.js +16 -2
  3. package/lib/metadata.js +2 -1
  4. package/lib/reset.js +193 -0
  5. package/package.json +1 -1
  6. package/templates/EXTENSIONS.md +32 -32
  7. package/templates/README.md +2 -2
  8. package/templates/skills/onboard/SKILL.md +55 -22
  9. package/templates/skills/onboard/phases/detect-state.md +21 -39
  10. package/templates/skills/onboard/phases/generate-context.md +1 -1
  11. package/templates/skills/onboard/phases/interview.md +22 -2
  12. package/templates/skills/onboard/phases/modularity-menu.md +17 -14
  13. package/templates/skills/onboard/phases/options.md +98 -0
  14. package/templates/skills/onboard/phases/post-onboard-audit.md +19 -1
  15. package/templates/skills/onboard/phases/summary.md +1 -1
  16. package/templates/skills/onboard/phases/work-tracking.md +231 -0
  17. package/templates/skills/perspectives/_groups-template.yaml +1 -1
  18. package/templates/skills/perspectives/architecture/SKILL.md +275 -0
  19. package/templates/skills/perspectives/box-health/SKILL.md +8 -8
  20. package/templates/skills/perspectives/data-integrity/SKILL.md +2 -2
  21. package/templates/skills/perspectives/documentation/SKILL.md +4 -5
  22. package/templates/skills/perspectives/historian/SKILL.md +250 -0
  23. package/templates/skills/perspectives/process/SKILL.md +3 -3
  24. package/templates/skills/perspectives/skills-coverage/SKILL.md +294 -0
  25. package/templates/skills/perspectives/system-advocate/SKILL.md +191 -0
  26. package/templates/skills/perspectives/usability/SKILL.md +186 -0
  27. package/templates/skills/seed/phases/scan-signals.md +7 -3
  28. package/templates/skills/upgrade/SKILL.md +15 -15
  29. package/templates/skills/upgrade/phases/apply.md +3 -3
  30. package/templates/skills/upgrade/phases/detect-current.md +7 -7
  31. package/templates/skills/upgrade/phases/diff-upstream.md +3 -3
@@ -2,16 +2,22 @@
2
2
  name: onboard
3
3
  description: |
4
4
  Conversational interview that generates the initial context layer for a
5
- project adopting PIB. Re-runnable at different maturity stages — each run
5
+ project adopting Claude on Rails. Re-runnable at different maturity stages — each run
6
6
  refines based on what the project has learned. Use when: "onboard",
7
- "set up PIB", "bootstrap", "/onboard".
7
+ "set up CoR", "bootstrap", "/onboard".
8
8
  related:
9
9
  - type: file
10
10
  path: .claude/skills/onboard/phases/detect-state.md
11
- role: "Detect existing PIB artifacts and determine run mode"
11
+ role: "Detect existing CoR artifacts and determine run mode"
12
12
  - type: file
13
13
  path: .claude/skills/onboard/phases/interview.md
14
14
  role: "Conversational interview questions"
15
+ - type: file
16
+ path: .claude/skills/onboard/phases/work-tracking.md
17
+ role: "Choose work tracking system (SQLite vs markdown vs external)"
18
+ - type: file
19
+ path: .claude/skills/onboard/phases/options.md
20
+ role: "Structured decision points before generation"
15
21
  - type: file
16
22
  path: .claude/skills/onboard/phases/generate-context.md
17
23
  role: "Generate or update context files"
@@ -33,7 +39,7 @@ related:
33
39
 
34
40
  ## Purpose
35
41
 
36
- Generate the context layer that makes every other PIB skill work. Without
42
+ Generate the context layer that makes every other CoR skill work. Without
37
43
  context — what is this project, what stack does it use, what breaks, who
38
44
  works on it — the session loop runs blind. Orient reads files that don't
39
45
  exist yet. Debrief records lessons into a structure that hasn't been
@@ -69,7 +75,7 @@ Onboard is re-runnable. What it does depends on what already exists:
69
75
 
70
76
  ### 1. First Run (no _context.md)
71
77
 
72
- No PIB context layer exists yet. This is the full interview: who are you,
78
+ No CoR context layer exists yet. This is the full interview: who are you,
73
79
  what is this, what breaks, what do you need. Generates the complete
74
80
  initial context layer — `_context.md`, CLAUDE.md additions, system-status.md,
75
81
  and session loop wiring. The goal is a working session loop by the end of
@@ -77,7 +83,7 @@ the conversation.
77
83
 
78
84
  ### 2. Early Re-Run (sparse artifacts)
79
85
 
80
- Some PIB artifacts exist but the project is young. The session loop has
86
+ Some CoR artifacts exist but the project is young. The session loop has
81
87
  run a few times and the user has learned what works and what doesn't.
82
88
  The interview shifts to refinement: What has the session loop taught you
83
89
  that CLAUDE.md doesn't reflect? What friction have you hit? What context
@@ -86,7 +92,7 @@ existing files rather than creating new ones.
86
92
 
87
93
  ### 3. Mature Re-Run (rich context)
88
94
 
89
- The project has been using PIB for a while. Context files are populated,
95
+ The project has been using CoR for a while. Context files are populated,
90
96
  multiple modules are active, patterns have accumulated. The interview
91
97
  becomes a health check: Which modules are you actually using? Is anything
92
98
  ready to retire? What gaps have you noticed? Are there new areas the
@@ -98,7 +104,7 @@ doesn't have to declare it.
98
104
 
99
105
  ## Why This Matters
100
106
 
101
- Every PIB skill reads from the context layer. Orient reads `_context.md`
107
+ Every CoR skill reads from the context layer. Orient reads `_context.md`
102
108
  to know what files to check. Plan reads it to know where work items live.
103
109
  Perspectives read it to know where to look. If the context layer is empty
104
110
  or wrong, every skill downstream is degraded. Onboard is the foundation
@@ -113,9 +119,9 @@ the periodic recalibration that keeps the context layer honest.
113
119
 
114
120
  ### 1. Detect State
115
121
 
116
- Read `phases/detect-state.md` for how to scan existing PIB artifacts.
122
+ Read `phases/detect-state.md` for how to scan existing CoR artifacts.
117
123
 
118
- **Default (absent/empty):** Scan for the standard PIB artifact set:
124
+ **Default (absent/empty):** Scan for the standard CoR artifact set:
119
125
  `_context.md`, `system-status.md`, `orient/phases/`, `debrief/phases/`,
120
126
  `pib.db`, `_groups.yaml`, `memory/patterns/`. Count what exists, classify
121
127
  its richness (empty file vs populated), and determine the run mode. Report
@@ -149,12 +155,37 @@ by now?
149
155
 
150
156
  This is a conversation, not a form. Ask 2-3 questions at a time, not all
151
157
  at once. Follow up on answers — if the user mentions a pain point, dig
152
- into it. If something sounds like it maps to a specific PIB module, note
158
+ into it. If something sounds like it maps to a specific CoR module, note
153
159
  it for the modularity menu phase. The interview is the most valuable
154
160
  phase because it captures knowledge that no amount of file scanning can
155
161
  surface.
156
162
 
157
- ### 3. Generate Context
163
+ ### 3. Work Tracking
164
+
165
+ Read `phases/work-tracking.md` for how to present work tracking options.
166
+
167
+ **Default (absent/empty):** Detect existing work tracking (pib.db,
168
+ tasks.md, GitHub Issues, custom phase files). Present two built-in
169
+ options — SQLite database (pib-db) or markdown file (tasks.md) — plus
170
+ bring-your-own for external systems. User picks one, the other, or
171
+ neither. The choice is recorded in `.pibrc.json` under `workTracking`
172
+ and feeds into generate-context and generate-session-loop.
173
+
174
+ ### 4. Options
175
+
176
+ Read `phases/options.md` for how to present structured decision points.
177
+
178
+ **Default (absent/empty):** If the interview revealed open decisions
179
+ (tech stack undecided, architecture unclear, "what would you recommend?"),
180
+ present 2-3 options per decision with trade-offs. Uses architecture and
181
+ boundary-conditions perspectives internally to evaluate each option.
182
+ Skips automatically when the user already has clear opinions or this is
183
+ a re-run.
184
+
185
+ The user's choices feed into generate-context. Deferred decisions are
186
+ noted as open questions in `_context.md`.
187
+
188
+ ### 5. Generate Context
158
189
 
159
190
  Read `phases/generate-context.md` for how to create or update the context
160
191
  layer from interview answers.
@@ -173,7 +204,7 @@ would change as diffs — never overwrite without showing the delta. Let
173
204
  the user approve, modify, or reject each change. The user owns their
174
205
  context files; onboard proposes, never imposes.
175
206
 
176
- ### 4. Generate Session Loop
207
+ ### 6. Generate Session Loop
177
208
 
178
209
  Read `phases/generate-session-loop.md` for how to wire orient and debrief
179
210
  phase files.
@@ -196,9 +227,9 @@ In re-run mode, examine existing phase files and propose refinements based
196
227
  on what the interview surfaced. If the user said "orient never shows me X,"
197
228
  that's a signal to update the work-scan or health-checks phase.
198
229
 
199
- ### 5. Modularity Menu
230
+ ### 7. Modularity Menu
200
231
 
201
- Read `phases/modularity-menu.md` for which PIB modules to present.
232
+ Read `phases/modularity-menu.md` for which CoR modules to present.
202
233
 
203
234
  **Default (absent/empty):** Present the module hierarchy with adoption
204
235
  recommendations based on the interview. The session loop is always set up.
@@ -209,7 +240,7 @@ they can always add more later.
209
240
  In re-run mode, show what's adopted alongside what's available. Surface
210
241
  retirement candidates — modules that were adopted but aren't being used.
211
242
 
212
- ### 6. Summary
243
+ ### 8. Summary
213
244
 
214
245
  Read `phases/summary.md` for how to present results.
215
246
 
@@ -221,7 +252,7 @@ through use as orient and debrief reveal what's missing.
221
252
  In re-run mode, present a before/after view: what the context layer
222
253
  looked like before, what changed, and why.
223
254
 
224
- ### 7. Post-Onboard Audit
255
+ ### 9. Post-Onboard Audit
225
256
 
226
257
  Read `phases/post-onboard-audit.md` for the configuration sanity check.
227
258
 
@@ -240,8 +271,10 @@ pre-flight check, not a deferred finding.
240
271
 
241
272
  | Phase | Absent = | What it customizes |
242
273
  |-------|----------|-------------------|
243
- | `detect-state.md` | Default: scan standard PIB artifacts | What artifacts to scan and how to determine mode |
274
+ | `detect-state.md` | Default: scan standard CoR artifacts | What artifacts to scan and how to determine mode |
244
275
  | `interview.md` | Default: mode-adapted questions | What to ask and how to follow up |
276
+ | `work-tracking.md` | Default: detect & present choices | What work tracking system to use (pib-db, markdown, or external) |
277
+ | `options.md` | Default: present decisions with trade-offs | What decisions to surface and how to frame options |
245
278
  | `generate-context.md` | Default: create/update _context.md, CLAUDE.md, system-status.md | What files to generate and how |
246
279
  | `generate-session-loop.md` | Default: wire orient/debrief phases | How to set up the session loop |
247
280
  | `modularity-menu.md` | Default: present module hierarchy | Which modules to present and how |
@@ -254,7 +287,7 @@ Onboard is a companion, not a configurator. The framing is "let's figure
254
287
  out what your project needs" — not "I'll set up your system now." The
255
288
  interview is genuine curiosity about the project, not a checklist to get
256
289
  through. When the user describes a pain point, the right response is to
257
- understand it, not to immediately map it to a PIB module.
290
+ understand it, not to immediately map it to a CoR module.
258
291
 
259
292
  This matters because the quality of the context layer depends on the
260
293
  quality of the conversation. A mechanical interview produces mechanical
@@ -284,13 +317,13 @@ Examples of phases mature adopters add:
284
317
 
285
318
  ## Calibration
286
319
 
287
- **Core failure this targets:** Starting PIB adoption with empty context
320
+ **Core failure this targets:** Starting CoR adoption with empty context
288
321
  files, causing the session loop to run without knowing anything about the
289
322
  project it's supposed to help.
290
323
 
291
324
  ### Without Skill (Bad)
292
325
 
293
- A project adopts PIB. They copy the skeleton files, run `/orient` — it
326
+ A project adopts CoR. They copy the skeleton files, run `/orient` — it
294
327
  reads a blank `_context.md` and an empty `system-status.md`, reports
295
328
  nothing useful. They run `/debrief` — it tries to close work items but
296
329
  doesn't know where work is tracked. They create a plan — perspectives
@@ -305,7 +338,7 @@ discovering context gaps one at a time.
305
338
 
306
339
  ### With Skill (Good)
307
340
 
308
- A project adopts PIB and runs `/onboard`. The interview asks what the
341
+ A project adopts CoR and runs `/onboard`. The interview asks what the
309
342
  project is, what stack it uses, what hurts. The user mentions they have a
310
343
  Rails app with a PostgreSQL database, three developers, and a recurring
311
344
  problem with stale feature flags. From the conversation, onboard generates
@@ -1,76 +1,58 @@
1
- # Detect State — Scan PIB Artifacts and Determine Mode
1
+ # Detect State — Scan Claude on Rails Artifacts and Determine Mode
2
2
 
3
- Scan the project for existing PIB artifacts to determine whether this is
3
+ Scan the project for existing CoR artifacts to determine whether this is
4
4
  a first run, early re-run, or mature re-run. The mode determination
5
5
  drives how every subsequent phase behaves.
6
6
 
7
7
  When this file is absent or empty, the default behavior is: scan for the
8
- standard PIB artifact set, classify each artifact's richness, and
8
+ standard CoR artifact set, classify each artifact's richness, and
9
9
  determine the mode. To explicitly skip state detection (force first-run
10
10
  mode), write only `skip: true`.
11
11
 
12
- ## Pre-Check: CLI Metadata
12
+ ## Fast Path
13
13
 
14
- Before scanning artifacts, read `.pibrc.json` at the project root. This
15
- file is created by `npx create-claude-rails` and records which modules
16
- were installed, which were skipped (with reasons), and the package version.
14
+ Check for `_context.md` (or `.claude/skills/perspectives/_context.md`).
15
+ If it doesn't exist, the mode is **first-run** skip the full scan and
16
+ move to the interview immediately. No need to check 10 artifact types
17
+ when the primary signal is absent.
17
18
 
18
- If `.pibrc.json` is absent, this skill was installed manually (not via
19
- the CLI). That's fine proceed with the artifact scan. The interview
20
- and modularity menu will handle module decisions.
19
+ Also read `.pibrc.json` if it exists it records which modules the CLI
20
+ installed and which were skipped (with reasons). The interview phase uses
21
+ this to skip redundant questions.
21
22
 
22
- If `.pibrc.json` exists, note the installed and skipped modules. The
23
- interview phase uses this to skip redundant questions and the modularity
24
- menu uses `skipped` reasons to ask about alternatives.
23
+ ## Full Scan (re-runs only)
25
24
 
26
- ## What to Scan
27
-
28
- Check for these artifacts and classify each as absent, empty, or populated:
25
+ Only when `_context.md` exists, scan these artifacts to distinguish
26
+ early vs mature re-run:
29
27
 
30
28
  | Artifact | Path Pattern | Indicates |
31
29
  |----------|-------------|-----------|
32
- | Project context | `_context.md` or `.claude/skills/perspectives/_context.md` | Context layer exists |
33
30
  | System status | `system-status.md` | State tracking exists |
34
31
  | Orient phases | `.claude/skills/orient/phases/*.md` | Session loop is wired |
35
32
  | Debrief phases | `.claude/skills/debrief/phases/*.md` | Session loop is wired |
36
33
  | Work tracking DB | `pib.db` | Work tracking is active |
37
34
  | Perspective groups | `_groups.yaml` or `.claude/skills/perspectives/_groups.yaml` | Audit system configured |
38
- | Memory patterns | `memory/patterns/*.md` | Feedback loop is active |
35
+ | Memory patterns | `memory/patterns/*.md` or `.claude/memory/patterns/*.md` | Feedback loop is active |
39
36
  | CLAUDE.md | Root `CLAUDE.md` | Project instructions exist |
40
37
  | Rules files | `.claude/rules/*.md` | Scoped instructions exist |
41
38
  | Hook config | `.claude/settings.json` or `.claude/settings.local.json` | Enforcement hooks exist |
42
39
 
43
- ## Mode Determination
44
-
45
- **First run:** `_context.md` does not exist. No PIB context layer has been
46
- generated yet. Even if other artifacts exist (e.g., a CLAUDE.md written
47
- by hand), the absence of the generated context file means onboard hasn't
48
- run before.
49
-
50
- **Early re-run:** `_context.md` exists but the artifact set is sparse.
51
- Fewer than 5 of the scanned artifacts are populated. The session loop
52
- may be wired but modules like work tracking, audit, and enforcement are
53
- not yet active. The project is young — it has been through a few sessions
54
- but hasn't accumulated rich process infrastructure.
55
-
56
- **Mature re-run:** `_context.md` exists and 5 or more scanned artifacts
57
- are populated. The project has a working session loop, some form of work
58
- tracking, and at least one additional module (audit, enforcement, or
59
- memory). The context layer has had time to accumulate gaps and drift.
40
+ **Early re-run:** Fewer than 5 of the above are populated.
41
+ **Mature re-run:** 5 or more are populated.
60
42
 
61
43
  ## Output
62
44
 
63
- Report findings as a structured summary that subsequent phases can
45
+ For first-run: `Mode: first-run` that's it. Move on.
46
+
47
+ For re-runs, report a structured summary that subsequent phases can
64
48
  reference:
65
49
 
66
50
  ```
67
- Mode: first-run | early-rerun | mature-rerun
51
+ Mode: early-rerun | mature-rerun
68
52
 
69
53
  Artifacts found:
70
- - _context.md: populated (last modified 2026-03-15)
71
54
  - system-status.md: populated
72
55
  - orient phases: 3 files (context.md, work-scan.md, health-checks.md)
73
- - debrief phases: 2 files (inventory.md, update-state.md)
74
56
  - pib.db: absent
75
57
  - memory patterns: 4 files
76
58
  ...
@@ -1,6 +1,6 @@
1
1
  # Generate Context — Create or Update Context Files
2
2
 
3
- Transform interview answers into the files that make the rest of PIB
3
+ Transform interview answers into the files that make the rest of Claude on Rails
4
4
  functional. This is where conversation becomes infrastructure — but it
5
5
  is always a proposal, never an imposition.
6
6
 
@@ -60,7 +60,7 @@ are valid starting points.
60
60
 
61
61
  ## First-Run Questions
62
62
 
63
- The detect-state phase identified this as a first run (no PIB context
63
+ The detect-state phase identified this as a first run (no CoR context
64
64
  layer exists). But "first run" covers two very different situations:
65
65
 
66
66
  ### Greenfield (no project yet, or near-empty directory)
@@ -174,12 +174,32 @@ cruft. This is a health check.
174
174
  - Are there patterns in your memory/feedback that suggest a structural
175
175
  change rather than another rule?
176
176
 
177
+ ## Scope Boundary
178
+
179
+ You are configuring the **process layer** — what Claude should know about
180
+ this project, how sessions start and end, what to track and check. You
181
+ are NOT:
182
+
183
+ - Recommending tech stacks, frameworks, or architecture
184
+ - Advising on what to build or how to build it
185
+ - Making product decisions
186
+
187
+ If the user asks "what should I use?" or "what do you recommend?" for
188
+ their actual project, redirect: "That's a great question for your first
189
+ working session after we finish setup. Right now I'm just learning about
190
+ your project so the session loop knows what to look for. What do you
191
+ know so far about what you'll be building?"
192
+
193
+ Record what they tell you about their intentions and tools — that goes
194
+ into `_context.md`. But choosing those tools is their decision, not
195
+ onboard's job.
196
+
177
197
  ## Conversation Guidelines
178
198
 
179
199
  - **2-3 questions per round.** Let the user respond before asking more.
180
200
  - **Follow up on substance.** If an answer reveals something important,
181
201
  dig into it before moving on to the next topic.
182
- - **Note PIB module signals.** When someone describes a pain point that
202
+ - **Note CoR module signals.** When someone describes a pain point that
183
203
  maps to a specific module, note it internally for the modularity menu
184
204
  phase — but don't interrupt the conversation to pitch the module.
185
205
  - **Don't assume answers.** Even if you can see the project's files, ask
@@ -1,6 +1,6 @@
1
1
  # Modularity Menu — Present Opt-In Modules
2
2
 
3
- Present the PIB module hierarchy so the user can decide what to adopt now
3
+ Present the Claude on Rails module hierarchy so the user can decide what to adopt now
4
4
  and what to defer. The session loop is mandatory; everything else is
5
5
  opt-in. Progressive adoption means starting with what you need and adding
6
6
  modules as the project matures.
@@ -38,7 +38,7 @@ Present these in order from most fundamental to most specialized:
38
38
 
39
39
  ### 1. Session Loop (orient + debrief) — MANDATORY
40
40
 
41
- Always set up. This is the minimum viable PIB adoption. Orient reads
41
+ Always set up. This is the minimum viable CoR adoption. Orient reads
42
42
  state at session start; debrief writes state at session end. Without
43
43
  this, nothing else has a foundation.
44
44
 
@@ -49,21 +49,24 @@ with each session instead of resetting to zero.
49
49
  **Cost:** Two phase directories with a few files each. Runs at the
50
50
  start and end of every session (adds 30-60 seconds each).
51
51
 
52
- ### 2. Work Tracking (pib-db) — RECOMMENDED
52
+ ### 2. Work Tracking — RECOMMENDED
53
53
 
54
- A lightweight SQLite-based task and project tracker. Gives orient
55
- something to scan and debrief something to close.
54
+ How work items are tracked. The work-tracking onboard phase presents the
55
+ options in detail; this is the module-level view.
56
56
 
57
- **What you get:** Open actions, due dates, project containers, flagged
58
- items. Orient surfaces what's overdue or due today. Debrief marks
59
- things done. Plan creates work items.
57
+ **Options (chosen during onboard work-tracking phase):**
58
+ - **pib-db (SQLite):** Structured, queryable, local-only. CLI interface.
59
+ Integrates with plan/execute and audit findings. Requires `better-sqlite3`.
60
+ - **Markdown (tasks.md):** Simple, git-friendly, zero dependencies. Open
61
+ items are checkbox lines in a file. Good for solo/quick-start projects.
62
+ - **External:** Wire orient/debrief to GitHub Issues, Linear, Jira, etc.
63
+ You customize phase files after onboard.
60
64
 
61
- **Cost:** One SQLite database, CLI interface via `node scripts/pib-db.js`.
62
- No external service dependency.
65
+ **What you get:** Open actions, due dates, flagged items. Orient surfaces
66
+ what needs attention. Debrief marks things done. Plan creates work items.
63
67
 
64
- **Skip if:** You already have a work tracker you're happy with (GitHub
65
- Issues, Linear, Jira, a markdown file). You can wire the session loop to
66
- your existing tracker instead.
68
+ **Skip if:** You don't need work tracking in the session loop. You can
69
+ always add it later by re-running `/onboard`.
67
70
 
68
71
  ### 3. Planning (plan + execute) — OPT-IN
69
72
 
@@ -115,7 +118,7 @@ head.
115
118
 
116
119
  ### 6. Capability Seeding (seed) — OPT-IN
117
120
 
118
- Bootstrap new skills, perspectives, or process components from PIB
121
+ Bootstrap new skills, perspectives, or process components from CoR
119
122
  skeleton templates.
120
123
 
121
124
  **What you get:** Quick scaffolding of new capabilities with all required
@@ -0,0 +1,98 @@
1
+ # Options — Structured Decision Points Before Generation
2
+
3
+ After the interview and before generating context files, surface the key
4
+ decisions that shape how the project and process layer get set up. Present
5
+ options with trade-offs so the user makes informed choices — not Claude
6
+ making choices for them.
7
+
8
+ When this file is absent or empty, the default behavior is: identify
9
+ decisions implied by the interview, present options, let the user choose.
10
+ To explicitly skip (e.g., the user already has strong opinions from the
11
+ interview), write only `skip: true`.
12
+
13
+ ## When This Phase Activates
14
+
15
+ Not every onboard needs this. Skip it when:
16
+ - The user described a clear tech stack and workflow (nothing to decide)
17
+ - This is a re-run (decisions were already made)
18
+ - The project is already built and this is process-layer-only
19
+
20
+ Run it when the interview revealed **open decisions** — things the user
21
+ hasn't settled yet that will affect what context files contain:
22
+
23
+ - "I'm not sure what database to use"
24
+ - "I don't know if I need a backend"
25
+ - "What would you recommend?" (redirected here from the interview)
26
+ - Greenfield project where the user described *what* but not *how*
27
+
28
+ ## How to Present Options
29
+
30
+ For each open decision, present 2-3 concrete options with trade-offs.
31
+ Use two expert perspectives internally (do not spawn agents — just
32
+ reason from these viewpoints):
33
+
34
+ ### Architecture Perspective
35
+ Evaluates each option for: complexity, maintenance burden, whether it
36
+ matches the user's described skill level and project scope. Flags when
37
+ an option is overkill for a weekend project or too lightweight for
38
+ something ambitious.
39
+
40
+ ### Boundary Conditions Perspective
41
+ Evaluates each option for: what breaks first, what's hard to change
42
+ later, what locks you in. Flags irreversible decisions that deserve
43
+ extra thought.
44
+
45
+ ### Format
46
+
47
+ ```
48
+ ## [Decision: e.g., "How to store data"]
49
+
50
+ Based on what you described — [reference specific things from interview] —
51
+ here are your options:
52
+
53
+ **Option A: [name]**
54
+ - What it is: [1 sentence]
55
+ - Good for: [when this is the right choice]
56
+ - Trade-off: [what you give up]
57
+
58
+ **Option B: [name]**
59
+ - What it is: [1 sentence]
60
+ - Good for: [when this is the right choice]
61
+ - Trade-off: [what you give up]
62
+
63
+ **Option C: [name]** (if applicable)
64
+ - ...
65
+
66
+ What sounds right for your situation?
67
+ ```
68
+
69
+ ### Tone
70
+
71
+ - **Present, don't prescribe.** "Here are your options" not "I recommend X."
72
+ - **Reference the interview.** "You mentioned it's just you and this is a
73
+ side project, so..." — ground options in their specific situation.
74
+ - **Be honest about complexity.** If one option is simpler but limited,
75
+ say so. If another is powerful but requires more setup, say so.
76
+ - **Respect "I don't know."** If the user can't decide, suggest starting
77
+ with the simplest option and note that it can be changed later. Don't
78
+ pressure decisions.
79
+
80
+ ## What This Is NOT
81
+
82
+ - **Not architecture consulting.** You present options the interview
83
+ surfaced, not a comprehensive technology evaluation. If the user wants
84
+ deep architecture advice, that's a working session topic, not onboard.
85
+ - **Not prescriptive.** Never say "you should use X." Always frame as
86
+ options with trade-offs.
87
+ - **Not exhaustive.** 2-3 options per decision. Not every possible
88
+ approach.
89
+
90
+ ## Output
91
+
92
+ The user's choices feed into generate-context. Each decision becomes
93
+ concrete content in `_context.md` (architecture section), CLAUDE.md
94
+ (conventions), and potentially orient phase files (what to check).
95
+
96
+ If the user defers a decision ("I'll figure that out later"), note it
97
+ in `_context.md` as an open question — don't leave the section empty
98
+ without explanation.
@@ -61,7 +61,25 @@ Quick filesystem checks:
61
61
  - `system-status.md` exists and has initial content
62
62
  - Hook scripts in `.claude/hooks/` are executable (if hooks module adopted)
63
63
 
64
- ### 4. First-Session Readiness
64
+ ### 4. Technology-Implied Perspectives
65
+
66
+ Check whether the project's technology signals suggest perspectives that
67
+ aren't activated. Cross-reference the interview answers and detected
68
+ technologies against the perspective catalog:
69
+
70
+ - **UI framework detected** → usability, accessibility, mobile-responsiveness
71
+ - **Database detected** → data-integrity
72
+ - **API server detected** → security, performance
73
+ - **Complex architecture (3+ layers/services)** → architecture
74
+ - **Long-running project** → historian
75
+ - **Many skills (5+)** → skills-coverage
76
+ - **Features shipping regularly** → system-advocate
77
+
78
+ If implied perspectives aren't in `_groups.yaml` (or equivalent), note
79
+ it as a recommendation — not a blocker. The user may have good reasons
80
+ to skip them, or may want to add them later via `/seed`.
81
+
82
+ ### 5. First-Session Readiness
65
83
 
66
84
  Simulate what `/orient` will do on its first run:
67
85
 
@@ -51,7 +51,7 @@ Deferred:
51
51
  ### What to Do Next
52
52
 
53
53
  Concrete next steps, not abstract advice:
54
- - "Run `/orient` to start your first PIB session. It will read the
54
+ - "Run `/orient` to start your first CoR session. It will read the
55
55
  context files we just generated."
56
56
  - "After your first working session, run `/debrief` to close the loop."
57
57
  - "The context files are rough. After 3-5 sessions, run `/onboard` again