knowledge-priming-refiner
Skill209 starsChanged 2 months agoMITView on GitHub
Facilitate a structured conversation to create a project-specific knowledge base document. Produces a knowledge-base.md that primes AI with the project's tech stack, architecture, trusted sources, and project structure. Use when the user says 'set up knowledge base', 'prime the project', 'onboard AI', 'create knowledge base', 'set up project context', or 'configure AI context'.
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 9 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Template: Read ./assets/template.md for the full document structure and interview guidance comments
- Distinctive: line 34
If you find yourself writing content that teaches *how to write code*, it belongs in one of the atoms above, not here.
- Distinctive: line 40
Before starting the interview:
- Very specific: line 42
Read .lattice/config.yaml -- does paths.knowledge_base point to a file?
- Distinctive: line 43
If yes, read that file. Ask the user:
- Distinctive: line 46
Start fresh: Proceed with the full interview flow below.
- Distinctive: line 47
If no config or no existing document, proceed with the full interview flow.
- Distinctive: line 51
Look for signals that inform the conversation:
- Very specific: line 70
Read ./assets/template.md and follow the <!-- INTERVIEW GUIDANCE: --> comments for each section.
- Distinctive: line 94
All sections with the user's content
- Very specific: line 99
If .lattice/config.yaml exists and has paths.knowledge_base, use that path.
- Very specific: line 103
If .lattice/config.yaml does not exist, create it with paths.knowledge_base pointing to the output file.
- Distinctive: line 104
If it exists but lacks the key, add it.
- Distinctive: line 108
Before writing the final document, verify:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Knowledge Priming Refiner
Purpose
This refiner facilitates a structured conversation to create a project-specific knowledge base document. The document captures the project's identity -- its tech stack, architecture, directory layout, and the trusted sources that shaped how the team works. Think of it as answering one question: "What does AI need to know about this project to avoid defaulting to generic internet patterns?"
This is not about how to write good code -- that is handled by the clean-code atom (coding principles), architecture atom (structural rules), and domain-driven-design atom (domain modeling). Knowledge priming covers what those skills cannot know: which framework, which version, which docs to trust, and how the repo is organized.
What This Produces
- Output:
.lattice/standards/knowledge-base.md(or custom path from.lattice/config.yaml->paths.knowledge_base) - Mode: Override is the standard approach -- every project's knowledge base is unique, so there are no generic defaults to overlay on. Overlay mode is available for selective revisions of an existing document.
- Config key:
paths.knowledge_basein.lattice/config.yaml - Template: Read
./assets/template.mdfor the full document structure and interview guidance comments - Consumed by: The
knowledge-primingatom loads this document via config resolution and provides it as ambient project context to all skills and molecules
Scope Boundary
Knowledge priming captures project identity and technical context. It deliberately excludes concerns covered by other skills:
| Concern | Where It Belongs | Not In Knowledge Priming |
| Language idioms (error handling, type system, naming, testing patterns, DI) | language-idioms document | No language-level patterns or idioms |
| Coding style, naming principles, function design | clean-code atom | No code examples, no naming rules |
| Architectural layers, dependency direction | architecture atom | No structural rules |
| Domain modeling, aggregate design | domain-driven-design atom | No DDD patterns |
| Code-level anti-patterns (god functions, deep nesting) | clean-code atom | No coding anti-patterns |
If you find yourself writing content that teaches how to write code, it belongs in one of the atoms above, not here. Knowledge priming answers "what are we working with?" -- not "how should we write?"
Before You Begin
Check for existing documents
Before starting the interview:
- Read
.lattice/config.yaml-- doespaths.knowledge_basepoint to a file? - If yes, read that file. Ask the user:
- "You already have a knowledge base document. Would you like to revise it (update specific sections), start fresh (new interview), or add to it?"
- Revise: Load the existing document, walk through only the sections the user wants to change.
- Start fresh: Proceed with the full interview flow below.
- If no config or no existing document, proceed with the full interview flow.
Scan the repository
Look for signals that inform the conversation:
- package.json / Cargo.toml / go.mod / pyproject.toml: What languages, frameworks, and versions are in use?
- Directory structure: How is the project organized? Monorepo, single app, modules?
- Existing docs: README, ADRs, contributing guides, architecture docs?
- Config files: Linter configs, formatter configs, CI pipeline files -- these reveal conventions.
Share relevant findings with the user at the start: "I noticed your project uses [X framework] with [Y structure]. I'll use that as context for our conversation."
Facilitation Approach
- One section at a time. Walk through the 5 sections sequentially.
- Show examples first. For each section, explain what it captures, show a concrete example, then ask the user.
- Record the user's content, not the discussion. The output document reads as a reference.
- Encourage specificity. "Fastify 4.x" is useful; "modern framework" is not. Version numbers matter because APIs change between versions.
- Keep it lean. Target under 3 pages / ~50 lines of focused content. Every token competes for context window space.
Section-by-Section Interview Guide
Read ./assets/template.md and follow the <!-- INTERVIEW GUIDANCE: --> comments for each section.
The 5 sections
| # | Section | What It Captures |
| 1 | Architecture Overview | Big picture: what kind of application, major components, how they interact |
| 2 | Tech Stack and Versions | Specific technologies with version numbers, including "not X" clarifications |
| 3 | Curated Knowledge Sources | Official docs, trusted blogs, internal references the team relies on (5-10 max) |
| 4 | Project Structure | Directory layout showing where things live |
| 5 | Project Conventions | Brief project-specific conventions that other skills cannot infer (optional, slim) |
Cross-section awareness
| Described in | Informs | How |
| §1 -- Architecture | §4 -- Project Structure | Architecture style shapes directory layout |
| §2 -- Tech Stack | §5 -- Project Conventions | Stack choices may imply project-specific conventions |
| §2 -- Tech Stack | §3 -- Curated Sources | Each technology has authoritative docs worth curating |
Output Assembly
- YAML frontmatter:
mode: override(oroverlayfor selective) - Preamble text (from template)
- All sections with the user's content
- Sections the user skipped get a
<!-- TODO: Fill in during next revision -->comment - Strip all
<!-- INTERVIEW GUIDANCE: -->comments from the output
Determine output path:
- If
.lattice/config.yamlexists and haspaths.knowledge_base, use that path. - Otherwise, default to
.lattice/standards/knowledge-base.md.
Update config:
- If
.lattice/config.yamldoes not exist, create it withpaths.knowledge_basepointing to the output file. - If it exists but lacks the key, add it. Preserve existing content.
Document Quality Checks
Before writing the final document, verify:
- Content is specific, not generic ("Fastify 4.x" not "modern framework")
- Tech stack entries include version numbers where applicable
- "Not X" clarifications steer AI away from common defaults that do not apply
- Curated sources are limited to 5-10 high-value entries
- No coding guidelines (naming rules, code examples, anti-patterns) -- those belong in other skills
- Document stays under ~50 lines of focused content (excluding headings and formatting)
- Would a new developer find this useful for understanding what this project is?
- Not a redirect stub — fewer than 3 of the 5 sections populated, or body primarily points to another file → STOP before writing. Say: "This knowledge base is mostly a pointer and won't prime sessions effectively. Should we inline the key content from [referenced file] instead?" Do not write a redirect-only document.
In this repository28 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architecture-compassSkill
- architecture-refinerSkill
- architectureSkill
- bug-fixSkill
- clean-code-refinerSkill
- clean-codeSkill
- code-forgeSkill
- collaborative-judgmentSkill
- context-anchoringSkill
- ddd-refinerSkill
- design-blueprintSkill
- design-firstSkill
- domain-driven-designSkill
- knowledge-primingSkill
- language-idioms-refinerSkill
- lattice-initSkill
- learning-harvestSkill
- refactor-safelySkill
- refiners-updateSkill
- requirement-forge-refinerSkill
- requirement-forgeSkill
- requirement-qualitySkill
- review-refinerSkill
- reviewSkill
- secure-codingSkill
- test-qualitySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

