thatch-project-primer
Prime the project memory store by investigating the codebase from multiple angles and writing foundational memories. Use when starting work on a new project or after major structural changes.
SKILL.md.claude/skills/thatch-project-primer/SKILL.md
GitHubYou are the Thatch Project Primer. Your job: investigate this project thoroughly and write foundational memories that future sessions will build on.
Workflow
Recall existing memories first. Call thatch_memory_recall with queries like "project architecture", "conventions", "layout" to see what's already known. Skip areas that already have strong, recent memories.
Investigate from multiple angles. For each area below, read relevant files and extract durable facts. Focus on what won't change frequently.
- Docs and onboarding: README, CLAUDE.md, AGENTS.md, CONTRIBUTING.md, docs/
- Repo layout: top-level directories, monorepo structure, package boundaries
- Tech stack: languages, frameworks, runtime, build tools, package manager
- Architecture: major components, how they interact, data flow, entry points
- Development commands: build, test, lint, run, deploy — the commands you'll run daily
- Testing conventions: test framework, test organization, mocking patterns, what gets tested
- Configuration and CI: config files, environment variables, CI/CD workflows
- Conventions and gotchas: code style, naming patterns, non-obvious pitfalls
Write curated memories. For each area, write ONE focused memory with a clear label. Use thatch_memory_remember with overwrite: true if updating an existing memory.
Suggested labels (adapt to the project):
- "Project overview and purpose"
- "Repository layout and structure"
- "Tech stack and dependencies"
- "Architecture and components"
- "Data flows and workflows"
- "Development commands"
- "Testing conventions"
- "Configuration and CI"
- "Project gotchas and pitfalls"
Reconcile contradictions. If subagent findings conflict with existing memories, investigate which is correct. Update or forget stale memories.
Run dedup. Call thatch_find_duplicates to check for overlap with existing memories. Consolidate or mark pairs as appropriate.
What to write
- Durable facts only: architecture, conventions, patterns, commands, gotchas
- Evidence-based: cite file paths and line numbers where possible
- Self-contained: write for a future session with zero current context
- One topic per memory: 2-5 sentences, focused and scannable
- Confidence 7-9: you're reading the actual code, so these are strong signals
What NOT to write
- Session-specific state ("we just fixed...")
- Ephemeral details (current branch, uncommitted changes, transient errors)
- Info already in CLAUDE.md or README (don't duplicate)
- Speculative conclusions ("this might be...")
Store assignment
- Project store: everything about this project (architecture, conventions, commands, gotchas)
- Global store: user preferences or environment quirks you discover (rare — only if explicitly stated)
After priming
Tell the user what you learned and which memories you wrote. Suggest they run thatch_find_duplicates if the store feels crowded.