create-egregore 0.19.27 → 0.19.29
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/assets/egregore-launcher.js +5 -28
- package/assets/egregore-launcher.sh +5 -10
- package/package.json +1 -1
- package/runtime/codex/.codex/skills/emissary/SKILL.md +45 -0
- package/runtime/codex/.codex/skills/summon/SKILL.md +45 -0
- package/runtime/codex/.codex/skills/telegram-connect/SKILL.md +29 -0
- package/runtime/codex/bin/lib/greeting.sh +2 -10
- package/runtime/codex/manifest.json +7 -1
- package/runtime/pi/.codex/skills/emissary/SKILL.md +45 -0
- package/runtime/pi/.codex/skills/summon/SKILL.md +45 -0
- package/runtime/pi/.codex/skills/telegram-connect/SKILL.md +29 -0
- package/runtime/pi/bin/lib/greeting.sh +2 -10
- package/runtime/pi/manifest.json +7 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// egregore-launcher-version: 0.19.
|
|
2
|
+
// egregore-launcher-version: 0.19.29
|
|
3
3
|
//
|
|
4
4
|
// egregore — launch and browse Egregore instances from your terminal.
|
|
5
5
|
// Installed by create-egregore. Reads ~/.egregore/instances.json.
|
|
@@ -33,7 +33,7 @@ const crypto = require("node:crypto");
|
|
|
33
33
|
const { spawnSync, spawn } = require("node:child_process");
|
|
34
34
|
const readline = require("node:readline");
|
|
35
35
|
|
|
36
|
-
const VERSION = "0.19.
|
|
36
|
+
const VERSION = "0.19.29";
|
|
37
37
|
const REGISTRY = path.join(os.homedir(), ".egregore", "instances.json");
|
|
38
38
|
const DEFAULT_FILE = path.join(os.homedir(), ".egregore", "default");
|
|
39
39
|
const UPDATE_CACHE_FILE = path.join(os.homedir(), ".egregore", "update-check.json");
|
|
@@ -670,27 +670,6 @@ async function renderCodexStartupCard(egregoreDir) {
|
|
|
670
670
|
return false;
|
|
671
671
|
}
|
|
672
672
|
|
|
673
|
-
function renderClaudeGreetingCard(egregoreDir) {
|
|
674
|
-
// Claude Code counterpart of renderCodexStartupCard: prints the card the
|
|
675
|
-
// previous boot cached (bin/greeting-card.sh) instead of re-rendering —
|
|
676
|
-
// must stay instant. Never fatal: a miss (first boot, stale cache, old
|
|
677
|
-
// core) just means the session renders the full greeting itself.
|
|
678
|
-
const script = path.join(egregoreDir, "bin", "greeting-card.sh");
|
|
679
|
-
if (!fs.existsSync(script)) return false;
|
|
680
|
-
try {
|
|
681
|
-
const result = spawnSync("bash", [script], {
|
|
682
|
-
cwd: egregoreDir,
|
|
683
|
-
encoding: "utf8",
|
|
684
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
685
|
-
});
|
|
686
|
-
if (result.status === 0 && result.stdout) {
|
|
687
|
-
process.stdout.write(result.stdout);
|
|
688
|
-
return true;
|
|
689
|
-
}
|
|
690
|
-
} catch {}
|
|
691
|
-
return false;
|
|
692
|
-
}
|
|
693
|
-
|
|
694
673
|
function codexSupportMessage(egregoreDir) {
|
|
695
674
|
return [
|
|
696
675
|
"Codex harness support is missing from this Egregore checkout.",
|
|
@@ -823,10 +802,9 @@ async function launch(inst, runtimeOverride) {
|
|
|
823
802
|
} else if (runtime === "pi") {
|
|
824
803
|
if (!hasPiCoreSupport(inst.path)) die(piSupportMessage(inst.path));
|
|
825
804
|
}
|
|
826
|
-
//
|
|
827
|
-
//
|
|
828
|
-
|
|
829
|
-
runtime === "claude-code" && renderClaudeGreetingCard(inst.path);
|
|
805
|
+
// Claude Code renders the greeting in-chat — no pre-launch card. Claude Code
|
|
806
|
+
// ≥2.1.89 boots into the alternate screen buffer, which hides anything
|
|
807
|
+
// printed here; the launcher-card fast path is parked in PR #1493.
|
|
830
808
|
// Replace the current process with the selected assistant in the instance dir.
|
|
831
809
|
// spawn + detached + exit-on-exit replicates exec() in Node.
|
|
832
810
|
const launchEnv = {
|
|
@@ -834,7 +812,6 @@ async function launch(inst, runtimeOverride) {
|
|
|
834
812
|
EGREGORE_RUNTIME: runtime,
|
|
835
813
|
EGREGORE_CODEX_TRUSTED: runtime === "codex" ? "1" : process.env.EGREGORE_CODEX_TRUSTED,
|
|
836
814
|
};
|
|
837
|
-
if (claudeCardShown) launchEnv.EGREGORE_CARD_SHOWN = "1";
|
|
838
815
|
const child = spawn(binary, runtimeLaunchArgs(runtime, inst.path), {
|
|
839
816
|
cwd: inst.path,
|
|
840
817
|
stdio: "inherit",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# egregore-launcher-version: 0.4.
|
|
2
|
+
# egregore-launcher-version: 0.4.12
|
|
3
3
|
# egregore — launch an Egregore instance in Claude Code.
|
|
4
4
|
# Reads ~/.egregore/instances.json for the registry of installed egregores.
|
|
5
5
|
#
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
set -u
|
|
24
24
|
|
|
25
|
-
VERSION="0.4.
|
|
25
|
+
VERSION="0.4.12"
|
|
26
26
|
REGISTRY="${HOME}/.egregore/instances.json"
|
|
27
27
|
DEFAULT_FILE="${HOME}/.egregore/default"
|
|
28
28
|
|
|
@@ -97,14 +97,9 @@ launch() {
|
|
|
97
97
|
if [ -d "$target_path/memory" ]; then
|
|
98
98
|
claude_args+=("--add-dir" "$target_path/memory")
|
|
99
99
|
fi
|
|
100
|
-
#
|
|
101
|
-
#
|
|
102
|
-
#
|
|
103
|
-
# session then renders the full greeting itself, exactly as before.
|
|
104
|
-
if [ -f "$target_path/bin/greeting-card.sh" ] \
|
|
105
|
-
&& bash "$target_path/bin/greeting-card.sh" 2>/dev/null; then
|
|
106
|
-
export EGREGORE_CARD_SHOWN=1
|
|
107
|
-
fi
|
|
100
|
+
# The greeting renders in-chat — no pre-launch card. Claude Code ≥2.1.89
|
|
101
|
+
# boots into the alternate screen buffer, which hides anything printed
|
|
102
|
+
# here; the launcher-card fast path is parked in PR #1493.
|
|
108
103
|
exec claude "${claude_args[@]}"
|
|
109
104
|
}
|
|
110
105
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: emissary
|
|
3
|
+
description: 'Compose, send, or run an Egregore emissary — portable handoff v1 artifacts with server-rendered HTML at egregore.xyz. Use for `/emissary`, "make/send/run an emissary", or when a user pastes an `egregore.xyz/emissary/e/<id>` link.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- generated-by: bin/codex-sync-skills.sh -->
|
|
7
|
+
|
|
8
|
+
# Egregore emissary 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/emissary/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/emissary/SKILL.md` for the workflow details.
|
|
35
|
+
2. Run the referenced `bin/` scripts directly from Codex.
|
|
36
|
+
3. Treat graph and publish steps as best-effort unless that workflow explicitly
|
|
37
|
+
says they are required.
|
|
38
|
+
4. For every external notification, follow
|
|
39
|
+
`.claude/context/notification-consent.md`: plan without sending, then show
|
|
40
|
+
a separate exact Send / Edit / Cancel checkpoint. Never infer notification
|
|
41
|
+
consent from the workflow request or a batch approval.
|
|
42
|
+
5. Keep local-mode behavior filesystem-first and avoid graph or notification
|
|
43
|
+
calls when `egregore.json` declares `"mode": "local"`.
|
|
44
|
+
6. Never call the deprecated `egregore-handoff` CLI for Egregore project
|
|
45
|
+
handoffs.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: summon
|
|
3
|
+
description: 'Fallback Codex adapter for the Egregore summon workflow.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- generated-by: bin/codex-sync-skills.sh -->
|
|
7
|
+
|
|
8
|
+
# Egregore summon 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/summon/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/summon/SKILL.md` for the workflow details.
|
|
35
|
+
2. Run the referenced `bin/` scripts directly from Codex.
|
|
36
|
+
3. Treat graph and publish steps as best-effort unless that workflow explicitly
|
|
37
|
+
says they are required.
|
|
38
|
+
4. For every external notification, follow
|
|
39
|
+
`.claude/context/notification-consent.md`: plan without sending, then show
|
|
40
|
+
a separate exact Send / Edit / Cancel checkpoint. Never infer notification
|
|
41
|
+
consent from the workflow request or a batch approval.
|
|
42
|
+
5. Keep local-mode behavior filesystem-first and avoid graph or notification
|
|
43
|
+
calls when `egregore.json` declares `"mode": "local"`.
|
|
44
|
+
6. Never call the deprecated `egregore-handoff` CLI for Egregore project
|
|
45
|
+
handoffs.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: telegram-connect
|
|
3
|
+
description: 'Fallback Codex adapter for the Egregore telegram-connect workflow.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- generated-by: bin/codex-sync-skills.sh -->
|
|
7
|
+
|
|
8
|
+
# Egregore telegram-connect 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/telegram-connect/SKILL.md` for the workflow details.
|
|
19
|
+
2. Run the referenced `bin/` scripts directly from Codex.
|
|
20
|
+
3. Treat graph and publish steps as best-effort unless that workflow explicitly
|
|
21
|
+
says they are required.
|
|
22
|
+
4. For every external notification, follow
|
|
23
|
+
`.claude/context/notification-consent.md`: plan without sending, then show
|
|
24
|
+
a separate exact Send / Edit / Cancel checkpoint. Never infer notification
|
|
25
|
+
consent from the workflow request or a batch approval.
|
|
26
|
+
5. Keep local-mode behavior filesystem-first and avoid graph or notification
|
|
27
|
+
calls when `egregore.json` declares `"mode": "local"`.
|
|
28
|
+
6. Never call the deprecated `egregore-handoff` CLI for Egregore project
|
|
29
|
+
handoffs.
|
|
@@ -495,11 +495,7 @@ if [ "$FIRST_SESSION" = "true" ]; then
|
|
|
495
495
|
echo ""
|
|
496
496
|
echo " Welcome! This is your first session."
|
|
497
497
|
echo ""
|
|
498
|
-
if
|
|
499
|
-
echo "IMPORTANT: The greeting card is already on screen (rendered by the launcher) — do NOT re-render it. Reply with the greeting-reply block contents, then ask the user if they'd like a quick onboarding tour (run /onboarding), or if they want to jump straight in."
|
|
500
|
-
else
|
|
501
|
-
echo "IMPORTANT: Display the above greeting exactly as-is (ASCII art + ornamented status). Then ask the user if they'd like a quick onboarding tour (run /onboarding), or if they want to jump straight in."
|
|
502
|
-
fi
|
|
498
|
+
echo "IMPORTANT: Display the above greeting exactly as-is (ASCII art + ornamented status). Then ask the user if they'd like a quick onboarding tour (run /onboarding), or if they want to jump straight in."
|
|
503
499
|
# Clear the flag so it only shows once
|
|
504
500
|
jq '.first_session = false' "$STATE_FILE" > "$STATE_FILE.tmp" && mv "$STATE_FILE.tmp" "$STATE_FILE"
|
|
505
501
|
else
|
|
@@ -514,11 +510,7 @@ else
|
|
|
514
510
|
fi
|
|
515
511
|
|
|
516
512
|
echo ""
|
|
517
|
-
|
|
518
|
-
echo "IMPORTANT: The greeting card is already on screen (rendered by the launcher) — do NOT re-render it. Reply with the greeting-reply block contents exactly as-is (it may be empty), then ask: What are you working on?"
|
|
519
|
-
else
|
|
520
|
-
echo "IMPORTANT: Display the above greeting to the user exactly as-is (preserve the ASCII art formatting and ornamented status) on their first message. Then ask: What are you working on?"
|
|
521
|
-
fi
|
|
513
|
+
echo "IMPORTANT: Display the above greeting to the user exactly as-is (preserve the ASCII art formatting and ornamented status) on their first message. Then ask: What are you working on?"
|
|
522
514
|
echo ""
|
|
523
515
|
echo "BRANCH RULE: When the user responds with what they're working on, your FIRST action is to create a working branch: git fetch origin develop --quiet && git checkout -b dev/{author}/{topic-slug} origin/develop. Do this BEFORE any other work. Derive the topic slug from their description. If they ask a pure question with no work intent, skip branching."
|
|
524
516
|
fi
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"source": "egregore-runtime",
|
|
3
3
|
"policy": "available OSS components selected by capability-distribution.json; Connect is an authenticated additive overlay",
|
|
4
|
-
"skillCount":
|
|
4
|
+
"skillCount": 41,
|
|
5
5
|
"skills": [
|
|
6
6
|
"activity",
|
|
7
7
|
"announce",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"dashboard",
|
|
15
15
|
"deep-reflect",
|
|
16
16
|
"delete-user",
|
|
17
|
+
"emissary",
|
|
17
18
|
"handoff",
|
|
18
19
|
"harvest",
|
|
19
20
|
"ingest",
|
|
@@ -31,7 +32,9 @@
|
|
|
31
32
|
"reflect",
|
|
32
33
|
"review-pr",
|
|
33
34
|
"save",
|
|
35
|
+
"summon",
|
|
34
36
|
"sync-repos",
|
|
37
|
+
"telegram-connect",
|
|
35
38
|
"telemetry",
|
|
36
39
|
"test",
|
|
37
40
|
"the-spiral",
|
|
@@ -61,6 +64,7 @@
|
|
|
61
64
|
".codex/skills/dashboard/SKILL.md",
|
|
62
65
|
".codex/skills/deep-reflect/SKILL.md",
|
|
63
66
|
".codex/skills/delete-user/SKILL.md",
|
|
67
|
+
".codex/skills/emissary/SKILL.md",
|
|
64
68
|
".codex/skills/handoff/SKILL.md",
|
|
65
69
|
".codex/skills/harvest/QUESTION_PALETTE.md",
|
|
66
70
|
".codex/skills/harvest/SKILL.md",
|
|
@@ -79,7 +83,9 @@
|
|
|
79
83
|
".codex/skills/reflect/SKILL.md",
|
|
80
84
|
".codex/skills/review-pr/SKILL.md",
|
|
81
85
|
".codex/skills/save/SKILL.md",
|
|
86
|
+
".codex/skills/summon/SKILL.md",
|
|
82
87
|
".codex/skills/sync-repos/SKILL.md",
|
|
88
|
+
".codex/skills/telegram-connect/SKILL.md",
|
|
83
89
|
".codex/skills/telemetry/SKILL.md",
|
|
84
90
|
".codex/skills/test/SKILL.md",
|
|
85
91
|
".codex/skills/the-spiral/SKILL.md",
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: emissary
|
|
3
|
+
description: 'Compose, send, or run an Egregore emissary — portable handoff v1 artifacts with server-rendered HTML at egregore.xyz. Use for `/emissary`, "make/send/run an emissary", or when a user pastes an `egregore.xyz/emissary/e/<id>` link.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- generated-by: bin/codex-sync-skills.sh -->
|
|
7
|
+
|
|
8
|
+
# Egregore emissary 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/emissary/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/emissary/SKILL.md` for the workflow details.
|
|
35
|
+
2. Run the referenced `bin/` scripts directly from Codex.
|
|
36
|
+
3. Treat graph and publish steps as best-effort unless that workflow explicitly
|
|
37
|
+
says they are required.
|
|
38
|
+
4. For every external notification, follow
|
|
39
|
+
`.claude/context/notification-consent.md`: plan without sending, then show
|
|
40
|
+
a separate exact Send / Edit / Cancel checkpoint. Never infer notification
|
|
41
|
+
consent from the workflow request or a batch approval.
|
|
42
|
+
5. Keep local-mode behavior filesystem-first and avoid graph or notification
|
|
43
|
+
calls when `egregore.json` declares `"mode": "local"`.
|
|
44
|
+
6. Never call the deprecated `egregore-handoff` CLI for Egregore project
|
|
45
|
+
handoffs.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: summon
|
|
3
|
+
description: 'Fallback Codex adapter for the Egregore summon workflow.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- generated-by: bin/codex-sync-skills.sh -->
|
|
7
|
+
|
|
8
|
+
# Egregore summon 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/summon/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/summon/SKILL.md` for the workflow details.
|
|
35
|
+
2. Run the referenced `bin/` scripts directly from Codex.
|
|
36
|
+
3. Treat graph and publish steps as best-effort unless that workflow explicitly
|
|
37
|
+
says they are required.
|
|
38
|
+
4. For every external notification, follow
|
|
39
|
+
`.claude/context/notification-consent.md`: plan without sending, then show
|
|
40
|
+
a separate exact Send / Edit / Cancel checkpoint. Never infer notification
|
|
41
|
+
consent from the workflow request or a batch approval.
|
|
42
|
+
5. Keep local-mode behavior filesystem-first and avoid graph or notification
|
|
43
|
+
calls when `egregore.json` declares `"mode": "local"`.
|
|
44
|
+
6. Never call the deprecated `egregore-handoff` CLI for Egregore project
|
|
45
|
+
handoffs.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: telegram-connect
|
|
3
|
+
description: 'Fallback Codex adapter for the Egregore telegram-connect workflow.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- generated-by: bin/codex-sync-skills.sh -->
|
|
7
|
+
|
|
8
|
+
# Egregore telegram-connect 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/telegram-connect/SKILL.md` for the workflow details.
|
|
19
|
+
2. Run the referenced `bin/` scripts directly from Codex.
|
|
20
|
+
3. Treat graph and publish steps as best-effort unless that workflow explicitly
|
|
21
|
+
says they are required.
|
|
22
|
+
4. For every external notification, follow
|
|
23
|
+
`.claude/context/notification-consent.md`: plan without sending, then show
|
|
24
|
+
a separate exact Send / Edit / Cancel checkpoint. Never infer notification
|
|
25
|
+
consent from the workflow request or a batch approval.
|
|
26
|
+
5. Keep local-mode behavior filesystem-first and avoid graph or notification
|
|
27
|
+
calls when `egregore.json` declares `"mode": "local"`.
|
|
28
|
+
6. Never call the deprecated `egregore-handoff` CLI for Egregore project
|
|
29
|
+
handoffs.
|
|
@@ -495,11 +495,7 @@ if [ "$FIRST_SESSION" = "true" ]; then
|
|
|
495
495
|
echo ""
|
|
496
496
|
echo " Welcome! This is your first session."
|
|
497
497
|
echo ""
|
|
498
|
-
if
|
|
499
|
-
echo "IMPORTANT: The greeting card is already on screen (rendered by the launcher) — do NOT re-render it. Reply with the greeting-reply block contents, then ask the user if they'd like a quick onboarding tour (run /onboarding), or if they want to jump straight in."
|
|
500
|
-
else
|
|
501
|
-
echo "IMPORTANT: Display the above greeting exactly as-is (ASCII art + ornamented status). Then ask the user if they'd like a quick onboarding tour (run /onboarding), or if they want to jump straight in."
|
|
502
|
-
fi
|
|
498
|
+
echo "IMPORTANT: Display the above greeting exactly as-is (ASCII art + ornamented status). Then ask the user if they'd like a quick onboarding tour (run /onboarding), or if they want to jump straight in."
|
|
503
499
|
# Clear the flag so it only shows once
|
|
504
500
|
jq '.first_session = false' "$STATE_FILE" > "$STATE_FILE.tmp" && mv "$STATE_FILE.tmp" "$STATE_FILE"
|
|
505
501
|
else
|
|
@@ -514,11 +510,7 @@ else
|
|
|
514
510
|
fi
|
|
515
511
|
|
|
516
512
|
echo ""
|
|
517
|
-
|
|
518
|
-
echo "IMPORTANT: The greeting card is already on screen (rendered by the launcher) — do NOT re-render it. Reply with the greeting-reply block contents exactly as-is (it may be empty), then ask: What are you working on?"
|
|
519
|
-
else
|
|
520
|
-
echo "IMPORTANT: Display the above greeting to the user exactly as-is (preserve the ASCII art formatting and ornamented status) on their first message. Then ask: What are you working on?"
|
|
521
|
-
fi
|
|
513
|
+
echo "IMPORTANT: Display the above greeting to the user exactly as-is (preserve the ASCII art formatting and ornamented status) on their first message. Then ask: What are you working on?"
|
|
522
514
|
echo ""
|
|
523
515
|
echo "BRANCH RULE: When the user responds with what they're working on, your FIRST action is to create a working branch: git fetch origin develop --quiet && git checkout -b dev/{author}/{topic-slug} origin/develop. Do this BEFORE any other work. Derive the topic slug from their description. If they ask a pure question with no work intent, skip branching."
|
|
524
516
|
fi
|
package/runtime/pi/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"source": "egregore-pi-meta-harness",
|
|
3
3
|
"policy": "Pi-native lifecycle layer over the available OSS Codex skill corpus",
|
|
4
|
-
"skillCount":
|
|
4
|
+
"skillCount": 41,
|
|
5
5
|
"skills": [
|
|
6
6
|
"activity",
|
|
7
7
|
"announce",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"dashboard",
|
|
15
15
|
"deep-reflect",
|
|
16
16
|
"delete-user",
|
|
17
|
+
"emissary",
|
|
17
18
|
"handoff",
|
|
18
19
|
"harvest",
|
|
19
20
|
"ingest",
|
|
@@ -31,7 +32,9 @@
|
|
|
31
32
|
"reflect",
|
|
32
33
|
"review-pr",
|
|
33
34
|
"save",
|
|
35
|
+
"summon",
|
|
34
36
|
"sync-repos",
|
|
37
|
+
"telegram-connect",
|
|
35
38
|
"telemetry",
|
|
36
39
|
"test",
|
|
37
40
|
"the-spiral",
|
|
@@ -60,6 +63,7 @@
|
|
|
60
63
|
".codex/skills/dashboard/SKILL.md",
|
|
61
64
|
".codex/skills/deep-reflect/SKILL.md",
|
|
62
65
|
".codex/skills/delete-user/SKILL.md",
|
|
66
|
+
".codex/skills/emissary/SKILL.md",
|
|
63
67
|
".codex/skills/handoff/SKILL.md",
|
|
64
68
|
".codex/skills/harvest/QUESTION_PALETTE.md",
|
|
65
69
|
".codex/skills/harvest/SKILL.md",
|
|
@@ -78,7 +82,9 @@
|
|
|
78
82
|
".codex/skills/reflect/SKILL.md",
|
|
79
83
|
".codex/skills/review-pr/SKILL.md",
|
|
80
84
|
".codex/skills/save/SKILL.md",
|
|
85
|
+
".codex/skills/summon/SKILL.md",
|
|
81
86
|
".codex/skills/sync-repos/SKILL.md",
|
|
87
|
+
".codex/skills/telegram-connect/SKILL.md",
|
|
82
88
|
".codex/skills/telemetry/SKILL.md",
|
|
83
89
|
".codex/skills/test/SKILL.md",
|
|
84
90
|
".codex/skills/the-spiral/SKILL.md",
|