Collapse Step 5.6 from a single-skill detector (only the superpowers@claude-plugins-official plugin) into a generic `trigger -> fulfiller` table walker that scales to every canonical CLAUDE.md trigger. Inline 9-row map in SKILL.md covers: caveman, superpowers (kind: plugin), using-wiki, using-tasks, using-projects-meta, pulling-before-work, project-discipline, using-interns, active-platform. The `kind` flag (skill | plugin) drives which install command is emitted in the chat-only recommendation block. Detection paths: ~/.claude/skills/<name>/SKILL.md for skills, plugins.<id> in ~/.claude/plugins/installed_plugins.json for plugins. Algorithm: read project's CLAUDE.md -> match each non-comment line vs map (substring + tolower, mirrors Step 5 idempotent merge) -> for each canonical match check disk -> print one chat block listing every missing fulfiller with copy-pasteable install commands, OR a single "all dependencies satisfied" line. User-custom lines and removed canonical lines are silently skipped. Hard rule "never auto-install" preserved verbatim. version: 1.6.0 -> 1.7.0 (MINOR per project-discipline Rule 3 -- adds capability, absorbs prior superpowers-only detector cleanly). Closes [bootstrap-skill-deps-check] (.tasks/STATUS.md done). Closes [bootstrap-recommend-projects-meta] by absorption -- the deferred mirror task was the seed of this generalization; the generic walker now handles using-projects-meta along with everything else, no per-skill mirror needed. Design rationale at .wiki/concepts/bootstrap-skill-deps-check.md: - why generic over per-skill mirrors (5x mirror explosion) - skill vs plugin kind distinction - MCP-server-backed skills (only check using-X policy skill; setup-X self-fires via Prerequisites pointer) - source-of-truth invariant: SKILL map + assets/CLAUDE.md.template must stay in sync (a future CI lint could enforce)
7.2 KiB
Task Board
Updated: 2026-05-05
🟡 [skill-readmes] — write English README.md for every skill + translate root README
Status: paused
Where I stopped: infra-skill cluster done — READMEs for project-bootstrap, setup-wiki, setup-tasks, using-wiki, using-tasks; root README translated; cross-links between all five skills wired up
Next action: continue with the next batch — suggest the caveman cluster (caveman, caveman-commit, caveman-review, caveman-help, caveman-compress, compress) since they form a coherent group; or jump to active-platform, find-skills, setup-context7, using-context7, using-markitdown if the caveman cluster needs deduplication first (see compress-dedup task)
Branch: master
🟢 [bootstrap-skill-deps-check] — refactor project-bootstrap Step 5.6 into a generic skill-dependencies check (replaces per-skill Step 5.X mirror shape)
Status: done
Where I stopped: skills/project-bootstrap/SKILL.md Step 5.6 переписан с single-skill superpowers-only detector на generic trigger → fulfiller table walker (9-row inline map: 8 skills + 1 plugin; kind flag drives install-command emission); README Workflow Step 5.6 description обновлён под новую форму; version: 1.6.0 → 1.7.0 (MINOR — adds capability, absorbs prior detector cleanly); dist/project-bootstrap.skill rebuilt + installed; ~/.claude/skills/project-bootstrap/SKILL.md shows version: 1.7.0; design page .wiki/concepts/bootstrap-skill-deps-check.md written (rationale: why generic over per-skill mirrors, skill/plugin kind distinction, MCP-server caveat, source-of-truth invariant between SKILL map ↔ assets/CLAUDE.md.template); .wiki/index.md + .wiki/log.md updated. Subsumes [bootstrap-recommend-projects-meta] by absorption.
Next action: (none — kept until merged)
Branch: master
🟢 [bootstrap-recommend-projects-meta] — Step 5.7 in project-bootstrap: recommend setup-projects-meta if MCP tools missing
Status: done
Where I stopped: closed by absorption 2026-05-05 — [bootstrap-skill-deps-check] shipped a generic Step 5.6 that walks the whole canonical trigger list (using-projects-meta is one of 9 rows in the inline trigger → fulfiller map). The per-skill mirror this task envisioned was rejected as a copy-paste explosion shape; the generic walker handles the same case + the analogous gap for every other canonical trigger.
Next action: (none — kept until merged)
Branch: master
⚪ [compress-dedup] — resolve compress vs caveman-compress duplication
Status: ready
Where I stopped: (not started) — noticed during initial migration that both skills ship identical scripts/ subtrees (compress.py, cli.py, detect.py, validate.py, benchmark.py)
Next action: diff -r skills/compress skills/caveman-compress; decide if one is canonical and the other should be removed (or aliased)
Branch: (not started)
⚪ [install-ps1] — PowerShell-native install.ps1
Status: ready
Where I stopped: (not started) — install.sh already works in git-bash on Windows, so this is convenience for PS-only users
Next action: mirror scripts/install.sh logic in PowerShell (copy skills/<name>/ → ~/.claude/skills/<name>/, support $env:CLAUDE_SKILLS_DIR override)
Branch: (not started)
⚪ [archive-roundtrip-test] — smoke-test for .skill archive shape
Status: ready
Where I stopped: (not started) — caught the PowerShell-Compress-Archive backslash bug manually; a smoke-test would catch the next regression automatically
Next action: add a script that builds dist/<name>.skill, unzips into a temp dir, and diff -r against skills/<name>/. Fail on any difference. Run from CI or pre-commit if we add one
Branch: (not started)
⚪ [active-platform-tuning] — tune active-platform triggers based on real usage
Status: ready Where I stopped: (not started) — current triggers are best-guess; haven't observed real misfires/missed-fires yet Next action: keep a tally of times the skill should have triggered but didn't (or vice versa); revise the description / trigger list after ~5 real signals. Also add WSL handling explicitly if it comes up Branch: (not started)
⚪ [active-platform-eval] — run formal skill-creator eval loop on active-platform
Status: ready
Where I stopped: (not started) — depends on having ~5 real interactions logged for tuning context
Next action: invoke skill-creator to set up an eval set for active-platform; benchmark current vs revised description
Branch: (not started)
Blocker: waits on active-platform-tuning to gather signals first
⚪ [skills-grouping-revisit] — revisit flat vs grouped skills/ layout if count grows past ~30
Status: ready
Where I stopped: (not started) — current 14 skills fit fine in flat skills/; threshold for revisiting is ~30
Next action: when triggered (skill count crosses threshold), evaluate variant B (grouped by family) vs variant C (flat + manifest) from the original brainstorm in .wiki/concepts/repo-layout.md
Branch: (not started)
⚪ [refresh-project-bootstrap] — Run the project-bootstrap skill in this repo to refresh its layout to the canonical state (git, .gitignore, README.md, .wiki/, .tasks/, CLAUDE.md). The skill handles both greenfield bootstrap and refresh of existing repos.
Status: ready
Where I stopped: (not started)
Next action: Invoke the project-bootstrap skill at the repo root, confirm each file write, push to main.
Branch: n/a
🟢 [using-projects-meta-fix-paths] — fix stale ~/.local/projects-meta-mcp/ paths in setup-projects-meta SKILL.md
Status: done
Where I stopped: setup-projects-meta/SKILL.md lines 152–154 (Phase 5 platform-path table) переписаны с ~/.local/projects-meta-mcp на ~/projects/.common/lib/projects-meta-mcp (Windows/Linux/macOS варианты); version: bump 1.0.0 → 1.0.1 (PATCH, doc consistency); rebuild dist/setup-projects-meta.skill + install в ~/.claude/skills/setup-projects-meta/ подтверждены (frontmatter version: 1.0.1 в установленной копии); using-projects-meta/{SKILL,README}.md уже были чистые из прошлых коммитов; line 224 (Path forms (~/.local/..., ~/.config/..., ~/projects/...) are identical on all three.) намеренно оставлена как generic POSIX-path syntax aside, не projects-meta install reference
Next action: (none — kept until merged)
Branch: master