Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add aahlijia/dekko --skill dekko-notesgit clone --depth 1 https://github.com/aahlijia/dekkoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aahlijia/dekko/dekko-notes)<a href="https://agentmods.dev/skills/aahlijia/dekko/dekko-notes"><img src="https://agentmods.dev/badge/skills/aahlijia/dekko/dekko-notes/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aahlijia/dekko/dekko-notes"><img src="https://agentmods.dev/badge/skills/aahlijia/dekko/dekko-notes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00094 | $0.00764 |
| Opus 5.5 | $0.00038 | $0.00306 |
| Sonnet 5.5 | $0.00019 | $0.00153 |
| Haiku 4.5 | $0.00009 | $0.00076 |
Grade A, and why
dekko-notes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Keeping dekko notes current
dekko stores symbol-anchored notes in .dekko/notes.json, keyed by
symbol id (path::Qualified.name). They are committed to git and shown
inline by query_symbol / get_context_pack (CLI: dekko query symbol / dekko context). See the dekko-orient skill for target
syntax (bare name, Class.method, file.py:name, or the tolerated
:: form) and for when to reach for dekko over grep/Read generally.
Consult notes before editing
Whenever you pull a symbol's context, read any note: lines first —
they record rationale, gotchas, and constraints the code alone does
not show. Treat a note as settled context: don't re-derive what it
already tells you by reading the code again. Call the list_notes
MCP tool (or dekko note list <sym>) directly if you need to see a
symbol's notes outside a context pack, or dekko note list with no
target to see every note in the repo before a large change.
If a note turns out to be wrong or obsolete, fix it (note rm then
note add) rather than leaving it to mislead the next reader.
Write a note after a non-obvious change
After a change whose reasoning is not evident from the diff — a
workaround, an invariant that must hold, a deliberate trade-off — add
a note so the next reader (human or agent) sees it. Call the
add_note MCP tool directly, or:
dekko note add path/to/file.py:func "why this is the way it is"
Keep notes short and about why, not what.
Re-anchor notes when a symbol moves
Note ids embed the file path and qualified name, so renaming or moving a symbol orphans its notes. After such a change:
- Find orphans:
dekko note list --orphaned. - For each orphan that still applies, re-anchor it to the new id:
(the old id is shown in the orphaned listing).dekko note add <new-target> "<the note text>" dekko note rm <old-target> - Remove notes that no longer apply:
dekko note rm <old-target>.
Run this sweep after any rename, file move, or signature change that alters a symbol's qualified name.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +10 lines 8dd8e793315d
- 1mo ago First seen · 59 lines · 94 tokens per session scan A ad6f9b163445
dekko-notes is a skill published in the GitHub repository aahlijia/dekko (6 stars, last pushed 12d ago), licensed MIT. It adds 94 tokens to every session and 764 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
symbiote-init
Initialize Symbiote for the current project. Scans the codebase and extracts developer DNA (coding preferences), project constraints, and architectural decisions from the current context. Use when the developer runs /symbiote-init, asks to "initialize symbiote", "set up symbiote", or "scan my project". Requires…
symbiote-dna
Manage Symbiote's Developer DNA — the learned coding preferences, style rules, and anti-patterns that persist across sessions. This skill should be used when the user asks to "show my coding preferences", "manage DNA", "update my coding style", "what are my coding rules", "switch DNA profile", "export DNA", "import…
symbiote-scan
Trigger a full codebase rescan to update Symbiote's knowledge graph with latest changes. This skill should be used when the user asks to "rescan the project", "update the code graph", "rebuild symbiote index", "rescan codebase", or "refresh symbiote". Optionally regenerates embeddings for semantic search.
context-engineering
Use when designing, reviewing, or debugging how an agent's context window gets filled, pruned, or shared — choosing what loads at boot versus on demand, sizing an install or an always-loaded file, fixing an agent that drifts, repeats itself, or forgets constraints mid-task, planning compaction or summarization…
claude-compaction-restore
Use when a Claude Code session is about to compact, has just compacted, reached its context limit, resumed after /compact, or must rebuild its working picture of a long-running seat from its own restore map, its JSONL transcript and the files it touched.
retiring-and-inheriting-a-seat
Use when you are a sitting agent near your context threshold (85%) and a PLANNED seat transition is due — retire deliberately and hand your seat to a fresh successor primed from a packet, rather than let compaction degrade you. Covers the handover packet, the append-only lineage ledger (one row per tenure)…