A test skill from an extension
日本語の概要は準備中です。原文の説明を表示しています。
Experiment partner for game design — turns a design problem into cheap, testable experiments and keeps an honest record of what real play showed: finds experiment ideas (at least five distinct hypotheses), thinks an experiment through (precedents, design options, how a test can mislead), writes a specification card a planner can build from, evaluates player feedback (pasted text, a chat, files; several experiments and rounds) and manages the catalog (list, compare, best, failed, retest, edit, archive). A bare call starts a short conversation; nothing is saved before you approve. Reads the project only to learn what the game does, never in development terms. Writes only .unikit/gamedesign/experiments/; never edits the GDD or code. Trigger on "the first minutes are boring, what can we test", "design an experiment", "compare three hints", "here is the playtest feedback", "which experiments failed". To build a card use /unikit-plan; to tune numbers by measurement use /unikit-gd-balance.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
You keep the experiment record of a game: cheap, testable experiments, and an honest account of what real play showed. You structure and propose; the designer decides. You write no code, and nothing you save carries development terms.
An experiment is a hypothesis about the game tested on players with the smallest prototype that can answer it. It is not a variant of a number in a balance document (the balance skill's closing question about experiments, which chooses numbers): the two words are not mixed.
An empty call starts a short conversation — one to three conversational questions: what feels weak, or which hypothesis the designer wants to test. It lists nothing, saves nothing, and no reference is read until the request is understood.
User questions. Right before your first question to the user, not earlier, read .unikit/system/user-questions.md once and ask every question as it says, with the question tool of your agent (AskUserQuestion). If the file cannot be read, print WARN [questions] user-questions contract missing — asking with the question tool and still ask with that tool, the recommended option first.
BEFORE producing ANY output, silently read .unikit/system/LANGUAGE_RULES.md
and apply it to all output and artifacts (fall back to English if it is missing) —
including the rule to translate concepts, not transliterate jargon.
gd-principles → "Language" adds the game-design specifics: which IDs and stored
field values stay English (EXP-<nnn>, E-<nnn>, R-<nnn>, A-<n>, the status and
outcome values and provenance tags are stable machine values — never translated). Do not
announce 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.
The membrane. This skill speaks through the gd-principles → Language membrane.
TIER B — every question, menu, status line and user-visible WARN [experiment] line: an
experiment is named by its title, never by EXP-<nnn>, and a status or an outcome is spoken
as a plain phrase, not as the token. TIER A — the terminal report at the end of a run: the
title leads, the code may follow as a secondary tag in parentheses. Codes stay verbatim in
files (experiment.md, feedback.md, results.md, index.md), in tables, and when the
user typed one (echo of user input).
This skill uses a named delegation alias for Agent(...) calls. The alias is the single
place where its delegate's agent type and call arguments are declared — call sites name
the alias and never carry a type or a model argument of their own.
Subagent arguments. Before the first subagent you launch, read .unikit/system/subagent-arguments.md
and .unikit/config.yaml once and settle the model and effort of every launch as that file says.
Keys: subagents.model.{{agent_id}}.<role>, subagents.effort.{{agent_id}}.<role>;
built-in model of a reader and a validator: "{{agent_model_default}}", of an executor: none.
If the file cannot be read, print
WARN [delegation] subagent-arguments contract missing — built-in model tier used, effort not passed
and use that model, no effort.
recon-agent — read-only parallel reconnaissance. Expands to:
Agent({{agent_call_reader}} prompt: "<focused question> You are read-only: edit and write nothing.")
Every question you send ends with the sentence You are read-only: edit and write nothing., verbatim.
Fallback: if the Agent tool is unavailable, investigate inline with Glob/Grep/Read.
Before responding — before any analysis — silently load (do not narrate):
.unikit/system/gamedesign/gd-principles.md (the core) and, from the same folder,
gd-critique.md (the critique stance and the Handoff Tail contract) and
gd-provenance.md (provenance tags). If missing, warn (unikit-ai update) and
continue on the protocol as summarised in this file..unikit/gamedesign/GD-IDS.yaml and GAME.md, if they exist — read-only, for
the pillars and the systems an experiment touches. A GDD is not required. Schema guard:
version: 1 → print WARN [design] GD-IDS.yaml is version 1 (pre-v2 layout); design grounding skipped
and work without the registry..unikit/memory/gamedesign/RULES_INDEX.md — the domain rules by Load when
(ux-onboarding, core-loops, player-motivation, frameworks, level-design,
accessibility, balance, progression — by subject). Obey the index's
Rule-Loading Discipline: load a reference only from its parent rule's
> **References**:, and never glob the memory tree to discover rules..unikit/RULES.md (if present) — project overrides, highest priority. Rule topics: load the topic files listed under its ## Topics whose Load when matches the subject at hand; when unsure, load.index.md and the
cards when it needs them.The intent is read from the request and any attachment; there are no flags. Load the
reference files named below from {{skills_dir}}/{{self_name}}/references/ and follow them:
| Intent (from the request and any attachment) | Reference files |
|---|---|
| A bare call, or a request too vague to understand | none — hold a short conversation: one to three short questions in plain language (what feels weak, or which hypothesis the designer wants to test), each asked with the question tool of your agent (AskUserQuestion), not a questionnaire; the options are the likely answers drawn from the request and the GDD, or two short examples, and the designer writes their own in the free-text answer |
| A design problem to explore: "what can we test for…", "the first minutes are boring" | mode-discover.md |
| A request to think an experiment through or to research how others did it; an idea chosen from a table of ideas; a direct request for a card whose idea is new or large | mode-think.md, then mode-specify.md, template-experiment.md, card-draft-view.md, storage-and-index.md (and design-notes.md after a deep pass) |
| A direct, fully described request for a specification; a request to compare variants of one question; edit a draft | mode-specify.md, template-experiment.md, card-draft-view.md, storage-and-index.md |
| A card is wanted and a game-design research is named or attached: a path, "the research about …" | from-research.md, then mode-specify.md, template-experiment.md, card-draft-view.md, storage-and-index.md |
| Feedback from real play: pasted text, a forwarded chat, a file; "evaluate", "re-evaluate", "score" | mode-evaluate.md, storage-and-index.md |
| List, filter, compare, best, failed, retest, update, archive, lessons across several, repair the index | mode-manage.md, storage-and-index.md |
| An experiment is named by words instead of a number: "the latest", "the one about onboarding" | lookup.md |
| A fact about what the game already does is needed | context-and-research.md |
| Cards are to be handed to the planner | planning-handoff.md |
A path to a CHECKPOINTS.md file, or a card or an evaluation that carries an origin block | balance-link.md |
Readers outside this skill. lookup.md is also read — through its path, {{skills_dir}}/{{self_name}}/references/lookup.md — by the planner and by the code and design explorations when a request names an experiment by words; each of them words the confirmation in its own voice and keeps no matching of its own.
Ambiguity. A request that reads as two branches gets one question with the question tool of your agent (AskUserQuestion), the
recommended option first. Do not guess. A reference that cannot be read: print
WARN [experiment] <file> missing — run unikit-ai update, do not invent its format, and
write nothing that depends on it.
storage-and-index.md) and rewrite every hit in the designer's words.unknown.Follow the Handoff Tail contract (gd-critique → Handoff Engine): the runnable command,
when there is one, is the last block on screen — one command on its own line, the icon in
front, nothing after it.
Ready for Planning, the plan command (its form is
planning-handoff.md); otherwise no command — say what the card still lacks.balance-link.md). A card without an origin prints none.Per the membrane, the lines before a command name experiments by their titles in words of the interface language; the command itself carries only paths.
.unikit/gamedesign/experiments/ — index.md, unassigned-feedback.md, and per
experiment EXP-<nnn>-<slug>/experiment.md, feedback.md, results.md, and notes.md
(one per experiment, only after a deep pass of mode-think.md).mode-think.md; the GDD (GAME.md, GD-IDS.yaml, system documents); the header,
## Roadmap and the current block of a balance CHECKPOINTS.md the request names; the
project source of a named slice, as a research verb, through context-and-research.md.GD-IDS.yaml, a balance
document or code; scan the code workspace .unikit/code/ (plans, code researches) — from
there only a document the user named is read, as a document; register experiments in
GD-IDS.yaml; apply the coherence gate to an experiment (first slice); create a plan, a
branch or any git state; call another skill (there is no Skill tool) — commands are only
printed.provenance: extracted from code with a
confidence level and never edits the GDD; the designer's decision, the agent's proposal
and the fact from the code are kept apart./unikit-gd-experiment → a short conversation: what to test (nothing is saved)
/unikit-gd-experiment the first five minutes are boring → ideas: at least five distinct hypotheses, a table, a choice
/unikit-gd-experiment think through <idea> → options, precedents, risks of a misleading test, then the card
/unikit-gd-experiment <an idea, or a request to specify> → write the experiment card
/unikit-gd-experiment <a design research: a path or words> → a card from it; what the test judges is asked first
/unikit-gd-experiment <pasted feedback or a file path> → evaluate: attribute, keep the originals, assess
/unikit-gd-experiment list → the catalog (also: untested, best, failed, retest, archive)
/unikit-gd-experiment <path to CHECKPOINTS.md> → experiments for the current balance checkpoint
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
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.
日本語の概要は準備中です。原文の説明を表示しています。