From benkyo
Change the depth-of-engagement (blackbox vs whitebox treatment) for a concept in a benkyo project. Use this skill when the learner expresses 「ちゃんと理解したい」「腹落ちしたい」「導出やりたい」「なぜそうなる?」「もっと深く」 (commit signals — wants deeper understanding), or 「公式覚えれば」「暗記でいい」「ざっくり」「飛ばして」「もういい」 (release signals — wants to shortcut to memorization). Also trigger when you (the tutor) detect indirect signals: repeated "なんで" on a concept, mis-applying a blackbox reference, failed transfer to varied problems (commit candidates), or stuck-multiple-breakdowns / fatigue / time-pressure (release candidates).
How this skill is triggered — by the user, by Claude, or both
Slash command
/benkyo:benkyo-treatment-shiftThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill handles the operation of changing a concept's treatment within a project — moving it from "use as a tool" (blackbox) to "really understand" (whitebox), or vice versa. Both directions have specific protocols.
This skill handles the operation of changing a concept's treatment within a project — moving it from "use as a tool" (blackbox) to "really understand" (whitebox), or vice versa. Both directions have specific protocols.
The decision when to shift is part of this skill. The actual ongoing teaching is in benkyo-tutoring.
Internal terms (blackbox, whitebox, treatment, cut, commit, release, prereq, node, edge, graph, event, log, record, schema, JSON, metadata, treatment_changed) are NEVER spoken to the learner. Translate:
When you internally execute benkyo treatment set ..., what you say out loud is "じゃあここは公式覚えて使う形に切り替えるね" (or similar), NEVER "treatment を blackbox にしました".
Internal IDs are also forbidden: never write c1, p1, prj1 etc. in learner-facing text. Refer to concepts by their natural-language name or content.
See ../_benkyo-shared/references/nl-to-cli.md for the full translation table.
| Learner says | Direction |
|---|---|
| 「理解したい」「腹落ちしたい」「導出やりたい」「なぜそうなる?」「もっと深く」 | commit (blackbox → whitebox) |
| 「公式覚えれば」「暗記でいい」「ざっくり」「飛ばして」「もういい」 | release (whitebox → blackbox) |
When a direct signal is clear, confirm intent briefly then execute.
For commit:
For release:
When you detect an indirect signal, propose (don't execute silently):
Tutor: ここ、3 回ほど見直してるけど、まだ詰まり気味だね。
一旦この公式を使う形に切り替えて、先に進む?後で気持ちに余裕できたら戻ってきても良い。
Goal: open up the concept for full understanding (breakdown becomes traversable into prereqs).
benkyo breakdown --project --node <concept_id> to see direct prereqs. If too few or none, the global graph lacks structure here.benkyo concept find --content <name> (identity check)benkyo edge add --from <concept_id> --to <prereq_id> --type prereqbenkyo concept add --content <...> then add edgebenkyo treatment unset --project prj1 --concept c5
# or equivalently:
# benkyo treatment set --project prj1 --concept c5 --treatment whitebox
benkyo events add --kind treatment_changed \
--project prj1 \
--payload '{"concept_id": "c5", "from": "blackbox", "to": "whitebox"}' \
--notes "<why the learner asked or what triggered the shift>"
benkyo-tutoring).Goal: close off the concept; just use the reference.
../_benkyo-shared/references/granularity-guide.md and decision-tables.mdbenkyo treatment set --project prj1 --concept c5 \
--treatment blackbox --reference-file <path>
# or with inline reference:
# benkyo treatment set --project prj1 --concept c5 \
# --treatment blackbox --reference "<content>"
benkyo events add --kind treatment_changed \
--project prj1 \
--payload '{"concept_id": "c5", "from": "whitebox", "to": "blackbox"}' \
--notes "<the fatigue/transfer-failure signal that triggered the release>"
benkyo-tutoring).| Operation | Cascade |
|---|---|
| commit | Adds prereqs ONE level if missing; doesn't recurse. Future commits on those prereqs are separate decisions. |
| release | Single node only. Prereqs of the released node are unchanged (their treatments stay as set). The released node simply becomes a terminal in traversal. |
This is asymmetric on purpose:
If the same concept oscillates commit ↔ release within a session, that's a signal something's wrong. Common causes:
Pause the toggling. Talk it through.
| Internal | Learner-facing phrasing |
|---|---|
| commit | "掘り下げる" / "ちゃんと理解する" / "深く見る" |
| release | "公式で済ます" / "暗記で済ます" / "道具として使う" / "飛ばす" |
| blackbox | "公式" / "ツール" / "道具" / "暗記項目" |
| whitebox | "理解" / "腹落ち" / "本質" |
| reference content | "公式表" / "早見表" / "メモ" |
| prereq | "下地" / "前提" / "必要な前の物" |
Never use the English internal terms in learner-facing utterances.
When preparing reference content for release, follow these standards (see ../_benkyo-shared/references/granularity-guide.md):
Example for Laplace transform in a telecom project:
**変換表 (主要):**
δ(t) → 1
u(t) → 1/s
e^(-at) → 1/(s+a)
sin(ωt) → ω/(s²+ω²)
cos(ωt) → s/(s²+ω²)
**演算則:**
線型性: L{αf + βg} = αF + βG
微分: L{f'(t)} = sF(s) - f(0)
積分: L{∫f dτ} = F(s)/s
たたみ込み: L{f*g} = F·G
../_benkyo-shared/references/cli-cheatsheet.md../_benkyo-shared/references/decision-tables.md../_benkyo-shared/references/granularity-guide.md../_benkyo-shared/references/nl-to-cli.md../_benkyo-shared/references/literature-pointers.mdCreates, 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 youseiushida/benkyo --plugin benkyo