From dotclaude-bootstrap
Diagnose and fix broken dotclaude presets and their bundled plugin scripts. ONLY for dotclaude preset/plugin artifacts in this dotclaude repo — do NOT invoke for general TypeScript debugging, npm package issues, or non-dotclaude tools. Invoke only when called from /preset-wizard or when the user explicitly requests help with a dotclaude preset that fails to build, typecheck, or pass tests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotclaude-bootstrap:preset-debuggerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Diagnose and fix failures in dotclaude preset artifacts: YAML files, sidecar files,
Diagnose and fix failures in dotclaude preset artifacts: YAML files, sidecar files, plugin builds, and generated vitest stubs. Follow phases in order.
Rules:
presets/, claudekit/, scripts/, and plugins/ — do not modify unrelated code.This skill may be invoked with context from /preset-wizard. If provided, use it directly
rather than re-running diagnosis from scratch:
pnpm typecheck / pnpm build-plugin / pnpm test)If invoked manually without context, run the full diagnosis phase.
Ask the user (or infer from context):
Run all three checks and capture exact output:
pnpm typecheck
pnpm build-plugin <preset-name>
pnpm test
For each command, record: pass ✓ / fail ✗ + exact error message.
Match the error output against known failure patterns:
Symptoms: ZodError, validation failed, does not match schema
Common causes:
name, kind, description, version)name not kebab-case (/^[a-z][a-z0-9-]*$/)version not SemVer (X.Y.Z)external_setup entry has standalone: false but no install_hintcomponents.* does not exist in claudekit/settings_patch contains nested object that conflicts with schemaFix direction: edit the preset YAML to satisfy the schema.
Symptoms: ENOENT, component not found, locateComponent failed
Common causes:
Fix direction: correct the component name in the preset YAML, or vendor the missing component.
Symptoms: sidecar.schema.json, invalid sidecar, commit must be full 40-char SHA-1
Common causes:
source.commit is not a full 40-char hex SHA (e.g., short hash)imported_at is not YYYY-MM-DD formatsource, license, modified)modifications is non-null but modified: falseFix direction: correct the .source.yaml or SOURCE.yaml file for the affected component.
Symptoms: error TS... from pnpm typecheck
Common causes:
exactOptionalPropertyTypes violation: accessing a field that could be undefined without a guardnoUncheckedIndexedAccess violation: indexing an array without checking boundsexternal_setup field in a test fixture that constructs a Preset object directlyFix direction: edit the TypeScript file at the reported location.
Symptoms: test file fails, AssertionError, TypeError in a test
Common causes:
Preset object without the newly added external_setup fieldFix direction: add missing fields to test fixtures, or fix stub syntax.
Symptoms: unhandled exception in pnpm build-plugin, not Pattern B
Common causes:
plugins/<name>/ directory has stale files from a previous failed build — clean and retryFix direction: run pnpm build-plugin <name> --clean, or fix YAML indentation.
For each identified error, show the user:
Ask: "Apply this fix? (yes / skip / modify)"
Handle multiple errors in sequence — propose one at a time if they are in different files.
Apply only changes the user has approved. Use Edit/Write tools — do not use sed or awk.
Keep changes minimal: fix the reported error and nothing else. Do not refactor surrounding code.
After all approved fixes are applied, re-run the full suite:
pnpm typecheck
pnpm build-plugin <preset-name>
pnpm test
If new errors surface (not present in Phase 1), treat them as a new diagnosis cycle — go back to Phase 1c with the new output.
Report:
pnpm install:user <preset-name> --force --symlink
# or
pnpm install:project <preset-name> --force --symlink
Report:
/dotclaude-component-picker")Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
2plugins reuse this skill
First indexed May 15, 2026
npx claudepluginhub phantien133/dotclaude --plugin dotclaude-bootstrap