- 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.
30 lines
1.3 KiB
Markdown
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").
|