create-egregore 0.19.3 → 0.19.6

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 (154) hide show
  1. package/assets/egregore-launcher.js +410 -26
  2. package/bin/cli.js +34 -20
  3. package/lib/local.js +84 -11
  4. package/lib/pi-runtime.js +186 -0
  5. package/lib/setup.js +56 -11
  6. package/lib/ui.js +1 -1
  7. package/package.json +8 -6
  8. package/runtime/codex/.codex/hooks/search-hint.js +65 -0
  9. package/runtime/codex/.codex/hooks.json +13 -0
  10. package/runtime/codex/.codex/skills/deep-reflect/SKILL.md +14 -10
  11. package/runtime/codex/.codex/skills/minion/SKILL.md +25 -0
  12. package/runtime/codex/.codex/skills/scroll/SKILL.md +168 -0
  13. package/runtime/codex/.codex/skills/scroll/agents/openai.yaml +4 -0
  14. package/runtime/codex/.codex/skills/scroll/assets/shell.html +542 -0
  15. package/runtime/codex/.codex/skills/search/SKILL.md +56 -0
  16. package/runtime/codex/.codex/skills/session-view/SKILL.md +25 -0
  17. package/runtime/codex/.codex/skills/thread/SKILL.md +25 -0
  18. package/runtime/codex/.codex/skills/view/SKILL.md +147 -32
  19. package/runtime/codex/.codex/skills/view/agents/openai.yaml +4 -0
  20. package/runtime/codex/.codex/skills/view/assets/compose-scaffold.html +221 -0
  21. package/runtime/codex/.codex/spec-manifest.json +4 -4
  22. package/runtime/codex/AGENTS.md +31 -5
  23. package/runtime/codex/bin/activity-data.sh +46 -4
  24. package/runtime/codex/bin/agent.sh +10 -2
  25. package/runtime/codex/bin/codex-install-skills.sh +1 -1
  26. package/runtime/codex/bin/codex-render-spec.mjs +24 -2
  27. package/runtime/codex/bin/codex-session-start.sh +6 -60
  28. package/runtime/codex/bin/codex-skill-render.mjs +20 -12
  29. package/runtime/codex/bin/codex-sync-skills.sh +4 -0
  30. package/runtime/codex/bin/graph-op.sh +56 -5
  31. package/runtime/codex/bin/graph.sh +36 -0
  32. package/runtime/codex/bin/handoff-run.sh +157 -7
  33. package/runtime/codex/bin/handoff-save-egregore.sh +6 -1
  34. package/runtime/codex/bin/index-handoff.sh +9 -3
  35. package/runtime/codex/bin/lib/context.sh +97 -18
  36. package/runtime/codex/bin/lib/dashboard-artifact.sh +1 -1
  37. package/runtime/codex/bin/lib/git-sync.sh +35 -9
  38. package/runtime/codex/bin/lib/greeting.sh +30 -104
  39. package/runtime/codex/bin/lib/metrics.sh +374 -0
  40. package/runtime/codex/bin/publish-artifact.sh +43 -1
  41. package/runtime/codex/bin/settings.sh +274 -0
  42. package/runtime/codex/manifest.json +18 -1
  43. package/runtime/pi/.codex/config.toml +15 -0
  44. package/runtime/pi/.codex/hooks/branch-guard.js +242 -0
  45. package/runtime/pi/.codex/hooks/search-hint.js +65 -0
  46. package/runtime/pi/.codex/hooks.json +30 -0
  47. package/runtime/pi/.codex/skills/activity/SKILL.md +70 -0
  48. package/runtime/pi/.codex/skills/add/SKILL.md +25 -0
  49. package/runtime/pi/.codex/skills/announce/SKILL.md +54 -0
  50. package/runtime/pi/.codex/skills/answer/SKILL.md +25 -0
  51. package/runtime/pi/.codex/skills/archive/SKILL.md +41 -0
  52. package/runtime/pi/.codex/skills/ask/SKILL.md +59 -0
  53. package/runtime/pi/.codex/skills/branch/SKILL.md +25 -0
  54. package/runtime/pi/.codex/skills/checkup/SKILL.md +41 -0
  55. package/runtime/pi/.codex/skills/commit/SKILL.md +25 -0
  56. package/runtime/pi/.codex/skills/contribute/SKILL.md +25 -0
  57. package/runtime/pi/.codex/skills/dark-mode/SKILL.md +25 -0
  58. package/runtime/pi/.codex/skills/dashboard/SKILL.md +59 -0
  59. package/runtime/pi/.codex/skills/deep-reflect/SKILL.md +74 -0
  60. package/runtime/pi/.codex/skills/delete-user/SKILL.md +25 -0
  61. package/runtime/pi/.codex/skills/egregore-voice/SKILL.md +25 -0
  62. package/runtime/pi/.codex/skills/emissary/SKILL.md +41 -0
  63. package/runtime/pi/.codex/skills/env/SKILL.md +25 -0
  64. package/runtime/pi/.codex/skills/handoff/SKILL.md +67 -0
  65. package/runtime/pi/.codex/skills/harvest/SKILL.md +107 -0
  66. package/runtime/pi/.codex/skills/ingest/SKILL.md +25 -0
  67. package/runtime/pi/.codex/skills/ingest-google/SKILL.md +25 -0
  68. package/runtime/pi/.codex/skills/ingest-user-interview/SKILL.md +41 -0
  69. package/runtime/pi/.codex/skills/invite/SKILL.md +40 -0
  70. package/runtime/pi/.codex/skills/issue/SKILL.md +41 -0
  71. package/runtime/pi/.codex/skills/me/SKILL.md +25 -0
  72. package/runtime/pi/.codex/skills/meeting/SKILL.md +41 -0
  73. package/runtime/pi/.codex/skills/minion/SKILL.md +25 -0
  74. package/runtime/pi/.codex/skills/note/SKILL.md +25 -0
  75. package/runtime/pi/.codex/skills/onboarding/SKILL.md +41 -0
  76. package/runtime/pi/.codex/skills/pr/SKILL.md +25 -0
  77. package/runtime/pi/.codex/skills/project/SKILL.md +41 -0
  78. package/runtime/pi/.codex/skills/pull/SKILL.md +25 -0
  79. package/runtime/pi/.codex/skills/push/SKILL.md +25 -0
  80. package/runtime/pi/.codex/skills/quest/SKILL.md +77 -0
  81. package/runtime/pi/.codex/skills/quest-suggest/SKILL.md +25 -0
  82. package/runtime/pi/.codex/skills/reflect/SKILL.md +41 -0
  83. package/runtime/pi/.codex/skills/review-pr/SKILL.md +41 -0
  84. package/runtime/pi/.codex/skills/save/SKILL.md +62 -0
  85. package/runtime/pi/.codex/skills/scroll/SKILL.md +168 -0
  86. package/runtime/pi/.codex/skills/scroll/agents/openai.yaml +4 -0
  87. package/runtime/pi/.codex/skills/scroll/assets/shell.html +542 -0
  88. package/runtime/pi/.codex/skills/search/SKILL.md +56 -0
  89. package/runtime/pi/.codex/skills/session-view/SKILL.md +25 -0
  90. package/runtime/pi/.codex/skills/setup/SKILL.md +25 -0
  91. package/runtime/pi/.codex/skills/summon/SKILL.md +41 -0
  92. package/runtime/pi/.codex/skills/sync-repos/SKILL.md +25 -0
  93. package/runtime/pi/.codex/skills/telegram-connect/SKILL.md +25 -0
  94. package/runtime/pi/.codex/skills/telemetry/SKILL.md +25 -0
  95. package/runtime/pi/.codex/skills/test/SKILL.md +41 -0
  96. package/runtime/pi/.codex/skills/the-spiral/SKILL.md +84 -0
  97. package/runtime/pi/.codex/skills/thread/SKILL.md +25 -0
  98. package/runtime/pi/.codex/skills/todo/SKILL.md +41 -0
  99. package/runtime/pi/.codex/skills/tui-design/SKILL.md +41 -0
  100. package/runtime/pi/.codex/skills/tutorial/SKILL.md +41 -0
  101. package/runtime/pi/.codex/skills/update/SKILL.md +25 -0
  102. package/runtime/pi/.codex/skills/view/SKILL.md +156 -0
  103. package/runtime/pi/.codex/skills/view/agents/openai.yaml +4 -0
  104. package/runtime/pi/.codex/skills/view/assets/compose-scaffold.html +221 -0
  105. package/runtime/pi/.codex/skills/visual-explain/SKILL.md +41 -0
  106. package/runtime/pi/.codex/skills/wrap/SKILL.md +55 -0
  107. package/runtime/pi/.codex/spec-manifest.json +114 -0
  108. package/runtime/pi/.pi/APPEND_SYSTEM.md +255 -0
  109. package/runtime/pi/.pi/extensions/egregore.ts +324 -0
  110. package/runtime/pi/.pi/settings.json +6 -0
  111. package/runtime/pi/.pi/spec-manifest.json +12 -0
  112. package/runtime/pi/AGENTS.md +350 -0
  113. package/runtime/pi/bin/activity-data.sh +242 -0
  114. package/runtime/pi/bin/agent.sh +677 -0
  115. package/runtime/pi/bin/codex-install-skills.sh +78 -0
  116. package/runtime/pi/bin/codex-render-spec.mjs +394 -0
  117. package/runtime/pi/bin/codex-session-start.sh +188 -0
  118. package/runtime/pi/bin/codex-skill-render.mjs +323 -0
  119. package/runtime/pi/bin/codex-sync-skills.sh +227 -0
  120. package/runtime/pi/bin/dashboard-data.sh +178 -0
  121. package/runtime/pi/bin/graph-batch.sh +60 -0
  122. package/runtime/pi/bin/graph-op.sh +431 -0
  123. package/runtime/pi/bin/graph-wal.sh +228 -0
  124. package/runtime/pi/bin/graph.sh +177 -0
  125. package/runtime/pi/bin/handoff-pr-backfill.sh +86 -0
  126. package/runtime/pi/bin/handoff-run.sh +581 -0
  127. package/runtime/pi/bin/handoff-save-egregore.sh +136 -0
  128. package/runtime/pi/bin/index-handoff.sh +312 -0
  129. package/runtime/pi/bin/lib/artifact-id.sh +46 -0
  130. package/runtime/pi/bin/lib/config.sh +71 -0
  131. package/runtime/pi/bin/lib/context.sh +542 -0
  132. package/runtime/pi/bin/lib/dashboard-artifact.sh +142 -0
  133. package/runtime/pi/bin/lib/ensure-develop.sh +183 -0
  134. package/runtime/pi/bin/lib/git-sync.sh +288 -0
  135. package/runtime/pi/bin/lib/greeting.sh +340 -0
  136. package/runtime/pi/bin/lib/hash.sh +13 -0
  137. package/runtime/pi/bin/lib/identity.sh +174 -0
  138. package/runtime/pi/bin/lib/metrics.sh +374 -0
  139. package/runtime/pi/bin/lib/permissions.sh +106 -0
  140. package/runtime/pi/bin/lib/time.sh +56 -0
  141. package/runtime/pi/bin/lib/worktree-links.sh +54 -0
  142. package/runtime/pi/bin/notify.sh +207 -0
  143. package/runtime/pi/bin/pi-branch-policy.mjs +15 -0
  144. package/runtime/pi/bin/pi-product-workflows.mjs +324 -0
  145. package/runtime/pi/bin/pi-render-spec.mjs +114 -0
  146. package/runtime/pi/bin/pi-session-start.sh +24 -0
  147. package/runtime/pi/bin/publish-artifact.sh +201 -0
  148. package/runtime/pi/bin/publish-references.sh +144 -0
  149. package/runtime/pi/bin/repo-state.sh +99 -0
  150. package/runtime/pi/bin/telemetry.sh +391 -0
  151. package/runtime/pi/bin/worktree-create.sh +118 -0
  152. package/runtime/pi/bin/worktree-remove.sh +50 -0
  153. package/runtime/pi/bin/worktree.sh +198 -0
  154. package/runtime/pi/manifest.json +176 -0
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: project
3
+ description: 'Fallback Codex adapter for the Egregore project workflow.'
4
+ ---
5
+
6
+ <!-- generated-by: bin/codex-sync-skills.sh -->
7
+
8
+ # Egregore project Adapter
9
+
10
+ This is fallback coverage for a long-tail Egregore workflow that has not been
11
+ ported to a hand-written Codex-native skill yet.
12
+
13
+ Use the project shell and filesystem directly. Do not invoke Claude Code
14
+ commands. Translate interactive choices to structured Codex question tooling
15
+ when it is available; otherwise render compact numbered choices with an
16
+ `Other:` option and wait for the user.
17
+
18
+ ## Structured UX parity
19
+
20
+ This workflow has a Claude skill with user-visible structured output. After
21
+ reading `.claude/skills/project/SKILL.md`, reproduce the same visible UX in Codex:
22
+
23
+ - Preserve TUI boxes, markdown tables, rich cards, browser artifact rendering,
24
+ exact confirmation blocks, and "no preamble" rules from the source skill.
25
+ - Use the source skill's frame width, section order, labels, status footer,
26
+ and examples as the contract for the final response.
27
+ - Never replace a required box/table/card/artifact view with a prose summary
28
+ unless the user explicitly asks for a summary.
29
+ - When the source says to output a TUI box directly, paste that box as the
30
+ visible response, preferably in a `text` fenced block.
31
+ - Never show raw JSON, raw command output, or unformatted script output when
32
+ the source skill requires formatted status or rendered output.
33
+
34
+ 1. Read `.claude/skills/project/SKILL.md` for the workflow details.
35
+ 2. Run the referenced `bin/` scripts directly from Codex.
36
+ 3. Treat graph, publish, and notify steps as best-effort unless that workflow
37
+ explicitly says they are required.
38
+ 4. Keep local-mode behavior filesystem-first and avoid graph or notification
39
+ calls when `egregore.json` declares `"mode": "local"`.
40
+ 5. Never call the deprecated `egregore-handoff` CLI for Egregore project
41
+ handoffs.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: pull
3
+ description: 'Fallback Codex adapter for the Egregore pull workflow.'
4
+ ---
5
+
6
+ <!-- generated-by: bin/codex-sync-skills.sh -->
7
+
8
+ # Egregore pull Adapter
9
+
10
+ This is fallback coverage for a long-tail Egregore workflow that has not been
11
+ ported to a hand-written Codex-native skill yet.
12
+
13
+ Use the project shell and filesystem directly. Do not invoke Claude Code
14
+ commands. Translate interactive choices to structured Codex question tooling
15
+ when it is available; otherwise render compact numbered choices with an
16
+ `Other:` option and wait for the user.
17
+
18
+ 1. Read `.claude/skills/pull/SKILL.md` for the workflow details.
19
+ 2. Run the referenced `bin/` scripts directly from Codex.
20
+ 3. Treat graph, publish, and notify steps as best-effort unless that workflow
21
+ explicitly says they are required.
22
+ 4. Keep local-mode behavior filesystem-first and avoid graph or notification
23
+ calls when `egregore.json` declares `"mode": "local"`.
24
+ 5. Never call the deprecated `egregore-handoff` CLI for Egregore project
25
+ handoffs.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: push
3
+ description: 'Fallback Codex adapter for the Egregore push workflow.'
4
+ ---
5
+
6
+ <!-- generated-by: bin/codex-sync-skills.sh -->
7
+
8
+ # Egregore push Adapter
9
+
10
+ This is fallback coverage for a long-tail Egregore workflow that has not been
11
+ ported to a hand-written Codex-native skill yet.
12
+
13
+ Use the project shell and filesystem directly. Do not invoke Claude Code
14
+ commands. Translate interactive choices to structured Codex question tooling
15
+ when it is available; otherwise render compact numbered choices with an
16
+ `Other:` option and wait for the user.
17
+
18
+ 1. Read `.claude/skills/push/SKILL.md` for the workflow details.
19
+ 2. Run the referenced `bin/` scripts directly from Codex.
20
+ 3. Treat graph, publish, and notify steps as best-effort unless that workflow
21
+ explicitly says they are required.
22
+ 4. Keep local-mode behavior filesystem-first and avoid graph or notification
23
+ calls when `egregore.json` declares `"mode": "local"`.
24
+ 5. Never call the deprecated `egregore-handoff` CLI for Egregore project
25
+ handoffs.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: quest
3
+ description: Manage Egregore quests from Codex when the user invokes /quest or $quest, or asks to manage quests, using memory-first files and optional connected-mode graph updates.
4
+ ---
5
+
6
+ # Egregore Quest
7
+
8
+ Native Codex Egregore skill. Quests are shared, open-ended explorations stored
9
+ under `memory/quests/`.
10
+
11
+ ## Flow
12
+
13
+ 1. Run `bin/agent.sh sync`.
14
+ 2. Detect mode from `egregore.json` `mode`, defaulting to `connected`.
15
+ 3. Dispatch from the user request:
16
+ - no argument: list active and paused quests from `memory/quests/*.md`.
17
+ - name or slug: show quest details from the markdown file.
18
+ - `new`: create a quest.
19
+ - `contribute`: append a contribution entry.
20
+ - `prioritize`: set `priority` to `0`, `1`, `2`, or `3`.
21
+ - `pause`: set `status: paused`.
22
+ - `complete`: set `status: completed` and record an outcome.
23
+ 4. Filesystem writes are canonical. Quest files use frontmatter:
24
+
25
+ ```yaml
26
+ ---
27
+ title: Example Quest
28
+ slug: example-quest
29
+ status: active
30
+ projects: []
31
+ started: YYYY-MM-DD
32
+ started_by: handle
33
+ priority: 0
34
+ completed:
35
+ ---
36
+ ```
37
+
38
+ 5. Update `memory/quests/index.md` after create, status changes, and priority
39
+ changes.
40
+ 6. Commit and push memory immediately:
41
+
42
+ ```bash
43
+ git -C memory add quests
44
+ git -C memory commit -m "quest: $SLUG $ACTION" --quiet
45
+ git -C memory push origin main --quiet
46
+ ```
47
+
48
+ 7. In connected mode only, mirror changes best-effort with `bin/graph.sh` and
49
+ notify named people with `bin/notify.sh send`. If graph or notification
50
+ fails, report that the quest was saved to memory and continue.
51
+
52
+ ## Interaction
53
+
54
+ Use structured Codex question tooling when available for new quest fields and
55
+ status confirmations. Otherwise ask one short numbered question at a time with
56
+ an `Other:` option.
57
+
58
+ ## Output
59
+
60
+ Structured UX parity is required:
61
+
62
+ - `/quest` list mode renders the active quest table:
63
+ `| Quest | Project | Artifacts | Contributors |`, followed by paused quest
64
+ state and entry-point hints.
65
+ - `/quest <name>` detail mode renders the same sectioned view as Egregore:
66
+ title rule, status, projects, started metadata, question, threads,
67
+ artifacts, todos when available, contributors, and entry points.
68
+ - Create/update routes use compact structured confirmations with the quest
69
+ file path and memory push state. Do not substitute a loose prose summary.
70
+ - In local mode, omit graph/notification wording while preserving the same
71
+ list/detail layout.
72
+
73
+ ## Rules
74
+
75
+ - Do not use graph or notification calls in local mode.
76
+ - Do not let graph failure block a filesystem quest update.
77
+ - Do not use Claude Code commands.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: quest-suggest
3
+ description: 'Fallback Codex adapter for the Egregore quest-suggest workflow.'
4
+ ---
5
+
6
+ <!-- generated-by: bin/codex-sync-skills.sh -->
7
+
8
+ # Egregore quest-suggest Adapter
9
+
10
+ This is fallback coverage for a long-tail Egregore workflow that has not been
11
+ ported to a hand-written Codex-native skill yet.
12
+
13
+ Use the project shell and filesystem directly. Do not invoke Claude Code
14
+ commands. Translate interactive choices to structured Codex question tooling
15
+ when it is available; otherwise render compact numbered choices with an
16
+ `Other:` option and wait for the user.
17
+
18
+ 1. Read `.claude/skills/quest-suggest/SKILL.md` for the workflow details.
19
+ 2. Run the referenced `bin/` scripts directly from Codex.
20
+ 3. Treat graph, publish, and notify steps as best-effort unless that workflow
21
+ explicitly says they are required.
22
+ 4. Keep local-mode behavior filesystem-first and avoid graph or notification
23
+ calls when `egregore.json` declares `"mode": "local"`.
24
+ 5. Never call the deprecated `egregore-handoff` CLI for Egregore project
25
+ handoffs.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: reflect
3
+ description: 'Fallback Codex adapter for the Egregore reflect workflow.'
4
+ ---
5
+
6
+ <!-- generated-by: bin/codex-sync-skills.sh -->
7
+
8
+ # Egregore reflect Adapter
9
+
10
+ This is fallback coverage for a long-tail Egregore workflow that has not been
11
+ ported to a hand-written Codex-native skill yet.
12
+
13
+ Use the project shell and filesystem directly. Do not invoke Claude Code
14
+ commands. Translate interactive choices to structured Codex question tooling
15
+ when it is available; otherwise render compact numbered choices with an
16
+ `Other:` option and wait for the user.
17
+
18
+ ## Structured UX parity
19
+
20
+ This workflow has a Claude skill with user-visible structured output. After
21
+ reading `.claude/skills/reflect/SKILL.md`, reproduce the same visible UX in Codex:
22
+
23
+ - Preserve TUI boxes, markdown tables, rich cards, browser artifact rendering,
24
+ exact confirmation blocks, and "no preamble" rules from the source skill.
25
+ - Use the source skill's frame width, section order, labels, status footer,
26
+ and examples as the contract for the final response.
27
+ - Never replace a required box/table/card/artifact view with a prose summary
28
+ unless the user explicitly asks for a summary.
29
+ - When the source says to output a TUI box directly, paste that box as the
30
+ visible response, preferably in a `text` fenced block.
31
+ - Never show raw JSON, raw command output, or unformatted script output when
32
+ the source skill requires formatted status or rendered output.
33
+
34
+ 1. Read `.claude/skills/reflect/SKILL.md` for the workflow details.
35
+ 2. Run the referenced `bin/` scripts directly from Codex.
36
+ 3. Treat graph, publish, and notify steps as best-effort unless that workflow
37
+ explicitly says they are required.
38
+ 4. Keep local-mode behavior filesystem-first and avoid graph or notification
39
+ calls when `egregore.json` declares `"mode": "local"`.
40
+ 5. Never call the deprecated `egregore-handoff` CLI for Egregore project
41
+ handoffs.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: review-pr
3
+ description: 'Fallback Codex adapter for the Egregore review-pr workflow.'
4
+ ---
5
+
6
+ <!-- generated-by: bin/codex-sync-skills.sh -->
7
+
8
+ # Egregore review-pr Adapter
9
+
10
+ This is fallback coverage for a long-tail Egregore workflow that has not been
11
+ ported to a hand-written Codex-native skill yet.
12
+
13
+ Use the project shell and filesystem directly. Do not invoke Claude Code
14
+ commands. Translate interactive choices to structured Codex question tooling
15
+ when it is available; otherwise render compact numbered choices with an
16
+ `Other:` option and wait for the user.
17
+
18
+ ## Structured UX parity
19
+
20
+ This workflow has a Claude skill with user-visible structured output. After
21
+ reading `.claude/skills/review-pr/SKILL.md`, reproduce the same visible UX in Codex:
22
+
23
+ - Preserve TUI boxes, markdown tables, rich cards, browser artifact rendering,
24
+ exact confirmation blocks, and "no preamble" rules from the source skill.
25
+ - Use the source skill's frame width, section order, labels, status footer,
26
+ and examples as the contract for the final response.
27
+ - Never replace a required box/table/card/artifact view with a prose summary
28
+ unless the user explicitly asks for a summary.
29
+ - When the source says to output a TUI box directly, paste that box as the
30
+ visible response, preferably in a `text` fenced block.
31
+ - Never show raw JSON, raw command output, or unformatted script output when
32
+ the source skill requires formatted status or rendered output.
33
+
34
+ 1. Read `.claude/skills/review-pr/SKILL.md` for the workflow details.
35
+ 2. Run the referenced `bin/` scripts directly from Codex.
36
+ 3. Treat graph, publish, and notify steps as best-effort unless that workflow
37
+ explicitly says they are required.
38
+ 4. Keep local-mode behavior filesystem-first and avoid graph or notification
39
+ calls when `egregore.json` declares `"mode": "local"`.
40
+ 5. Never call the deprecated `egregore-handoff` CLI for Egregore project
41
+ handoffs.
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: save
3
+ description: Save Egregore work when the user invokes /save or $save, or asks to commit, push, sync, or save current changes from a Codex Egregore session.
4
+ ---
5
+
6
+ # Egregore Save
7
+
8
+ Native Codex Egregore skill. This is the user-facing abstraction for the git
9
+ and memory workflow: users should be able to say "save this" without knowing
10
+ which branch, commit, push, pull request, or memory sync steps are required.
11
+
12
+ ## Flow
13
+
14
+ 1. Confirm this is an Egregore checkout by checking for `bin/agent.sh`.
15
+ 2. Inspect state silently:
16
+
17
+ ```bash
18
+ git status --short
19
+ git status --short memory 2>/dev/null || true
20
+ git branch --show-current
21
+ ```
22
+
23
+ 3. If there are no repo or memory changes, say everything is already saved and
24
+ stop.
25
+ 4. Synthesize:
26
+ - a short topic from the work,
27
+ - a clear commit message,
28
+ - a one-line user-facing scope summary.
29
+ 5. If the scope is ambiguous or includes unrelated changes, ask for one compact
30
+ confirmation. Use structured Codex question tooling when available;
31
+ otherwise render:
32
+
33
+ ```text
34
+ Save these changes?
35
+ 1. Save all
36
+ 2. Narrow scope
37
+ Other:
38
+ ```
39
+
40
+ 6. Run the bridge command:
41
+
42
+ ```bash
43
+ bin/agent.sh save --message "$MESSAGE" --topic "$TOPIC"
44
+ ```
45
+
46
+ The bridge owns the mechanical workflow: sync memory, ensure a task branch,
47
+ commit repo changes, push, and create or reuse a pull request when available.
48
+
49
+ 7. Parse the output and report only useful user information:
50
+ - branch name,
51
+ - whether a commit was created,
52
+ - whether push succeeded,
53
+ - pull request URL if present,
54
+ - memory sync status.
55
+
56
+ ## Rules
57
+
58
+ - Do not ask the user to run git commands.
59
+ - Do not expose implementation detail unless save fails.
60
+ - If save fails, say which step failed and leave the branch/path clear.
61
+ - Never run destructive git commands.
62
+ - Do not use Claude Code commands.
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: scroll
3
+ description: 'Compose and tend an Egregore living paper with an explanatory face, embedded decision harvest, stable published URL, and versioned paste-back update loop. Use when the user invokes /scroll or $scroll, asks for a living paper or a spec with questions inside, presents a proposal/architecture/product/feature with open forks, or pastes a versioned scroll decisions return block.'
4
+ ---
5
+
6
+ # Egregore Scroll
7
+
8
+ Native Codex Egregore skill. Use only inside an Egregore checkout.
9
+
10
+ A scroll is one self-contained Meridian HTML artifact with two linked views:
11
+ the readable paper and the open decisions living inside it. Every return block
12
+ updates the same artifact at the same stable id.
13
+
14
+ Use `$view` for a static document with no pending decisions, `$harvest` for
15
+ elicitation without a published explaining face, and a concise question for one
16
+ small fork. A scroll requires all three legs: face, harvest, and update loop.
17
+
18
+ ## Structured UX parity
19
+
20
+ The browser artifact is the primary output. Preserve both tabs, deep links from
21
+ honest costs into decisions, the versioned copydock fence, stable URL, and local
22
+ source path. Do not substitute a prose-only summary or expose raw publish output.
23
+
24
+ ## Route the invocation
25
+
26
+ - A normal request creates version 1.
27
+ - A pasted block matching `#<slug>-decisions:v<N>` runs the update loop.
28
+ - If a pasted version is stale, absorb still-applicable answers and state which
29
+ forks moved after that version.
30
+
31
+ Run inline with shell and filesystem tools. Do not invoke Claude Code commands
32
+ or Loom delegation.
33
+
34
+ ## Build a new scroll
35
+
36
+ 1. Read the source design, relevant memory, code, and quest context in full.
37
+ 2. Derive a stable kebab-case slug of at most 50 characters. Create:
38
+ - surface id `ds-<date>-<slug>`;
39
+ - harvest id `harvest-<date>-<slug>`;
40
+ - a short unique `<prefix>.harvest` browser storage key.
41
+ 3. Copy `.codex/skills/scroll/assets/shell.html` into `tmp/<slug>/index.html`.
42
+ Keep this build source in the worktree so future turns can tend it.
43
+ 4. Inject the canonical design-system CSS at build time from
44
+ `packages/egregore-artifacts/lib/vendor/design-system/dist/egregore-design.css`
45
+ into `/*__MERIDIAN_CSS__*/`. If the packages tree is unavailable, extract the
46
+ same path from `egregore-artifacts@latest` rather than freezing tokens.
47
+ 5. Fill every placeholder and replace the `__FACE__` and `__HARVEST__` slot
48
+ comments using the grammar documented in the shell.
49
+
50
+ ### Write the face
51
+
52
+ Create a light paper, not a transcript dump:
53
+
54
+ - A paper header with kicker, title, italic subtitle, grounds, date, and
55
+ `Version vN — updates in place at this URL`.
56
+ - The setting: current reality, load-bearing verified numbers, the gap, and a
57
+ thesis reframe.
58
+ - Two to four genuinely different mental models that stress-test the design.
59
+ - The machine: concrete anatomy and protocol, using layers, steps, and
60
+ tokenized SVG figures. Mark illustrative charts `shapes, not measurements`.
61
+ - Consequences for product or practice.
62
+ - Honest costs as cards. Every cost must call `goFork('<fork-id>')` and link to
63
+ the harvest decision that prices it.
64
+
65
+ ### Write the harvest
66
+
67
+ Create two to four bands of decision cards. Each card needs:
68
+
69
+ - a stable fork id, grounded framing, and a reference back into the face;
70
+ - two to four real options, each with one credible advantage and disadvantage;
71
+ - at most one starred lean, presented as a position to challenge;
72
+ - a why textarea whose note returns with the pick.
73
+
74
+ Add open prompts for material that is not a fork. Prefer questions grounded in
75
+ the work over meta-prompts asking what to ask next. The copydock must emit:
76
+
77
+ ```text
78
+ #<slug>-decisions:v<N>
79
+ surface: <surface-id>
80
+ harvest: <harvest-id>
81
+ date: <date>
82
+
83
+ Q1 <fork-id>: <key> ("<label>") | UNDECIDED
84
+ note: <why, verbatim>
85
+ O1 <prompt-id>: <text | UNDECIDED>
86
+ ```
87
+
88
+ ## Theme and asset constraints
89
+
90
+ Choose the default theme pair from the primary reader's recorded preference
91
+ when available: `sovereign`/`bedrock`, `meridian`/`nocturne`, or
92
+ `agronomic`/`soil`. Record a newly stated preference in that person's memory
93
+ profile.
94
+
95
+ Keep theme state on `<html data-theme>` and restore it before paint. In authored
96
+ body content and SVGs, every theme-sensitive fill, stroke, background, border,
97
+ and text color must use `var(--token)`. Do not emit inline hex colors. Preserve
98
+ the shell's persisted palette picker and print/mobile behavior.
99
+
100
+ Before publishing:
101
+
102
+ 1. Confirm no `__[A-Z_]*__` placeholders remain.
103
+ 2. Check tag balance and that every `goFork()` id has one matching
104
+ `data-decision` card.
105
+ 3. Grep authored content for raw hex and resolved inline palette values.
106
+ 4. Capture both `file://...` and `file://...#harvest` views and inspect them.
107
+ 5. Confirm headings use the intended display face rather than a system serif.
108
+
109
+ ## Publish and record
110
+
111
+ Publish connected configurations to the permanent slug:
112
+
113
+ ```bash
114
+ bash bin/publish-artifact.sh document tmp/<slug>/index.html --raw-html \
115
+ --id <slug> --title "<title>" --author "<author>" \
116
+ --description "<description>"
117
+ ```
118
+
119
+ Verify the returned URL, open it, and report it. Every later version must reuse
120
+ the same `--id`; never mint a new URL for an update. In local mode, publishing
121
+ is unavailable: open the file locally and report the source path without
122
+ suggesting configuration changes.
123
+
124
+ Add the URL or local path, source location, version, and fence tag to the
125
+ relevant quest's log/artifacts tables. If no quest is relevant, keep the source
126
+ path as the durable record and state it.
127
+
128
+ ## Update loop
129
+
130
+ On a returned fence:
131
+
132
+ 1. **Absorb.** Parse Q/O lines and notes. Write durable decisions with their
133
+ reasoning to `memory/knowledge/decisions/`, update the underlying spec or
134
+ plan, and add connected HarvestTurn records when available. `UNDECIDED` is a
135
+ valid answer.
136
+ 2. **Rewrite the face.** Weave settled answers and reasoning into fresh prose,
137
+ mark them `decided v<N> · <date>`, and update linked cost cards to accepted,
138
+ mitigated, or remaining residuals.
139
+ 3. **Regenerate the harvest.** Retire answered cards. Carry an undecided fork
140
+ once at most; after two undecided returns, reframe it or demote it to an open
141
+ prompt. If its note actually resolves it, absorb the note as the decision.
142
+ Mint new forks from newly unlocked consequences, respondent requests, and
143
+ new ground truth.
144
+ 4. **Show, then ask.** When abstract forks run dry or the respondent asks for
145
+ something concrete, place the draft under discussion directly in the
146
+ harvest view with in-place reaction prompts.
147
+ 5. **Version.** Bump every version marker, update the copydock, and append a
148
+ one-line changelog with absorbed and newly opened forks.
149
+ 6. **Republish.** Publish to the same stable id, update the quest record, open
150
+ the refreshed URL, and state what changed and what the new version asks.
151
+
152
+ Multiple returns against one version are separate turns. Merge compatible
153
+ answers; turn conflicting choices into a new explicit fork instead of silently
154
+ resolving them.
155
+
156
+ ## Voice and telemetry
157
+
158
+ Write the face as external-grade Egregore prose: declarative, precise, grounded
159
+ in real numbers, and honest about costs. Put metaphor in visuals rather than
160
+ labels; prefer established terms over coinages.
161
+
162
+ After completion, emit telemetry best-effort:
163
+
164
+ ```bash
165
+ bash bin/telemetry.sh emit "command" '{"command":"scroll"}' 2>/dev/null &
166
+ ```
167
+
168
+ Never call the deprecated `egregore-handoff` CLI.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Egregore Scroll"
3
+ short_description: "Compose and tend a living design paper"
4
+ default_prompt: "Use $scroll to turn this design into a living paper with an embedded decision harvest."