
--- name: artifact-anatomy description: Defines where spec-driven working artifacts — the spec (e.g. `SPEC.md`), the plan, and the task list (e.g. `tasks/plan.md`, `tasks/todo.md`) — live on disk under `docs/specs/<id>-<slug>/`, and how those directories are numbered, scoped, and resolved so multiple specs can run in parallel without overwriting one another. Use this BEFORE creating, locating, or updating any spec, plan, or task/todo file: whenever a spec/plan/build workflow writes these artifac
Explain a topic, a passage, or a piece of code so the learner actually understands it — open with the whole picture, then drill into the parts they pick. Use when the user wants a single subject explained big-picture-first, asks for a top-down explanation, or wants to explore the subject and drill in on demand instead of one exhaustive dump.
Decode Zhuyin (Bopomofo) text typed with English keyboard keys into Chinese characters. ALWAYS try this skill when encountering unrecognized short letter/number sequences mixed with Chinese text that don't look like real English words or acronyms - e.g. "e04", "cl3", "su3", "cp3". Also use when user explicitly mentions 注音文, or asks what a cryptic alphanumeric fragment means in a Chinese context.
Find branch coverage gaps in changed code and fix them by writing missing tests. Two analysis layers: Source ↔ Test (logic branches vs test cases) and Spec ↔ Test (requirement scenarios vs test cases, when a spec file is provided). Use when verifying test completeness after implementing a feature or fixing a bug, when auditing whether tests match a spec, or when suspecting untested branches.
Use when starting, executing, or finishing non-trivial implementation tasks where reusable constraints may matter. Recall relevant lessons before work, capture reusable corrections or discoveries during and after work, and keep project memory in `docs/lessons/`.
Personal wiki at ~/.ultrabrain/ that accumulates knowledge across sessions using an LLM-maintained-wiki pattern. Use when the user asks factual, technical, or decision-oriented questions that may have been previously captured (check index.md before answering), or explicitly asks to capture/記下來/save session content, ingest/整合 raw entries into the wiki, lint/檢查 the vault, or bootstrap a new vault. Skip for small talk, current-file questions, or code-execution requests.
Promote entries from the current project's .claude/settings.local.json into the global ~/.claude/settings.json. Use when user says "promote settings", "upgrade settings", "sync settings to global", "move local settings to global", or wants to move project-local Claude Code settings to global scope.
Drive a structured tutoring workflow that turns Claude into a learning onramp accelerator — consultative diagnosis → custom syllabus → unit-by-unit guided lessons with notes/whiteboard → dynamic adjustment from an accumulating learner profile. Use when the user states a learning goal ("I want to systematically learn X", "teach me Y", "help me prep for Z exam"), uploads study materials and asks for a course plan, or signals sustained guided study (mentions tutor, syllabus, course, lessons, study plan, curriculum, 家教, 學習路徑). Skip for one-shot factual Q&A or quick code-context explanations.
Use when creating, rewriting, pruning, or reviewing `AGENTS.md` or `CLAUDE.md`, especially to remove repo summaries, stale rules, and other low-signal global instructions. Trigger when deciding what belongs in always-on agent files versus a task-specific skill.
Produce a TL;DR of a given target. Use when the user asks for a tldr, tl;dr, or quick summary of anything.
Replay the reverie — recover memory from the previous loop
Save a reverie before the wipe — for the next loop
Use before any implementation start — auto-detects and fixes git state issues (branch, dirty files, remote sync) with one confirmation per fix. Trigger on "start implementation", "implement this plan", "start coding", "execute plan", "開始實作", "執行計劃", or any signal that coding is about to begin.
Save a reverie before the wipe — for the next loop
Rewrite a piece of text that reads as machine-generated so it sounds like a person wrote it — strip the telltale AI tics (throat-clearing openers, inflated diction, rule-of-three padding, em-dash drama, tacked-on participial clauses) while keeping every point intact. Use when the user explicitly asks to humanize, de-AI, make text sound human, or remove the AI / ChatGPT / Claude voice from a passage, document, or draft they point to, including text just produced in the conversation. Do not trigger as unprompted cleanup of text the user has not asked to change; when the problem is length rather than voice use the tighten or distil skill, and when the problem is specialist jargon rather than machine cadence use the plain skill.
Rewrite a piece of jargon-heavy or convoluted text into plain language a non-specialist can follow — unpack the jargon, break up tangled sentences, and cut academese and business-speak while keeping every point and staying precise. Use when the user explicitly asks to put something in plain language, simplify the wording, make a passage accessible, explain it like a human, or strip jargon from a document or draft they point to, including text just produced in the conversation. Do not trigger as unprompted cleanup of text the user has not asked to change; when the problem is length use the tighten or distil skill, and when the problem is machine-generated cadence rather than specialist jargon use the humanize skill.
Rewrite a piece of text down to its core message, dropping whatever is peripheral to it — the result is the text itself rewritten shorter, not a summary written about it. Use when the user explicitly asks to distil, cut to the essentials, trim the fat, or strip a passage, document, or draft down to what matters, and is willing to lose secondary detail. Do not trigger as unprompted cleanup of text the user has not asked to change; when the user wants the text shorter but every point kept, use the tighten skill instead.
Rewrite a piece of verbose text so it conveys exactly the same meaning in fewer words — every point in the original survives, and the result replaces the text rather than summarising it. Use when the user explicitly asks to tighten, shorten, condense, or compress a passage, document, message, or draft they point to, including text just produced in the conversation, and wants nothing dropped. Do not trigger as unprompted cleanup of text the user has not asked to change; when the user is willing to drop peripheral content to reach a core message, use the distil skill instead.
Drive a structured tutoring workflow that turns Claude into a learning onramp accelerator — consultative diagnosis → custom syllabus → unit-by-unit guided lessons with notes/whiteboard → dynamic adjustment from an accumulating learner profile. Use when the user states a learning goal ("I want to systematically learn X", "teach me Y", "help me prep for Z exam"), uploads study materials and asks for a course plan, or signals sustained guided study (mentions tutor, syllabus, course, lessons, study plan, curriculum, 家教, 學習路徑). Skip for one-shot factual Q&A or quick code-context explanations.
Rewrite a piece of text that reads as machine-generated so it sounds like a person wrote it — strip the telltale AI tics (throat-clearing openers, inflated diction, rule-of-three padding, em-dash drama, tacked-on participial clauses) while keeping every point intact. Use when the user explicitly asks to humanize, de-AI, make text sound human, or remove the AI / ChatGPT / Claude voice from a passage, document, or draft they point to, including text just produced in the conversation. Do not trigger as unprompted cleanup of text the user has not asked to change; when the problem is length rather than voice use the tighten or distil skill, and when the problem is specialist jargon rather than machine cadence use the plain skill.
--- name: lgtm description: Before acting on an approval, re-read from disk every file that was under review — the user may have edited them while reviewing, leaving your in-context copy stale. Use when the user signals go-ahead on something you put up for review — "lgtm", "looks good", "looks good to me", "approved", "go ahead" — before you start the next step. Applies to any reviewed artifact: spec, plan, diff, edited code, proposal. license: MIT --- # LGTM The user reviewed something you pu
Explain a topic, a passage, or a piece of code top-down — open with the whole picture, then drill into the parts the learner picks. Use when the user wants a single subject explained big-picture-first, asks for a top-down explanation, or wants to explore the subject and drill in on demand instead of one exhaustive dump.
Re-read the approved SPEC or PLAN, then build it while silently maintaining a running implementation-notes file that records every design decision, deviation, tradeoff, and open question where the build diverges from or interprets the spec. Use when the user says "start work", "begin implementation", "let's build this", or "kick it off" to start implementing a plan or spec they have just reviewed, even when they do not name the spec file. This is the handoff from plan review to coding.
--- name: sdkman description: Switch JDK, Kotlin, Gradle, Maven, or any SDKMAN-managed candidate when the user or a project demands a different version. Use when the user says "switch to Java 17", "run with JDK 21", "use Gradle 8.x", asks about JAVA_HOME, a build fails with UnsupportedClassVersionError or "class file has wrong version", or the repo has a `.sdkmanrc`. Also consult this proactively before compiling or running a Maven/Gradle/Kotlin project: check that the current `java -version` ma
Rewrite a piece of text down to its core message, dropping whatever is peripheral to it — the result is the text itself rewritten shorter, not a summary written about it. Use when the user explicitly asks to distil, cut to the essentials, trim the fat, or strip a passage, document, or draft down to what matters, and is willing to lose secondary detail. Do not trigger as unprompted cleanup of text the user has not asked to change; when the user wants the text shorter but every point kept, use the tighten skill instead.
Replay the reverie — recover memory from the previous loop
Find branch coverage gaps in changed code and fix them by writing missing tests. Two analysis layers: Source ↔ Test (logic branches vs test cases) and Spec ↔ Test (requirement scenarios vs test cases, when a spec file is provided). Use when verifying test completeness after implementing a feature or fixing a bug, when auditing whether tests match a spec, or when suspecting untested branches.
Decode Zhuyin (Bopomofo) text typed with English keyboard keys into Chinese characters. ALWAYS try this skill when encountering unrecognized short letter/number sequences mixed with Chinese text that don't look like real English words or acronyms - e.g. "e04", "cl3", "su3", "cp3". Also use when user explicitly mentions 注音文, or asks what a cryptic alphanumeric fragment means in a Chinese context.
Re-read the approved SPEC or PLAN, then build it while silently maintaining a running implementation-notes file that records every design decision, deviation, tradeoff, and open question where the build diverges from or interprets the spec. Use when the user says "start work", "begin implementation", "let's build this", or "kick it off" to start implementing a plan or spec they have just reviewed, even when they do not name the spec file. This is the handoff from plan review to coding.
Promote entries from the current project's .claude/settings.local.json into the global ~/.claude/settings.json. Use when user says "promote settings", "upgrade settings", "sync settings to global", "move local settings to global", or wants to move project-local Claude Code settings to global scope.
Rewrite a piece of jargon-heavy or convoluted text into plain language a non-specialist can follow — unpack the jargon, break up tangled sentences, and cut academese and business-speak while keeping every point and staying precise. Use when the user explicitly asks to put something in plain language, simplify the wording, make a passage accessible, explain it like a human, or strip jargon from a document or draft they point to, including text just produced in the conversation. Do not trigger as unprompted cleanup of text the user has not asked to change; when the problem is length use the tighten or distil skill, and when the problem is machine-generated cadence rather than specialist jargon use the humanize skill.
Use when creating, rewriting, pruning, or reviewing `AGENTS.md` or `CLAUDE.md`, especially to remove repo summaries, stale rules, and other low-signal global instructions. Trigger when deciding what belongs in always-on agent files versus a task-specific skill.
Rewrite a piece of verbose text so it conveys exactly the same meaning in fewer words — every point in the original survives, and the result replaces the text rather than summarising it. Use when the user explicitly asks to tighten, shorten, condense, or compress a passage, document, message, or draft they point to, including text just produced in the conversation, and wants nothing dropped. Do not trigger as unprompted cleanup of text the user has not asked to change; when the user is willing to drop peripheral content to reach a core message, use the distil skill instead.
Produce a TL;DR of a given target. Use when the user asks for a tldr, tl;dr, or quick summary of anything.
Drive a structured tutoring workflow that turns Claude into a learning onramp accelerator — consultative diagnosis → custom syllabus → unit-by-unit guided lessons with notes/whiteboard → dynamic adjustment from an accumulating learner profile. Use when the user states a learning goal ("I want to systematically learn X", "teach me Y", "help me prep for Z exam"), uploads study materials and asks for a course plan, or signals sustained guided study (mentions tutor, syllabus, course, lessons, study plan, curriculum, 家教, 學習路徑). Skip for one-shot factual Q&A or quick code-context explanations.
Record and consult Architecture Decision Records (ADRs) — short Markdown notes in `docs/adr/` capturing *that* a hard-to-reverse decision was made and *why*. Use whenever a real architectural trade-off is being made or has just been settled (tech choice with lock-in, context boundaries, integration patterns, a deliberate deviation from the obvious path, a constraint invisible in the code), when a decision is being reversed or superseded, when the user mentions ADR / architecture decision record / decision log, or before changing code in an area so you read and respect prior decisions rather than re-litigating them. Trigger even when the user doesn't say "ADR" but describes locking in a decision they'll want future engineers to understand.
Before acting on an approval, re-read from disk every file that was under review — the user may have edited them while reviewing, leaving your in-context copy stale. Use when the user signals go-ahead on something you put up for review — "lgtm", "looks good", "looks good to me", "approved", "go ahead" — before you start the next step. Applies to any reviewed artifact — spec, plan, diff, edited code, proposal.
Write a short author's briefing to hand to a code reviewer whose agent already has its own review skill, so it supplies the context that skill can't see instead of repeating how to review. Right after you finish a piece of work, it mines this session (and any kickoff implementation-notes) for what the reviewer most needs flagged — the easy-to-miss changes, the parts you're least sure about, the looks-wrong-but-intentional bits, and the blast radius — plus the exact commit range to review. Use when you've just finished work and want to hand the review off to another agent, chat, or teammate, when you want a "heads-up for the reviewer", or when packaging a change for review elsewhere. It does not perform the review and does not re-specify severity tiers or output format — that's the reviewer's own skill's job.
Switch JDK, Kotlin, Gradle, Maven, or any SDKMAN-managed candidate when the user or a project demands a different version. Use when the user says "switch to Java 17", "run with JDK 21", "use Gradle 8.x", asks about JAVA_HOME, a build fails with UnsupportedClassVersionError or "class file has wrong version", or the repo has a `.sdkmanrc`. Also consult this proactively before compiling or running a Maven/Gradle/Kotlin project — check that the current `java -version` matches the JDK the project declares as its default (pom.xml `maven.compiler.release`, a Gradle toolchain, `.sdkmanrc`, `.java-version`) and align to it before building — while honoring any version the user explicitly asks for over that default. Operates on machines configured with SDKMAN (`$SDKMAN_DIR`, default `~/.sdkman`).