Commit Graph

314 Commits

Author SHA1 Message Date
eb357fc249 tasks(using-yt-tools): bump header version to 0.1.4 (README Linux/macOS parity)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:41:37 +03:00
47aea18b39 tasks(using-yt-tools): backfill commit hash in skill-body-fill close-note
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:39:57 +03:00
4956beba5f feat(using-yt-tools): SKILL.md body fill (2 flows) [0.1.0 → 0.2.0]
Fill the v0.1.0 stub body. Description rewritten to document two distinct flows
(was iterative-only, even though triggers already listed targeted-frames phrases):

- Flow A — iterative-watch (transcript → pick anchors → frames): for "what's
  in this video / summary / о чём ролик / video summary / youtube transcript"
- Flow B — targeted-frames (frames only, no transcript): for "посмотри 1:23 /
  покажи кадр на N / что показано на N" — user already named timestamps,
  transcript fetch would be pure waste

Body sections filled (6): When/Prereq/Inputs/Steps/Failure/Side/NOT — Flow A
and Flow B distinguished throughout. Failure modes table covers missing CLI,
missing yt-dlp/ffmpeg (with Windows winget+PATH note), network/private/age-
gated, subs-disabled. What NOT to do explicitly forbids the "always-iterative"
trap that the v0.1.0 description implicitly invited.

Bump version 0.1.0 → 0.2.0 (MINOR — documents new capability set). Description
744 chars (under 900-char soft budget; well below ~1024 hard limit). Installed
to ~/.claude/skills/using-yt-tools/ via scripts/install.ps1 — harness skill-
listing renders full description, not truncated to H1.

