How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-engine:config-setThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Persist an engine-wide configuration value. The single key the engine reads today is `diff.tool` — the command `/skill-engine:review` prints when surfacing how to inspect a proposed-vs-live diff. The default value is `git diff --no-index --color`; users with a preferred diff tool override it once and the choice persists across sessions.
Persist an engine-wide configuration value. The single key the engine reads today is diff.tool — the command /skill-engine:review prints when surfacing how to inspect a proposed-vs-live diff. The default value is git diff --no-index --color; users with a preferred diff tool override it once and the choice persists across sessions.
/skill-engine:config-set <key> "<value>"
Example invocations:
/skill-engine:config-set diff.tool "delta"
/skill-engine:config-set diff.tool "git diff --no-index --color"
/skill-engine:config-set diff.tool "code --diff"
The <value> is taken verbatim; quote it so shell-splitting does not eat embedded spaces. The engine does not validate that the configured command exists on the user's PATH — that is the user's responsibility. A misconfigured command surfaces as a runtime failure when /skill-engine:review prints it and the user runs it.
The config file lives at $CLAUDE_PLUGIN_DATA/config.json. This is the same plugin-data tree the existing SessionStart hook (declared in plugin/skill-engine/.claude-plugin/plugin.json) writes state/current.json to. The directory is created if absent.
When $CLAUDE_PLUGIN_DATA is unset, surface:
$CLAUDE_PLUGIN_DATA is unset. The engine's plugin-data tree is not reachable from this shell. Run the skill from a Claude Code session where the plugin is installed, or set $CLAUDE_PLUGIN_DATA to the engine's plugin-data directory.
Exit non-zero. Do not write a config file to a fallback location — the engine's other surfaces (the SessionStart hook, /skill-engine:review) all key off $CLAUDE_PLUGIN_DATA, and writing to a different path would create a config that the readers never find.
Read the existing config.json (or initialize an empty object if absent). Merge the new key/value into it, preserving any other keys present. Write back with schema_version: 1 if not already set.
Example file shape after /skill-engine:config-set diff.tool "delta":
{
"schema_version": 1,
"diff.tool": "delta"
}
The flat key shape (diff.tool as one string, not nested) keeps the file shallow and matches the argument the user typed. Future keys (diff.binary, cache.location, etc.) follow the same shape.
Set diff.tool = "<value>" in $CLAUDE_PLUGIN_DATA/config.json.
config-list skill would be the symmetric surface; it is out of scope for the v0.3.0 review workflow.config.json to remove a key, or set it back to the engine default.<value> as opaque.<key> accepted by the argument parser is written; readers (/skill-engine:review) read the keys they know and ignore the rest.git.readonly lint codifies engine-codebase read-only-ness).npx claudepluginhub nick-railsback/skill-engine --plugin skill-engineGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.