User request — kill it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
24 KiB
Task Board
Updated: 2026-05-05 (interns-repo-read-skill-updates done — both skills 0.2.0)
🟡 [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: done
Where I stopped: skills/compress/ deleted as a byte-identical dupe of skills/caveman-compress/ (SHA256 match across all 7 scripts/ files; SKILL.md diff was name: + Process step 2 only; README + SECURITY only in caveman-compress). Ported the better Process-step wording from compress (cd <directory_containing_this_SKILL.md> instead of brittle cd caveman-compress) into skills/caveman-compress/SKILL.md. Added version: 1.0.0 to caveman-compress frontmatter (first versioned release; aligns with skill-versioning concept). Removed: skills/compress/, dist/compress.skill, ~/.claude/skills/compress/ (manual prune — install.sh has no prune step). Rebuilt dist/caveman-compress.skill + reinstalled to ~/.claude/skills/caveman-compress/ (verified version: 1.0.0 + new Process step on disk). Harness skill listing confirms compress is gone, only caveman-compress remains. .wiki/concepts/compress-dedup.md written (rationale + rejected alternatives: alias-stub has no harness mechanism, "keep both" wastes listing budget, "delete caveman-compress" loses README + SECURITY); .wiki/index.md + .wiki/log.md updated.
Next action: (none — kept until merged)
Branch: master
⚪ [install-ps1] — paired install.sh + install.ps1 (cross-platform parity, with --prune)
Status: ready
Where I stopped: (not started) — install.sh exists, install.ps1 missing; both must coexist (PS users on Windows shouldn't be forced into git-bash, Linux/Mac users shouldn't be forced into pwsh). Cross-platform = bash + PS paired, behaviorally identical.
Next action: (a) write scripts/install.ps1 mirroring install.sh logic (copy skills/<name>/ → ~/.claude/skills/<name>/, support $env:CLAUDE_SKILLS_DIR override); (b) add --prune flag to both scripts that drops ~/.claude/skills/<name>/ for any name not in skills/<name>/ (lesson from [compress-dedup] — manual prune was needed because install.sh can't); (c) confirm build.ps1/build.sh are already paired (they are) and document the parity invariant in .wiki/concepts/install-cross-platform.md. README's install quick-start should show both variants side-by-side per active-platform cross-platform-docs convention.
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-eval] — eval-driven tuning of active-platform (description + body), absorbs [active-platform-tuning]
Status: paused
Where I stopped: design doc complete (.wiki/concepts/active-platform-eval-design.md, ~150 lines); per-task file complete (.tasks/active-platform-eval.md); STATUS.md collapsed the two original ⚪ tasks into this one block. Pre-flight verified: claude CLI on PATH at C:\nvm4w\nodejs\claude.ps1 (Claude Code 2.1.128); run_loop.py present at ~/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py. Stopped right before eval-set authoring at user request — paused for asynchronous follow-up. No code touched, no tooling launched, no .tasks/active-platform-eval/ workspace dir created yet.
Next action: resume by answering Q2 from the chat ("eval set — write 20 queries solo from current SKILL.md + concept-page open questions, or run skill-creator's HTML review template first for user-driven edits before kickoff?"), then (a) build .tasks/active-platform-eval/eval-set.json, (b) snapshot skill to .tasks/active-platform-eval/skill-snapshot/, (c) launch run_loop.py in background, (d) parallel manual body sweep, (e) apply changes + bump to 1.1.0 + rebuild + reinstall + final report + commit.
Branch: master
⚪ [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)
⚪ [setup-interns-fix-paths] — fix <project-root>/.common/... cwd-relative paths in setup-interns SKILL.md (mirror of done using-projects-meta-fix-paths)
Status: ready
Where I stopped: (not started) — surfaced 2026-05-06 during factory-bootstrap field-test on fresh Win11 laptop. /setup-interns Phase 1 stopped with ".common/lib/interns-mcp/ not found" because claude was launched from C:\Windows\System32 (cwd inherited). The skill resolves all .common/ paths relative to cwd. Sister skill setup-projects-meta uses absolute ~/projects/.common/... (fixed in [using-projects-meta-fix-paths]) — setup-interns is the next inconsistency. Field-test workaround: cd $PROJECTS_DIR before launching claude.
Next action: in setup-interns/SKILL.md Phase 0/1/2/3/4/5/6/7 — replace every <project-root>/.common/... with ~/projects/.common/... (POSIX-absolute, matches setup-projects-meta after the [using-projects-meta-fix-paths] fix). Audit Bash blocks too. Bump setup-interns version (PATCH — doc consistency, no behavior change). Rebuild dist/setup-interns.skill, install to ~/.claude/skills/setup-interns/, verify version on disk. Long-term: factor ~/projects out into $FACTORY_PROJECTS_DIR (read from ~/.config/factory/home.toml) once factory CLI lands — track separately. Field-test artefact: .factory/L0/install-log.md шаг 11c-2 в gitea OpeItcLoc03/factory.
Branch: master
⚪ [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
🟢 [interns-repo-read-skill-updates] — Skill-side updates for the repo_read intern (design at claude-skills/.wiki/concepts/interns-repo-read-design.md). Two coordinated edits: (1) using-interns/SKILL.md routing section — add hints on when to use repo_read vs bulk_text_read, MINOR bump; (2) setup-interns/SKILL.md — add Node-in-PATH check + optional npx repomix@latest --version pre-warm step, MINOR bump. Blocked by common#interns-repo-read-impl only for end-to-end test; skill edits themselves can ship in parallel.
Status: done Where I stopped: both skills edited (0.1.0→0.2.0), rebuilt + installed, versions verified on disk Next action: (none — kept until merged) Branch: n/a
⚪ [project-creation-lifecycle-skill] — Extend project-bootstrap (or add a new create-project skill) to cover the full new-project lifecycle, not just upgrading an existing folder.
Gap surfaced 2026-05-06 при промоушене брейнсторма factory-bootstrap: репо git.kzntsv.site/OpeItcLoc03/factory был создан ad-hoc (git init + gitea repo create + push), без бутстрапа .tasks/STATUS.md и .wiki/index.md. Из-за этого projects-meta-mcp:sync-runner.ts:69 отбрасывал репо как «не проект», и knowledge_ingest target=factory / tasks_create target=factory валились с «project not in cache». Промоушн встал, пришлось вручную сидить layout через прямые Write + push. Это чинится один раз в скиле, а не каждый раз руками.
Что должен делать новый flow (один обход):
- Создать локальную папку
~/projects/<dotpath>/(валидация: latin, kebab-case, не существует). git init+ первоначальный.gitignore+ минимальныйREADME.md.- Создать гитеа-репо в org/user через Gitea API (auth из
~/.config/projects-mcp/auth.toml), set remote, push initial commit. - Делегировать в
setup-wiki+setup-tasksдля канонического layout (или inline-fallback с записью в bootstrap-manifest). node ~/projects/.common/lib/projects-meta-mcp/dist/sync.js— re-sync кэша, чтобы новый репо стал виден projects-meta.- Опционально:
tasks_create target=_meta slug=<proj>-onboarded— чтобы новый проект засветился на кросс-проектном борде с момента создания.
Два варианта дизайна — выбрать в скил-creator:
- (a) Extend
project-bootstrap— добавить flag--create(или авто-detection «папки нет / git remote нет»), который запускает шаги 1–3 и 5–6. Существующий path для «уже существующая папка → upgrade» сохраняется. Плюс: один скил для всего lifecycle. Минус: SKILL.md распухает. - (b) Новый скил
create-project— отдельный entry-point, в конце дёргаетproject-bootstrapдля шагов 4 (layout). Плюс: single-responsibility. Минус: ещё один скил в реестре, юзеру выбирать какой звать.
Склоняюсь к (a) — project-bootstrap уже знает про оба режима init/upgrade (см. SKILL.md Step 0), четвёртый под-режим «greenfield + remote create» естественно туда ложится. Но это решение уровня skill-creator.
Acceptance criteria:
- Новый flow прогоняется на пустой папке:
~/projects/.test-greenfield/→ один вызов скила → конец: репо в gitea, layout в.wiki//.tasks/, виден вmcp__projects-meta__meta_status. - Существующий upgrade-mode не сломан (regression-test на
.factory/после этого фикса — re-run должен быть no-op). - README скила обновлён.
Status: ready Where I stopped: (not started) Next action: skill-creator: выбрать вариант (a) extend project-bootstrap vs (b) new create-project; реализовать; smoke-test на пустой папке. Branch: n/a
⚪ [extend-project-discipline-brainstorm-workspaces] — Расширить project-discipline (C:\Users\vitya\.claude\skills\project-discipline\SKILL.md) явным обращением к transit-zone / brainstorm-workspaces типа ~/projects/.meeting-room/.
Gap surfaced 2026-05-05: Rule 1 скила («project conventions override skill defaults») написан для проектов с .wiki/ / .tasks/. Не покрывает кейс, когда workspace сам по себе — discussion-zone, и его README/CLAUDE.md явно говорит «здесь no .tasks/, transit zone, всё уезжает в глобал». В той сессии я неправильно применил «transit-zone autopilot» — потащил artifact из брейнсторма в ~/projects/.wiki/concepts/ без явной директивы пользователя. Корректировка: artifacts уезжают в .brainstorm/<topic>.md (in-progress) ИЛИ в глобал-вики (mature, user-directed) — никогда автопилотом по аналогии с Rule 1.
Предлагаемая поправка к SKILL.md:
- Default destination для in-progress brainstorm artifacts:
.brainstorm/<topic>.md(или чем README workspace'а это объявил). - Default destination для mature, cross-cutting outputs:
~/projects/.wiki/concepts/<topic>-design.mdчерезmcp__projects-meta__knowledge_ingest— только когда user явно это направил. - Агент не должен auto-promote brainstorm-артефакты в глобал-вики по аналогии с Rule 1; convergence-moment решение принадлежит user'у.
Reference: .meeting-room/CLAUDE.md уже описывает «hard rules» этого workspace'а (правила §1–§4) — это конкретный пример того, что project-discipline должен явно поддерживать.
Acceptance criteria:
- В SKILL.md
project-disciplineпоявилась секция «Transit-zone / brainstorm workspaces» с тремя пунктами выше. - Регрессия: на тестовом meeting-room сессии (как 2026-05-05) агент не вытаскивает brainstorm в
.wiki/concepts/без user-команды.
Status: ready Where I stopped: (not started) Next action: Открыть SKILL.md project-discipline; добавить секцию transit-zone workspaces; обновить version (PATCH bump); проверить что .meeting-room/CLAUDE.md служит каноничным примером. Branch: n/a
⚪ [recommend-dont-menu-skill] — Создать новый скил recommend-dont-menu (имя обсуждаемо в skill-creator) — codifies user-style override: в design-conversations, брейнстормах, code review агент даёт одну аргументированную рекомендацию, а не меню вариантов A/B/C/D.
Why skill, not CLAUDE.md: правило сейчас живёт в ~/.claude/CLAUDE.md на одной машине (создан 2026-05-06). Per-machine, per-agent — на новом ноуте его не будет, Gemini/Copilot его не прочитают. Скил в claude-skills клонится на все машины как L1 component factory-manifest'а; trigger-line в CLAUDE.md template наследуется всеми проектами через project-bootstrap.
Содержимое скила (SKILL.md body — готово, копируется из удалённого memory entry):
Default mode для design-questions: «Я рекомендую X, потому что Y₁, Y₂. Trade-off: Z. Возражения?»
Альтернативы упоминать только если они реально близки или несут важный trade-off, который user должен взвесить — тогда коротко: «Если важно W — лучше X', но добавляет сложность; иначе X».
Не перечислять варианты ради видимости вариативности. Меню тормозит когда один вариант очевидно лучше — вынуждает читать заведомо проигрышные опции и задвигает позицию агента за обтекаемое перечисление вместо ответственной рекомендации.
Это override стандарта
superpowers:brainstorming, где multiple-choice указан как preferred. User instructions > skill defaults.
Frontmatter (черновик):
---
name: recommend-dont-menu
description: Use during design discussions, brainstorming, architecture reviews, or any "what should we do" question — give one argued recommendation with explicit trade-offs, not a multiple-choice menu. Override of superpowers:brainstorming default.
version: 0.1.0
---
Triggers (когда скил активируется):
- Любые design / architecture / "что выбрать" вопросы.
- Активные брейнстормы (где
superpowers:brainstormingтоже бы подцепилось — этот скил переопределяет его стиль). - Code review с альтернативами.
- В
.meeting-room/— постоянно (в её workspace contract это default для совещаний).
Cross-agent applicability: скил — про стиль ответа, не про tool calls, поэтому работает на любом агенте без mappings (в отличие от using-superpowers, которому нужны references/copilot-tools.md и т.д.). В description явно отметить «works on any agent — pure response-style rule».
Integration tasks:
- Trigger-line в
project-bootstrapCLAUDE.md template. Добавить строку в canonical set (assets/CLAUDE.md.template, см.project-bootstrap/SKILL.mdStep 5). Кандидаты:prefer single recommendations,recommend, don't menu,argued recommendations. Решает skill-creator. После — в Step 5.6 (skill dependencies check) добавить новую строку в trigger→fulfiller table. - Свернуть
~/.claude/CLAUDE.mdна машинах, где скил установлен, до одной trigger-строки. Текущее содержимое (1 параграф правила) переносится в SKILL.md body, в global CLAUDE.md остаётся только триггер. - Cross-agent prop: trigger-line должен попасть в
~/.gemini/GEMINI.mdи~/.copilot/AGENTS.md— следствие, отдельная подзадача (либо частьsetup-*для соответствующих агентов, либо часть будущего factory L1 manifest'а).
Acceptance criteria:
~/.claude/skills/recommend-dont-menu/SKILL.mdсуществует, проходит skill-validation.- Trigger-line в
project-bootstrap/assets/CLAUDE.md.template+ соответствующий ряд в Step 5.6 trigger→fulfiller table. - Регрессионный smoke-test: в test-сессии после установки скила я (агент) на «как лучше — X или Y?» отвечаю «рекомендую X, потому что Z. Возражения?» вместо меню.
- В
using-superpowers/SKILL.mdилиsuperpowers:brainstormingупомянут override (либо через priority-секцию, которая уже есть: «User instructions > Superpowers skills > Default»).
Reference: правило выкристаллизовалось в брейнсторме interns 2026-05-05, проверено многократно в .meeting-room/ сессиях. Source content до удаления memory лежал в feedback_brainstorm_recommend_dont_menu.md (memory была удалена 2026-05-06 после переноса в ~/.claude/CLAUDE.md, который сам теперь временный).
Status: 🟢 Done
Where I stopped: trigger-line recommend, don't menu добавлен в project-bootstrap/assets/CLAUDE.md.template; ряд добавлен в Step 5.6 trigger→fulfiller table; override уже был упомянут в recommend-dont-menu/SKILL.md секция "## Override"; project-bootstrap bumped 1.8.0 → 1.9.0 (MINOR — adds trigger to canon set); rebuilt + installed, version 1.9.0 confirmed on disk.
Next action: (none — kept until merged)
Branch: n/a