Compare commits
4 Commits
879957d989
...
065270de42
| Author | SHA1 | Date | |
|---|---|---|---|
| 065270de42 | |||
| f4c12ce4fd | |||
| b0d2d5169a | |||
| 733e1466df |
@@ -1,5 +1,5 @@
|
|||||||
# Task Board
|
# Task Board
|
||||||
_Updated: 2026-05-05 (interns-repo-read-skill-updates done — both skills 0.2.0)_
|
_Updated: 2026-05-06 (using-tasks v1.1.0 — coverage gate + local-first recs)_
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Canonical layout. One block per task. Per-task deep context lives in
|
Canonical layout. One block per task. Per-task deep context lives in
|
||||||
@@ -116,7 +116,7 @@ _Updated: 2026-05-05 (interns-repo-read-skill-updates done — both skills 0.2.0
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚪ [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.
|
## 🟢 [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. Это чинится один раз в скиле, а не каждый раз руками.
|
**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. Это чинится один раз в скиле, а не каждый раз руками.
|
||||||
|
|
||||||
@@ -139,15 +139,15 @@ _Updated: 2026-05-05 (interns-repo-read-skill-updates done — both skills 0.2.0
|
|||||||
- Существующий upgrade-mode не сломан (regression-test на `.factory/` после этого фикса — re-run должен быть no-op).
|
- Существующий upgrade-mode не сломан (regression-test на `.factory/` после этого фикса — re-run должен быть no-op).
|
||||||
- README скила обновлён.
|
- README скила обновлён.
|
||||||
|
|
||||||
**Status:** ready
|
**Status:** done
|
||||||
**Where I stopped:** (not started)
|
**Where I stopped:** Shipped в `23431c5 feat(project-bootstrap): add greenfield-full mode with remote create`. Variant (a) — extend `project-bootstrap`. SKILL.md v1.8.0 → 1.9.0 (mode `greenfield-full` + `add-remote` + `upgrade`); Step 1.5 (remote create через Gitea API + auth.toml + push initial); Step 8 (projects-meta sync через `dist/sync.js`). README обновлён под три режима. ⚠️ Acceptance criteria smoke-test «один вызов на `.test-greenfield/`» **не прогонялся** — surfaced в `using-tasks-close-coverage-gate`. Закрыто по shipped-code-баребоне; regression-test трек отдельно.
|
||||||
**Next action:** skill-creator: выбрать вариант (a) extend project-bootstrap vs (b) new create-project; реализовать; smoke-test на пустой папке.
|
**Next action:** (none — kept until merged); regression-smoke-test на пустой папке трекать через `using-tasks-close-coverage-gate`
|
||||||
**Branch:** n/a
|
**Branch:** n/a
|
||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:19:47.732Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:19:47.732Z; closed: 2026-05-06 from claude-skills -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚪ [extend-project-discipline-brainstorm-workspaces] — Расширить `project-discipline` (`C:\Users\vitya\.claude\skills\project-discipline\SKILL.md`) явным обращением к **transit-zone / brainstorm-workspaces** типа `~/projects/.meeting-room/`.
|
## 🟢 [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.
|
**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.
|
||||||
|
|
||||||
@@ -162,15 +162,15 @@ _Updated: 2026-05-05 (interns-repo-read-skill-updates done — both skills 0.2.0
|
|||||||
- В SKILL.md `project-discipline` появилась секция «Transit-zone / brainstorm workspaces» с тремя пунктами выше.
|
- В SKILL.md `project-discipline` появилась секция «Transit-zone / brainstorm workspaces» с тремя пунктами выше.
|
||||||
- Регрессия: на тестовом meeting-room сессии (как 2026-05-05) агент не вытаскивает brainstorm в `.wiki/concepts/` без user-команды.
|
- Регрессия: на тестовом meeting-room сессии (как 2026-05-05) агент не вытаскивает brainstorm в `.wiki/concepts/` без user-команды.
|
||||||
|
|
||||||
**Status:** ready
|
**Status:** done
|
||||||
**Where I stopped:** (not started)
|
**Where I stopped:** Shipped в `215afdd feat(project-discipline): add Rule 5 — transit-zone workspaces`. SKILL.md v0.1.0 → 0.1.1 (PATCH; описано в commit как добавление, де-факто новая секция — но user-decision на PATCH). Rule 5 содержит три обязательных пункта (`.brainstorm/<topic>.md` для in-progress, global wiki только по user-команде, no auto-promote по аналогии с Rule 1). `.meeting-room/CLAUDE.md` служит каноничным примером (упомянут в Example блоке Rule 5).
|
||||||
**Next action:** Открыть SKILL.md project-discipline; добавить секцию transit-zone workspaces; обновить version (PATCH bump); проверить что .meeting-room/CLAUDE.md служит каноничным примером.
|
**Next action:** (none — kept until merged)
|
||||||
**Branch:** n/a
|
**Branch:** n/a
|
||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:27:06.441Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:27:06.441Z; closed: 2026-05-06 from claude-skills -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚪ [recommend-dont-menu-skill] — Создать новый скил `recommend-dont-menu` (имя обсуждаемо в skill-creator) — codifies user-style override: в design-conversations, брейнстормах, code review агент даёт **одну аргументированную рекомендацию**, а не меню вариантов A/B/C/D.
|
## 🟢 [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.
|
**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.
|
||||||
|
|
||||||
@@ -214,11 +214,11 @@ version: 0.1.0
|
|||||||
|
|
||||||
**Reference:** правило выкристаллизовалось в брейнсторме interns 2026-05-05, проверено многократно в `.meeting-room/` сессиях. Source content до удаления memory лежал в `feedback_brainstorm_recommend_dont_menu.md` (memory была удалена 2026-05-06 после переноса в `~/.claude/CLAUDE.md`, который сам теперь временный).
|
**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
|
**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.
|
**Where I stopped:** Shipped в `011a8b4 feat(recommend-dont-menu): add skill + integrate into project-bootstrap [v0.1.0 / v1.9.0]`. Skill at `skills/recommend-dont-menu/SKILL.md` v0.1.0; trigger-line `recommend, don't menu` в `project-bootstrap/assets/CLAUDE.md.template:12`; row в Step 5.6 trigger→fulfiller table at `project-bootstrap/SKILL.md:447`; override упомянут в SKILL.md секция "## Override". `project-bootstrap` bumped 1.8.0 → 1.9.0 (MINOR; одновременно с greenfield-full mode из `[project-creation-lifecycle-skill]` — single bump cover both features). Heading emoji приведён к `done`-канону 2026-05-06 (был ⚪ при `Status: 🟢 Done` — рассинхрон, surfaced `using-tasks-close-coverage-gate`).
|
||||||
**Next action:** (none — kept until merged)
|
**Next action:** (none — kept until merged)
|
||||||
**Branch:** n/a
|
**Branch:** n/a
|
||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:31:57.105Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:31:57.105Z; closed: 2026-05-06 from claude-skills -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -276,7 +276,7 @@ version: 0.1.0
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚪ [using-tasks-close-coverage-gate] — Расширяет `using-tasks` SKILL **двумя коррелированными правилами для decision-points** (изначально таска была только про close-coverage; scope-priority добавлен 2026-05-06 после session-start ревью отчёта claude-skills агента).
|
## 🟢 [using-tasks-close-coverage-gate] — Расширяет `using-tasks` SKILL **двумя коррелированными правилами для decision-points** (изначально таска была только про close-coverage; scope-priority добавлен 2026-05-06 после session-start ревью отчёта claude-skills агента).
|
||||||
|
|
||||||
**Часть A — Pre-close coverage gate** (исходный scope). `using-tasks` должен явно требовать coverage-проверку acceptance-criteria тестами **перед** вызовом `tasks_close`. Surfaced 2026-05-06 в код-ревью factory-bootstrap fallout: 3 из 4 common-фиксов закрыты по «150/150 / 151/151 tests pass» (existing suite), но новые behaviour не покрыты — нет теста на `cached = null` invalidation, нет теста на `AggregateStatusEnum` validation error, partial test на archived-filter. Acceptance criteria требовали regression-тестов — пропущены. Также: после `feat:`/`fix:` коммита skill должен подсказывать «эта работа закрывает таску `<slug>`?» — иначе код shipped (`215afdd`, `23431c5` в claude-skills) при stale ⚪ ready статусе (`extend-project-discipline-brainstorm-workspaces`, `project-creation-lifecycle-skill`).
|
**Часть A — Pre-close coverage gate** (исходный scope). `using-tasks` должен явно требовать coverage-проверку acceptance-criteria тестами **перед** вызовом `tasks_close`. Surfaced 2026-05-06 в код-ревью factory-bootstrap fallout: 3 из 4 common-фиксов закрыты по «150/150 / 151/151 tests pass» (existing suite), но новые behaviour не покрыты — нет теста на `cached = null` invalidation, нет теста на `AggregateStatusEnum` validation error, partial test на archived-filter. Acceptance criteria требовали regression-тестов — пропущены. Также: после `feat:`/`fix:` коммита skill должен подсказывать «эта работа закрывает таску `<slug>`?» — иначе код shipped (`215afdd`, `23431c5` в claude-skills) при stale ⚪ ready статусе (`extend-project-discipline-brainstorm-workspaces`, `project-creation-lifecycle-skill`).
|
||||||
|
|
||||||
@@ -284,10 +284,10 @@ version: 0.1.0
|
|||||||
|
|
||||||
Парный фикс к `common#tasks-close-normalize-body` (там tooling, тут policy/skill). После закрытия: новые hermes-таски попадут в починенный close-flow + рекомендации фокусируются в cwd-проекте.
|
Парный фикс к `common#tasks-close-normalize-body` (там tooling, тут policy/skill). После закрытия: новые hermes-таски попадут в починенный close-flow + рекомендации фокусируются в cwd-проекте.
|
||||||
|
|
||||||
**Status:** ready
|
**Status:** done
|
||||||
**Where I stopped:** (not started)
|
**Where I stopped:** Shipped в `b0d2d51 feat(using-tasks): pre-close coverage gate + local-first recommendations [v1.1.0]`. Часть A: `### Task completion` step 1 — pre-close coverage check со списком acceptance criteria и грозой gap'а; новая секция `### Post-commit task closure prompt` — на `feat:`/`fix:` коммитах prompt про closure (skips `chore:`/`meta:`). Часть B: новая секция `### Recommendations / "what's next" trigger` — local cwd-board first, cross-project как одна footnote-строка; explicit cross-project trigger flips order. README.md mirrored. Version bump 1.0.0 → 1.1.0 (MINOR, **не PATCH** как было в next_action — Rule 3 grades adding 2 new operation types as capability addition). Build+install подтверждены, `~/.claude/skills/using-tasks/SKILL.md` shows `version: 1.1.0`. **Smoke-tests:** (1) coverage-check триггернулся на самой этой close-операции (acceptance criteria verified inline above); (2) local-first рекомендации сработали раньше в этой сессии — на «discipline pre-reqs первыми» отчёт фокусировался на claude-skills, не на cross-project 🔴.
|
||||||
**Next action:** Открыть `skills/using-tasks/SKILL.md`. **Часть A** — добавить секцию «Pre-close coverage gate»: (1) перед `tasks_close` агент проверяет, что для каждого acceptance-criteria пункта есть соответствующий тест в diff'е/working-tree (явный grep-walk или manual checklist); (2) после `git commit -m "feat:"` / `"fix:"` — prompt пользователю «эта работа закрывает таску `<slug>`?». **Часть B** — добавить секцию «Scope priority at recommendation time»: при триггере «что делать дальше» — сначала cwd-проекта board ranked (active → paused → ready), затем одна footnote про cross-project urgents (если N>0). PATCH bump version. Smoke-test: (1) на close-операции — coverage-проверка триггерится; (2) на session-start в claude-skills cwd с активными 🔴 в других репах — рекомендация всё равно ведёт claude-skills tasks first.
|
**Next action:** (none — kept until merged)
|
||||||
**Branch:** master
|
**Branch:** master
|
||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T20:22:25.116Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T20:22:25.116Z; closed: 2026-05-06 from claude-skills -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
BIN
dist/project-discipline.skill
vendored
BIN
dist/project-discipline.skill
vendored
Binary file not shown.
BIN
dist/using-tasks.skill
vendored
BIN
dist/using-tasks.skill
vendored
Binary file not shown.
@@ -103,10 +103,36 @@ hypotheses, links).
|
|||||||
|
|
||||||
### Task completion
|
### Task completion
|
||||||
|
|
||||||
1. Resolve or drop all open questions.
|
1. **Pre-close coverage check** — list acceptance criteria, locate
|
||||||
2. Set status to 🟢 in `STATUS.md`.
|
evidence (tests, smoke-test artefacts, manual checklist ticks, design
|
||||||
3. Append a final summary line to the Decisions log.
|
doc refs). Missing evidence → ask the user before closing; never auto-close.
|
||||||
4. Remind the user to delete the branch after merge.
|
2. Resolve or drop all open questions.
|
||||||
|
3. Set status to 🟢 in `STATUS.md`.
|
||||||
|
4. Append a final summary line to the Decisions log.
|
||||||
|
5. Remind the user to delete the branch after merge.
|
||||||
|
|
||||||
|
### Post-commit task closure prompt
|
||||||
|
|
||||||
|
After a `feat:` / `fix:` commit the agent prompts:
|
||||||
|
"эта работа закрывает таску `<slug>`?". Slug candidates: commit-message
|
||||||
|
scope, current branch, most recent `Where I stopped`. If yes → run the
|
||||||
|
coverage check above. Skips `chore:` / `meta:` / `docs:` commits.
|
||||||
|
|
||||||
|
Forces a fresh-while-fresh decision, instead of letting shipped code sit
|
||||||
|
under a stale ⚪ block.
|
||||||
|
|
||||||
|
### Recommendations / "what's next" trigger
|
||||||
|
|
||||||
|
When the user asks «что дальше», «срочные», «куда копаем», "what next",
|
||||||
|
"status", or on session-start — recommend in this order:
|
||||||
|
|
||||||
|
1. **Local cwd-project board** ranked 🔴 → 🟡 → ⚪. Cite slugs.
|
||||||
|
2. **One footnote line** if relevant: `Cross-project: N 🔴 in other repos
|
||||||
|
(см. mcp__projects-meta__tasks_aggregate).` Only if N>0 and no local 🔴.
|
||||||
|
|
||||||
|
Explicit "по всем проектам" / "across all projects" flips the order.
|
||||||
|
Pairs with `using-projects-meta`'s local-first rule (which covers reads;
|
||||||
|
this one covers recommendations).
|
||||||
|
|
||||||
## Rules
|
## Rules
|
||||||
|
|
||||||
@@ -120,6 +146,10 @@ hypotheses, links).
|
|||||||
- **Always confirm orientation at session start.** State understanding
|
- **Always confirm orientation at session start.** State understanding
|
||||||
before acting.
|
before acting.
|
||||||
- **One active task at a time** — only one 🔴 in `STATUS.md`.
|
- **One active task at a time** — only one 🔴 in `STATUS.md`.
|
||||||
|
- **Never close without coverage check.** See "### Task completion"
|
||||||
|
step 1.
|
||||||
|
- **Local-first recommendations.** cwd-project first; cross-project at
|
||||||
|
most one footnote line.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: using-tasks
|
name: using-tasks
|
||||||
version: 1.0.0
|
version: 1.1.0
|
||||||
description: >
|
description: >
|
||||||
Policy skill for working with an existing `.tasks/` board (per-task files + STATUS.md).
|
Policy skill for working with an existing `.tasks/` board (per-task files + STATUS.md).
|
||||||
Use whenever the user is switching between tasks, resuming a paused task, starting a new
|
Use whenever the user is switching between tasks, resuming a paused task, starting a new
|
||||||
@@ -124,10 +124,40 @@ Temporary hypotheses, links, names of people to consult.
|
|||||||
4. Create and checkout branch if it doesn't exist.
|
4. Create and checkout branch if it doesn't exist.
|
||||||
|
|
||||||
### Task completion
|
### Task completion
|
||||||
1. Resolve or drop all open questions.
|
1. **Pre-close coverage check.** Before setting 🟢:
|
||||||
2. Set status to 🟢 in STATUS.md.
|
- List acceptance criteria from the per-task `<slug>.md` (or the STATUS block if no per-task file).
|
||||||
3. Append final summary line to Decisions log.
|
- For each criterion, locate evidence: a test name in the diff, a smoke-test artefact, a manual-checklist tick in the per-task file, or a design-doc reference.
|
||||||
4. Remind user to delete the branch after merge.
|
- Missing evidence on any criterion → flag to user and ask "закрывать или подождать coverage'а?". Never silently close.
|
||||||
|
- If acceptance criteria are policy / docs-only and have no testable shape, an explicit user "ok, closed by inspection" is required (record this in the close-note).
|
||||||
|
2. Resolve or drop all open questions.
|
||||||
|
3. Set status to 🟢 in STATUS.md.
|
||||||
|
4. Append final summary line to Decisions log.
|
||||||
|
5. Remind user to delete the branch after merge.
|
||||||
|
|
||||||
|
### Post-commit task closure prompt
|
||||||
|
|
||||||
|
After any implementation commit (`feat:` / `fix:` / similar), prompt the user once:
|
||||||
|
|
||||||
|
> Эта работа закрывает таску `<slug>`?
|
||||||
|
|
||||||
|
Slug candidates, in priority: (a) commit message scope, (b) current branch name, (c) the most recent `Where I stopped` field that mentions a now-shipped artefact. If user says yes → run the pre-close coverage check from "### Task completion". If no → silent.
|
||||||
|
|
||||||
|
Skip on `chore:` / `meta:` / `docs:` / `style:` commits — they rarely close work.
|
||||||
|
|
||||||
|
This exists because shipped code can sit while the task block stays ⚪ ready (e.g. `extend-project-discipline-brainstorm-workspaces` lived as ⚪ for a day after `215afdd` shipped Rule 5). The prompt forces a one-line decision while the work is fresh.
|
||||||
|
|
||||||
|
### Recommendations / "what's next" trigger
|
||||||
|
|
||||||
|
When the user asks «что дальше», «срочные», «куда копаем», «status», «what next», or session-start lands on a project — recommend in this order:
|
||||||
|
|
||||||
|
1. **Local cwd-project board** ranked 🔴 → 🟡 → ⚪. Group by status, summarize one line each. Cite slugs.
|
||||||
|
2. **One footnote line** if cross-project state is relevant: `Cross-project: N 🔴 active in other repos (см. mcp__projects-meta__tasks_aggregate).` Only when N>0 and there is no active 🔴 in the current cwd. Never bury local recommendations under it.
|
||||||
|
|
||||||
|
Cross-project urgents are *information*, not the driver of "what to do here". The user chose this cwd; that's the implicit scope.
|
||||||
|
|
||||||
|
If the user explicitly asks "across all projects" / "по всем проектам" / "cross-project status" — flip the order: cross-project first, local as footnote.
|
||||||
|
|
||||||
|
Pair: `using-projects-meta` declares local-first for **reads**; this rule extends local-first to the **recommendation phase**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -140,3 +170,5 @@ Temporary hypotheses, links, names of people to consult.
|
|||||||
- **Commit after every session end** — git log is the history of thinking.
|
- **Commit after every session end** — git log is the history of thinking.
|
||||||
- **Always confirm orientation at session start** — state understanding before acting.
|
- **Always confirm orientation at session start** — state understanding before acting.
|
||||||
- **One active task at a time** — only one 🔴 in STATUS.md.
|
- **One active task at a time** — only one 🔴 in STATUS.md.
|
||||||
|
- **Never close a task without a coverage check** — see "### Task completion" step 1. Acceptance criteria with no evidence → ask, don't auto-close.
|
||||||
|
- **Local-first recommendations** — cwd-project board comes first; cross-project urgents are at most one footnote line.
|
||||||
|
|||||||
Reference in New Issue
Block a user