"Validate the discipline plugin's configuration, the posture-batch overlay and do-your-research-deep's verification depth, and explain how to change it through Claude Code's plugin configuration prompt. Use when: 'set up discipline', 'configure discipline', 'discipline setup', 'is discipline configured', 'what's in my posture batch', 'what's my deep-research depth', or the user wants to adjust which correctors the batch runs or how deeply the research fan-out verifies. 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)."
Recursos
1Instal·la
npx skillscat add melodic-software/claude-code-plugins/plugins-discipline-skills-setup Instal·la des del registre de SkillsCat.
Variables
Batch exclude: ${user_config.batch_exclude}
Batch promote: ${user_config.batch_promote}
Batch demote: ${user_config.batch_demote}
Deep-research verification depth: ${user_config.research_deep_verification}
Purpose
Report discipline's effective configuration without editing Claude Code settings.
The plugin's whole configuration surface is native userConfig: threesweep-all batch-overlay options (batch_exclude / batch_promote /batch_demote) plus do-your-research-deep's verification-depth default
(research_deep_verification). Claude Code prompts for them when the plugin is
enabled, stores non-sensitive options in user settings, and ignores pluginConfigs
entries in project and local settings on current releases (>= 2.1.207).
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)
- Read the four rendered
${user_config.…}values from the Variables block
above (the threebatch_*overlay options andresearch_deep_verification). Do
not inspect or editsettings.json,settings.local.json, managed settings, orpluginConfigsdirectly. - Empty or unexpanded is unset. An option the user never configured does not
reliably render empty, the literal${user_config.…}token can survive (a
zero-config or headless install). Treat BOTH an empty value AND a surviving
literal placeholder as unset (the key's own default applies); never read the
literal token as a value. - For each set batch option, split on commas and report the parsed corrector names,
and the net effect:batch_excludedrops those correctors from the batch,batch_promoteruns those situational correctors every session,batch_demote
gates those core correctors on relevance. With all three unset, report that the
batch runs the tiers exactly as the correctors declare them. - Validate the batch names against what is installed. Glob the sibling corrector
directories under this plugin'sskills/and, for each name in an overlay, report:- a name in
batch_excludeorbatch_demotethat matches no installed corrector: FAIL (typo or removed corrector); remediation: fix via the plugin configuration
prompt; - the same name in
batch_excludeand inbatch_promote/batch_demote: contradictory; report it; batch_promoteis situational-only (readmetadata.discipline-batch):
promote only situational names. A promote naming anever-tier orcore
corrector, or a name that matches no installed corrector, is a visible
warning and is not promoted, never stays out of the batch, core stays
core, unknown is ignored. Do not report these as successful promotes.- a
batch_demotenaming an already-situational corrector, a no-op; INFO.
- a name in
- Report the deep-research verification depth.
research_deep_verificationsetsdo-your-research-deep's default depth. Report the effective value:tiered
(fan subagents out only over load-bearing items) orfull(subagent-verify every
item). An unset value, a surviving literal placeholder, OR any unrecognized string
(not exactlytieredorfull) all resolve to thetiereddefault. Report an
unrecognized value as a WARN (typo; remediation: fix it via the plugin
configuration prompt) that still falls back to tiered, never a hard failure. Note
that an invocation argument todo-your-research-deepoverrides this default per
invocation. - Full-batch prerequisite. INFO: the batch's mid-session pass dispatches
conversation-inheriting fork subagents. Fork mode is on by default in interactive sessions
on Claude Code >= v2.1.232 (off by default in non-interactive-pand Agent SDK sessions;CLAUDE_CODE_FORK_SUBAGENToverrides either way:
https://code.claude.com/docs/en/sub-agents#fork-the-current-conversation, re-checked 2026-08-26).sweep-allpreflights this itself and degrades when the fan-out cannot inherit; that runbook owns the behavior; report the prerequisite here only so an unavailable
fan-out reads as expected rather than as a misconfiguration, and do not restate what
the degraded pass does. - To change or clear any value, direct the user to Claude Code's native flow, per the
marketplace's plugin-reconfiguration convention, which owns the verified-version record
(https://github.com/melodic-software/claude-code-plugins/blob/main/docs/conventions/plugin-reconfiguration/README.md):
interactive/plugin configure discipline@<marketplace>any time; headless, rerunclaude plugin install discipline@<marketplace> -s <scope> --config <key>=<value>(repeatable
per key). Against an already-installed plugin it printsalready installedand still writes
the value. Never uninstall to reconfigure: that drops the whole storedpluginConfigsentry,
resetting every option to its manifest default. Pass the scopeclaude plugin listreports for
this plugin (from the home directory passuser); the option value lands in user settings
whatever-ssays. Claude Code owns persistence. Do not hand-edit anypluginConfigskey. - Tell the user to rerun
checkafter reconfiguration in a fresh session: the rendered${user_config.*}values are injected when this skill loads, so a same-session rerun still reports
the OLD values. Report the OBSERVED effective values from that fresh run, never an unobserved change.
Gotchas
- No
apply.
Do not write the plugin cache, Claude Code user settings, orpluginConfigs,
per the uniform setup contract (docs/plugin-philosophy.md
"Setup is explicit and repeatable" in the marketplace repository). AndpluginConfigsis the only thing an apply here could write, so there is no
conforming apply to offer: reconfiguration is the native/plugin configure discipline@<marketplace>flow. - Unexpanded token is not a value. A surviving literal
${user_config.…}means
unset (the key's default applies). Parsing it as a corrector name or a depth value
is the failure this check exists to prevent.