← the whole session plugin/skills/founder-knowledge-store/SKILL.md
Read, write, and search a personal knowledge store for the person you're working with — sales lessons, relationship patterns, strategic frameworks, and other judgment calls that aren't a feature and aren't company strategy, but that you need the next time you write or decide something on their behalf.
Personal Knowledge Store
This store captures the person's own personal judgment calls — the kind of thing a colleague who'd worked with them for years would just know: how they like to be represented in an email, how they think about pricing or negotiation, what they never want said on their behalf. It's a third bucket, separate from company-level strategy (which belongs in the company intent DB) and feature-level UX intent (which belongs in the intent DB).
It is named founder-knowledge-store because it was originally built for use by a company founder — but it works the same way for anyone: an engineer, a consultant, a team lead. Read "founder" below as "the person you're working with."
Ships empty. A fresh install has zero entries. Never present a generic guess as if it were the person's own established preference — if the store is empty, say so and write in plain, undecorated voice until they've told you a few of their own rules of thumb.
Two ways this runs
If you have an agent-swarm MCP server set up (see /alignment-harness:harness-setup), use its tools directly — founder_find, founder_add, founder_search, founder_get, founder_list — exactly as documented below in "MCP tools." This is optional infrastructure built for one person's own machine; most people won't have it.
Otherwise (the default for almost everyone), use the local file store:
- Folder: run
alignment-harness records personal-knowledgeand use the path it prints. - Each entry is one JSON file:
{ "id": "<timestamp>-<slug>", "context": "...", "lesson": "...", "category": "...", "tags": [...], "confidence": 1-10, "addedAt": "<ISO date>" }. - Add: write a new JSON file into that folder.
- List / search: read the folder, optionally filter by
category, orgrepacross files for a keyword. - Say when it was last fed. When you read from the store, also check the most recent
addedAtacross all entries and mention it — "your last entry here is from 47 days ago" — rather than presenting old entries as if they were current judgment with no signal that they might be stale. A reasonable default for calling something stale is 90 days; treat that as a dial, not a hard rule.
Never silently fall back from one mode to the other mid-task — pick one at the start of a session based on what's actually configured, and say which one you're using if it's not obvious from context.
When to reach for it
Before writing something in the person's voice, drafting an email or proposal on their behalf, or making a judgment call about tone, pricing, or negotiation that isn't written down anywhere else — check this store first. It's one of the places /how-to-talk-like-the-founder (or your renamed equivalent) draws from when a human is about to read something you wrote.
If the store is empty: "When I write something in your voice or make a judgment call on your behalf, I check a personal notes store first. Right now it's empty, so I'll fall back to plain, generic phrasing until you tell me a few of your own rules of thumb." Then offer to seed it — a handful of short questions (how do you like deals framed? what do you never want said on your behalf? how do you think about pricing conversations?) turned into a few first entries.
MCP tools (only if an agent-swarm server is configured)
Search
founder_find("closing enterprise deals") — weighted search, founder+company highest
founder_search({ query: "enterprise" }) — regex search
agent_find_company("pricing strategy") — weighted search, company intents highest
Add
founder_add({
context: "Enterprise sales call with a prospective customer's VP of Engineering",
lesson: "Always ask about their current pain before pitching features. The first 5 minutes should be 80% listening.",
category: "sales",
tags: ["enterprise", "discovery", "listening"],
confidence: 9
})
Browse & retrieve
founder_list({ category: "sales" }) — list all sales entries
founder_list({ limit: 5 }) — most recent 5 entries
founder_get({ id: "<entry id>" }) — full entry by id
Weighted search profiles
Each search tool ranks results differently depending on which bucket should dominate:
default(agent_find): balanced across all sources, founder weight 0.company(agent_find_company): company-intent and general intent dominate, founder weight 0.founder(founder_find): the personal store and company intent rank highest; code-centric results still appear but are deprioritized.
The exact numbers only matter if you're maintaining the search server itself — for using the store day to day, the plain-language description above is what to act on.
Data architecture (one example setup)
On this machine, every founder_add dual-writes to a MongoDB collection (founderknowledge, structured CRUD and category filtering) and a JSONL file used for semantic search, then rebuilds the embedding index. This is infrastructure specific to that agent-swarm project — if you're building an equivalent for your own team, that's the shape to copy; if you're just using the plugin, the local JSON-file store above does the same job without any of it.
Categories
| Category | What it captures |
|---|---|
sales |
Sales lessons, deal patterns, objection handling |
relationships |
Relationship management, networking, trust-building |
strategy |
Strategic thinking, decision frameworks |
personal |
Personal development, habits, routines |
market |
Market observations, competitive intelligence |
product |
Product intuitions, feature instincts |
leadership |
Leadership principles, management |
operations |
Operational learnings, process optimization |
culture |
Culture, team dynamics, hiring |
other |
Uncategorized |
When to use which tool
| Scenario | Local-store default | If agent-swarm MCP is set up |
|---|---|---|
| "What sales lessons do we have?" | Read/grep the personal-knowledge records folder for category: sales |
founder_find("sales lessons") |
| "What's our pricing strategy?" | Check the company intent DB / your own strategy notes | agent_find_company("pricing strategy") |
| "Remember this hiring lesson" | Write a new JSON entry with category: culture |
founder_add({ context, lesson, category: "culture" }) |
| "List all sales knowledge" | List the folder, filter by category | founder_list({ category: "sales" }) |
| "Find entries about enterprise" | Grep the folder for "enterprise" | founder_search({ query: "enterprise" }) |
Example (opt-in starter — never a default, never someone else's judgment standing in for yours)
One example store holds entries like "when negotiating a deal, open with listening, not the pitch" and "how to think about pricing conversations" — one person's own sales judgment, not a generic pattern. None of that ships with the plugin. If you want a sense of what a good entry looks like before you've written your own, ask, and the store format above is a fair shape to imitate — but the content has to be yours.