Files
dotfiles/claude/skills/tooling-scan/SKILL.md
T
David F GliddenandClaude Opus 5 3af7207c29 session 2026-09-01 ADDENDUM 1: /doctor ran after the wrap
The wrap was complete and committed; the steward then ran /doctor, which
found and fixed real breakage. Recorded as an addendum to the same session
file rather than a new one — it is the same session, past midnight.

Fixed: 8 sub-agent name collisions across 21 files (15 renamed; 0 remain,
48 unique names — confirmed by the harness, which surfaced 15 previously
invisible agents immediately). 4 invalid SKILL.md frontmatters, latent
rather than live since the harness parses leniently. plane MCP disabled
(0 calls in 41 real sessions). permissions.defaultMode set to auto.
chamber-library/CLAUDE.md trimmed 54,129 -> 22,530 chars, under the
warning threshold, all 42 tool names and all 9 sections preserved.

TWO LOOSE ENDS recorded in ADDENDUM 1 and flagged in MEMORY.md, because
either would strand the next session:

1. chamber-library/CLAUDE.md is UNCOMMITTED — a 31,861-char deletion,
   steward-approved at the doctor gate, left for the steward because the
   doctor protocol forbids the executor committing CLAUDE.md edits. git
   diff --stat reports 11 lines and badly understates it; the cut sections
   were single 16k/20k-char lines.

2. ~/.claude/agents is NOT GIT-TRACKED — 51 hand-edited files, 0 tracked,
   not a symlink into dotfiles. The renames therefore have no version
   history, and the only backup went to a session-scoped scratchpad that
   dies on clear. The full rename mapping is written into ADDENDUM 1 and
   is the only undo that survives.

The wider gap is noticed and NOT filed, per the proposed moratorium: a
governed surface with no version control, in a system whose premise is
that the record must be checkable. Found by accident.

Also logged: a thirteenth instrument error. I reported dotfiles as having
unpushed commits to "origin" by conflating two repos' status lines —
dotfiles has gitea and github and no origin; the origin line was
studium-engine's.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017vKkg2EJF1rGwdFdBogwqx
2026-09-02 11:49:24 +02:00

6.1 KiB

name, description
name description
tooling-scan Survey the dev-tooling landscape for tools that could help US build CapableMind better — agent runtimes, memory substrates, inference infra, skill/diagnostic tooling. The build-lens sibling of /landscape-scan (which scans competitors). Generative but anti-shiny: a tool earns adoption only if it addresses a named bottleneck at acceptable switching cost with governance-grain fit. Surfaces candidates and bounded trials; never adopts unilaterally. Records to the tooling register.

Tooling Scan

Survey dev tooling that could help us build CapableMind — and keep the tooling register current. Sibling of /landscape-scan (which scans comparable/competing projects). The lenses are opposite: landscape asks "is someone building what we build?"; tooling asks "what helps us build it?"

Principle

Research is important, but it must push us to make something better — not defeat us. (steward)

Generative, but anti-shiny. The honest prior: our bottlenecks are usually not tool-shaped — they're hard engineering bugs, collaborator bandwidth, and the deliberately governed pace the work demands. A shinier tool is often a displacement activity — the question we reach for because the real work is slow. So the bar is high: a tool earns a look only if it maps to a named bottleneck, and earns adoption only if the gain clears the switching cost and the tool runs with our governance grain, not against it.

§0 — Resolve the workstream lens

This skill is workstream-parametrized — one method, many lenses ("simple exterior, complex underneath"). Default workstream: capablemind.

If invoked as /tooling-scan <workstream> (e.g. studium-engine), FIRST read ~/_Dev/CapableMind-AI/docs/thinking/David/research/lens-<workstream>.md and use its values — the bet, the named bottlenecks (the step-2 gate), the governance-grain test, the register path, and workstream-specific sources — in place of the CapableMind specifics named below (the capablemind lens, also in lens-capablemind.md). If no card exists for the named workstream, say so and stop — never scan against a guessed lens.

The rubric (per candidate)

Assess in order — stop early if it fails an upstream test:

  1. What it is + maturity. Verify from source/docs, not marketing. Mark [SPECULATIVE].
  2. Which named bottleneck does it address? Map to our actual list — e.g.: hard-bug diagnosis · MemPalace reliability · inference reliability/cost (the teacher/slot tier) · procedural-knowledge capture · parallelism/throughput · spec↔code workflow. If it maps to none → PASS. "More capable" is not a bottleneck.
  3. Switching/integration cost vs marginal gain over the current stack (Claude Code + MemPalace + our skills + the governance loop). Be concrete about what we'd give up.
  4. Governance-grain fit. Does it run with our model or against it? Test against: the loop is load-bearing (does it push autonomy past propose?), data sovereignty (does our content leave the machine?), contamination (does it pressure toward pleasing outputs?). Hermes-as-runtime ran against (autonomous self-write); OpenRouter was configurable-compatible (default-no-log + ZDR + BYOK).
  5. Verdict: ADOPT-candidate · HARVEST (borrow the idea into our existing tools, don't switch — as we did turning Hermes's self-improvement into the governed skill-harvest step) · TRY (bounded experiment) · PASS · WATCH.
  6. Incumbent-bias flag. For runtime/substrate-class candidates (things that would replace Claude Code or MemPalace), the assessing agent is the incumbent — say so, discount the "don't switch" reflex, and prefer a bounded empirical trial by the steward over the agent's assertion.

Procedure

  1. Open the tooling register — ~/_Dev/CapableMind-AI/docs/thinking/David/research/tooling-register.md (create on first run; seed with the stack in play). Read current entries + last-scanned. Append in place.
  2. Re-check the stack in play for movement (incumbents + already-surfaced tools: Claude Code, MemPalace, OpenRouter, Hermes-as-runtime). Has anything changed that shifts a prior verdict? (Movement matters as much as novelty — cf. Hermes's self-improvement loop appearing between April and May.)
  3. Scan for new candidates mapped to a named bottleneck. Sources: GitHub (trending dev-tools, MCP servers, agent harnesses), HN, the landscape register's watch list, release notes of tools we already use.
  4. Run each through the rubric. Be ruthless at step 2 (named bottleneck) — most finds PASS there, and that's the point, not a failure of the scan.
  5. Record + recommend. Append verdicts to the register; spin a dated deep-dive only for an ADOPT-candidate/TRY. Surface a digest: the few that matter, each with bottleneck-addressed + verdict, and any bounded trial worth the steward running.

Output

A tight digest:

  • Movement in incumbents/known tools (or "none").
  • New candidates that cleared step 2 (named bottleneck), each one line: tool — bottleneck — verdict.
  • Recommended bounded trials (for runtime/substrate-class, steward-run, with the incumbent-bias caveat).
  • Register updated: what changed.

Constraints

  • Anti-shiny. If a scan only produces "X is more capable," it found nothing — re-aim at the named-bottleneck test. A clean "nothing worth adopting" is the common, valid result.
  • Verify from source. No claims from marketing or memory; read docs/code, cite, mark speculation.
  • Surface, don't adopt. Adoption is the steward's call — and for anything touching the product (inference infra, substrate) or the runtime, it's steward + Seb + jurist. The scan informs; it never switches tools.
  • Name the incumbent bias. The assessing agent benefits from the status quo; say so on runtime/substrate calls and lean on bounded trials over assertion.
  • Proportion. A couple-of-days pulse. Don't let tool-shopping become the work instead of the building.
  • Pool with Seb. Shared register; he scans too (the OpenRouter and Hermes finds were his).