Operate Otto's project knowledge safely: query pages, manage project charters and delivery, evaluate references, update current truth with reasons, append evidence, and review status. Use when an agent needs to read or change durable project knowledge.
Scanned 8/31/2026
Install to Claude Code
npx -y skills add Draek2077/otto-code --skill otto-project-knowledge --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Otto Project Knowledge?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/draek2077-otto-project-knowledge)More formats (shields.io, HTML) on the badges page.
---
name: otto-project-knowledge
description: "Operate Otto's project knowledge safely: query pages, manage project charters and delivery, evaluate references, update current truth with reasons, append evidence, and review status. Use when an agent needs to read or change durable project knowledge."
---
# Otto project knowledge operations
Use the daemon-owned project-knowledge tools as the only write path. The canonical store is Markdown,
kept either in the repository under `.otto/knowledge` or host-local under the daemon's `$OTTO_HOME`,
depending on how the project is configured. The tools are identical in both cases, and either way
current truth and its provenance must be changed atomically by Otto rather than by editing files
directly.
## Read
- At task start, consult the automatically injected active-page catalog. Use
`list_project_knowledge`, `read_project_knowledge`, or `read_project_knowledge_root` for pages
relevant to the task before broad repository searches.
- Use `query_project_knowledge` when the relevant page is not obvious. Normal reads return only
confirmed active pages. Include inactive pages only for an explicit knowledge review.
- Read compiled truth, evidence, tags, and the complete timeline. Treat `superseded` pages as
history, not current guidance.
- The optional `KNOWLEDGE.md` beside the store is on-demand project guidance. When it holds
project-specific content the injected catalog names its actual path; read it before writing or
managing Knowledge. Do not load it merely because a task reads existing Knowledge. Unlike record
pages and the generated index, the project may edit or remove this file directly; baked-in
behavior applies when it is absent.
## Write
- Use `record_project_knowledge` for a new fact. Include one of `decision`, `constraint`,
`requirement`, or `architecture`, a precise title, rich Markdown compiled truth, evidence, and
useful tags. Use a readable kebab-case id when a specific human slug matters. New pages start as
`proposed`.
- Use `record_project_charter` for a durable initiative. Include rich Markdown outcomes, scope,
constraints, and acceptance criteria. Review status says whether the charter is trusted;
delivery status independently says whether it is chartered, in build, partial, blocked,
complete, retained as reference material, deferred, or cancelled.
- Use `update_project_delivery` for a delivery or structured progress change. Supply a reason.
Progress is completed, total, and unit; Otto derives percentage.
- Use `record_project_reference` for an external source and its project-specific evaluation. Record
adopted and rejected sources. Use `update_project_reference` when disposition or URL changes.
- Use `update_project_knowledge_root` to maintain background, architecture, flow, mindmap, stack,
and roadmap. Preserve rich Markdown and link atomic pages with `[[wiki links]]`.
- Use `update_project_knowledge_truth` only when the current understanding changes. Supply a
concrete reason and preserve the expected-update timestamp to detect stale edits.
- Use `append_project_knowledge_evidence` when new provenance strengthens a page without changing
its current truth.
- Use `set_project_knowledge_status` to confirm or supersede only after explicit user agreement.
A proposal is not authorization to confirm it.
- During exploration, trial and error, and implementation, keep tentative conclusions in the task
context or `.tmp/`; do not turn each query, hypothesis, attempted fix, or abandoned approach into
Project Knowledge.
- At the end of the effort, after the requested outcome is verified and before the final handoff,
perform one knowledge reconciliation pass. An effort ends when the requested work is complete or a
stable result is being handed off, not at the end of every assistant turn.
- In that pass, review the relevant active pages and any related proposed pages. Update the best
existing page, charter delivery record, or reference instead of creating an overlapping page.
- Record only stable, evidence-backed outcomes that will matter beyond the current task: an explicit
decision or requirement, a verified constraint or architecture claim, a measured finding, actual
charter progress, or a reference whose project impact is now known. If the effort produced no such
outcome, write nothing.
- A direct request to create, ingest, review, or revise Project Knowledge may write during the task;
it is itself the effort being performed. Never turn a proactive proposal into confirmed truth
without agreement.
- Use `delete_project_knowledge` only for accidental or junk pages after the user explicitly approves
deleting that exact page. Supersede valid historical knowledge instead.
- Run `lint_project_knowledge_links` after changing links. Fix current truth or roots, never old
timeline entries.
## Review discipline
- Prefer one durable page over several overlapping pages.
- Record facts that are difficult to reconstruct from code and likely to matter in six months.
- Name concrete files, tests, documentation, commits, or user statements as evidence.
- Separate observed facts from recommendations and label uncertainty.
- Do not preserve failed experiments merely because they happened. Keep one only when the failure is
itself a verified, reusable finding that changes future work.
- Keep review status, delivery status, and reference disposition distinct.
- Do not record people or team relationships; that belongs to team or personality memory.
- Never store secrets, credentials, temporary TODOs, routine implementation details, or copied source.
- If project knowledge is unavailable on the host, report the capability gap. Do not fall back to a
second storage format.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!