Commit Graph

61 Commits

Author SHA1 Message Date
f99d795e25 feat(skills): review-subagent — clean-context review via review_subagent tool [v0.1.0]
Скилл-обёртка для тула review_subagent (pi-расширение, OpeItcLoc03/pi-extensions):
дефолт-ревьюер = текущая модель сессии, конкретная — параметром model.
GREEN-проверка: fresh-context субагент со скиллами выбирает review-subagent
по триггеру «отревьюй через субагента». Lint 49/0, dist собран.
2026-08-23 02:05:50 +03:00
3f3a0cdaa9 feat(skills): inter-session-messaging replaces inter-session-peer-discipline
- New skill inter-session-messaging v1.0.0: SEND canon (address = folder name,
  file naming, frontmatter from = own folder, never write to self) + RECEIVE +
  POLICY (peer != authority, inbox vs board contract)
- Remove inter-session-peer-discipline (merged into inter-session-messaging)
- session-inbox-monitor: reference → inter-session-messaging
- project-bootstrap: Step 9 address-book registration (shared wiki
  concepts/projects-address-book.md)
- dist rebuilt + pruned
2026-08-20 13:24:33 +03:00
f7c04cf8cc fix(inbox): .claude-inbox → .agents/inbox cascade (rename idea 13 gap)
- skills: inter-session-peer-discipline v0.1.3, delegate-task v0.2.6, task-format v0.1.1
- hermes/mapping.yaml: monitor path
- .wiki/concepts/session-inbox-monitor-received-msg-fp.md: trigger phrase path
- dist rebuilt, lint 47/0, installed to ~/.claude/skills + ~/.agents/skills
2026-08-13 11:59:27 +03:00
2e30ccc17c feat(vision-subagent): add to canon (v0.1.0)
Skill lived only in ~/.agents/skills (pi reads it) with broken YAML frontmatter — ": " inside description made the parser choke (nested-mapping error in TUI skill list).

