ohad6k/emulo
Use when the user explicitly asks to run, set up, update, re-mine, or deepen Emulo from real local AI coding-session history and native emulo:mine is not available. This is the cross-agent skills.sh bootstrap, not the native namespaced plugin.
npx skills add https://github.com/ohad6k/emulo --skill emulo
Mine only real user-authored .jsonl sessions. Never synthesize a profile from rules files, memory, or a typed self-description.
SKILL_DIR be the directory containing this file. In a repository checkout, use SKILL_DIR/../../../emulo.py and SKILL_DIR/../../../MINING_PROMPT.md. Otherwise run python "$SKILL_DIR/scripts/bootstrap.py" and read its JSON paths. The bootstrap accepts only an exact release tag and verified SHA-256 values; never fetch executable code from mutable main.python "$EMULO_PY" plugin preflight, show valid sessions, post-dedupe source tokens, selected source tokens, cache hits, planned_worker_calls, and planned_reducer_calls, then wait for explicit cost approval before model work.--preview for both preflight and prepare. Say this exactly before approval: Quick preview creates a starter profile from selected history, not the full profile. Never call preview the default, the full profile, or equivalent in quality to full-history mining.approval_hash. Run python "$EMULO_PY" plugin prepare --approved-plan-hash HASH with the exact approved mode. If the hash changed, show the new plan and obtain approval again. Retain run_id, assigned segment/report paths, and pack_path from the run JSON.MINING_PROMPT.md. Cache every JSON report with plugin cache-report; stop on rejection.pack_path, then activate it with plugin activate.plugin profile-path --domain work. If the current host already has the native Emulo plugin, do not create a competing direct profile. Otherwise install the core profile through the existing exact adapter for the current host and verify it in a fresh task.emulo:mine, emulo:work, emulo:design, emulo:write, and emulo:video routing on top of the core profile just installed. Ask first, accept a no, and never install it without an explicit yes. Skip the offer entirely when the host already has the plugin. On approval in Codex, run codex plugin marketplace add ohad6k/emulo --ref TAG --json and then codex plugin add emulo@emulo --json, where TAG is the exact release tag matching the installed version, never main. Report what got installed. In Claude Code the /plugin commands are typed by the user and an agent cannot run them, so print exactly these two lines for the user to paste, in this order, and say the routed skills appear in the skill menu once the second one finishes:/plugin marketplace add ohad6k/emulo
/plugin install emulo@emulo
The npx bootstrap installs the approved core profile across supported agents. Automatic emulo:work, emulo:design, and emulo:write routing belongs to the separately installed native plugin, which step 9 offers once the profile exists. Asking an agent to orchestrate setup still consumes that host interaction even when Emulo plans zero mining passes.
Take ohad6k/emulo from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.