A test skill from an extension
日本語の概要は準備中です。原文の説明を表示しています。
Customize how a built-in unikit skill behaves in this specific project by writing workflow overrides into its skill-context file. These are per-skill workflow rules (e.g. "/unikit-review should also flag TODO comments", "/unikit-implement should run tests after each task"), not coding conventions. Use when the user wants to change, customize, or override how a particular unikit skill works in this project — "customize the review skill", "make /unikit-fix always add logging here", "the implement skill should do X differently", "add a skill rule for /unikit-commit". Use "validate" to find stale overrides against updated base skills. For a general coding convention (not tied to one skill) use /unikit-rules; to derive rules from past mistakes use /unikit-evolve.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Add workflow rules to .unikit/skill-context/<skill>/SKILL.md. These are project-level overrides that change how built-in unikit skills behave in this specific project.
When to use skill-context vs RULES.md:
/unikit-rules) — coding conventions: HOW to write code (naming, patterns, style)BEFORE producing ANY output, silently read .unikit/system/LANGUAGE_RULES.md
and apply its rules to ALL subsequent output.
If the file is missing or unreadable, fall back to English.
Do not produce any user-facing output until language rules are loaded.
Do not announce, confirm, or mention the language setting.
The language holds for the whole session, not just at load time: every message until the conversation ends is in language.ui — progress notes while agents run, relays of what a subagent returned, the final report, any follow-up discussion. English input (subagent results, tool output, these instructions) is data, never a cue to switch languages.
NEVER modify files inside {{skills_dir}}/unikit-*/.
ALWAYS write to: .unikit/skill-context/<skill-name>/SKILL.md
Check $ARGUMENTS:
├── starts with "validate" → Validate Mode
├── <skill-name> <rule-text> → Mode A: Direct Add
└── No arguments → Mode B: Interactive
Parsing arguments:
validate → Validate Mode. Otherwise → Add Mode.validate alone → all skills. validate <skill> → specific skill.Skill name normalization (applies to all modes):
| User input | Resolved |
|---|---|
review | unikit-review |
unikit-review | unikit-review |
/unikit-review | unikit-review |
my-custom-skill | my-custom-skill |
Rule: strip leading /. If name doesn't start with unikit- AND {{skills_dir}}/unikit-<name>/SKILL.md exists → use unikit-<name>. Otherwise use as-is.
After resolving: verify {{skills_dir}}/<resolved>/SKILL.md exists. If not → error:
"Skill '<resolved>' not found. Available unikit skills: [scan {{skills_dir}}/unikit-*/SKILL.md for installed skills]."
User provided skill name and rule text:
/unikit-skills-context review "Always check null-check symmetry first"
Proceed to Step 1 with resolved skill name and rule text.
No arguments provided.
AskUserQuestion: Which skill do you want to customize, and what rule should be added?
Skill-context rules change HOW a skill works — priorities, steps, guards. For coding conventions (naming, patterns), use /unikit-rules instead.
Examples:
After user responds, parse skill name and rule text, then proceed to Step 1.
Read the base skill file: {{skills_dir}}/<resolved>/SKILL.md
Check if the base SKILL.md already covers the proposed rule:
| Situation | Action |
|---|---|
| Base already contains this exact instruction | Tell user: "Already covered in base skill: {quote}". Skip. |
| Base has a weaker version of same instruction | Add to skill-context as strengthened override. Note what it strengthens. |
| Base contradicts the proposed rule | Add to skill-context as explicit override. Warn that skill-context wins over base. |
| No overlap with base | Add to skill-context as new rule. |
Read .unikit/skill-context/<skill>/SKILL.md if it exists.
Check for semantic duplicates — if a rule with the same meaning already exists in skill-context, tell user and skip.
If file doesn't exist — create directory and file:
mkdir -p .unikit/skill-context/<skill-name>
# Project Rules for /<skill-name>
> Auto-generated by `/unikit-skills-context`. Do not edit manually.
> Last updated: YYYY-MM-DD HH:mm
## Rules
### [Rule Name]
**Rule**: [Specific, actionable instruction in English]
If file exists — read it, then:
### [Rule Name] entry under ## Rules> Last updated: lineFormatting:
✅ Added to .unikit/skill-context/<skill>/SKILL.md:
### [Rule Name]
**Rule**: [the rule text]
Cross-check: [result — "no overlap with base" / "strengthens base rule on X" / "overrides base behavior Y"]
Triggered by:
/unikit-skills-context validate → check ALL skills that have skill-context files/unikit-skills-context validate <skill> → check specific skill onlyGlob: .unikit/skill-context/*/SKILL.md
If checking specific skill → filter to that one.
If no skill-context files found → report "No skill-context files to validate." and stop.
For each skill-context file:
{{skills_dir}}/<skill>/SKILL.md| Case | Description | Recommendation |
|---|---|---|
| A: Fully covered | Base now contains equivalent or superset rule | Remove from skill-context — base handles it |
| B: Conflict | Base directly contradicts skill-context rule | User decision required — skill-context wins if kept |
| C: Partial overlap | Neither fully covers the other | Analyze and present options |
| D: No overlap | Rule is unique to project context | Keep as-is, no action needed |
Collect all Case A/B/C findings. If none found → report "All skill-context rules are current." and stop.
For each stale rule:
Case A — Fully covered:
### ✅ /unikit-<skill> — Fully covered: [Rule Name]
- **Base SKILL.md says:** [base rule text]
- **Skill-context says:** [project rule text]
- **Recommendation:** Remove from skill-context (base covers it)
Case B — Conflict:
### ⚠️ /unikit-<skill> — Conflict: [Rule Name]
- **Base SKILL.md says:** [base rule text]
- **Skill-context says:** [project rule text]
- **Note:** Skill-context has priority — if kept, base version is ignored
Case C — Partial overlap:
### 🔄 /unikit-<skill> — Partial overlap: [Rule Name]
- **Base SKILL.md says:** [base rule text]
- **Skill-context says:** [project rule text]
- **Analysis:** [explain overlap and whether parts are independent]
- **Warning:** Skill-context has priority — if kept as-is, base's unique parts on this topic will be lost
Use AskUserQuestion in batches of up to 3:
Case A:
Options:
Based on choice:
Case B:
Options:
Based on choice:
Case C:
Options:
Based on choice:
For each decision:
After applying:
> Last updated: line.unikit/skill-context/, NEVER to {{skills_dir}}/unikit-*//unikit-rules for those).unikit/skill-context/*; treats base skills ({{skills_dir}}/) and rules (.unikit/memory/, .unikit/RULES.md, .unikit/rules/) as read-only/unikit-skills-context review "Always check null-check symmetry first"
> ✅ Added to .unikit/skill-context/unikit-review/SKILL.md:
> ### Null-Check Priority
> **Rule**: Always check null-check symmetry first when reviewing code.
> Cross-check: no overlap with base
/unikit-skills-context validate
> 🔍 Checking 2 skill-context files...
>
> ✅ /unikit-fix — Fully covered: Cancellation Cleanup
> Base SKILL.md now includes: "check cancellation cleanup in async methods"
> Recommendation: Remove from skill-context
>
> ✅ /unikit-review — No overlap: all 3 rules are project-specific
>
> ⚠️ 1 stale rule found. Remove? (Yes / Keep)
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
A test skill from an extension
日本語の概要は準備中です。原文の説明を表示しています。
A test skill from an extension (v2)
日本語の概要は準備中です。原文の説明を表示しています。
Initialize the UniKit framework in a project. Scans the current project to detect the engine and real tech stack, then generates the base framework documents that give AI agents context about the project — the resolved project description, the architecture doc, AGENTS.md, and the user-editable .unikit/config.yaml. This is the one-time, whole-project setup run before any other unikit skill. Use whenever the user wants to initialize, set up, or onboard the framework, e.g. "initialize unikit", "init the framework", "set up unikit", "set up the project", "configure AI context", "scan my project and set it up", "bootstrap the project". It also actualizes the config of a project already set up — say "update the config", "add missing settings", "actualize configuration", "fix my config".
日本語の概要は準備中です。原文の説明を表示しています。
Generate the architecture guidelines for a game project. Scans the project structure and tech stack, then produces .unikit/ARCHITECTURE.md describing the folder layout, dependency rules, and how modules communicate. Name a specific pattern or let it auto-detect. Use when the user wants to define or document the project architecture, e.g. "generate architecture", "describe the architecture", "which architecture should I use", "set up project architecture", or mentions module structure, module boundaries, project organization, or dependency rules.
日本語の概要は準備中です。原文の説明を表示しています。
Archive completed plans. Moves finished folder plans from .unikit/code/plans/<folder>/ to .unikit/code/archive/plans/<folder>/, so plan lookup and the plan lists stop offering them; an unfinished plan moves only when the user picks it, and is marked as unfinished. Lists every plan with its created and last-change dates; plans can be picked by number or by date. Never deletes, renames or commits. Use when user says "archive plans", "archive completed", "archive old plans", "clean up plans", or "show archived plans". Not for .unikit/code/PLAN.md or FIX_PLAN.md; to check that a plan is really done use /unikit-verify, to commit the move use /unikit-commit.
日本語の概要は準備中です。原文の説明を表示しています。
Create conventional commit messages for {{engine_name}} projects by analyzing staged changes. Handles engine-specific concerns like companion file pairing, binary assets, and linking the related plan. ALWAYS use this skill when the user asks to commit, save changes, or create a commit. Trigger phrases include "commit", "create commit", "commit this", "save changes", "save my work". Even if the user simply says "commit" or asks you to commit after finishing a task — invoke this skill, do NOT commit manually via git.
日本語の概要は準備中です。原文の説明を表示しています。