Files
claude-skills/.tasks/STATUS.md
vitya 68fe9a8c1c feat(project-bootstrap): v1.3.0 — idempotent CLAUDE.md merge on upgrade
Step 5 was binary on upgrade (append whole template / leave alone), so
projects bootstrapped before v1.2.0 silently missed new canonical triggers
(`check across all projects`, `we're on Windows`) on re-run. Now upgrade
reads existing CLAUDE.md, substring-diffs vs template, preserves a
deliberately-pinned platform line, and appends only missing lines after
explicit confirm. Re-runs are no-ops.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 15:06:06 +03:00

132 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task Board
_Updated: 2026-04-30_
## 🟢 [bootstrap-claude-md-merge] — project-bootstrap upgrade: idempotent merge of canonical CLAUDE.md triggers
**Status:** done
**Where I stopped:** Step 5 in `skills/project-bootstrap/SKILL.md` split into Init / Upgrade-merge — upgrade reads existing CLAUDE.md, substring-diffs vs template (case-insensitive trim), platform line preserved if user pinned a non-host platform, asks confirm with diff, appends only missing canonical lines; version bump 1.2.0 → 1.3.0; skill row in `skills/project-bootstrap/README.md` updated to note idempotent merge; root `README.md` + `README.ru.md` upgrade-mode paragraph extended; reinstalled to `~/.claude/skills/project-bootstrap/`, `dist/project-bootstrap.skill` rebuilt; concept page `.wiki/concepts/bootstrap-claude-md-merge.md` written; index + log entries added
**Next action:** (none — kept until merged)
**Branch:** master
---
<!--
Canonical layout. One block per task. Per-task deep context lives in
.tasks/<task-slug>.md (created by using-tasks when a task becomes active
or paused). Historical Done entries dropped — git log is the history.
Status legend:
🔴 Active — only one at a time
🟡 Paused — in progress, resumable
⚪ Ready — defined, not started
🟢 Done — kept until merged
🔵 Blocked — waiting on external input
-->
## 🟢 [bootstrap-projects-meta-trigger] — project-bootstrap CLAUDE.md template gains `check across all projects`
**Status:** done
**Where I stopped:** template + inline SKILL.md copy patched, version bumped 1.1.0→1.2.0; both READMEs and local CLAUDE.md synced; skill reinstalled to `~/.claude/skills/project-bootstrap/`, `dist/project-bootstrap.skill` rebuilt; concept extension added to `.wiki/concepts/projects-meta-skills.md`; log entry written; verified installed `version: 1.2.0` and template carries the new line
**Next action:** (none — kept until merged)
**Branch:** master
---
## 🟢 [bootstrap-recommend-superpowers] — project-bootstrap recommends superpowers plugin if missing
**Status:** done
**Where I stopped:** Step 5.6 added to `skills/project-bootstrap/SKILL.md` (read `~/.claude/plugins/installed_plugins.json`, print install command + upstream link if `superpowers@claude-plugins-official` key missing); version bumped 1.0.0 → 1.1.0; README workflow numbering updated; skill reinstalled to `~/.claude/skills/project-bootstrap/` and `dist/project-bootstrap.skill` rebuilt; log entry added
**Next action:** (none — kept until merged)
**Branch:** master
---
## 🟢 [mac-support-scripts] — fix install.sh / build.sh for stock macOS
**Status:** done
**Where I stopped:** patched both scripts to drop `mapfile` (bash 4+) and `find -printf` (GNU find) — replaced with portable shell glob + `basename` + `sort`; verified on git-bash (16 skills discovered, install dry-run + build smoke-test passed); wiki concept page `install-portability.md` added; index + log updated
**Next action:** (none — kept until merged)
**Branch:** master
---
## 🟡 [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
---
## ⚪ [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)
---
## ⚪ [bootstrap-recommend-projects-meta] — Step 5.7 in project-bootstrap: recommend `setup-projects-meta` if MCP tools missing
**Status:** ready
**Where I stopped:** (not started) — opened as follow-up to `[bootstrap-projects-meta-trigger]` (commit b120397). The `check across all projects` trigger is now in every CLAUDE.md template, but on a fresh machine without `projects-meta-mcp` registered the trigger is silently no-op until the user verbally asks for cross-project work
**Next action:** mirror Step 5.6 (superpowers plugin check). Detect missing `mcp__projects-meta__*` tools — possible signals: parse `~/.claude.json` for `mcpServers.projects-meta` key, or check for `~/.local/projects-meta-mcp/dist/server.js`. If absent, print one-shot recommendation block in chat with `setup-projects-meta` invocation hint. Hard rule: never auto-install. Bump project-bootstrap 1.2.0 → 1.3.0
**Branch:** (not started)
**Blocker:** waits on observing a real fresh-machine bootstrap that silently misses the dependency — defer until we see the failure mode in practice
## 🟢 [using-projects-meta-freshness-gate] — добавить Step 0 freshness check в using-projects-meta
**Status:** done
**Where I stopped:** Step 0 добавлен в `using-projects-meta/SKILL.md` (cache_age>10мин или errors>0 → `dist/sync.js` для read; shared-wiki write — безусловный `git pull --ff-only`; 401/403 → auth.toml rotation); зеркалирован в README; bump 1.0.0→1.1.0; rebuild+install OK; description trimmed до 924 chars после регрессии (полное Step 0 в description ~1450 chars сломало парсинг — harness зафолбэкнулся на H1, скилл потерял все триггеры); Common mistakes + Red flags расширены; concept page + log обновлены; new feedback memory `skill_description_length_limit`
**Next action:** (none — kept until merged)
**Branch:** master
---
## 🟢 [projects-meta-skills] — setup-projects-meta + using-projects-meta — пара скиллов для projects-meta-mcp
**Status:** done
**Where I stopped:** оба скилла v1.0.0 написаны (8-phase setup + using policy с local-first и two-step mutation), README обоим, собраны в `dist/`, установлены в `~/.claude/skills/`, видны в `Skill` tool listing; concept-страница `projects-meta-skills.md` добавлена в `.wiki/`; path-canon `~/projects/projects-wiki/` починен в скиллах после wiki-path-mismatch fix (upstream commit 621a69f); якоря MCP подтянулись после ручного pull
**Next action:** (none — kept until merged); требуется restart Claude Code чтобы новые скиллы стали активными в новой сессии (build/install уже сделаны)
**Branch:** master
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: projects-meta-mcp / 2026-04-29T20:28:04.101Z -->
<!-- closed-by: OpeItcLoc03@DESKTOP-NSEF0UK / 2026-04-29T21:26:01.923Z / note: setup-projects-meta + using-projects-meta v1.0.0 shipped; path-canon ~/projects/projects-wiki/ fixed after wiki-path-mismatch resolution -->
---