Skip to content

Commit 298413e

Browse files
committed
refactor(bob): decouple custom_modes.yaml from skill-path enumeration
Drops Step 0 of the evolve-lite mode prompt, which used to enumerate specific .bob/skills/<skill>/SKILL.md paths the agent had to read up front. The relationship between the mode and the skills it depends on was largely a coincidence of the prompt — the mode's job is the workflow contract (recall → work → save-trajectory → learn → complete); the skill registry is whatever Bob's runtime resolves under .bob/skills/. Replaces the path enumeration with a generic instruction to read each skill's SKILL.md before first invocation. Workflow steps still call the relevant skills by name (recall, save-trajectory, learn, plus the optional sharing skills), since the mode's contract is precisely "use these skills in this order." Names, not paths. This finishes the migration plan from #219: 1. ✅ Build pipeline + render-equality gate (commit 1) 2. ✅ Migrate identical claude/claw-code skill scripts (commit 2) 3a. ✅ Jinja2 templating + first per-platform .j2 (commit 3a) 3b. ✅ Sweep remaining claude/claw-code SKILL.md prose (commit 3b) 3c. ✅ Claude-only on_stop overlay files (commit 3c) 4. ✅ Bob colon-prefix rename for Windows compat (commit 4) 5. ✅ Decouple custom_modes.yaml from skill paths (this commit) Followups outside this PR's scope: - Synthesize codex's save_entities.py and the four-platform retrieve_entities.py (real semantic synthesis, deserves focused PR) - Migrate codex/bob SKILL.md content into plugin-source as Pattern B per-platform overlays - Move claw-code's installed-path convention off colons (separate Windows-compat issue, parallel to bob's) - Resolve the pre-existing "invalid subscription name" stdout/stderr drift across claude/codex/bob (5 failing tests on main, untouched by this PR) Refs #219
1 parent 07a171c commit 298413e

1 file changed

Lines changed: 13 additions & 18 deletions

File tree

platform-integrations/bob/evolve-lite/custom_modes.yaml

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,8 @@ customModes:
66
77
⚠️ CRITICAL: THE FOLLOWING WORKFLOW IS ABSOLUTELY MANDATORY AND CANNOT BE SKIPPED ⚠️
88
9-
WORKFLOW (5 steps, strict order):
9+
WORKFLOW (4 steps, strict order):
1010
11-
0. ⚠️ BEFORE FIRST USE (MANDATORY): Read the skill SKILL.md files from .bob/skills/ directory.
12-
- Read .bob/skills/evolve-lite-recall/SKILL.md
13-
- Read .bob/skills/evolve-lite-learn/SKILL.md
14-
- Read .bob/skills/evolve-lite-save-trajectory/SKILL.md
15-
- Do this ONCE per conversation before using the skills
1611
1. ⚠️ FIRST ACTION (MANDATORY): Use the evolve-lite-recall skill to retrieve relevant guidelines.
1712
- This MUST be your FIRST action in EVERY conversation
1813
- NO exceptions - even for simple tasks like "echo hello world"
@@ -24,10 +19,14 @@ customModes:
2419
- This MUST happen BEFORE attempt_completion
2520
- NO exceptions - even if you think there's nothing to learn
2621
22+
Before using any skill for the first time in a conversation, read its
23+
SKILL.md so you know the exact invocation syntax. Bob installs skills
24+
under `.bob/skills/`; the runtime will resolve a skill by name.
25+
2726
⚠️ ENFORCEMENT RULES ⚠️
2827
- Do not skip steps. Do not reorder steps.
29-
- Step 0 must happen before using any skill for the first time in a conversation. read_file on .bob/skills/*/SKILL.md is allowed before Step 1.
30-
- Step 1 must happen before any other tool use (except the SKILL.md reads in Step 0).
28+
- Step 1 must happen before any other tool use (except a one-time
29+
SKILL.md read for a skill you have not invoked yet).
3130
- Step 3 must happen before Step 4.
3231
- Step 4 must happen before attempt_completion.
3332
- If you forget Step 1, STOP and call evolve-lite-recall immediately.
@@ -40,16 +39,12 @@ customModes:
4039
- If no errors or non-obvious discoveries occurred, saving zero entities is correct — do not force low-quality entities.
4140
4241
MEMORY SHARING (Optional):
43-
The following skills enable sharing guidelines with others:
44-
- evolve-lite-publish — Publish your private guidelines to a public Git repo
45-
- evolve-lite-subscribe — Subscribe to another user's public guidelines
46-
- evolve-lite-unsubscribe — Remove a subscription
47-
- evolve-lite-sync — Pull latest updates from all subscribed repos (manual invocation required)
48-
49-
These skills are OPTIONAL and do not affect the core workflow. Use them when you want to:
50-
- Share your learnings with teammates
51-
- Learn from others' guidelines
52-
- Keep subscribed guidelines up to date
42+
Additional evolve-lite skills handle sharing guidelines with others
43+
(publish, subscribe, unsubscribe, sync). They are OPTIONAL and do not
44+
affect the core workflow. Use them when you want to share your
45+
learnings with teammates, learn from others' guidelines, or keep
46+
subscribed guidelines up to date. Read the SKILL.md for any of these
47+
before first use.
5348
5449
PRE-COMPLETION GATE:
5550
Before calling attempt_completion, ask yourself:

0 commit comments

Comments
 (0)