From verifier
Probe ${VAR} substitution allowlist in skill body (§1.2). Tests CLAUDE_PLUGIN_ROOT/DATA/SKILL_DIR/SESSION_ID/PROJECT_DIR substitution at invoke time.
How this skill is triggered — by the user, by Claude, or both
Slash command
/verifier:02-substitution-allowlistBashsid="${CLAUDE_SESSION_ID:-no-sid}"; ver="${VERIFIER_VERSION_DIR:-v-unknown}"; out_dir="$CLAUDE_PROJECT_DIR/findings/$ver/$sid"; mkdir -p "$out_dir"; printf "[02-FM %s] tag=fm-registered\n" "$(date -Iseconds)" >> "$out_dir/probe.log"The summary Claude sees in its skill listing — used to decide when to auto-load this skill
§1.2 で予測される置換結果(skill body):
§1.2 で予測される置換結果(skill body):
| 記法 | 期待 |
|---|---|
${CLAUDE_PLUGIN_ROOT} | 絶対 path |
${CLAUDE_PLUGIN_DATA} | 絶対 path |
${CLAUDE_SKILL_DIR} | SKILL.md の dirname の絶対 path |
${CLAUDE_SESSION_ID} | UUID |
${CLAUDE_PROJECT_DIR} | literal のまま残る |
${VAR} を skill body で echoproj="${CLAUDE_PROJECT_DIR:-$PWD}"
ver="${VERIFIER_VERSION_DIR:-v-unknown}"
sid="${CLAUDE_SESSION_ID:-no-sid}"
out_dir="$proj/findings/$ver/$sid"
mkdir -p "$out_dir"
{
printf '[02-BODY %s] tag=alive-check\n' "$(date -Iseconds)"
printf '[02-BODY] SUBST_ROOT=[${CLAUDE_PLUGIN_ROOT}]\n'
printf '[02-BODY] SUBST_DATA=[${CLAUDE_PLUGIN_DATA}]\n'
printf '[02-BODY] SUBST_SKILL_DIR=[${CLAUDE_SKILL_DIR}]\n'
printf '[02-BODY] SUBST_SESSION_ID=[${CLAUDE_SESSION_ID}]\n'
printf '[02-BODY] SUBST_PROJECT_DIR=[${CLAUDE_PROJECT_DIR}]\n'
} | tee -a "$out_dir/probe.log"
proj="${CLAUDE_PROJECT_DIR:-$PWD}"
ver="${VERIFIER_VERSION_DIR:-v-unknown}"
echo "=== install.log (search for validator block) ==="
grep -E "plugin-only|CLAUDE_PLUGIN_DATA|skill hooks|Bad substitution" "$proj/findings/$ver/install.log" 2>&1 || echo "no install.log yet (run install-marketplace.sh first)"
echo
echo "=== probe.log tail ==="
sid="${CLAUDE_SESSION_ID:-no-sid}"
tail -n 30 "$proj/findings/$ver/$sid/probe.log"
完了したら exit。./scripts/assert.sh 02。
npx claudepluginhub kazukinagata/analyzing-claude-plugin --plugin verifierOffers UI/UX design guidance for web and mobile with 50+ styles, 161 color palettes, 57 font pairings, and 99 UX guidelines across 10 stacks. Use for designing pages, components, color systems, or reviewing UI code.
Mines projects and conversations into a searchable memory palace. Activates on queries about MemPalace, memory palace, mining, searching, palace setup, wings, rooms, drawers, or recalling past work.