# Setup

> Validate the education plugin's quiz, report-library, and teach workspace-root configuration and explain how to change it through Claude Code's plugin configuration prompt. Use when: 'set up education', 'configure education', 'education setup', quiz offers feel wrong, report recall cannot find prior quizzes, or teach workspaces land somewhere unexpected. Actions: check (read-only verification, default and only action. This plugin's entire configuration is native userConfig, so there is nothing an apply could write).

- Skill: `melodic-software/setup-11` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add melodic-software/setup-11`
- Raw SKILL.md: https://api.skillmd.com/api/skills/melodic-software/setup-11/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: melodic-software (https://skillmd.com/u/melodic-software)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/melodic-software/setup-11

---


## Purpose

Confirm how `/education:quiz-me` offers comprehension checks, where generated quiz reports are
stored, and where `/education:teach` roots its learning workspaces, without editing Claude Code
settings. `quiz_policy`, `report_library_dir`, and `workspace_root` are native `userConfig`
values. Claude Code prompts for them when the plugin is enabled and owns persistence.

Check-only per the uniform setup contract's userConfig-only carve-out: this plugin's entire
configuration surface is native `userConfig`, so `check` (the default and only action) verifies
and reports, and reconfiguration routes through Claude Code's native flow, an `apply` here
would have nothing to write except the `pluginConfigs` setup must never touch. Non-interactive:
report and recommend; never block on a question.

Official contract: <https://code.claude.com/docs/en/plugins-reference#user-configuration>.

## `check` (read-only, the only action)

1. Read the rendered `${user_config.quiz_policy}`, `${user_config.report_library_dir}`, and
   `${user_config.workspace_root}` values from this skill. Do not inspect or edit
   `settings.json`, `settings.local.json`, managed settings, or `pluginConfigs` directly.
2. Explain the effective `quiz_policy`:
   - `off`, quiz-me never offers a post-work quiz;
   - `on-request` (default). Offers only when asked;
   - `always`, offers after each completed change;
   - `above-threshold`, offers when the change is large;
   - any other value is treated as `on-request` at runtime.
3. Explain the effective report library root:
   - empty or unexpanded `report_library_dir`, reports live under the plugin's own persistent
     data directory;
   - configured directory outside the consuming project, reports and recall search that checkout;
   - configured directory that is `${CLAUDE_PROJECT_DIR}` or nested under it, quiz-me's
     repo-tree guard refuses it and falls back to `${CLAUDE_PLUGIN_DATA}` (same effective root
     as unset).
4. Explain the effective teach workspace root:
   - empty or unexpanded `workspace_root`. FIRST read the rung-3 pointer file
     `${CLAUDE_PLUGIN_DATA}/workspace-root`: when present and it names an existing directory,
     report THAT path as the effective topic-mode root (it persists a prior one-time ask, and
     also records the migration-offer outcome); when absent or invalid, report the documented
     ladder (project declaration → this setting → one-time ask → OS Documents `Claude Learning/`
     home for topic mode → plugin data); codebase-mode workspaces stay under plugin data by
     default either way (their lessons can embed private-repo snippets; Documents roots are
     often cloud-synced);
   - configured directory outside the consuming project, both modes root there;
   - configured directory that is `${CLAUDE_PROJECT_DIR}` or nested under it, teach's
     repo-tree guard refuses it (a committed root requires a declaration in the project's own
     CLAUDE.md or rules), falling back to the rest of the ladder.
5. State the tradeoff instead of asking: machine-private plugin data (default) versus a dedicated
   corpus checkout for long-lived recall across machines. For a repository-backed library,
   inspect the consumer's artifact conventions and recommend one portable location. Never
   recommend a machine-absolute team path.
6. To adopt a recommended value, reconfigure through Claude Code's native flow per the plugin-reconfiguration convention
   (<https://github.com/melodic-software/claude-code-plugins/blob/main/docs/conventions/plugin-reconfiguration/README.md>,
   which owns the verified-version record): interactive `/plugin configure education@<marketplace>` any time;
   headless, rerun `claude plugin install education@<marketplace> -s <scope> --config quiz_policy=<value>`
   (repeatable per key) — against an already-installed plugin it prints `already installed` and still writes the
   value. Never uninstall to reconfigure: that drops the whole stored `pluginConfigs` entry, resetting every
   option to its manifest default. `-s` defaults to `user`; pass the scope `claude plugin list` reports, and run
   `project`/`local` writes from that project's directory, or they land at a scope that does not load.
7. Tell the user to rerun `check` after reconfiguration in a **fresh session** — rendered values are injected at
   skill load, so a same-session rerun still reports the OLD values — then report the observed effective settings.

## Output

Report the current effective `quiz_policy`, the effective report-library root, the effective
teach workspace root, any recommended changes, and whether the user must reconfigure through
Claude Code. Do not claim a configuration change until a rerun observes the new rendered values.

## Boundaries

- Do not start a teach, explain, or quiz session; use `/education:teach`, `/education:explain`,
  or `/education:quiz-me`.
- Do not write the plugin cache, Claude Code user settings, or `pluginConfigs`, per the uniform
  setup contract (`docs/PLUGIN-PHILOSOPHY.md` "Setup is explicit and repeatable" in the
  marketplace repository).
- Do not invent an organization, repository, marketplace, or environment-variable prefix.

