Commit Graph

143 Commits

Author SHA1 Message Date
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
efd73ec4e6 meta(tasks): update [setup-interns-clone-fallback] in claude-skills 2026-05-07 10:37:46 +00:00
b20ea8a463 meta(tasks): close [setup-interns-fix-paths] + [setup-interns-clone-fallback]
Both tasks shipped in 54ba5ca (path fix + clone fallback) and 90d066b
(monorepo clone correction — interns-mcp is a subdir of common, not a
separate repo).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 13:26:56 +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
9e2517f370 meta(tasks): update [setup-interns-clone-fallback] in claude-skills 2026-05-07 10:04:12 +00:00
65bea633b9 meta(tasks): create [setup-interns-clone-fallback] in claude-skills 2026-05-07 09:57:33 +00:00
6601910fb7 meta(tasks): create [tasks-board-cleanup-2026-05] in claude-skills 2026-05-07 09:43:26 +00:00
5d9d2f88f9 meta(tasks): close [bootstrap-fix-tdd-recommend-template] + [bootstrap-upgrade-canonical-triggers]
Both tasks done. v1.10.1 fix shipped (aac9088), upgrade tested on claude-skills (ac0fa57).
Unblock ready — mass-rollout of 5-string group can proceed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 12:07:29 +03:00
ac0fa570ad chore(bootstrap): upgrade CLAUDE.md — add tdd-criteria, recommend-dont-menu triggers
project-bootstrap v1.10.1 upgrade. 2 missing canonical triggers added:
- follow tdd-criteria
- recommend, don't menu

Bootstrap manifest: 1.2.0 → 1.10.1

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 12:06:34 +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
d5155c33e2 meta(tasks): create [bootstrap-fix-tdd-recommend-template] in claude-skills 2026-05-07 08:57:55 +00:00
2347f4e9b5 meta(tasks): update [claude-skills-update-skill] in claude-skills 2026-05-07 07:52:50 +00:00
d70c16db5b meta(tasks): update [install-ps1] in claude-skills 2026-05-07 07:52:40 +00:00
2c7eb1f70a meta(tasks): close [refresh-project-bootstrap] in claude-skills 2026-05-07 07:52:32 +00:00
7acda2ecc2 meta(tasks): create [claude-skills-update-skill] in claude-skills 2026-05-07 07:42:05 +00:00
3716dec621 meta(tasks): update [bootstrap-upgrade-canonical-triggers] in claude-skills 2026-05-07 07:32:36 +00: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
e260fe6cb1 chore(tasks): sync board — 4 stale entries → done, unblock hermes-converter-ci
hermes-flavour-mcp-setups, hermes-installer-skill (5990b06),
hermes-mvp-coverage (a003b80), bootstrap-add-tdd-trigger (e566df4)
shipped but STATUS.md still showed ready. hermes-converter-ci
blocker resolved → ready.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 10:12:58 +03:00
a673241bb9 chore(tasks): update hermes-mvp-coverage to done
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 10:12:58 +03:00
82f82a2036 feat(hermes): mvp-coverage — 9 skills converted to Hermes format
- mapping.yaml: 7 pending → auto (setup-tasks, using-tasks, setup-wiki,
  using-wiki, using-projects-meta, using-context7, project-bootstrap,
  recommend-dont-menu). pending count now 0.

- dist-hermes/ populated:
  software-development: project-bootstrap (+ assets)
  productivity: recommend-dont-menu, setup-tasks, using-tasks
  research: setup-wiki, using-wiki
  mcp: using-context7, using-projects-meta

- active-platform replace-rule verified: Windows+PowerShell → Linux+bash
  in body SKILL.md (frontmatter description unchanged by design).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 10:12:58 +03:00
27026c5e0e feat(hermes): flavour-mcp-setups + installer-skill [v1.0.0-hermes]
- hermes-flavour-mcp-setups: setup-projects-meta + setup-context7
  rewritten as yaml-edit ~/.hermes/config.yaml (no clone/build)
  pre-checks binary+auth.toml exist, fallback to git clone with
  extraheader-pattern. mapping: pending → manual.

- hermes-installer-skill: dist-hermes/meta/claude-skills-installer/SKILL.md
  recursive bootstrap installer. iterates dist-hermes/<cat>/<name>/,
  calls skill_manage(action='create') per skill. respects SKIPPED.md.

- dist-hermes/mcp/: both MCP setup skills generated via build-hermes.py.

