hindsight-self-hosted
Skill0 starsChanged 7 months agoMITView on GitHub
Store team knowledge, project conventions, and learnings from tasks. Use to remember what works and recall context before new tasks. Connects to a self-hosted Hindsight server. (user)
- Pipes a download into a shell
1 other project uses a version of this.
Adopted by
Most recently taken up by
- vectorize-io/hindsightword for word, first seen Oct 8, 2026
Other versions1 project uses a version of this.
Word for word · 1
- vectorize-io/hindsight★ 60k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- code-reviewSkill
- hindsight-cloudSkill
- hindsight-docsSkill
- hindsight-localSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 7 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
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
- Distinctive: line 14
Before using memory commands, verify the Hindsight CLI is configured:
- Distinctive: line 27
Create the config file: - ask the user for:
- Very specific: line 40
Get the bank ID: - ask the user for their bank ID (e.g., team-myproject)
- Distinctive: line 42
After setup, use the bank ID in all commands below.
- Very specific: line 46
When you call retain, Hindsight does not store the string as-is.
- Very specific: line 61
Use memory retain to store what you learn.
- Very specific: line 81
Use memory recall BEFORE starting tasks to get relevant context:
- Very specific: line 92
Use memory reflect to synthesize context:
- Distinctive: line 140
When answering questions about the codebase
- Distinctive: line 141
When a team member asks how something works
- Distinctive: line 145
Store immediately: When you discover something, store it right away
- Distinctive: line 148
Recall first: Always check for relevant context before starting work
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
Hindsight Memory Skill (Self-Hosted)
You have persistent memory via a self-hosted Hindsight server. This memory bank can be shared with the team, so knowledge stored here benefits everyone working on this codebase.
Proactively store team knowledge and recall context to provide better assistance.
Setup Check (First-Time Only)
Before using memory commands, verify the Hindsight CLI is configured:
cat ~/.hindsight/configIf the file doesn't exist or is missing credentials, help the user set it up:
- Install the CLI (if
hindsightcommand not found):curl -fsSL https://hindsight.vectorize.io/get-cli | bash Create the config file - ask the user for:
- API URL: Their self-hosted Hindsight server URL (e.g.,
https://hindsight.mycompany.com) - API Key: Their authentication key
mkdir -p ~/.hindsight cat > ~/.hindsight/config << 'EOF' api_url = "<user's server URL>" api_key = "<user's API key>" EOF chmod 600 ~/.hindsight/config- API URL: Their self-hosted Hindsight server URL (e.g.,
- Get the bank ID - ask the user for their bank ID (e.g.,
team-myproject)
After setup, use the bank ID in all commands below.
How Hindsight Works
When you call retain, Hindsight does not store the string as-is. The server runs an internal pipeline that:
- Extracts structured facts from the content using an LLM
- Identifies entities (people, tools, concepts) and links related facts
- Builds temporal and causal relationships between facts
- Generates embeddings for semantic search
This means you should pass rich, full-context content — the server is better at extracting what matters than a pre-summarized string. Your job is to decide when to store, not what to extract.
Commands
Replace <bank-id> with the user's actual bank ID (e.g., team-frontend).
Store a memory
Use memory retain to store what you learn. Pass full context — raw observations, session notes, or detailed descriptions:
hindsight memory retain <bank-id> "The project uses ESLint configured with the Airbnb rule set and Prettier for formatting. Auto-fix on save is enabled in the editor config."
hindsight memory retain <bank-id> "Ran the test suite with NODE_ENV=test. Tests pass. Without NODE_ENV=test, the suite fails with a missing config error." --context procedures
hindsight memory retain <bank-id> "Build failed on Node 18 with error 'ERR_UNSUPPORTED_ESM_URL_SCHEME'. Switched to Node 20 and build succeeded." --context learnings
hindsight memory retain <bank-id> "Alice reviewed the PR and asked for verbose commit messages that explain the motivation, not just what changed." --context preferencesYou can also pass a raw conversation transcript with timestamps:
hindsight memory retain <bank-id> "[2026-03-16T10:12:03] User: The auth tests keep failing on CI but pass locally. Any idea?
[2026-03-16T10:12:45] Assistant: Let me check the CI logs. Looks like the tests are running without the TEST_DATABASE_URL env var set — they fall back to the production DB URL and hit a connection timeout.
[2026-03-16T10:13:20] User: Ah right, I never added that to the CI secrets. Adding it now.
[2026-03-16T10:15:02] User: That fixed it. All green now." --context learningsRecall memories
Use memory recall BEFORE starting tasks to get relevant context:
hindsight memory recall <bank-id> "project conventions and coding standards"
hindsight memory recall <bank-id> "Alice preferences for this project"
hindsight memory recall <bank-id> "what issues have we encountered before"
hindsight memory recall <bank-id> "how does the auth module work"Reflect on memories
Use memory reflect to synthesize context:
hindsight memory reflect <bank-id> "How should I approach this task based on past experience?"IMPORTANT: When to Store Memories
This is a shared team bank. Store knowledge that benefits the team. For individual preferences, include the person's name.
Project/Team Conventions (shared)
- Coding standards ("Project uses 2-space indentation")
- Required tools and versions ("Project requires Node 20+, PostgreSQL 15+")
- Linting and formatting rules ("ESLint with Airbnb config")
- Testing conventions ("Integration tests require Docker running")
- Branch naming and PR conventions
Individual Preferences (attribute to person)
- Personal coding style ("Alice prefers explicit type annotations")
- Communication preferences ("Bob prefers detailed PR descriptions")
- Tool preferences ("Carol uses vim keybindings")
Procedure Outcomes
- Steps that successfully completed a task
- Commands that worked (or failed) and why
- Workarounds discovered
- Configuration that resolved issues
Learnings from Tasks
- Bugs encountered and their solutions
- Performance optimizations that worked
- Architecture decisions and rationale
- Dependencies or version requirements
Team Knowledge
- Onboarding information for new team members
- Common pitfalls and how to avoid them
- Architecture decisions and their rationale
- Integration points with external systems
- Domain knowledge and business logic explanations
IMPORTANT: When to Recall Memories
Always recall before:
- Starting any non-trivial task
- Making decisions about implementation
- Suggesting tools, libraries, or approaches
- Writing code in a new area of the project
- When answering questions about the codebase
- When a team member asks how something works
Best Practices
- Store immediately: When you discover something, store it right away
- Pass rich context: Include full observations, not pre-summarized strings — the server extracts facts automatically
- Include outcomes: Store what happened AND why, including failures and workarounds
- Recall first: Always check for relevant context before starting work
- Think team-first: Store knowledge that would help other team members
- Attribute individual preferences: Store "Alice reviewed the PR and asked for X" not just "User prefers X"
- Distinguish project vs personal: Project conventions apply to everyone; personal preferences are per-person
- Use
--contextfor metadata: The--contextflag labels the type of memory (e.g.,procedures,learnings,preferences), not a replacement for full content
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

