@lifeaitools/rdc-skills 0.9.37 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +14 -0
- package/commands/deploy.md +4 -4
- package/commands/design.md +1 -1
- package/commands/overnight.md +2 -2
- package/commands/release.md +29 -139
- package/commands/self-test.md +1 -1
- package/commands/watch.md +1 -1
- package/guides/agent-bootstrap.md +2 -2
- package/guides/history-md-spec.md +297 -0
- package/guides/publish-md-spec.md +289 -0
- package/hooks/check-cwd.js +3 -3
- package/hooks/no-stop-open-epics.js +9 -7
- package/hooks/require-work-item-on-commit.js +2 -1
- package/package.json +11 -3
- package/scaffold/templates/HISTORY.md.template +39 -0
- package/scaffold/templates/PUBLISH.md.template +21 -0
- package/scripts/install-rdc-skills.js +6 -2
- package/scripts/validate-place-histories.js +461 -0
- package/scripts/validate-publish-manifests.js +424 -0
- package/skills/build/SKILL.md +30 -3
- package/skills/co-develop/SKILL.md +1 -1
- package/skills/deploy/SKILL.md +108 -12
- package/skills/design/SKILL.md +6 -6
- package/skills/fixit/SKILL.md +26 -1
- package/skills/fs-mcp/SKILL.md +2 -2
- package/skills/overnight/SKILL.md +3 -1
- package/skills/plan/SKILL.md +2 -2
- package/skills/release/SKILL.md +64 -295
- package/skills/review/SKILL.md +27 -1
- package/skills/self-test/SKILL.md +3 -3
- package/skills/terminal-config/SKILL.md +34 -189
- package/skills/watch/SKILL.md +1 -1
|
@@ -1,217 +1,62 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rdc:terminal-config
|
|
3
|
-
description: "Usage `rdc:terminal-config <task>` — read and safely modify Windows Terminal settings and
|
|
3
|
+
description: "Usage `rdc:terminal-config <task>` — read and safely modify Windows Terminal settings, shell profiles, and agent startup sequencing without relying on machine-specific paths."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
7
7
|
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
8
8
|
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
9
9
|
|
|
10
|
-
# rdc:terminal-config —
|
|
10
|
+
# rdc:terminal-config — Terminal & Agent Startup
|
|
11
11
|
|
|
12
12
|
## When to Use
|
|
13
|
-
- Before modifying any terminal setting, profile, or keybinding
|
|
14
|
-
- When setting up a new profile (Claude, Codex, cell cells)
|
|
15
|
-
- When cell startup is broken (wrong `--append-system-prompt`, wrong cwd, wrong CELL_ROLE)
|
|
16
|
-
- When keybindings conflict or are missing
|
|
17
13
|
|
|
18
|
-
|
|
14
|
+
- Before modifying Windows Terminal settings, shell profiles, keybindings, startup scripts, or agent launch commands.
|
|
15
|
+
- When setting up a Claude, Codex, or project-specific cell profile.
|
|
16
|
+
- When startup is broken because the wrong cwd, shell, env var, or prompt file is being loaded.
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
2. **NEVER remove `"id": null` keybinding entries** — these intentionally UNBIND enter/shift-enter/ctrl-enter so Claude Code's interactive prompt works without the terminal swallowing keystrokes.
|
|
22
|
-
3. **NEVER change `firstWindowPreference`** — it's `persistedWindowLayout`, which restores Dave's exact pane/tab layout on restart.
|
|
23
|
-
4. **NEVER change `defaultProfile`** — it's `{574e775e-...}` (PowerShell Core). Changing it breaks new-tab behavior.
|
|
24
|
-
5. **ALWAYS read the file before editing** — never write from memory.
|
|
25
|
-
6. **ALWAYS validate JSON** before saving — a syntax error silently resets all settings on next Terminal launch (no error shown, settings wiped).
|
|
18
|
+
## Rules
|
|
26
19
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
| **Claude keybindings** | `C:\Users\DaveLadouceur\.claude\keybindings.json` | Claude Code keybindings (separate from Terminal) |
|
|
37
|
-
| **Claude settings** | `C:\Dev\regen-root\.claude\settings.json` | Project-level Claude Code settings, hooks, permissions |
|
|
38
|
-
| **Claude user settings** | `C:\Users\DaveLadouceur\.claude\settings.json` | User-level Claude Code settings |
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Profile Inventory
|
|
43
|
-
|
|
44
|
-
Every profile has a fixed GUID. Do not change them.
|
|
20
|
+
1. Read the current settings file before editing.
|
|
21
|
+
2. Never change existing profile GUIDs unless the user explicitly wants a new profile identity.
|
|
22
|
+
3. Never remove intentionally null keybindings without explaining the consequence.
|
|
23
|
+
4. Validate JSON before saving.
|
|
24
|
+
5. Use environment-derived paths:
|
|
25
|
+
- Terminal settings: `$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json`
|
|
26
|
+
- Claude user settings: `$env:USERPROFILE\.claude\settings.json`
|
|
27
|
+
- Codex user config: `$env:USERPROFILE\.codex\config.toml`
|
|
28
|
+
- Project startup scripts: `{PROJECT_ROOT}\scripts\...`
|
|
45
29
|
|
|
46
|
-
|
|
47
|
-
|------|------|-----------|---------|
|
|
48
|
-
| `{574e775e-4f2a-5b96-ac1e-a2962a402336}` | PowerShell | — | **Default profile** — PowerShell 7 Core |
|
|
49
|
-
| `{e7c1128b-e51f-4eba-bcdb-85f550c31b97}` | SV | `#1A6B3C` (green) | Supervisor cell — full repo access, runs `cell-init.ps1 sv` |
|
|
50
|
-
| `{190a2f39-f6ad-4638-8fef-e4c7aa58c349}` | Claude | `#B91C1C` (red) | Claude conversation cell, runs `cell-init.ps1 sv` |
|
|
51
|
-
| `{2d0248ef-7bb7-4b9e-b381-c4aa1f570f49}` | Codex | `#0F766E` (teal) | Codex AI cell — runs `pwsh.exe -NoLogo -NoExit -Command codex` |
|
|
52
|
-
| `{767642b0-606c-468c-89a0-4573df6fcdaf}` | VS Code | `#2D5986` (blue) | Launches `code-safe C:\Dev\regen-root` |
|
|
53
|
-
| `{6cbd327a-5b5e-4e83-96f6-041615382d36}` | PowerShell (Admin) | `#1E3A5F` (dark blue) | Elevated PowerShell — uses `LIFEAI Slate` color scheme |
|
|
54
|
-
| `{0caa0dad-35be-5f56-a8ff-afceeeaa6101}` | Command Prompt | — | Legacy CMD — visible but rarely used |
|
|
55
|
-
| `{574e775e...}` and others | `hidden: true` | — | Windows PowerShell, Azure Shell, VS DevTools — all hidden |
|
|
56
|
-
|
|
57
|
-
### Profile commandlines
|
|
30
|
+
## Safe Edit Procedure
|
|
58
31
|
|
|
59
32
|
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Keybinding Map
|
|
72
|
-
|
|
73
|
-
### Critical: intentionally unbound keys (never restore these)
|
|
74
|
-
|
|
75
|
-
```json
|
|
76
|
-
{ "id": null, "keys": "shift+enter" }
|
|
77
|
-
{ "id": null, "keys": "ctrl+enter" }
|
|
78
|
-
{ "id": null, "keys": "enter" }
|
|
33
|
+
rdc:terminal-config: <task>
|
|
34
|
+
[ ] Current settings file located from environment
|
|
35
|
+
[ ] File read before edit
|
|
36
|
+
[ ] Existing GUIDs preserved
|
|
37
|
+
[ ] Null keybindings preserved or explicitly approved
|
|
38
|
+
[ ] JSON/TOML syntax validated
|
|
39
|
+
[ ] Startup command uses the intended shell, cwd, and project root
|
|
40
|
+
[ ] Verification command run
|
|
41
|
+
✅ rdc:terminal-config: <result>
|
|
79
42
|
```
|
|
80
43
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
### Pane navigation (safe to change)
|
|
84
|
-
|
|
85
|
-
| Keys | Action |
|
|
86
|
-
|------|--------|
|
|
87
|
-
| `ctrl+alt+v` | Split pane right (duplicate) |
|
|
88
|
-
| `ctrl+alt+h` | Split pane down (duplicate) |
|
|
89
|
-
| `ctrl+alt+left/right/up/down` | Move focus between panes |
|
|
90
|
-
| `ctrl+alt+shift+left/right` | Resize pane |
|
|
91
|
-
| `ctrl+shift+z` | Toggle pane zoom |
|
|
92
|
-
| `ctrl+shift+w` | Close pane |
|
|
93
|
-
| `alt+shift+d` | Split pane auto (duplicate) |
|
|
94
|
-
|
|
95
|
-
### Standard overrides
|
|
96
|
-
|
|
97
|
-
| Keys | Action |
|
|
98
|
-
|------|--------|
|
|
99
|
-
| `ctrl+c` | Copy (singleLine: false) |
|
|
100
|
-
| `ctrl+v` | Paste |
|
|
101
|
-
| `ctrl+shift+f` | Find |
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Color Schemes
|
|
106
|
-
|
|
107
|
-
Four custom schemes live in the `schemes` array. Do not rename them — profiles reference by name.
|
|
108
|
-
|
|
109
|
-
| Name | Background | Used by |
|
|
110
|
-
|------|-----------|---------|
|
|
111
|
-
| `Dimidium` | `#282A36` (dark purple) | Default for all cell profiles |
|
|
112
|
-
| `LIFEAI Claude` | `#1A0F0A` (dark brown) | Available, not currently assigned |
|
|
113
|
-
| `LIFEAI Dark` | `#0D1F17` (dark green) | Available, not currently assigned |
|
|
114
|
-
| `LIFEAI Slate` | `#0F1923` (dark blue) | PowerShell Admin profile |
|
|
115
|
-
| `Dracula` | `#282A36` | Available, not currently assigned |
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Global Settings (safe reference)
|
|
44
|
+
## Windows Terminal Notes
|
|
120
45
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
"firstWindowPreference": "persistedWindowLayout" // restores last layout on open. NEVER CHANGE.
|
|
125
|
-
"defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}" // PowerShell Core. NEVER CHANGE.
|
|
126
|
-
"theme": "dark"
|
|
127
|
-
"showTabsFullscreen": true
|
|
128
|
-
"initialRows": 40
|
|
129
|
-
```
|
|
46
|
+
- Prefer `pwsh.exe` for PowerShell 7 profiles.
|
|
47
|
+
- Keep `startingDirectory` explicit for project profiles.
|
|
48
|
+
- Use a newly generated GUID for each new profile:
|
|
130
49
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
"face": "Consolas"
|
|
134
|
-
"size": 12
|
|
135
|
-
"cellHeight": "1.2"
|
|
136
|
-
"cellWidth": "0.6"
|
|
137
|
-
"weight": "normal"
|
|
50
|
+
```powershell
|
|
51
|
+
"{$([System.Guid]::NewGuid().ToString())}"
|
|
138
52
|
```
|
|
139
53
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
## Cell Startup Sequencing
|
|
143
|
-
|
|
144
|
-
`cell-init.ps1` is the PowerShell 7 startup script for all cell profiles. It:
|
|
145
|
-
|
|
146
|
-
1. Accepts `Role` arg (`sv`, `cell-portal`, `cell-data`, `cell-cs2`, `cell-mktg`, `cell-infra`, `specialist`)
|
|
147
|
-
2. Looks up `Label`, `Color`, `Scope`, `Paths`, `Prompt` from the `$roles` hashtable
|
|
148
|
-
3. Prints a colored banner
|
|
149
|
-
4. Writes a PID lockfile to `.cell-state\<role>.lock`
|
|
150
|
-
5. Runs `git log` filtered to that cell's path scope
|
|
151
|
-
6. Launches: `claude --append-system-prompt "<Prompt>"`
|
|
152
|
-
|
|
153
|
-
### Cell role → prompt scope mapping
|
|
154
|
-
|
|
155
|
-
| Role arg | Claude system prompt |
|
|
156
|
-
|----------|---------------------|
|
|
157
|
-
| `sv` | "You are the SUPERVISOR cell. You have full repo access. Coordinate across all packages and apps." |
|
|
158
|
-
| `cell-portal` | Portal cell — frontend apps only (apps/prt, apps/rdc, packages/ui, models/) |
|
|
159
|
-
| `cell-data` | Data cell — packages/supabase, virtue-engine, pal, hail, daf-intelligence |
|
|
160
|
-
| `cell-cs2` | CS2 cell — packages/cs2, quad-pixel, planetary-ontology, models/ |
|
|
161
|
-
| `cell-mktg` | Marketing cell — rdc-marketing-engine, canvas, sites/, email-templates |
|
|
162
|
-
| `cell-infra` | Infra cell — Coolify, CI/CD, root config, scripts/ |
|
|
163
|
-
| `specialist` | Specialist cell — repo-wide reviews, cleanup, docs, audits |
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Safe Edit Procedure
|
|
168
|
-
|
|
169
|
-
### When adding or modifying a profile
|
|
170
|
-
|
|
171
|
-
1. Read the current file first (never edit from memory)
|
|
172
|
-
2. Generate a new GUID with: `[System.Guid]::NewGuid().ToString('B')` (PowerShell) — wrap in `{}`
|
|
173
|
-
3. Copy the SV profile as a template
|
|
174
|
-
4. Set `commandline`, `startingDirectory`, `environment`, `tabColor`, `icon`, `name`
|
|
175
|
-
5. Do NOT set `guid` to an existing value
|
|
176
|
-
6. Validate JSON: `Get-Content settings.json | ConvertFrom-Json` (errors = syntax problem)
|
|
177
|
-
7. Save and reopen Terminal to verify
|
|
178
|
-
|
|
179
|
-
### When adding a keybinding
|
|
180
|
-
|
|
181
|
-
1. Add to the `keybindings` array
|
|
182
|
-
2. Check for conflicts with the null-bound keys (`enter`, `shift+enter`, `ctrl+enter`) — NEVER override them
|
|
183
|
-
3. Validate JSON before saving
|
|
184
|
-
|
|
185
|
-
### When editing cell startup
|
|
186
|
-
|
|
187
|
-
Edit `C:\Dev\regen-root\scripts\cell-init.ps1` — it's in the repo, so changes are tracked.
|
|
188
|
-
- Adding a new role: add a new entry to the `$roles` hashtable with all five keys (`Label`, `Color`, `Scope`, `Paths`, `Prompt`)
|
|
189
|
-
- Changing scope: update `Paths` and `Prompt` only — don't touch banner/lockfile/git logic
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Validation Commands
|
|
54
|
+
- Validate settings before restarting Terminal:
|
|
194
55
|
|
|
195
56
|
```powershell
|
|
196
|
-
# Validate JSON syntax before saving
|
|
197
57
|
Get-Content "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" | ConvertFrom-Json
|
|
198
|
-
|
|
199
|
-
# Check cell lockfiles
|
|
200
|
-
Get-Content C:\Dev\regen-root\.cell-state\sv.lock
|
|
201
|
-
|
|
202
|
-
# Generate a new GUID for a profile
|
|
203
|
-
"{$([System.Guid]::NewGuid().ToString())}"
|
|
204
58
|
```
|
|
205
59
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
## WezTerm Alternative
|
|
209
|
-
|
|
210
|
-
If Windows Terminal settings keep getting corrupted or misedited, **WezTerm** is the recommended migration:
|
|
211
|
-
- Config is a Lua file (`~/.wezterm.lua` or `C:\Users\<user>\.config\wezterm\wezterm.lua`)
|
|
212
|
-
- Committed to git — every change is a reviewable diff, not an opaque JSON blob
|
|
213
|
-
- Startup layouts (tabs, panes, commands) are defined programmatically
|
|
214
|
-
- Equivalent to current setup: `wezterm.mux.spawn_window()` per cell with `args` set to `pwsh.exe -NoLogo -NoExit -File cell-init.ps1 <role>`
|
|
215
|
-
- Download: https://wezfurlong.org/wezterm/installation.html
|
|
60
|
+
## Startup Scripts
|
|
216
61
|
|
|
217
|
-
|
|
62
|
+
If a project uses role/cell startup scripts, keep those scripts under the project root and commit them with the project. Do not bake one user's absolute machine paths into shared RDC skill files.
|
package/skills/watch/SKILL.md
CHANGED
|
@@ -23,7 +23,7 @@ description: "Usage `rdc:watch` — Open a live browser viewer tailing this sess
|
|
|
23
23
|
```bash
|
|
24
24
|
node ${CLAUDE_PLUGIN_ROOT}/scripts/watch-init.mjs
|
|
25
25
|
```
|
|
26
|
-
(If `CLAUDE_PLUGIN_ROOT` is not set, resolve the plugin path from your invocation context
|
|
26
|
+
(If `CLAUDE_PLUGIN_ROOT` is not set, resolve the plugin path from your invocation context or the installed plugin cache.)
|
|
27
27
|
|
|
28
28
|
2. **Parse the output.** The script prints `run_id`, `log_path`, `current`, `viewer`, and `open_hint`. Capture `log_path` and `viewer` for the rest of the session.
|
|
29
29
|
|