blueprint-plugin/skills/blueprint-workspace-scan/SKILL.md
Discover child blueprint workspaces and refresh the manifest. Use when adding/removing a child blueprint or when status shows stale portfolio data.
npx skillsauth add laurigates/claude-plugins blueprint-workspace-scanInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Refresh the monorepo root blueprint's workspaces.children registry by walking
the filesystem for child docs/blueprint/manifest.json files, reading their
feature-tracker.json when present, and writing cached rollup stats back to the
root manifest.
| Use this skill when... | Use /blueprint:status instead when... |
|------------------------|-----------------------------------------|
| Adding or removing a child blueprint | Just inspecting overall blueprint state |
| Root workspaces.children looks stale | You do not run a monorepo |
| Migrating to format_version 3.3.0 | You only want per-project details |
find docs/blueprint -maxdepth 1 -name manifest.jsonfind . -maxdepth 6 -type d \( -name node_modules -o -name .git -o -name dist -o -name build \) -prune -o -type f -path '*/docs/blueprint/manifest.json' -printdate -u +%Y-%m-%dT%H:%M:%SZParse these from $ARGUMENTS:
--dry-run: Preview discovered children and the JSON that would be written — make no changes.--max-depth N: Maximum directory depth to search (default 4). Increase for deeply nested monorepos.Execute this workspace scan:
If docs/blueprint/manifest.json is missing, stop and report that the current
directory is not a blueprint root. Suggest /blueprint:init for new projects.
Invoke the bundled script; it walks the tree, writes the updated manifest, and emits a structured summary:
bash "${CLAUDE_SKILL_DIR}/scripts/workspace-scan.sh" \
--project-dir "$(pwd)" \
--max-depth 4 $ARGUMENTS
The script:
workspaces.role == "child".node_modules, .git, dist, build, target, .venv.workspaces.role=root, discovery_strategy=auto-cache,
last_scanned_at, and a refreshed children[] array with cached_stats.Summarize the script output for the user:
manifest_format_version is below 3.3.0 (suggest running
/blueprint:upgrade inside them if the user wants a fully v3.3 portfolio).feature-tracker.json (cached stats will be null).Recommend running /blueprint:feature-tracker-sync at the root afterwards to
recompute derived statuses for any portfolio FRs that use implemented_by.
| Context | Command |
|---------|---------|
| Preview changes | /blueprint:workspace-scan --dry-run |
| Deeper monorepo | /blueprint:workspace-scan --max-depth 6 |
| Refresh all | /blueprint:workspace-scan followed by /blueprint:feature-tracker-sync |
| Key | Meaning |
|-----|---------|
| workspaces.role | root on the top manifest, child on per-project manifests |
| workspaces.children[].path | Path relative to the root (e.g., projects/esp32-lamp) |
| workspaces.children[].cached_stats | Rolled-up {total, complete, completion_percentage, current_phase} from the child's feature-tracker |
children[] wholesale — verify expected workspaces still
appear.chore(blueprint-plugin): refresh workspaces registry.tools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.