- hermes-mvp-coverage: unblocked (ready → next task).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 10:12:58 +03:00
acfc8e697f meta(tasks): create [bootstrap-upgrade-canonical-triggers] in claude-skills 2026-05-07 06:57:11 +00: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
588d65d2e0 meta(tasks): create [bootstrap-add-tdd-trigger] in claude-skills 2026-05-07 06:05:13 +00:00
7bde0cd963 chore(tasks): close tdd-criteria skill-write, mapping, build-install; unblock review
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:31:30 +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
7d308ff5d3 feat(hermes): add tdd-criteria mapping (auto, software-development) + rebuild dist-hermes
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:25:35 +03:00
2ba698185b docs(tdd-criteria): rule 4 — test-immutability defence (was X; is Y marker)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:24:05 +03:00
954f8ba2d7 feat(skills): tdd-criteria skill v0.1.0 [TDD-default + 4 carve-outs + 4 anti-loophole rules incl. test-immutability]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:23:52 +03:00
d440bb52c1 meta(tasks): create [tdd-criteria-precommit-hook] in claude-skills 2026-05-07 05:10:29 +00:00
b7819b175e meta(tasks): update [tdd-criteria-skill-write] in claude-skills 2026-05-07 05:09:49 +00:00
936a888423 meta(tasks): create [tdd-criteria-review] in claude-skills 2026-05-07 04:03:12 +00:00
5a01bdffb7 meta(tasks): create [tdd-criteria-build-install] in claude-skills 2026-05-07 04:02:39 +00:00
3dd359b36f meta(tasks): create [tdd-criteria-hermes-mapping] in claude-skills 2026-05-07 04:02:22 +00:00
07ce432dfd meta(tasks): create [tdd-criteria-skill-write] in claude-skills 2026-05-07 04:02:05 +00:00
5fb648d4a3 meta(wiki): log += ingest concepts/tdd-criteria-design 2026-05-07 04:01:25 +00:00
2ad6f4cef9 meta(wiki): index += concepts/tdd-criteria-design 2026-05-07 04:01:24 +00:00
a03d2804e4 meta(wiki): ingest concepts/tdd-criteria-design in claude-skills 2026-05-07 04:01:24 +00:00
89648b9df3 chore(tasks): unblock hermes follow-ups after MVP shipped
[hermes-flavour-mcp-setups] and [hermes-installer-skill] gated only on
[hermes-converter-mvp] (shipped in 6b36b31) — flipped 🔵.
[hermes-mvp-coverage] still blocked on the other two; [hermes-converter-ci]
still blocked on hermes-mvp-coverage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:02:01 +03:00
0cc7757d83 chore(tasks): close [hermes-converter-mvp]
Shipped in 6b36b31. Coverage check walked the 5 acceptance criteria
inline (mapping schema, build script, 4 universals through converter,
dist-hermes/ committed, security infra ready). Smoke-tests: idempotency,
replace-rule application, strict-mapping fail-fast — all verified.
Unblocks [hermes-flavour-mcp-setups], [hermes-installer-skill],
[hermes-mvp-coverage].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:00:55 +03:00
6b36b312fa feat(hermes): MVP converter + 4 universal skills converted
Adds the conversion infrastructure for the Hermes-rollout (Nous Research):

- hermes/mapping.yaml — per-skill schema (mode: auto|manual|skip|pending,
  category, replace-rules, source override). Every skills/<name>/ has an
  explicit entry; the build fails on unmapped skills.
- scripts/build-hermes.py — Python converter. Reads mapping.yaml; for auto
  applies replace-rules to SKILL.md and copies the rest verbatim; for manual
  copies hermes/skills/<source>/ as-is; for skip / pending records to
  dist-hermes/SKIPPED.md.
- dist-hermes/ — pre-converted Hermes-flavour tree (committed; consumed by
  the recursive installer in [hermes-installer-skill]). Includes 4 universal
  skills: pulling-before-work, active-platform (with Linux+bash replacement
  rule), project-discipline, using-markitdown. Plus SKIPPED.md listing
  8 skip + 10 pending entries.
- README.md — adds "Build for Hermes" section, updates layout, mentions
  hermes/, dist-hermes/, build-hermes.py.

Mapping is the source of truth for the audit table from
.wiki/concepts/hermes-skills-rollout-design.md (Q1-Q8). Pending entries
preserve the audit decision (intended mode/category) for the follow-up
tasks: hermes-flavour-mcp-setups, hermes-installer-skill,
hermes-mvp-coverage. Security carry-forward (extraheader-pattern,
POSIX-absolute paths, semver bumps) — infrastructure ready (replace-rules +
manual mode); concrete content lands in hermes-flavour-mcp-setups.

Smoke-tests: idempotent re-run produces no diff; replace-rules verified on
active-platform (Linux+bash); strict-mapping fail-fast verified on a
synthetic unmapped skill (exit 1).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:00:00 +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
f4c12ce4fd chore(tasks): close [using-tasks-close-coverage-gate]
Shipped in b0d2d51. Coverage check completed inline (acceptance criteria
all have evidence: SKILL.md sections, README mirror, version bump,
build+install verified, smoke-tests covered by self-application).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:49:44 +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
733e1466df chore(tasks): close 3 stale 's shipped in earlier commits
Closes [project-creation-lifecycle-skill] (shipped 23431c5 — project-bootstrap
1.9.0 greenfield-full mode), [extend-project-discipline-brainstorm-workspaces]
(shipped 215afdd — project-discipline 0.1.1 Rule 5), [recommend-dont-menu-skill]
(shipped 011a8b4 — recommend-dont-menu 0.1.0). Heading emoji fix on the third
(was  while Status was 🟢 Done — sync error). Smoke-test gap on greenfield-full
acceptance criteria — tracked in [using-tasks-close-coverage-gate].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:46:35 +03:00
879957d989 meta(tasks): update [using-tasks-close-coverage-gate] in claude-skills 2026-05-06 20:43:25 +00:00
ab996a2643 meta(tasks): create [using-tasks-close-coverage-gate] in claude-skills 2026-05-06 20:22:25 +00:00
ff99bc6bf7 meta(tasks): create [hermes-converter-ci] in claude-skills 2026-05-06 20:21:57 +00:00
d9c1ec69b5 meta(tasks): create [hermes-mvp-coverage] in claude-skills 2026-05-06 20:21:50 +00:00