From lazycortex-obsidian
Interactively add, edit, or remove registry entries in the local `.claude/iconize/obsidian-icon-map.json` (roles, steps, requests, or any custom registry). Re-runnable. Writes back JSON with stable formatting. Use when the resolver misses a role/step/etc. — this skill is the canonical way to seed the missing registry entry without hand-editing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/lazycortex-obsidian:lazy-obsidian.iconize-config [registry-name] — e.g. roles | steps | requests.classification | requests.status_color[registry-name] — e.g. roles | steps | requests.classification | requests.status_colorThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reads the vault's local `.claude/iconize/obsidian-icon-map.json` and walks the user through adding / editing / removing registry entries via wizard-style prompts.
Reads the vault's local .claude/iconize/obsidian-icon-map.json and walks the user through adding / editing / removing registry entries via wizard-style prompts.
This skill has 7 ordered steps. The executing agent MUST NOT skip, merge, reorder, or silently omit any step. To make dropped steps structurally impossible:
TaskCreate with exactly one task per step below — no merging, no abbreviation, no renaming. The canonical list (use these titles verbatim):
Step 1 — Locate icon-mapStep 2 — Pick registryStep 3 — Pick actionStep 4 — Apply action (add / edit / remove)Step 5 — Write backStep 6 — Loop or exit / ReportStep 7 — Log the runin_progress on enter and completed on exit. "Completed" means "I executed the step's logic AND produced a report line for it". No-ops count only if they produced an explicit outcome line (e.g. asserted, already-ignored, absent, skipped-per-user-choice).TaskList shows every prior task completed or explicitly skipped with an outcome. A still-pending task is a bug — stop and execute it first.Run lazy-obsidian.iconize-install first. This skill only runs against an existing local icon-map.
<repo-root>/.claude/iconize/obsidian-icon-map.json
Abort with a helpful message if missing.
Enumerate top-level registry names present in registries (plus allow nested dotted paths like requests.classification). Ask the user which to edit. Options: each registry path + "add new registry" + "exit".
If "add new registry" → ask for registry name (free-text via AskUserQuestion with an "Other" answer), then branch to Step 3 with an empty registry.
Options: add / edit / remove / back.
One AskUserQuestion per field:
iconName (Lucide PascalCase with Li prefix, or emoji).iconColor (optional — user can pick "none" for monochrome).Validate with the worker's validators (shell out to python3 ${CLAUDE_PLUGIN_ROOT}/bin/iconize_sync.py --validate-entry ... — see Task 11b below for this helper flag).
List existing keys as options. Pick one. Then edit iconName/iconColor per Step 4a.
List existing keys as options. Pick one. Confirm via a second AskUserQuestion (confirm-remove / cancel).
Rewrite obsidian-icon-map.json with json.dumps(..., indent=2, ensure_ascii=False) + "\n". Preserve any top-level keys the skill didn't touch (matchers, version, stage_colors).
One AskUserQuestion: continue / exit. Continue returns to Step 2.
On exit, print one report line per task in the canonical list above, each with an outcome word (e.g. located, picked, added, edited, removed, written, exited).
./.logs/claude/lazy-obsidian.iconize-config/YYYY-MM-DD_HH-MM-SS.md. Record every mutation (before/after diff per entry) in the Actions section.
One AskUserQuestion per decision. Never bundle multiple fields into a single prompt. Validate inputs before persisting.
/lazy-obsidian.iconize-config aborts: icon-map not found — .claude/iconize/obsidian-icon-map.json is missing → run /lazy-obsidian.iconize-install first to scaffold the icon-map, then re-run.obsidian-icon-map.json by hand — matchers are structural and benefit from seeing the whole file at once.lazy-obsidian.iconize-sync reconcile so data.json picks up the new entries.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub mebius-san/lazy-cortex --plugin lazycortex-obsidian