HeyEddi Orchestrator
Skill discovery and workspace sync: routes work to the right @skill, refreshes .heyeddi/, and keeps product, UX, and design pillars in sync.
Always on as the router bookend for every chat. See reference/always-on.md and hub docs/always-on-skills.md.
When to use
- Every session start on a HeyEddi project (
.heyeddi/present or greenfield app request) - User asks "what skills do we have?" or "which skill should handle this?"
- Before a multi-step pipeline (intake → scaffold → design → handoff → QA)
- Any time one pillar runs: bookend with
load_workflow_context/append_pillar_opinion - After
@heyeddi-intake: confirmskill-routing.jsonbefore downstream work
Always-on siblings (every chat)
After routing, enforce:
@heyeddi-setupprefs gate (verify_setup --check) before git/CI/commit/push or agent autonomy — incomplete prefs fail those actions; route setup until pass (reference/setup-always-on.mdon that skill)@engineering-excellenceplan gate before coding; change gate (audit_engineering --check) after edits — errors fail; warns advisory- Prose anti-slop when copy or
.heyeddidocs change (verify_prose --check) - Clarify-before-act when product/design/stack intent is missing
- Host surfaces — prefer this session's native plan / data / visual tools when listed; degrade to
.heyeddi/ scripts otherwise (reference/host-surfaces.md)
Automatic .heyeddi/ upkeep
You do not need a manual sync command. Every HeyEddi skill tool call runs auto-sync first:
- Refreshes
.heyeddi/skills-index.{json,md}when missing
Reinstall skills (npx skills add) and keep working: the next @heyeddi-intake, @heyeddi-product, or orchestrator tool updates .heyeddi/ automatically.
Optional explicit full sync (includes workflow scaffold): sync --project-root .
Cross-pillar sync (mandatory for product · UX · design)
Read reference/cross-pillar-workflow.md.
init_workflow_sync (once per project)
load_workflow_context --route /path (start of pillar session)
… @heyeddi-product | @ux-flow-auditor | @heyeddi-design work …
append_pillar_opinion --pillar … (end: triggers sibling opinions)
Skill discovery pipeline
load_catalog / suggest_skills → auto-sync runs first
read one SKILL.md → follow that skill's pipeline
If .heyeddi/docs/intake/skill-routing.json exists, follow route order.
Tools
| Script | Purpose |
|---|---|
| (auto) | Every tool: refresh index when missing |
sync.py |
Optional full sync + workflow scaffold |
write_skills_index.py |
Scan → .heyeddi/skills-index.* |
load_catalog.py |
Read cached index |
suggest_skills.py |
Rank skills for a prompt |
suggest_next_skill.py |
Next @skill + command after any skill finishes |
init_workflow_sync.py |
Scaffold .heyeddi/docs/workflow/ |
load_workflow_context.py |
Sibling opinions + checklist for route |
append_pillar_opinion.py |
Log opinion; request UX/design/product response |
When the task is complete: suggest next skills
When you have finished the user's request for this skill (not after every tool call or subagent phase), suggest what to run next:
Run:
python .agents/skills/heyeddi-orchestrator/scripts/suggest_next_skill.py --current-skill heyeddi-orchestrator --project-root .Add
--route /pathif you worked a specific route.Include the script's
### Next stepblock in your final reply. The user copies the Prompt line into chat (e.g.@heyeddi-design craft /settings).
Pass --mode shape (or craft, audit, etc.) when you know which sub-command just finished.
See @heyeddi-orchestrator → reference/next-skill-handoff.md.
Related
@heyeddi-product·@ux-flow-auditor·@heyeddi-design: three pillars@heyeddi-setup: always-on prefs hard gate (verify_setup --check)@engineering-excellence: always-on plan + change gates@heyeddi-intake: upstream intakereference/host-surfaces.md: prefer host plan/data/visual tools; portable degradereference/next-skill-handoff.md: next-skill block when a pipeline task completesdocs/cross-pillar-workflow.md: hub summarydocs/always-on-skills.md: hub always-on policy