STATUS.md: closes new [using-yt-tools-skill-body-fill] 🟢 (filed+closed
in-place since this is one body-fill task, not a multi-session workstream).
[using-yt-tools-review] stays 🔵 — body-fill blocker removed, but still
blocked on [using-yt-tools-trigger-smoke-clean-session] (needs fresh CC
session). Caveat recorded: body-fill was done by implementer instead of the
'fresh agent' the review-task originally specified — explicit user approval.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:39:40 +03:00
e83038965b tasks(using-yt-tools): close 3 finding fixes 🟢🟢🟢
- using-yt-tools-transcript-paragraphs-fix → a0e4cc8 (yt-tools 0.1.1, hybrid #4)
- using-yt-tools-frames-stderr-fix → 6961796 (yt-tools 0.1.2, ffmpeg pre-check + _format_subprocess_failure)
- using-yt-tools-windows-path-doc-fix → 2471228 (yt-tools 0.1.3, README winget+PATH note)

yt-tools 0.1.0 → 0.1.3. 67 → 74 tests (3 markdown + 4 frames). 74/74 green.
Remaining:  using-yt-tools-trigger-smoke-clean-session (needs fresh CC session),
🔵 using-yt-tools-review (still blocked on SKILL.md body fill).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:27:53 +03:00
e3cfe623d8 tasks(using-yt-tools): close test-trigger partial + file 4 findings 🟢
Closed using-yt-tools-test-trigger as **partial** — CLI e2e +
iterative-flow on 3blue1brown «Vectors, Ch.1» (fNk_zzaMoSs, 9:51 EN)
exercised the primary path: yt-transcript ✓, yt-frames ✓, Read on
3 jpgs ✓, vision-anchored answer ✓. Trigger smoke (parts 1+2)
split out — it needs a clean CC session, which this one is not.

Filed 4 new  tasks:
- transcript-paragraphs-fix — _group_paragraphs collapses dense
  captions into 1 block (broken on community/auto subs without
  >4s gaps); single [0:00] anchor on a 9:51 video kills the
  iterative-flow primary use-case.
- frames-stderr-fix — `error: yt-dlp source download failed:`
  with empty tail when ffmpeg missing; real cause swallowed.
- windows-path-doc-fix — README should note restart-shell after
  `winget install Gyan.FFmpeg` (user-PATH not picked up by the
  currently-running git-bash subshell).
- trigger-smoke-clean-session — 10 positive + 3 false-positive
  trigger probes, requires a fresh CC session.

Review (🔵) updated: 3 baseline impl tasks all 🟢, but the
acceptance criteria for Steps / Failure modes / What NOT to do
target SKILL.md body which is still empty stub. New blocker:
second-pass body fill (separate task — not filed here).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 10:58:48 +03:00
396ebc1c9c tasks(using-yt-tools): close install + hermes-mapping [🟢🟢]
- using-yt-tools-install: ffmpeg 8.1.1 on PATH, venv populated,
  yt-tools 0.1.0 editable, 4 CLIs respond, 67/67 unit tests pass
  on this Windows host.
- using-yt-tools-hermes-mapping: registered as `pending` with
  intended:{mode:auto, category:research}; build-hermes.py emits
  26 skills (1 pending) and SKIPPED.md lists the entry. Promotion
  to `auto` gated on using-yt-tools-test-trigger 🟢.

NB: triggers/url_pattern from the task block's yaml sketch don't
match the mapping schema — they live in SKILL.md description and
Hermes picks them up automatically. Build script only consumes
mode/category/reason/intended/replace-rules.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 10:53:19 +03:00
f04f51ac05 tasks(using-yt-tools-review): link to .common [yt-tools-impl] (7779f8e) 2026-05-20 09:52:00 +03:00
ae8a4256a2 tasks: add using-yt-tools promotion bundle (3 baseline + 1 review 🔵)
Local-write workaround — Gitea backend temporarily down,
projects-meta tasks_create returned 404.
Source: .workshop/.archive/2026-05-20-yt-tools.md
2026-05-20 09:32:54 +03:00
f14b579429 fix(skills): using-synology-ops 0.1.0→0.1.1 — extend skip-rule with non-NAS hosts
Behavioral fire-test of trigger phrases (10 parallel general-purpose subagents,
each phrase as isolated user message, META: skills_invoked= parsed) revealed
one false-positive: «restart-loop in books-pipeline» fired the skill despite
books-pipeline not being a NAS-hosted container — static-pass prediction
confirmed (implicit NAS-context discriminator, LLM keyed on `restart-loop`
without host check).

Tuning: extended skip-rule with non-NAS hosts examples
(`books-pipeline`, `vps-*` etc. — only the 6 listed above are NAS-hosted).
Description 941 chars / 1024 limit. PATCH bump (fix only, no new triggers).
Retest of NEG#3 → PASS (subagent quoted new skip-rule). Final 10/10.

Closes [using-synology-ops-test-trigger]; unblocks [using-synology-ops-review]
(ready, baseline tasks all 🟢, but body still <пусто> stub — separate debt).

dist-hermes/mcp/using-synology-ops/SKILL.md regenerated via build-hermes.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 20:39:48 +03:00
0505e2e7ab meta(tasks): close [using-synology-ops-review] in OpeItcLoc03/claude-skills 2026-05-12 17:07:32 +00:00
19d93082bc meta(tasks): create [using-synology-ops-body-fill] in OpeItcLoc03/claude-skills 2026-05-12 17:07:25 +00:00
10fae61758 meta(tasks): pause [using-synology-ops-test-trigger] — static pass done, fire-test handoff 2026-05-12 19:44:58 +03:00
e186788971 feat(hermes): register using-synology-ops in mapping.yaml (auto/mcp) 2026-05-12 19:38:37 +03:00
2646c7aeaf meta(tasks): close [using-synology-ops-install] — installed to ~/.claude/skills, SHA256 match 2026-05-12 19:31:55 +03:00
1108731b21 meta(tasks): create [using-synology-ops-review] in OpeItcLoc03/claude-skills 2026-05-12 16:22:05 +00:00
b00763fa57 meta(tasks): create [using-synology-ops-test-trigger] in OpeItcLoc03/claude-skills 2026-05-12 16:21:57 +00:00
579a6f2ce5 meta(tasks): create [using-synology-ops-hermes-mapping] in OpeItcLoc03/claude-skills 2026-05-12 16:21:53 +00:00
93c910ac00 meta(tasks): create [using-synology-ops-install] in OpeItcLoc03/claude-skills 2026-05-12 16:21:51 +00:00
6d503b16dc feat(skills): project-bootstrap@1.11.0 — .gitignore meta-isolation block
Step 1 now ships agent meta-paths inversions (`!.claude/`, `!.tasks/`,
`!.wiki/`, `!.brainstorm/`, `!.archive/`, `!.mcp/`, `!.mcp.json`,
`!MEMORY.md`) so own greenfield/upgrade projects re-enable visibility
against the global `core.excludesFile` cutter (`~/.config/git/ignore`)
that hides obvyaska from forks of upstream open-source. Without it any
fresh bootstrap landed an empty first commit on machines with the global
configured: setup-wiki/setup-tasks/Step 5 created .wiki/.tasks/CLAUDE.md
but git ignored them.

Two cases handled in Step 1:
- no .gitignore → write template (block included unconditionally)
- existing .gitignore → marker-based (`# AI обвеска — слой 2:`)
  append-if-missing; idempotent on re-run

Smoke-tested in %TEMP%\test-bootstrap-meta-iso: all 3 acceptance
criteria pass + negative control (strip block → global hides) +
idempotency (re-run with marker present skips). Source concept:
workshop wiki concepts/meta-out-of-repo.md. Closes board task
[meta-isolation-bootstrap-skill-update].

MINOR bump (1.10.1 → 1.11.0) — new feature, backward-compat.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 14:27:59 +03:00
8593490a4b meta(tasks): create [meta-isolation-bootstrap-skill-update] in OpeItcLoc03/claude-skills 2026-05-10 11:05:00 +00:00
b0aee3795d meta(tasks): close [update-setup-projects-meta-auth-toml] in OpeItcLoc03/claude-skills 2026-05-09 17:57:52 +00:00
799bee9f30 meta(tasks): close [update-using-projects-meta-qualified-names] in OpeItcLoc03/claude-skills 2026-05-09 17:57:51 +00: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
fb304757cd meta(tasks): create [update-setup-projects-meta-auth-toml] in claude-skills 2026-05-08 08:15:21 +00:00
07c5b6d3d2 meta(tasks): create [update-using-projects-meta-qualified-names] in claude-skills 2026-05-08 08:15:18 +00:00
cec2b8b61c meta(tasks): close [claude-skills-update-skill] — shipped v0.1.0 + PS 5.1 bugfix
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 15:33:18 +03:00
f0161fe821 meta(tasks): update [claude-skills-update-skill] in claude-skills 2026-05-07 12:02:09 +00: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
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
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
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
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
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
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