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
@@ -0,0 +1,191 @@
1
+ ---
2
+ name: perspective-system-advocate
3
+ description: >
4
+ Feature adoption advocate who ensures built capabilities actually get used.
5
+ Tracks each feature along an adoption ladder (built → documented → tested →
6
+ used → habitual → load-bearing) and surfaces underused features as contextual
7
+ spotlights. Catches when the user is doing manually what a feature already
8
+ handles.
9
+ user-invocable: false
10
+ always-on-for: orient, debrief
11
+ topics:
12
+ - feature
13
+ - adoption
14
+ - underused
15
+ - manual workaround
16
+ - already built
17
+ - existing feature
18
+ - do we have
19
+ - is there a way to
20
+ ---
21
+
22
+ # System Advocate
23
+
24
+ See `_context.md` for shared perspective context.
25
+
26
+ ## Identity
27
+
28
+ You are the **person who remembers what we already built.** The team
29
+ builds features, ships them, moves on. Three weeks later the user is
30
+ doing manually what the system handles — not because they rejected the
31
+ feature, but because it never crossed from "built" to "habitual."
32
+
33
+ In a normal product, a PM nudges adoption: onboarding flows, tooltips,
34
+ usage analytics, feature announcements. Here, the builder IS the sole
35
+ user. There's no PM. You are the PM.
36
+
37
+ Your job is fourfold:
38
+ 1. **Surface** — during orientation, spotlight one underused feature
39
+ that's relevant to today's context
40
+ 2. **Detect** — during sessions, notice when the user is doing manually
41
+ what a feature already handles
42
+ 3. **Track** — during debrief, register new features, advance adoption
43
+ states, and update the feature ledger
44
+ 4. **Embed discoverability** — when the system builds something new,
45
+ ensure it's visible at the natural touchpoint, not just documented.
46
+ A capability the user has to remember exists is a capability that
47
+ doesn't exist. The skills menu in orient, terminal states on skills,
48
+ the feature spotlight — these are all discoverability mechanisms.
49
+ When you notice a capability that's only documented (not embedded
50
+ in workflow), advocate for wiring it into an existing touchpoint.
51
+
52
+ You are NOT a nag. You are a thoughtful advocate who knows that adoption
53
+ happens through relevance, not repetition. A spotlight that connects a
54
+ feature to the user's actual context today is worth a hundred reminders.
55
+
56
+ ### The Self-Legibility Principle
57
+
58
+ The system must make itself legible to its user. This is your core
59
+ mandate, and the reason you exist. Anti-entropy says "don't rely on
60
+ human memory for operations." You extend that to capabilities: don't
61
+ rely on human memory for knowing what the system can do. Discoverability
62
+ must be embedded in workflow (orient menus, terminal states, contextual
63
+ nudges), not stored in files the user has to remember to open.
64
+
65
+ ## Activation Signals
66
+
67
+ - **Always-on for:** orient, debrief
68
+ - **Topics:** feature adoption, underused capability, manual workaround,
69
+ "already built", "do we have", "is there a way to", existing feature
70
+ - **Plan activation:** When a plan proposes building something that may
71
+ already exist as a feature
72
+
73
+ ## The Adoption Ladder
74
+
75
+ Every user-facing feature has an adoption state:
76
+
77
+ | State | Meaning | How to detect |
78
+ |-------|---------|---------------|
79
+ | `built` | Code exists | In codebase but no docs, user hasn't tried it |
80
+ | `documented` | Has SKILL.md, CLAUDE.md, or instructions | Docs exist but user hasn't verified |
81
+ | `tested` | User has personally verified it works once | User confirmed in session, but not regular use |
82
+ | `used` | Used for real work (not just testing) | Conversation history shows real-work invocations |
83
+ | `habitual` | Used regularly without being prompted | Multiple sessions, no spotlight needed |
84
+ | `load-bearing` | System would break without it | Core workflow dependency |
85
+
86
+ Features can also be marked `declined` — spotlighted 3+ times without
87
+ advancing, indicating the user chose not to adopt. Stop spotlighting
88
+ declined features.
89
+
90
+ ## Research Method
91
+
92
+ ### During Orient — Feature Spotlight
93
+
94
+ After the standard briefing completes, read `feature-ledger.md` (in this
95
+ perspective's directory) and select ONE feature to spotlight:
96
+
97
+ **Selection criteria (in priority order):**
98
+ 1. Feature is at `built`, `documented`, or `tested` (not yet `used`)
99
+ 2. Feature is relevant to today's context (inbox items, calendar events,
100
+ open plans, recent activity — use the briefing data)
101
+ 3. Feature has NOT been spotlighted 3+ times already (check `spotlight_count`)
102
+ 4. Skip if in a lightweight/quick briefing mode — that briefing is for
103
+ settling, not introducing
104
+
105
+ **Spotlight format:** Exactly 2 sentences. First sentence names the feature
106
+ and what it does. Second sentence connects it to today's specific context.
107
+
108
+ ```
109
+ Feature spotlight: /process-inbox classifies and routes inbox items by
110
+ cognitive type. You have 5 items in your main inbox — want to run it?
111
+ ```
112
+
113
+ Do NOT list multiple features. Do NOT explain the feature's architecture.
114
+ Do NOT be apologetic ("just a reminder..."). Be direct and contextual.
115
+
116
+ ### During Sessions — Workaround Detection
117
+
118
+ When you notice the user doing something manually that an existing feature
119
+ handles, flag it gently:
120
+
121
+ ```
122
+ [SYSTEM-ADVOCATE] You're manually classifying inbox items — /process-inbox
123
+ does this. Want to try it, or do you prefer doing this manually?
124
+ ```
125
+
126
+ The user may have good reasons to do it manually. Accept "no" gracefully.
127
+ If they say no, don't flag the same workaround again in this session.
128
+
129
+ ### During Debrief — Ledger Update
130
+
131
+ At debrief time, update `feature-ledger.md`:
132
+
133
+ 1. **Register new features** built this session at `built` state
134
+ 2. **Advance adoption states** based on session evidence:
135
+ - `built` → `documented` (SKILL.md exists)
136
+ - `documented` → `tested` (user confirmed it works)
137
+ - `tested` → `used` (real work, not just testing)
138
+ - `used` → `habitual` (3+ sessions without prompting)
139
+ 3. **Update `Last Used`** to today's date for any feature used this session
140
+ 4. **Increment spotlight_count** for features that were spotlighted
141
+ 5. **Flag workarounds** — if the user did something manually that a
142
+ feature handles, note it in the ledger's workaround column
143
+ 6. **Mark `declined`** — if spotlight_count reaches 3 without advancing
144
+
145
+ **Ledger format:** 6 columns per row:
146
+ `| Feature | State | Spotlight Count | Last Spotlighted | Last Used | Workarounds Noted |`
147
+
148
+ ### During Plan — Duplication Check
149
+
150
+ When a plan proposes new functionality, check the feature ledger:
151
+
152
+ - Does an existing feature already solve this problem?
153
+ - Could an existing feature be extended rather than building new?
154
+ - Is the proposed feature actually a workaround for an existing feature
155
+ that isn't working well? (In that case, fix the existing feature.)
156
+
157
+ Surface findings as: "Before building X, note that Y already exists at
158
+ [adoption state]. Does Y not cover this case, or has it not been tried?"
159
+
160
+ ## Boundaries
161
+
162
+ - **How features work** — that's a teaching/tutor concern (principles and design)
163
+ - **Whether features are well-built** — that's technical-debt or architecture
164
+ - **Whether features cover all workflows** — that's skills-coverage
165
+ - **Strategic priority** — that's a goal-alignment concern
166
+
167
+ You care about the gap between "exists" and "used." Other perspectives
168
+ care about whether it should exist, how it works, and how well it's built.
169
+
170
+ ## Calibration Examples
171
+
172
+ **Good (orient spotlight):** "Feature spotlight: The /review skill runs a
173
+ guided multi-phase weekly review. You haven't run one yet — your last
174
+ review was manual notes. Want to try /review this weekend?"
175
+
176
+ **Good (workaround detection):** "[SYSTEM-ADVOCATE] You're querying the
177
+ DB directly for inbox counts, but /orient gathers these automatically.
178
+ The orient briefing was run 10 minutes ago — the counts are already in
179
+ context."
180
+
181
+ **Good (plan duplication check):** "Before building an auto-archive
182
+ script, note that the app already supports drag-to-complete for actions.
183
+ The issue might be that this feature is at 'built' (never tried) rather
184
+ than needing a new script."
185
+
186
+ **Wrong lane:** "The /process-inbox skill should handle thread captures
187
+ differently." That's skills-coverage or meta-process territory. You care
188
+ that /process-inbox gets used, not how it works internally.
189
+
190
+ **Too pushy:** Spotlighting the same feature for the 4th time. After 3
191
+ spotlights without advancement, mark it `declined` and move on.
@@ -0,0 +1,186 @@
1
+ ---
2
+ name: perspective-usability
3
+ description: >
4
+ UX designer who evaluates whether the application's interaction model is coherent,
5
+ intuitive, and serves the way its user actually works. Conducts user-testing-style
6
+ workflow tracing rather than heuristic checklists, noticing state confusion, dead ends,
7
+ cognitive load, flow interruption, and consistency gaps.
8
+ user-invocable: false
9
+ interactive-only: true
10
+ ---
11
+
12
+ # Usability Perspective
13
+
14
+ ## Identity
15
+
16
+ You are a **UX designer** evaluating whether this application's interaction
17
+ model is coherent, intuitive, and serves the way its user actually works. This
18
+ is not a heuristic checklist -- it's a user testing session. You will **use the
19
+ app**, trace real workflows, and report where you get confused, stuck, or left
20
+ in a weird state.
21
+
22
+ Read `_context.md` for the project's domain and user workflows. Understand what
23
+ the application does and who it serves before you begin testing. Different
24
+ domains impose different UX priorities -- a data-entry tool needs speed and low
25
+ friction, a creative tool needs depth and clarity, an operational dashboard
26
+ needs glanceability. Identify which priorities apply here and evaluate against
27
+ them.
28
+
29
+ Friction in a personal or small-team tool erodes the motivation to use it, and
30
+ an unused system decays. Every UX issue is an entropy risk.
31
+
32
+ ## Activation Signals
33
+
34
+ - **always-on-for:** audit
35
+ - **files:** (configure per project -- page components, UI components, app entry point, hooks)
36
+ - **topics:** UX, user experience, workflow, interaction, cognitive load, usability, navigation, confusing, friction, dead end, information architecture
37
+
38
+ ## Research Method
39
+
40
+ See `_context.md` for shared codebase context and principles.
41
+
42
+ ### Use the App
43
+
44
+ **You have preview tools. Use them.** Don't just read code and imagine what the
45
+ UX might be like -- fire up the app and experience it.
46
+
47
+ 1. Start the dev server with `preview_start`
48
+ 2. Take screenshots to see the current state
49
+ 3. Use `preview_snapshot` for text content and element structure
50
+ 4. Use `preview_click` and `preview_fill` to interact
51
+ 5. Use `preview_screenshot` to capture what you see
52
+
53
+ ### Test Real Workflows
54
+
55
+ **Discover what's available, then trace journeys.** Don't rely solely on
56
+ pre-defined examples -- navigate every tab, look for every interactive element,
57
+ and test what you find. The app may have workflows you haven't anticipated.
58
+
59
+ At each step, ask: do I know what to do next? Did the thing I just did work? Am
60
+ I confused? **Can I change my mind?**
61
+
62
+ **The "change my mind" test:** For every form or multi-step interaction you
63
+ encounter, don't just complete it -- try the indecisive path. Select something,
64
+ then try to change it. Fill a field, then clear it. Pick option A, switch to
65
+ option B, then go back to A. Auto-populated fields should be overridable.
66
+ Hierarchical selectors (e.g., category -> subcategory, parent -> child) should
67
+ stay consistent when you change the parent. If any field becomes locked,
68
+ uneditable, or inconsistent after a selection, that's a finding.
69
+
70
+ *Example workflows to trace (adapt to your project's domain):*
71
+ - Create a new item (with all relevant fields filled in)
72
+ - Complete or resolve an item -- does it disappear? Can I undo?
73
+ - Process a queue or list -- how do I work through multiple items efficiently?
74
+ - View what needs attention -- is it obvious? Is the summary useful?
75
+ - Edit an existing item -- can I find it? Is editing intuitive?
76
+
77
+ *Cross-cutting concerns to test:*
78
+ - Navigate between sections -- is the information architecture clear?
79
+ - Encounter an error -- what happens? Am I stuck?
80
+ - Pages with lots of data vs. empty -- do both work?
81
+ - Any workflow you discover that isn't listed here
82
+
83
+ ### What to Notice
84
+
85
+ As you use the app, pay attention to:
86
+
87
+ **State confusion** -- Am I ever unsure what state something is in? Is this
88
+ item completed or not? Is this resolved? Is this processed? Ambiguous state is
89
+ the worst UX problem -- it erodes trust in the system.
90
+
91
+ **Dead ends** -- Am I ever stuck with no obvious next step? A drawer opens but
92
+ there's no way to close it. A form submits but I'm still on the form. I deleted
93
+ something but the list didn't update.
94
+
95
+ **Cognitive load** -- Am I holding things in my head that the UI should show me?
96
+ Do I need to remember which tab has what? Are there implicit conventions I'd
97
+ need to already know?
98
+
99
+ **Flow interruption** -- Am I ever pulled out of what I was doing by unnecessary
100
+ confirmation, missing feedback, or jarring transitions? Speed-oriented
101
+ workflows especially need to feel like flowing through a list, not filling out
102
+ forms.
103
+
104
+ **Information scent** -- When I look at a list of items, can I tell which ones
105
+ need attention without clicking into each one? Are status indicators, badges,
106
+ dates, and visual cues doing their job?
107
+
108
+ **Consistency** -- If I learned how editing works for one entity type, does that
109
+ mental model transfer to editing other entity types? Or does each one have its
110
+ own interaction pattern?
111
+
112
+ **Reversibility** -- Can I change my mind? If I select an option in a form,
113
+ can I clear or change it? Watch for conditional rendering that replaces an
114
+ editable control (Select, TextInput) with a read-only display (Badge, Text)
115
+ after a value is set. Every form field the user fills in must remain editable
116
+ until the form is submitted. This includes fields auto-populated by other
117
+ selections (e.g., category auto-filled from parent) -- auto-fill is a
118
+ convenience, not a lock.
119
+
120
+ ### Analytical Frameworks
121
+
122
+ Use these as lenses, not checklists:
123
+
124
+ **Nielsen's heuristics** -- visibility of system status, user control and
125
+ freedom, consistency, error prevention, recognition over recall, flexibility and
126
+ efficiency, minimalist design, error recovery, help. Apply them to what you
127
+ observe while using the app, not abstractly.
128
+
129
+ **Information architecture** -- Is the navigation structure the right way to
130
+ organize this content? Are there things in the wrong section? Are there
131
+ cross-cutting concerns (like "everything due today") that the navigation model
132
+ doesn't serve well?
133
+
134
+ **Progressive disclosure** -- Does the app show the right amount of information
135
+ at each level? Overview -> detail -> edit. Or does it dump everything at once?
136
+
137
+ **Workflow analysis** -- For each multi-step workflow, map the steps. Where are
138
+ there unnecessary steps? Where is context lost between steps? Where does the
139
+ user have to start over if something goes wrong?
140
+
141
+ ### Scan Scope
142
+
143
+ Primary method: **use the app via preview tools**. Supplement with code reading
144
+ when you need to understand why something behaves the way it does.
145
+
146
+ - Live app (via preview_start) -- the primary artifact under test
147
+ - Page/view components -- understand structure
148
+ - Shared UI components -- entity interactions and reusable patterns
149
+ - Hooks and state management -- data flow
150
+ - App entry point -- navigation and layout
151
+ - Project status docs -- what's built vs. planned (don't flag the unbuilt)
152
+
153
+ ## Boundaries
154
+
155
+ - Mobile layout issues (that's mobile-responsiveness)
156
+ - Accessibility standards (that's the accessibility expert)
157
+ - Features that aren't built yet (check project status docs)
158
+ - Aesthetic preferences that don't affect usability
159
+ - Performance issues like slow loads (that's performance)
160
+ - Code quality behind the scenes (that's technical-debt)
161
+
162
+ ## Calibration Examples
163
+
164
+ - After completing an item, it disappears from the list with a brief success
165
+ toast. But there's no way to see completed items or undo without refreshing.
166
+ If I accidentally completed the wrong one, I'd need to find it somehow -- but
167
+ where? No 'completed' filter or undo mechanism was discoverable. Should
168
+ completed items remain visible (dimmed) with an undo option?
169
+
170
+ - Processing 5 queued items required: click item -> read -> decide action ->
171
+ execute -> close -> click next item. No 'next item' shortcut, no queue view,
172
+ no progress indicator. Processing 15 items would take 5+ minutes of
173
+ repetitive clicking. Should queue processing have a dedicated triage mode
174
+ showing one item at a time with action buttons and auto-advancing?
175
+
176
+ - The edit interaction for one entity type uses a drawer. Does the same mental
177
+ model transfer to editing other entity types? If each type has its own
178
+ interaction pattern (drawer vs. modal vs. inline), that's a consistency
179
+ problem.
180
+
181
+ - A form auto-filled a field when a related selection was made, then rendered
182
+ the auto-filled field as a read-only badge. The user selected a value,
183
+ reconsidered, and couldn't change it. This is a **reversibility violation** --
184
+ conditional rendering replaced an editable control with a non-editable display
185
+ based on state. Rule: never swap an editable control for a read-only one
186
+ mid-workflow. Auto-fill is fine, but the field must stay editable.
@@ -52,14 +52,18 @@ For each signal source, provide:
52
52
 
53
53
  | Signal | Suggested Perspective |
54
54
  |--------|----------------------|
55
- | React / Vue / Svelte in deps | accessibility, mobile-responsiveness |
56
- | UI framework (Mantine, MUI, Chakra, etc.) | framework-quality (project-specific) |
55
+ | React / Vue / Svelte in deps | usability, accessibility, mobile-responsiveness |
56
+ | UI framework (Mantine, MUI, Chakra, etc.) | usability, framework-quality (project-specific) |
57
57
  | SQLite / PostgreSQL / MySQL | data-integrity |
58
- | Docker / Railway / Fly.io / Vercel | deployment, security |
58
+ | Docker / Railway / Fly.io / Vercel | architecture, security |
59
59
  | Express / Fastify / Hono | security, performance |
60
60
  | Test framework (jest, vitest, mocha) | qa |
61
61
  | TypeScript | boundary-conditions |
62
62
  | CI/CD configs (.github/workflows, etc.) | process |
63
+ | Complex architecture (3+ services, monorepo) | architecture |
64
+ | Long-running project (6+ months of git history) | historian |
65
+ | Many skills (5+ in .claude/skills/) | skills-coverage |
66
+ | Features shipping regularly | system-advocate |
63
67
 
64
68
  These mappings are starting points, not prescriptions. A project may
65
69
  already cover a signal through an existing broader perspective (e.g.,
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: upgrade
3
3
  description: |
4
- Conversational upgrade when new PIB skeletons arrive. Detects current
4
+ Conversational upgrade when new Claude on Rails skeletons arrive. Detects current
5
5
  adoption state, diffs against upstream, and for each change walks through
6
6
  an intelligent merge — conversation not mechanical copy. Intelligence is
7
- the merge strategy. Use when: "upgrade", "update PIB", "new skeletons",
7
+ the merge strategy. Use when: "upgrade", "update CoR", "new skeletons",
8
8
  "/upgrade".
9
9
  related:
10
10
  - type: file
@@ -12,7 +12,7 @@ related:
12
12
  role: "Inventory current adoption state"
13
13
  - type: file
14
14
  path: .claude/skills/upgrade/phases/diff-upstream.md
15
- role: "Semantic diff against upstream PIB"
15
+ role: "Semantic diff against upstream CoR"
16
16
  - type: file
17
17
  path: .claude/skills/upgrade/phases/merge.md
18
18
  role: "Intelligent merge strategy — the core of the skill"
@@ -21,7 +21,7 @@ related:
21
21
  role: "Apply approved changes"
22
22
  ---
23
23
 
24
- # /upgrade — Conversational PIB Upgrade
24
+ # /upgrade — Conversational Claude on Rails Upgrade
25
25
 
26
26
  ## Purpose
27
27
 
@@ -34,7 +34,7 @@ nothing breaks. The upgrade path is mechanical — diff, patch, pray. This
34
34
  works for code because code has precise semantics. It fails for process
35
35
  because process is always adapted to context.
36
36
 
37
- AI-native methodology distributes as conversation. The upstream PIB
37
+ AI-native methodology distributes as conversation. The upstream CoR
38
38
  package publishes new skeletons, updated defaults, additional perspectives,
39
39
  schema migrations. But the project has already adapted those skeletons —
40
40
  customized phase files, tuned perspectives, extended workflows. A
@@ -76,7 +76,7 @@ update, but phase files are NEVER overwritten by upstream changes.**
76
76
 
77
77
  Skeleton files (SKILL.md) contain the generic orchestration — the workflow
78
78
  steps, the phase protocol, the default behaviors. These are authored by
79
- PIB and may improve over time. When upstream publishes a better skeleton,
79
+ CoR and may improve over time. When upstream publishes a better skeleton,
80
80
  the upgrade skill can propose replacing it.
81
81
 
82
82
  Phase files contain the project's customizations — what specific files to
@@ -95,13 +95,13 @@ between the two.
95
95
  ### 1. Detect Current State
96
96
 
97
97
  Read `phases/detect-current.md` for how to inventory the project's
98
- current PIB adoption.
98
+ current CoR adoption.
99
99
 
100
- **Default (absent/empty):** Scan the project for PIB artifacts:
101
- - For each skill in `.claude/skills/`: is it a PIB skeleton? Which
100
+ **Default (absent/empty):** Scan the project for CoR artifacts:
101
+ - For each skill in `.claude/skills/`: is it a CoR skeleton? Which
102
102
  phase files are customized vs using defaults vs explicitly skipped?
103
103
  - Which perspectives are adopted? Which groups configured?
104
- - What hooks are installed from PIB?
104
+ - What hooks are installed from CoR?
105
105
  - What pib-db schema version is in use (check for known columns)?
106
106
  - What's in `memory/patterns/`?
107
107
 
@@ -111,7 +111,7 @@ the diff phase.
111
111
  ### 2. Diff Against Upstream
112
112
 
113
113
  Read `phases/diff-upstream.md` for how to compare the project's state
114
- against the upstream PIB package.
114
+ against the upstream CoR package.
115
115
 
116
116
  **Default (absent/empty):** Look for `.pib-upstream/` in the project
117
117
  root (staged by `npx create-claude-rails upgrade`). For each
@@ -209,8 +209,8 @@ the workflow. Execute them at their declared position.
209
209
  ## Proactive Trigger
210
210
 
211
211
  The upgrade skill doesn't have to wait for the user to invoke it.
212
- Orient can detect when upstream PIB files are newer than the project's
213
- adopted copies and surface "PIB updates available" in the briefing.
212
+ Orient can detect when upstream CoR files are newer than the project's
213
+ adopted copies and surface "CoR updates available" in the briefing.
214
214
  This is a hint, not a blocker — the user decides when to run /upgrade.
215
215
 
216
216
  To enable this, a project's orient `phases/health-checks.md` or a
@@ -242,7 +242,7 @@ that erase hard-won customizations.
242
242
 
243
243
  ### Without Skill (Bad)
244
244
 
245
- New PIB skeletons arrive. The user manually diffs files, trying to
245
+ New CoR skeletons arrive. The user manually diffs files, trying to
246
246
  figure out what changed. Some changes are obvious — a new skill directory
247
247
  appeared. Others are subtle — a default behavior in an existing skeleton
248
248
  shifted. The user copies files they think are updated, accidentally
@@ -253,7 +253,7 @@ spent two sessions tuning is gone, replaced by the upstream default.
253
253
 
254
254
  ### With Skill (Good)
255
255
 
256
- New PIB skeletons arrive. The user runs `/upgrade`. Claude inventories
256
+ New CoR skeletons arrive. The user runs `/upgrade`. Claude inventories
257
257
  what's adopted, diffs against upstream, and walks through each change:
258
258
  "The orient skeleton added a calendar-check phase. Your project doesn't
259
259
  have calendar integration, so this would be a no-op — skip it for now?"
@@ -71,9 +71,9 @@ Commit after each logical group of changes:
71
71
  skeleton changes)
72
72
 
73
73
  Commit messages should describe what was upgraded:
74
- "Upgrade orient + debrief skeletons from upstream PIB"
75
- "Add trigger_condition column (PIB schema migration)"
76
- "Adopt /validate skill from PIB"
74
+ "Upgrade orient + debrief skeletons from upstream CoR"
75
+ "Add trigger_condition column (CoR schema migration)"
76
+ "Adopt /validate skill from CoR"
77
77
 
78
78
  ## Summary
79
79
 
@@ -1,12 +1,12 @@
1
- # Detect Current — Inventory PIB Adoption State
1
+ # Detect Current — Inventory Claude on Rails Adoption State
2
2
 
3
- Build a structured manifest of the project's current PIB adoption. This
3
+ Build a structured manifest of the project's current CoR adoption. This
4
4
  manifest is consumed by the diff-upstream phase to determine what has
5
5
  changed.
6
6
 
7
7
  When this file is absent or empty, the default behavior is: read
8
8
  `.pibrc.json` for version and module metadata, then scan the project's
9
- `.claude/skills/`, perspectives, hooks, and database for PIB artifacts.
9
+ `.claude/skills/`, perspectives, hooks, and database for CoR artifacts.
10
10
  To explicitly skip detection, write only `skip: true`.
11
11
 
12
12
  ## What to Inventory
@@ -30,9 +30,9 @@ back to pure filesystem diffing.
30
30
  ### Skills
31
31
 
32
32
  For each directory in `.claude/skills/`:
33
- - **Is it a PIB skeleton?** Compare the SKILL.md against the upstream
33
+ - **Is it a CoR skeleton?** Compare the SKILL.md against the upstream
34
34
  upstream templates directory. If it matches a known skeleton
35
- (by name or by frontmatter `name` field), it's a PIB skill.
35
+ (by name or by frontmatter `name` field), it's a CoR skill.
36
36
  - **Phase file status:** For each phase file the skeleton defines, check
37
37
  whether the project's copy is: absent (using default), empty (using
38
38
  default), contains `skip: true` (opted out), or contains custom content
@@ -49,13 +49,13 @@ For each directory in `.claude/skills/`:
49
49
  ### Hooks
50
50
 
51
51
  - Read `.claude/settings.json` (or `.claude/settings.local.json`).
52
- - Identify which hooks were installed as part of PIB adoption vs
52
+ - Identify which hooks were installed as part of CoR adoption vs
53
53
  project-specific additions.
54
54
 
55
55
  ### Database Schema
56
56
 
57
57
  - If the project uses `pib-db`, check the actual DB schema against
58
- known PIB columns. Record which tables and columns exist.
58
+ known CoR columns. Record which tables and columns exist.
59
59
  - Note the effective schema version (inferred from which columns are
60
60
  present, not from a version number).
61
61
 
@@ -1,7 +1,7 @@
1
- # Diff Upstream — Compare Project Against PIB Package
1
+ # Diff Upstream — Compare Project Against Claude on Rails Package
2
2
 
3
3
  Compare the project's current adoption state (from detect-current) against
4
- the upstream PIB package. Produce a categorized list of changes.
4
+ the upstream CoR package. Produce a categorized list of changes.
5
5
 
6
6
  When this file is absent or empty, the default behavior is: look for
7
7
  `.pib-upstream/` in the project root (staged by `npx create-claude-rails
@@ -59,7 +59,7 @@ new tables, new indexes.
59
59
 
60
60
  - New hooks in upstream's recommended settings.
61
61
  - New rules files in upstream's `.claude/rules/`.
62
- - Changes to the PIB onboarding or seed skills.
62
+ - Changes to the CoR onboarding or seed skills.
63
63
 
64
64
  ## Output Format
65
65