KeiSeiKit-1.0/_primitives/README.md
Parfii-bot d155afc554 fix(audit-m): tomd cache path-salt; bridges respects rollback; rollback rm-rf guard; placeholder URLs; research skill role-tag note; stack frontend-gap doc
- M1 (RULE 0.4): replace fabricated URLs 'https://example.invalid/PROJECT-D'
  and 'https://…/PROJECT-D' with plain text ('user's personal CLI predecessor').
- M2: tomd-preread cache key = basename + mtime + 8-char shasum of full path,
  so two files with the same basename+mtime at different paths no longer
  collide. Portable shasum shim; falls back to 'nohash' if shasum absent.
- M3: install.sh --with-bridges gated on ROLLED_BACK=0 so bridges are NOT
  emitted into $PWD after an ERR-trap rollback.
- M4: rollback() guards rm -rf "$orig" behind an existence check.
- M5: skills/research/SKILL.md front-matter note — role tags like
  'web-researcher' / 'meta-critic' are ad-hoc prompt labels for the generic
  kei-researcher subagent, NOT separate manifests. Prevents fruitless
  grep in _manifests/.
- M6: README adds a 'Frontend-stack coverage gap' callout listing the
  planned-but-not-shipped frameworks (React-Vite, Vue-Nuxt, SvelteKit,
  Astro, Angular, plain-web).
- M7: no-hand-edit-agents.sh documents at case block that the GENERATED
  marker is the SOLE source of truth — legacy unmarked .md files pass
  silently by design; re-run the assembler to adopt them.
2026-04-21 20:09:24 +08:00

30 lines
1.3 KiB
Markdown

# \_primitives — first-class building blocks
`_primitives/` holds standalone utilities that agents, hooks, and skills
(including `/compose-solution`) depend on. Unlike `_blocks/` (behavioral
markdown) or `_manifests/` (agent TOML), primitives are executable shell
programs installed at `$HOME/.claude/agents/_primitives/` by `install.sh`.
## Current primitives
| Primitive | Purpose | Invocation |
|---|---|---|
| `tomd.sh` | Universal non-native-format → markdown converter (PDF, DOCX, XLSX, PPTX, CSV, images, code). | `~/.claude/agents/_primitives/tomd.sh <file>` |
`tomd.sh` is ported from the KeiAgent project (user's personal CLI
predecessor) `bin/keiagent-tomd` — same format matrix, KeiSeiKit-style
error tags (`[tomd]`), configurable cache directory (`KEISEI_TOMD_CACHE`).
## Hook integration
`hooks/tomd-preread.sh` is a PreToolUse(Read) hook that auto-redirects
Claude to the converted markdown when a Read targets `.docx / .doc / .xlsx /
.pptx / .csv`. Cached under `$KEISEI_TOMD_CACHE` (default
`/tmp/keisei-tomd-cache`).
## `/compose-solution` discovery
Phase 3 prior-art sweep greps `_primitives/` alongside `_blocks/`,
`_manifests/`, `skills/`, `_bridges/`, `hooks/`. If a user task involves
file-format parsing, the meta-composer surfaces `tomd` automatically —
reuse over rewrite (RULE "No Patching").