Fix: folded block-scalar description + author/version per canon. Lint 47/0, dist rebuilt, installed to ~/.claude/skills + ~/.agents/skills (identical copies).
2026-08-13 08:55:15 +03:00
348f6f3108 feat(update-skills): dual install target — ~/.claude/skills + ~/.agents/skills (agent-neutral); pi settings hack removed (v0.2.1) 2026-08-12 21:43:00 +03:00
e431e9e142 feat(agents-canon): AGENTS.md canon everywhere — bootstrap v2.0.0 writes AGENTS.md + CLAUDE.md pointer; 15 skills retarget triggers/rule refs from CLAUDE.md to AGENTS.md (semver bumps); dist rebuilt 2026-08-12 20:36:25 +03:00
71863040ed feat: command-index v0.1.0 — just/Makefile convention skill (idea 3, claude-to-agents) 2026-08-12 20:14:14 +03:00
d304549768 docs(session-handoff): v0.5.0 — headless ritual now built (session-close-ritual extension), agent_end rationale
RISK-2 drift fix: 'Не построен — follow-up' → points at the deployed extension
(.common/lib/pi-extensions/session-close-ritual.ts), records why agent_end not
agent_settled (live-verified), bump 0.4.0→0.5.0 (MINOR), dist rebuilt.
2026-08-12 20:13:19 +03:00
79baad1b9e fix(setup-context7): accurate Phase 5/7 verification (whoami is OAuth-only, smoke = ctx7 library) 2026-08-12 19:51:25 +03:00
7b80a328be feat: session-handoff v0.4.0 closing ritual (idea 7); setup-context7 v2.0.0 CLI-first (idea 16); backfill vendored pins (idea 2) 2026-08-12 19:48:04 +03:00
d64fcd622b feat(code-review): v0.1.0 — two-axis review (Standards/Spec parallel clean subagents) + Fowler smell baseline (mattpocock) × caveman-review output format 2026-08-12 18:30:17 +03:00
11c083918c feat(review-kit-pi-method): v0.1.0 — pi-native clean-context review subagent spawn (verified live on pi 0.84.1: -nc -ns -nt = unprompted) 2026-08-12 18:25:05 +03:00
5b67c1d0e6 feat(loop-me): v0.1.0 — workflow-spec design gate adapted from mattpocock/skills @ 84fdeffd (done-when-implementer-asks-no-questions + independent check) 2026-08-12 17:44:42 +03:00
352a9af285 feat: diagnosing-bugs v0.1.0 (mattpocock core + superpowers Iron Law) + writing-skills v0.1.0 (TDD-for-skills, anti-sproul) — суперпауэрс-дыры 2/3 закрыты 2026-08-12 17:10:31 +03:00
5d2e45523f feat(brainstorming): v0.1.0 — divergent phase adapted from obra/superpowers @ 6.2.0 (visual-companion dropped); trig: «забрендшторми», «поштормим», «накидай идеи» 2026-08-12 17:02:13 +03:00
bff9c622c2 fix(using-tasks): v1.4.1 — document real archive path .tasks/.archive/done-YYYY-MM.md
Reviewer finding (sovereign-catalog-wave2-review 13:43Z): SKILL.md documented
.tasks/archive/YYYY-MM.md (missing '.' prefix on .archive + missing 'done-'
prefix), repo convention is .tasks/.archive/done-YYYY-MM.md (done-2026-05.md,
done-2026-08.md). Fixed 5 path sites (layout, intro, Where, commit example,
Rules bullet). dist rebuilt, lint 39/0.
2026-08-12 16:48:33 +03:00
08a5d5084c docs: de-superpowers per-skill READMEs + drop stale trigger from CLAUDE.md
F4 (de-superpowers-skill-readmes): 3 READMEs cleaned — bootstrap L47 no
longer claims 'use superpowers' template line; discipline L13 without
docs/superpowers/ paths + stale Rule 4 ('Commit yes, push no' grant model)
replaced with 'Push freely by default' (same class as review F2);
recommend-dont-menu L7 without superpowers:brainstorming. dist rebuilt for
all three (build.ps1 -Names), lint 39/0.

