Local Build Reminder
Always-on reminder for OMC fork development. When OMC is running in local
mode (HUD shows [OMC#X.Y.ZL] with an L suffix), Claude Code loads compiled
JavaScript from dist/ — NOT TypeScript source from src/. Edits to .ts
files are invisible to the running plugin until npm run build regenerates
dist/.
When to invoke this skill
The AI should mention this reminder whenever any of these happens:
- The user (or the AI itself) just edited
src/**/*.tsin this repo. - The user asks "why isn't my change working?" / "I edited X but it does the same" after a TS edit.
- The user is about to restart Claude Code and the working tree has TS edits with no rebuild.
- The user runs an OMC command and expects new behavior tied to a TS edit.
What to say
Surface one clear sentence followed by the exact command. Don't repeat the reminder on every turn — once per "round" of TS editing is enough. Example:
Heads up: you edited
src/.... Runnpm run buildbefore restarting Claude Code —dist/won't reflect the change otherwise.
If multiple TS files were edited in a row, just remind once at the end.
When NOT to remind
- The user only edited
.mjs/.cjs/.md/.json— those load directly from disk, no build needed. - The user is in a Claude Code session that isn't running OMC locally
(no
Lin the HUD). - A
tsc --watch/npm run dev:fullis already running in the background — those rebuild automatically on save. - The user just asked an unrelated question; don't shoehorn the reminder into off-topic responses.
File-type cheat sheet
| Path | Restart picks up edit? | Needs build? |
|---|---|---|
src/**/*.ts |
Only after build | Yes |
templates/hooks/**/*.mjs |
Yes | No |
scripts/**/*.mjs / *.cjs |
Yes | No |
skills/**/SKILL.md |
Yes | No |
agents/**/*.md |
Yes | No |
commands/**/*.md |
Yes | No |
.claude-plugin/plugin.json |
Yes (on Claude restart) | No |
docs/**/*.md |
Cosmetic only | No |
One-command setup for hands-free dev
If the user is iterating heavily and tired of remembering the build, suggest:
npm run dev:full
This runs tsc --watch plus all bridge builders in parallel — every save
triggers a rebuild within a second, so restart Claude Code is all that's
needed afterwards.
Detection signal — how the AI knows it's "local mode"
The HUD's [OMC#X.Y.ZL] suffix is the visible cue. Programmatically, the
detection lives in src/lib/version.ts::isRuntimePackageLocal() and triggers
on any of: .git/ at package root, src/ at package root, package reached
via symlink/junction, or any ancestor is a symlink/junction.
When running inside the OMC fork repo itself, the AI is by definition in local mode — the reminder always applies.