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 inkeep/open-knowledge-skills --skill personal-crmgit clone --depth 1 https://github.com/inkeep/open-knowledge-skillsWrote 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/inkeep/open-knowledge-skills/personal-crm)<a href="https://agentmods.dev/skills/inkeep/open-knowledge-skills/personal-crm"><img src="https://agentmods.dev/badge/skills/inkeep/open-knowledge-skills/personal-crm.svg" alt="Measured on agentmods" 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.00135 | $0.01563 |
| Opus 5 | $0.00068 | $0.00781 |
| Sonnet 5 | $0.00027 | $0.00313 |
| Haiku 4.5 | $0.00014 | $0.00156 |
Grade A, and why
personal-crm 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 8d 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 — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Personal CRM (GBrain-compatible) — how to work here
A Personal CRM built as a typed-entity vault, inspired by Garry Tan's gbrain. Each entity is a dossier; the agent keeps dossiers current by extracting entities from meeting notes and original thinking. This skill holds those behaviors so templates and folder descriptions stay clean. The Markdown shape is GBrain-compatible: if the external gbrain CLI is installed, it can import/sync the same vault.
This skill is pack guidance. The platform
/open-knowledgeskill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the dossier conventions on top.
The dossier convention (the load-bearing rule)
Every dossier in people/, companies/, and concepts/ has two parts, split by an explicit --- timeline --- separator:
- Compiled truth (above
--- timeline ---) — your current best understanding. Rewrite it as new evidence changes the synthesis. - Timeline (below
--- timeline ---) — append-only dated bullets in the parseable form- **YYYY-MM-DD** | source | @author — evidence. Confidence: …. Never edit existing timeline entries; only append.
When a new fact arrives, route it: update compiled truth if it changes current understanding, or append a timeline bullet if it's raw evidence. The explicit separator and dated-bullet shape are what keep the vault parseable by GBrain's import/sync.
Folders
people/,companies/,concepts/— dossiers (compiled truth + timeline). Frontmattertype: person|company|concept.meetings/— meeting notes (YYYY-MM-DD-<slug>.md);attendees:should match dossier filenames inpeople/. The verbatim record — do NOT rewrite it. When a note is ingested from a meeting-recorder tool, addsource:(e.g.granola,fireflies) andsource_meeting_id:(the recorder's stable id) to its frontmatter — those two are the dedup key.originals/— your own untransformed thinking; authoritative source material. Frontmattertype: original.media/— bulk transcripts, voice notes, large attachments; often.okignore-d to keep the index light.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 55 lines · 135 tokens per session scan A f827d8954ad6
personal-crm is a skill published in the GitHub repository inkeep/open-knowledge-skills (8 stars, last pushed 5d ago), licensed MIT. It adds 135 tokens to every session and 1,563 once invoked, about $0.0007 per session on Opus 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
stay-within-limits
Use when long-running or parallel agent work must respect 5-hour and weekly usage limits by checking usage between waves, pausing near the cap, and resuming only when the window is clear.
obsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
crisis-holding
Draft crisis holding statements, journalist Q&A posture, and what-not-to-say guidance from confirmed incident facts, with a hard legal-counsel gate. Builds each statement through proven crisis-comms frameworks (holding-statement anatomy, SCCT, CAP order, the legitimate non-answer, bridge/flag/block).
find-journalists
Build, refine, dedupe, and enrich small fit-checked journalist lists for newsjack campaigns. Uses the newsjack CLI (preferred) or the medialyst MCP for news search and journalist enrichment, and falls back to a best-effort local mode with no verified contacts; the agent owns how returned data is organized.
story-origin-check
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
prompt-proximity-architecture
Turn an approved measurement charter, ICPs, and buyer jobs into a budget-aware prompt coverage blueprint across proximity bands, aided status, information acts, journey states, roles, locales, evidence grades, partitions, and measurement lanes. Use before prompt wording to define required, optional, and prohibited…