F5 (skills-live-claudemd-superpowers-trigger): root CLAUDE.md dropped
'use superpowers' (stale — plugin not installed); remaining 12 triggers
verified against installed skills.
2026-08-12 16:46:33 +03:00
d7903c399d fix(project-discipline): v0.2.1 — repair broken description + rebuild dist
Reviewer findings (sovereign-catalog-wave2-review, inbox 2026-08-12T13:30Z):
F1 dist/project-discipline.skill was stale (0.1.2 vs 0.2.0) — rebuilt, now 0.2.1.
F2 description contradiction — leftover old Rule-4 text («grant via разреши
автопуш…» + duplicate (5)) survived my v0.2.0 edit; removed, kept the
'Activated by' activation line. Body Rule 4: dropped stale 'any grant' /
'the grant does not apply' references (no grant concept in free-push rule).
lint 0/0.
2026-08-12 16:33:04 +03:00
ff68762516 fix(grilling): collapse family to one skill — behavioral test evidence
RED (2026-08-12, clean pi -p subprocesses): user phrases «прогриль мой план»,
«grill my plan», «хватит, точи план», «прогриль с доками» all resolved to
grilling, NOT grill-me/grill-with-docs. Root cause (verified in pi docs
skills.md): disable-model-invocation: true hides a skill from the system
prompt — the thin user-wrapper split (mattpocock's slash-command model) is
structurally unreachable in pi's natural-language matching.

GREEN: single grilling v0.2.0 with integrated Docs mode (trigger «с доками» /
«зафиксируй» → decision record to .wiki/concepts/<topic>-decision.md or
.brainstorm/ append). Re-run: 5/5 positive → grilling, 4/4 negative clean.

Removed grill-me + grill-with-docs (invisible in pi, dead weight); README
table updated; lint 0/0; ~/.claude/skills = 39; dist pruned+rebuilt.
2026-08-12 16:02:12 +03:00
9832bd3c25 build(dist): add grilling/grill-me/grill-with-docs archives 2026-08-12 16:02:12 +03:00
ab51c2ef04 feat(catalog): sovereign catalog — provenance + de-superpowers (idea 12)
- author: ours / adapted-from frontmatter on all 38 skills (scripts/add-provenance.py, idempotent)
- versions added to vendor copies (caveman x5, find-skills) + active-platform
- README(en/ru): new Sovereignty/Adapted-from section, drop wiki-maintainer & superpowers refs
- project-bootstrap v1.12.0 -> v1.13.0: remove 'use superpowers' trigger from template
  + trigger table; recommend-dont-menu wording no longer references superpowers:brainstorming
- dist rebuilt to 38 (pruned stale update-claude-skills.skill)
- lint: 0 violations, 0 warnings
2026-08-12 16:02:11 +03:00
9954356a4a feat(setup-agents-task-runner): L2 installer skill for standing-duty service
poller-service-deploy-via-factory (fork 1). New skill v0.1.0 — installs the
standing-duty stack as platform-native services (systemd/launchd/winsw):
no node window, OS-supervised autostart+crash-restart, run-as-user, deploy-boundary.

- fetches winsw (pinned v2.12.0 + SHA256-verify, not vendored; STOP on placeholder)
- installs DISARMED: scope is runtime config (poller-scope.json), arming is a
  separate operator step via the appeals-inbox pult; never carries POLLER_PROJECTS/DRY_RUN
- confirmation gates: discovery (read-only) -> plan -> writes; rollback section
- tears down the legacy start-worker.ps1 Scheduled Task (no double-claim)
- dist/setup-agents-task-runner.skill rebuilt

[skip-tdd: visual] — installer docs + OS service config, no testable pure logic.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 10:28:47 +03:00
13abe176fd feat(using-tasks): session lock guard v1.4.0
Adds `.tasks/.lock` awareness to the `using-tasks` skill:

- Session start new step 1: read `.tasks/.lock`; if type:"agent" with
  heartbeat ≤10 min → hard warning + require user confirmation; stale
  lock (TTL expired) → silently overwrite; absent/cleared → write
  type:"interactive" lock (120-min TTL).
- Session end new step 1: delete `.tasks/.lock` when type:"interactive".
- Structure section: `.lock` entry with gitignored callout.
- Rules bullet: "Honour `.tasks/.lock`".
- `.gitignore`: adds `.tasks/.lock` (ephemeral runtime state).
- dist/using-tasks.skill rebuilt.

Closes [using-tasks-session-lock].

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 12:57:48 +03:00
fdc94e08cf refactor(using-markitdown): rewrite MCP→CLI, drop Docker section v1.0.1
Replace all mcp__markitdown__convert_to_markdown invocations with the
native `markitdown <path|url>` CLI (v0.1.6, on PATH). Outputs to stdout
or `-o <file>`; sees the full host filesystem, so the Docker bind-mount
caveat (host→container file:// translation, [Errno 2] /c:/Users/...) is
gone and that whole section is removed. Updated the ingest pattern (-o
straight into .wiki/raw/), gotchas table (command-not-found → check
`markitdown --version`), and contrast table header (CLI, not MCP).
Description triggers unchanged. PATCH bump 1.0.0→1.0.1; dist artifact
rebuilt.

Decommissioned the Docker MCP containers: no container is named
`markitdown-mcp` (the server spawns anonymous ones from
markitdown-mcp:latest, 3 had piled up); removed all by image ancestor.
Left mcpServers.markitdown in ~/.claude.json untouched (out of scope) —
flagged as a follow-up in the concept page.

Wiki: concepts/using-markitdown-cli-migration.md + index + log.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 20:48:18 +03:00
790f1f41b8 docs(session-handoff): pwsh/powershell choice + restart-after-edit caveat [v0.3.2]
Two findings from live-hook e2e smoke 2026-05-25 on this Windows machine:

(1) README snippet was pwsh-only — PS 7 Core isn't on stock Windows. PS 5.1
(`powershell`) is always present and the hook script runs cleanly under both.
README now leads with `powershell` and notes the `pwsh` swap for PS 7+ users.

(2) Missing caveat that hooks load at Claude Code session start — mid-session
edits to ~/.claude/settings.json don't activate the hook until CC restart.
Without this note user would think the hook is broken after applying the
snippet (standalone smoke would pass but live in-session wouldn't fire).
Added explicit restart instruction + verification recipe.

Also: dist/session-handoff.skill now tracked (was missing since promotion —
inconsistent with other dist/*.skill artifacts that ship in repo).

PATCH bump 0.3.1 → 0.3.2 (docs-only, no behavioral change in hook or skill).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 00:24:23 +03:00
01bc7147c9 feat(project-bootstrap): canonical template + Step 5.6 add session-handoff trigger [v1.12.0]
CLAUDE.md.template gains `session handoff: read on start, write on end`
between `pull remote before work` and `follow project discipline`
(session-lifecycle clustering). Step 5.6 trigger->fulfiller table gains
the corresponding row (template ↔ table source-of-truth invariant).

Greenfield-bootstrap'ed projects now ship handoff trigger из коробки.
Existing projects unaffected — CLAUDE.md merge in Step 5 is idempotent
and respects user removals.

Bump 1.11.0 -> 1.12.0 MINOR (new canonical trigger = new capability,
backward-compatible). dist/project-bootstrap.skill rebuilt.

Closes [session-handoff-bootstrap-template-extend].
Unblocks [session-handoff-existing-projects-upgrade] Path B.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 23:10:03 +03:00
93a37f9aa5 feat(setup-wiki, using-wiki): add contradictions/ and open-questions/ as canonical page types
Extends Karpathy LLM Wiki canon with two new artifact types alongside
existing entities/concepts/packages/sources. Inspired by community
discussion that highlighted explicit tracking of surfaced tensions and
unanswered questions as missing aggregation points in the canonical
layout — they currently get scattered into concepts/ or lost in log.md.

Scope is schema-level only — no new ingest behaviour prescribed. Policy
on when to escalate an inline `> **Противоречие:**` flag into a
contradictions/<slug>.md page (and the analogous flow for
open-questions) stays the user's call.

setup-wiki [v1.0.0 → v1.1.0, MINOR — additive page types]:
- Discovery (Phase 1) now requires 6 content dirs for `noop` mode
- Phase 2 plan blocks list new dirs in greenfield + migrate
- CLAUDE.md schema template gains two page-type entries with status
  enums (contradictions: open|resolved|accepted-divergence;
  open-questions: open|answered|obsolete)
- index.md template gains two empty sections
- Phase 4a .gitkeep list, Phase 4b mkdir + touch, Phase 5 verify count
  (four → six dirs), Phase 6 report count all updated
- README.md layout tree + content-dirs sentence

using-wiki [v1.0.0 → v1.1.0, MINOR — additive type values]:
- Prerequisites: four → six content directories
- Page frontmatter type enum: + contradiction | open-question
- Per-type frontmatter extensions documented (status + affects/touches)
- File naming patterns: + contradictions/<slug>.md, open-questions/<slug>.md
- index.md sections-by-type list updated
- README.md mirrors SKILL.md changes

dist/: setup-wiki.skill + using-wiki.skill rebuilt.

project-bootstrap inline reference block intentionally untouched — it's
labelled "Reference (for context only — setup-wiki is the source of
truth)" and drift-tolerant by design.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 21:36:28 +03:00
ef3d38e79d feat(setup-interns, using-interns): secrets at ~/.config/projects-secrets/
Aligns claude-skills with secrets-out-of-common etap-1 migration: the
canonical home for plain-text local-dev secrets is now ~/.config/projects-secrets/,
outside any git tree.

setup-interns [v0.3.0 → v0.4.0, MINOR — write target changed]:
- Phase 1 drops gitignore-sanity check (no longer needed)
- Phase 2 plan block drops Gitignore line
- Phase 3 backs up ~/.config/projects-secrets/interns.env if present
- Phase 5 writes ~/.config/projects-secrets/interns.env (mkdir -p ahead)
- Phase 6 cwd documentation: secrets path no longer relative to cwd; uses
  INTERNS_SECRETS_PATH env var (or ~/.config default) — independent
- Common-mistakes drops "missing gitignore rule" entry

using-interns [v0.2.0 → v0.2.1, PATCH — wording]:
- Always-ask paths section reflects new canonical secrets home
- Prerequisites text updates setup-interns write target

interns-design.md (wiki concept): path refs updated for ASCII layer
  diagram, Layer 1 example block, Phase 5 description, comparison
  table, and final cross-cutting note. **/projects-secrets/** added
  to always-ask documentation pattern.

dist/: setup-interns.skill + using-interns.skill rebuilt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 14:22:51 +03:00
1e15a5319d feat(skills): multi-owner v2.x sweep — using-projects-meta v1.2.0 + setup-projects-meta v1.1.0
- using-projects-meta 1.1.0 → 1.2.0: examples qualified (`victor/books`, `OpeItcLoc03/claude-skills`), `target_project` description rewrites _meta → `agenda` literal + bare-name reject; new common-mistake row; cross-ref to `concepts/projects-meta-multi-owner`.
- setup-projects-meta 1.0.1 → 1.1.0: auth.toml template now reflects v2.x schema (`gitea_owners`, `agenda_tasks_repo` qualified, optional `gitea_aggregate_skip_owners`); added schema-notes block with backwards-compat for legacy `gitea_user`-only installs.
- closes [update-using-projects-meta-qualified-names] + [update-setup-projects-meta-auth-toml] (last 2 of 14 multi-owner umbrella blockers).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 20:53:57 +03:00
627a183b3e feat(update-claude-skills): add update skill + scripts [v0.1.0]
New skill and cross-platform scripts that automate the full uplift cycle:
git pull → conditionally rebuild MCP servers → install skills → version
diff → reload hints. Claude-Code-only (Hermes uses hermes-installer-skill).

- scripts/update.sh: bash version (Linux/macOS/git-bash)
- scripts/update.ps1: PowerShell version (Windows)
- skills/update-claude-skills/SKILL.md: thin wrapper, detects platform
- hermes/mapping.yaml: mode: skip (Claude-Code-only)
- dist/update-claude-skills.skill: built archive
- .tasks/STATUS.md: task marked done

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 14:04:27 +03:00
90d066bb7f fix(setup-interns): clone common monorepo, not nonexistent interns-mcp repo
The interns-mcp source lives inside the `OpeItcLoc03/common` monorepo
(at ~/projects/.common/), not as a separate `interns-mcp` repo on Gitea.
The previous commit incorrectly wrote `git clone .../interns-mcp`.

Now the clone-fallback correctly:
- If ~/projects/.common/.git exists but lib/interns-mcp/ is missing:
  git -C ~/projects/.common pull --ff-only (stale clone, needs fresh subdirs)
- If ~/projects/.common/ is absent:
  git clone .../common.git ~/projects/.common (fresh clone of monorepo)
- Added "wrong repo" to Common mistakes section
- Added monorepo scope note to Out of scope section

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 13:24:31 +03:00
54ba5caf5a fix(setup-interns): absolute paths + gitea clone fallback [v0.3.0]
- Replace all `<project-root>/.common/...` with `~/projects/.common/...`
  (POSIX-absolute paths, mirroring setup-projects-meta after the
  using-projects-meta-fix-paths fix). The cwd-relative form broke
  when Claude was launched from System32 or another non-project dir.
- Add git clone fallback: when `interns-mcp` source is absent, clone
  from `https://git.kzntsv.site/OpeItcLoc03/interns-mcp` instead of
  stopping with "initialize first". Mirrors setup-projects-meta Phase 4.
- Remove "source must be in place" from Out of scope (now handled).
- Fix MCP registration cwd to `~/projects` (base dir containing .common/).
- Bump version 0.2.0 → 0.3.0 (MINOR — new capability: clone fallback).

Closes [setup-interns-fix-paths] + [setup-interns-clone-fallback].

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 13:17:57 +03:00
aac9088091 fix(project-bootstrap): v1.10.1 — add missing tdd-criteria + recommend-dont-menu to CLAUDE.md template + prose
Bug: v1.10.0 bump + Step 5.6 map added these 2 canonical triggers, but the
CLAUDE.md template literal (lines 339-342) and corresponding prose paragraphs
were not updated. Symptoms: upgrade-mode on repos missing these 2 triggers
detected "already canon" and skipped insertion, leaving gaps.

Fix:
- Template: added `follow tdd-criteria` after `follow project discipline`,
  added `recommend, don't menu` after `delegate to interns when allowed`
- Prose: added 2 new paragraphs describing each trigger with install hints
- Version: 1.10.0 → 1.10.1 (PATCH — completing what 1.10.0 claimed)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 12:05:35 +03:00
94b4c441e6 fix(tdd-criteria): review findings — v0.1.0→v0.2.0
- Remove session-authorship trigger loophole (applies to ALL code changes)
- Add composite-tasks paragraph (criterion applies per artefact, not per task)
- Add refactoring carve-out (existing passing tests sufficient, no new tests)
- Expand file-extension list (go, rs, java, rb, ex, swift, kt, cs, php)
- Clarify wrapper line-count (non-blank non-comment lines)
- Add spike-survivor fallback (TODO/GitHub issue if no .tasks/)
- Fix "чужая schema" → "foreign schema" in algorithm + design doc
- Define TDD procedurally (red→green→refactor) in Default mode section
- Sync design doc with same changes
- Rebuild dist + dist-hermes + reinstall

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 10:12:59 +03:00
e566df4303 feat(project-bootstrap): add tdd-criteria to canonical triggers [v1.10.0]
- Add "follow tdd-criteria" to assets/CLAUDE.md.template
- Add row to Step 5.6 trigger→fulfiller map
- Bump 1.9.0 → 1.10.0 (MINOR — new canonical trigger)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 09:08:43 +03:00
62a54c9b6a build(tdd-criteria): add dist archive
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:27:09 +03:00
065270de42 build: rebuild project-discipline.skill (Rule 5 from 215afdd)
dist/ was missed when 215afdd shipped Rule 5; rebuilt to match v0.1.1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:52:34 +03:00
b0d2d5169a feat(using-tasks): pre-close coverage gate + local-first recommendations [v1.1.0]
Part A — Pre-close coverage gate. ### Task completion now lists acceptance
criteria from the per-task file before setting 🟢; missing evidence → ask
the user. New section ### Post-commit task closure prompt: after a feat:/fix:
commit the agent asks "эта работа закрывает таску <slug>?" so shipped code
doesn't sit under stale  blocks (cf. extend-project-discipline-brainstorm-
workspaces / project-creation-lifecycle-skill, both shipped before close).

Part B — Local-first recommendations at session-start / "what next" triggers.
cwd-project board (🔴🟡) leads; cross-project urgents are at most one
footnote line. Explicit "по всем проектам" flips the order. Pairs with
using-projects-meta's local-first read rule.

Bump 1.0.0 → 1.1.0 (MINOR — adds two new operation types; task block
suggested PATCH but Rule 3 grades these as capability additions). Closes
[using-tasks-close-coverage-gate] (next commit).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:49:09 +03:00
011a8b42f2 feat(recommend-dont-menu): add skill + integrate into project-bootstrap [v0.1.0 / v1.9.0]
- Add `recommend-dont-menu` skill: overrides superpowers:brainstorming
  to give single argued recommendations instead of menus
- Integrate into project-bootstrap:
  - Add "recommend, don't menu" trigger to CLAUDE.md template
  - Add row to Step 5.6 trigger→fulfiller table
- Bump project-bootstrap 1.8.0 → 1.9.0 (MINOR — adds trigger)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 22:49:56 +03:00
23431c5e4a feat(project-bootstrap): add greenfield-full mode with remote create
Three modes now: greenfield-full (new + remote), add-remote, upgrade.
Step 0: detect git/remote/empty state for mode selection.
Step 1.5: Gitea API repo create + push.
Step 8: projects-meta sync for visibility.
Version 1.7.0 → 1.8.0 (MINOR).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 22:34:39 +03:00
81af7825b6 feat(interns): add repo_read routing to using-interns + Node/repomix checks to setup-interns [v0.2.0]
using-interns: overview table 2→3 interns, routing hints for repo_read
vs bulk_text_read, tool quick reference row. setup-interns: Phase 0
adds node --version check + optional repomix pre-warm.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-06 07:02:42 +03:00
6e4f3f481b refactor(skills): dedup compress -> caveman-compress [v1.0.0]
skills/compress/ was a byte-identical dupe of skills/caveman-compress/
(SHA256 match across all 7 scripts/ files; SKILL.md diff was name: +
Process step 2 only; descriptions textually identical = arbitrary
harness tie-break + double-counted listing budget).

Kept caveman-compress canonical: it carries README.md (benchmarks +
caveman-toolkit branding) and SECURITY.md (Snyk false-positive writeup),
and matches the caveman-* prefix invariant.

Ported the better Process-step wording from compress
(`cd <directory_containing_this_SKILL.md>`) into caveman-compress;
the prior `cd caveman-compress` form assumed cwd was the parent dir
and broke when invoked from ~/.claude/skills/caveman-compress/.

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
yet -- future [install-ps1] task should add --prune).

Slash-command impact: /compress gone; /caveman-compress and
/caveman:compress (toolkit-canonical) remain.

Wiki: .wiki/concepts/compress-dedup.md (rationale + rejected
alternatives), index.md + log.md updated.

Tasks: [compress-dedup] flipped active -> done in same commit
(per-task file .tasks/compress-dedup.md created with full decisions
log).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 21:49:44 +03:00
8c547d73af feat(project-bootstrap): generic Step 5.6 skill-deps check
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)
2026-05-05 21:21:19 +03:00
2f7943f06f fix(setup-projects-meta): canon path table -> .common/lib
SKILL.md Phase 5 platform-path table (lines 152-154) had stale
~/.local/projects-meta-mcp; replace with ~/projects/.common/lib/
projects-meta-mcp to match real install canon (body Phase 4 clone
target + ~/.claude.json mcpServers.projects-meta.args[0]).

version: 1.0.0 -> 1.0.1 (PATCH, doc consistency).

Closes [using-projects-meta-fix-paths] (.tasks/STATUS.md done).
Sibling task [migrate-to-common-lib] in projects-meta-mcp closed
the same day with matching path migration.
2026-05-05 21:14:06 +03:00
001f4c566b feat(skills): update setup-projects-meta paths for .common/lib/
- Replace ~/.local/projects-meta-mcp → ~/projects/.common/lib/projects-meta-mcp
- Update setup-projects-meta and using-projects-meta skills
- Rebuild dist/ with new paths

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 20:35:59 +03:00
0eb7dd1d7c feat(interns-skills-mvp): ship setup-interns + using-interns v0.1.0; project-bootstrap 1.5.0 -> 1.6.0
setup-interns (v0.1.0) — 8-phase install of the local `interns` MCP server:
detect `.common/lib/interns-mcp/` source, `pip install -e`, write
`.common/secrets/interns.env` with endpoint API keys (gitignored), register
`mcpServers.interns` in `~/.claude.json` with absolute Python interpreter
path + `cwd` so the runtime resolves config relative to project root.
Mirrors setup-projects-meta / setup-context7 confirmation-gate shape.
Description 899 chars (under the 900 budget per
feedback_skill_description_length_limit).

using-interns (v0.1.0) — runtime policy for `mcp__interns__*`. Per-session
permission grant mirrors project-discipline Rule 4: ask-mode default,
conversational grant ("разреши интернов" / "allow interns"), conversational
revoke, always-ask paths for `**/.env`, `**/secrets/**`, `**/*.key`,
`**/.ssh/**`, `**/.aws/credentials` etc with transitive rule (Claude can't
bypass by reading the file with the local Read tool and forwarding content),
cost-cap >$0.10 always asks, session-end automatic reset. Routing hints for
`bulk_text_read` (3+ files or one file >400 lines) and `transcript_distill`
(before .wiki/log.md updates / session summaries). Description 814 chars.

project-bootstrap (1.5.0 -> 1.6.0, MINOR — capability added):
* assets/CLAUDE.md.template: insert `delegate to interns when allowed`
  between `follow project discipline` and `we're on Windows`.
* SKILL.md Step 5: same insertion in inline template + new commentary
  paragraph explaining the trigger, no-op semantics, install pointer.
* SKILL.md Step 5.5: bootstrap-manifest table extended with
  `setup-interns`, `using-interns`, `project-discipline` rows.
* README.md: Workflow Step 5.5 description + See also section both pick up
  the new skills.

Root CLAUDE.md dogfood: `delegate to interns when allowed` line added.
.wiki/log.md decision entry. .tasks/STATUS.md task moved to 🟢 done.
.tasks/interns-skills-mvp.md per-task file with goal / key-files /
decisions log / open questions.

Build + install verified: `dist/{setup-interns,using-interns,
project-bootstrap}.skill` rebuilt; `bash scripts/install.sh ...` succeeded;
harness skill listing shows full descriptions for all three (no H1
fallback) — confirms the description budget held.

Versioning per project-discipline Rule 3:
* setup-interns: 0.1.0 (first edit of unversioned artifact, MAJOR=0).
* using-interns: 0.1.0 (first edit of unversioned artifact, MAJOR=0).
* project-bootstrap: 1.5.0 -> 1.6.0 (MINOR — adds capability without
  breaking existing CLAUDE.md merge or manifest consumers).

Server runtime itself (`.common/lib/interns-mcp/`) is out of scope for this
task — the skills land lifecycle, policy, and bootstrap integration so any
machine where the MCP server is later installed already has Claude's
policy in place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 17:41:11 +03:00
b8b6acb091 build: project-discipline@0.1.0 + project-bootstrap@1.5.0 archives 2026-05-01 11:35:01 +03:00
772f047c0a build: pulling-before-work@1.0.0 + project-bootstrap@1.4.0 archives 2026-05-01 10:36:00 +03:00
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
b12039720d feat(project-bootstrap): v1.2.0 — auto-load using-projects-meta in bootstrapped projects
CLAUDE.md template gains a fifth trigger line, `check across all projects`
(verbatim phrase from `using-projects-meta` description). Every new or
upgraded project now auto-loads cross-project task aggregation and shared
projects-wiki access without an explicit verbal trigger.

No Step 5.7 mirror of Step 5.6 (superpowers plugin recommendation):
`using-projects-meta` Prerequisites already self-corrects to
`setup-projects-meta` when MCP tools are missing.

Synced: assets/CLAUDE.md.template, inline copy in SKILL.md (Step 5),
README.md + README.ru.md trigger lists, this repo's local CLAUDE.md,
dist/project-bootstrap.skill, .wiki/concepts/projects-meta-skills.md
(Bootstrap trigger section), .wiki/log.md.

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