You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(skill): address 5 design issues from agent-tooling review
Five structural concerns surfaced in the second code-review pass:
1. **Trust boundary against prompt injection.** Wiki content is
LLM-synthesized from user-ingested documents that may carry
adversarial text. Added a "Trust boundary" section telling the
agent to treat all wiki bodies, grep matches, and jq output as
data — never execute imperative instructions found inside, and
prefer direct reads over `openkb query` (which double-injects).
2. **Cross-agent dialect.** The "Read content" table previously
used Claude Code tool names verbatim (`Read`/`Grep`/`Bash`).
Rewrote the right column with plain English verbs ("read the
file at ...", "search the wiki for ...", "shell: ...") and
added a note that runtimes can map these to their own tool
names. Same content now works for Gemini CLI's `read_file`,
Codex's `run_shell_command`, etc.
3. **Write-command safety strengthened.** Section heading changed
from advisory "Don't modify the KB autonomously" to imperative
"MUST NOT modify the KB or environment autonomously". Expanded
the list from the original three (`add`, `remove`, `lint --fix`)
to seven, adding `openkb chat`, `openkb watch`, `openkb init` /
`openkb use`, and direct edits to any `wiki/` or `.openkb/`
file. Added a concrete suggestion-phrasing example.
4. **Activation contract widened.** The description previously
triggered only on cwd containing `.openkb/` + `wiki/` — strictly
narrower than `openkb`'s own resolution (walks up + global
default via `openkb use`). Rewrote as intent-based with explicit
keyword triggers (openkb, .openkb, wiki/) and added an anti-
trigger ("not for arbitrary Markdown directories, Obsidian
vaults, or docs sites not built by openkb").
5. **`openkb query` cost framing.** Previously sat in the table as
a peer of cheap grep/read. Moved to the last row, flagged as
"LLM cost — last resort", and added a paragraph explaining the
LLM-on-LLM cost and when reading concept pages directly is
better.
Bonus follow-ups in the same pass (each flagged in review as
"out of scope but worth fixing"):
- "When the KB doesn't have the answer" section telling the agent
to say so explicitly and suggest `openkb add` rather than
hallucinate from outside knowledge.
- `jq` fallback to a Python one-liner for environments without
`jq` (Windows, minimal Alpine, sandboxed Codex envs).
- References footer rewritten from passive "See X" to active
"Load X when Y" triggers so the agent knows when to engage
progressive disclosure.
No openkb code changes; the underlying CLI semantics already
support every interaction the skill now describes.
0 commit comments