Reviewed the MCP→CLI rewrite of skills/using-markitdown/SKILL.md.
Acceptance (3/3) + 2 bonus checks, all green:
- No mcp__markitdown__ in SKILL.md (grep 0; only 2 negative "Docker"
mentions explaining the old mount caveat no longer applies).
- CLI examples correct: markitdown 0.1.6 on PATH; -o/-x/-m/stdin flags
match `markitdown --help` verbatim.
- Version bumped 1.0.0 -> 1.0.1 (PATCH).
- dist/using-markitdown.skill consistent (v1.0.1, no mcp refs).
Informational finding (non-blocking): at review time `docker ps` shows a
markitdown-mcp:latest container respawned from the out-of-scope
mcpServers.markitdown registration in ~/.claude.json. The impl removed the
existing containers correctly and flagged this respawn in the concept page.
Filed follow-up [using-markitdown-mcp-deregister] (needs-human: keep-or-drop
decision on the MCP registration).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
Step 5 created the paired <slug>-review task without a `weight`, so fleet
routing/reconciler skipped it (root cause of manual patch c0af151). Now the
review task sets weight explicitly, inherited from the impl-task with a
needs-claude floor:
impl needs-human -> review needs-human
impl needs-claude -> review needs-claude
impl cheap-ok -> review needs-claude (floor)
Floor (not pure inheritance) keeps the doc internally consistent with the
existing "What NOT to do" bullet that forbids cheap-ok for review tasks.
Added a What-NOT-to-do bullet against weightless review tasks. PATCH bump.
Wiki: concepts/delegate-task-review-weight.md + index + log.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reviewed using-tasks v1.3.0 STATUS.md-bloat fix + concept page.
- Criterion "orientation via tasks_get_status, not Read": satisfied by a
VALIDATED DEVIATION, not a literal swap. Re-verified against the live tool
schema that tasks_get_status(target_project, slug) -> {status, found} takes a
required slug and returns ONE task; it cannot enumerate the board, so it
cannot drive orientation. Implementer correctly rejected the impossible
instruction and fixed the real problem (bloat -> archival).
- No regression: orientation still reads local STATUS.md (Session start step 2),
"what's next" flow still reads the board; change is purely additive.
- Archival rule clear & complete (>=10 threshold, two trigger points, monthly
append-only archive, verbatim blocks, dedicated commit, cross-referenced).
Informational (non-blocking): this repo's own STATUS.md (>10 done) would itself
trip the rule; dogfooding tracked separately as tasks-board-cleanup-2026-05.
No follow-up tasks. Verdict appended to concept page + wiki log.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Non-implementer review of skills/using-system-snapshot (v0.1.0). All three
acceptance criteria pass:
- trigger phrases cover real scenarios (4/4 positives + clean negatives)
- no-claim-without-snapshot rule explicit (4 places)
- output format brief (three lines, verified vs live payload)
Evidence: live meta_system_snapshot call confirms the documented poller/docker/
tasks contract; 9 fresh-context subagents over a simulated registry (real
descriptions + using-vds-ops/using-projects-meta/using-tasks competitors) routed
8 cleanly, incl. no false-positive on a docker-compose.yml edit.
3 informational findings, none blocking:
1. cross-project task-count phrasings overlap with using-projects-meta (by-design)
2. local-container deep diagnosis unowned — vds-ops scope, not this skill
3. deployment scaffold missing — not installed, not in hermes/mapping.yaml,
no -install/-hermes-mapping/-test-trigger baseline tasks
No SKILL.md edits -> no version bump. TDD N/A (review of markdown policy).
Review outcome recorded in .wiki/concepts/using-system-snapshot-design.md + log.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Review of session_break authoring side in delegate-task SKILL.md v0.2.2.
All 4 acceptance criteria met by inspection:
- Q6 placed directly after Q5 notify (0-indexed item 5.)
- Template field with example values + inline comment
- Usage guidance: three cases listed
- Version bumped to v0.2.2
author<->consumer key (session_break) match grep-verified against
using-tasks v1.2.0. 1 informational note (0-indexed numbering, cosmetic),
no blocking findings, no follow-up tasks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reviewed session_break impl in using-tasks SKILL.md (commit 9a518fc, v1.2.0).
All 4 acceptance criteria met:
- Rule placement: Task completion step 6, after close (set green + commit),
before any tasks_claim_next — order correct.
- SESSION BOUNDARY message: verbatim match to design string (slug + hint).
- Absent flag: behaviour unchanged (no regression).
- Version: bumped to v1.2.0 in 9a518fc (now 1.3.0 from later archival task).
No blocking findings, no follow-up tasks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MINOR bump 1.2.0 -> 1.3.0. Adds a done-task archival rule: when >=10
green done blocks pile up in STATUS.md (checked at Session start step 7
and Task completion step 7), move them verbatim to
.tasks/archive/YYYY-MM.md (append, monthly file, one-time header,
committed on its own), leaving only active/paused/ready/blocked on the
board. This is the root-cause fix for the recurring "huge STATUS.md"
complaint -- orientation still reads the local board, but the board is
kept small so the read stays cheap.
Deliberately did NOT follow the task's literal instruction to swap
Read STATUS.md for tasks_get_status in the orientation flow: that rests
on a factual error. tasks_get_status returns ONE task's live status by a
known slug and cannot enumerate the board; tasks_aggregate is
cross-project + cache-based and does not index ready/done (its docs say
read STATUS.md directly for the current project). So no projects-meta
tool replaces the orientation board-read. The skill now warns against
both tools for board enumeration and points tasks_get_status at its real
single-task use.
Concept page concepts/using-tasks-status-archival.md + index + log
document the deviation for the paired review task. TDD N/A (markdown
policy). hermes/mapping + install untouched (separate baseline tasks).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Thin read-only skill wrapping the single meta_system_snapshot MCP call
(poller status + local docker + cached cross-project task summary).
Replaces the scatter of tasklist / docker ps / manual meta_status.
Core rule: no claim about poller / local-docker / task-load state
without calling the tool in the current turn. Output = three lines,
one per section (docker lists only problem containers; tasks gives
Sigma active/blocked + busiest 2-3 projects). Liveness split documented
(poller+docker live, tasks from cache). Scope boundaries: deep single-
container diagnosis -> using-vds-ops / docker logs; precise per-task work
-> using-projects-meta. Read-only, no per-session grant.
Output shape verified by a live snapshot call 2026-06-09.
Wiki: concepts/using-system-snapshot-design.md + index + log.
TDD N/A (markdown policy artifact); behavioral smoke-test = paired
skill-using-system-snapshot-review task.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add the authoring side of the `session_break` marker whose consumer
side shipped in using-tasks v1.2.0. At delegation time the author can
now mark a task so that, after it closes, an autonomous runner pauses
instead of chaining the next task.
- Pre-flight gate 5->6 questions: new Q (item 5, after notify) —
"Session-break после этой задачи? (domain-switch / milestone /
heavy infra)". Yes -> set session_break in body; no -> omit
(default unchanged).
- Template trailer gains optional `[**session_break:** true |
"<hint>"]` with inline comment (same lowercase frontmatter key
using-tasks reads).
- Usage-guidance block: three set-it cases + tie to using-tasks
Task-completion step 6 / SESSION BOUNDARY line.
- What-NOT-to-do bullet: don't set it routinely (real-boundary
marker, not a default).
- Wiki concept page concepts/delegate-task-session-break.md
(links using-tasks-session-break) + index + log.
PATCH bump: additive optional field + one pre-flight question, no
existing behaviour changed. Markdown policy artifact — no test
surface (TDD N/A). Closes [session-break-delegate-task].
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a session_break marker so a task author can mark a task's
completion as a natural session boundary. After the task closes 🟢,
before tasks_claim_next, an autonomous agent prints the verbatim
SESSION BOUNDARY line and stops instead of chaining the next task.
Absent -> behaviour unchanged.
- STATUS.md format: optional **Session break:** field + new
"### session_break marker" subsection (type bool|string, examples).
- Task completion step 6: after close, before claim-next, check the
closed task's session_break; print boundary line + stop if present.
- Rules bullet "Honour session_break".
- Wiki concept page concepts/using-tasks-session-break.md + index + log.
MINOR bump: new optional capability, no existing behaviour changed.
Closes [session-break-using-tasks].
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>