create-claude-cabinet 0.29.13 → 0.30.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.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: handoff-progress
3
+ description: |
4
+ Check handoff progress without re-entering the full checklist flow.
5
+ Shows what's completed, what's pending, and any messages from the
6
+ consultant. Use when: "handoff progress", "/handoff-progress",
7
+ "how much is left", "any messages from the consultant".
8
+ ---
9
+
10
+ # /handoff-progress — Check Your Progress
11
+
12
+ ## Purpose
13
+
14
+ Lightweight status check for the client. Shows progress and incoming
15
+ messages without starting the full checklist walk.
16
+
17
+ ## Workflow
18
+
19
+ 1. Locate `handoff.yaml` — check in order: path from args, then
20
+ project root (`./handoff.yaml`). Read `handoff-state.json` from
21
+ the same directory as the checklist (state file is co-located).
22
+ - If no state file: "You haven't started this checklist yet. Run
23
+ `/handoff` to begin."
24
+ - If no checklist: "No handoff.yaml found — has the plugin been
25
+ installed?"
26
+
27
+ 2. Check the connected email MCP for incoming `[Handoff]` emails from
28
+ the consultant. Process and display any new messages (notes, checklist
29
+ updates, questions).
30
+ - If no email MCP connected, skip silently.
31
+
32
+ 3. Show progress table:
33
+
34
+ ```
35
+ ## Maginnis Go-Live (7/12 complete)
36
+
37
+ ### Hosting Setup (3/3)
38
+ [x] hosting_provider: Railway
39
+ [x] railway_token: sent
40
+ [x] railway_project_id: provided
41
+
42
+ ### Email Service (1/2)
43
+ [x] email_provider: Postmark
44
+ [ ] postmark_token: not started
45
+
46
+ ### Domain & DNS (3/7)
47
+ ...
48
+ ```
49
+
50
+ 4. If new items were added by the consultant via `/handoff-add`,
51
+ highlight them: "[Consultant] added N new items since your last
52
+ session."
53
+
54
+ 5. Offer: "Ready to continue? Run `/handoff` to pick up where you
55
+ left off."
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: handoff-status
3
+ description: |
4
+ Consultant's progress dashboard for active handoff engagements. Shows
5
+ what the client has completed, surfaces messages, and retrieves
6
+ encrypted credentials. Use when: "handoff status", "/handoff-status",
7
+ "check on Ed's progress", "decrypt a credential", "any updates from
8
+ the client".
9
+ ---
10
+
11
+ # /handoff-status — Handoff Dashboard
12
+
13
+ ## Purpose
14
+
15
+ Glanceable progress dashboard for the consultant. Shows what the client
16
+ has completed, displays incoming messages, and retrieves encrypted
17
+ credentials on demand.
18
+
19
+ ## Workflow
20
+
21
+ ### 1. Check for Incoming
22
+
23
+ Check the connected email MCP for incoming `[Handoff]` emails from the
24
+ client. Process each by type:
25
+
26
+ - **`session_summary`** — Update local progress view with the client's
27
+ answers (non-credential values).
28
+ - **`credential`** — Queue for decryption (don't auto-decrypt).
29
+ - **`question`** — Display the message prominently.
30
+
31
+ If no email MCP connected, check `handoff-out/` for file-transport
32
+ deliveries. If neither available, show only local state.
33
+
34
+ ### 2. Show Progress
35
+
36
+ For each active handoff (each `handoff.yaml` in the project), show:
37
+
38
+ ```
39
+ ## Maginnis Go-Live (7/12 complete)
40
+
41
+ ### Hosting Setup
42
+ [x] hosting_provider: Railway
43
+ [x] railway_token: sent (env_abc123) — decrypt?
44
+ [ ] railway_project_id: waiting
45
+
46
+ ### Email Service
47
+ [x] email_provider: Postmark
48
+ [ ] postmark_token: not started
49
+
50
+ ### Messages
51
+ - Ed (May 30, 12:30): "Where do I find the GTM container ID?"
52
+ ```
53
+
54
+ ### 3. Credential Retrieval
55
+
56
+ When the consultant asks to decrypt a credential (or says "decrypt" for
57
+ a specific envelope):
58
+
59
+ 1. Locate the envelope: search email for `[Handoff] env_<id>` subject,
60
+ or read from `handoff-out/<id>.enc` for file transport.
61
+ 2. Extract the base64 envelope string.
62
+ 3. Invoke the decrypt CLI — it handles passphrase capture via secure
63
+ OS dialog internally (passphrase never enters conversation):
64
+
65
+ ```bash
66
+ node .claude/handoff/decrypt-credential.mjs \
67
+ --envelope <base64-envelope-string> \
68
+ --private-key keys/consultant.priv.jwk.enc
69
+ ```
70
+
71
+ - **Exit 0:** stdout is the decrypted plaintext. Display once.
72
+ - **Exit 2:** User cancelled the passphrase dialog. Skip.
73
+ - **Exit 5:** Wrong passphrase. Surface "Wrong passphrase — try
74
+ again?" and re-invoke on confirmation.
75
+ - **Exit 3/4:** Dialog unavailable or decrypt error. Surface the
76
+ JSON error from stderr.
77
+
78
+ 4. Advise the consultant to copy the value now — it won't be stored.
79
+
80
+ ## Rules
81
+
82
+ - Decrypted credential values are displayed once and not stored
83
+ - Passphrase capture uses the same secure OS dialog as client-side
84
+ credential capture — it never enters conversation
85
+ - If the consultant asks to re-decrypt, re-prompt for passphrase
86
+ (don't cache it)