SKILL.md
HeyEddi Orchestrator
Skill discovery and workspace sync: routes work to the right @skill, refreshes .heyeddi/, and keeps product, UX, and design pillars in sync.
When to use
- 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
loadworkflowcontext/appendpillaropinion - After
@heyeddi-intake: confirmskill-routing.jsonbefore downstream work
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 + update check): sync --project-root .
Skills update check (detect and ask)
Never silent self-update. sync and checkskillsupdate compare the installed hub product-version to the latest GitHub release (gh), then ask the user.
check_skills_update --project-root .
# or: sync --project-root . (includes the check unless --skip-update-check)
If updateavailable / askuser is true:
- Show the tool's
user_blockto the user. - Wait for explicit approval (
update/yes/proceed). - Only then run the install command from the payload.
- On
skip/no:checkskillsupdate --dismiss --latest <ver> --project-root .
Kill switch: checkskillsupdate --disable or .heyeddi/sync-state.json → "skillsupdatecheck": false, or env HEYEDDISKILLSUPDATE_CHECK=off.
Checks are throttled to once per 24h (--force to bypass). No network on every skill invoke.
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
Read reference/default-pipelines.md for automatic UI and PR chains (no confirmation between steps).
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 + update check |
checkskillsupdate.py |
Detect hub updates; ask before npx skills add |
writeskillsindex.py |
Scan → .heyeddi/skills-index.* |
load_catalog.py |
Read cached index |
suggest_skills.py |
Rank skills for a prompt |
suggestnextskill.py |
Next @skill + command after any skill finishes |
initworkflowsync.py |
Scaffold .heyeddi/docs/workflow/ |
loadworkflowcontext.py |
Sibling opinions + checklist for route |
appendpillaropinion.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:
``bash python .agents/skills/heyeddi-orchestrator/scripts/suggestnextskill.py --current-skill heyeddi-orchestrator --project-root . ``
Add --route /path if 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-intake: upstream intakereference/next-skill-handoff.md: next-skill block when a pipeline task completesdocs/cross-pillar-workflow.md: hub summary