hindsight
Use the Hindsight tool to retain, recall, and reflect on persistent memory across sessions.
Skill by Silvenga
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/silvenga-hindsight
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/hindsight
What's inside
- Skill name
hindsight- Description
- Use the Hindsight tool to retain, recall, and reflect on persistent memory across sessions. Load when Hindsight tools are available and the task involves remembering, recalling, correcting, or managing long-term memory.
- License
- MIT
- Instructions
- 78 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Hindsight Memory Use the Hindsight tools to persist what matters across sessions and retrieve it when it changes behavior. Memory that is never recalled is wasted. Memory that is never corrected goes stale and corrupts reasoning. ## When to Retain Call `retain` when the user shares any of the following: - A preference, correction, or stated goal. - A technical decision, architectural choice, or trade-off. - A fact about their environment or project. - An error and its resolution. Do not retain greetings, small talk, or reasoning that does not affect future behavior. Always use `retain`, not `sync_retain`, as retaining can take several minutes to complete. ## How to Retain Set these fields on every `retain`/`sync_retain` call: - `content`: The raw/verbatim conversation text of the session. Do not summarize first. Redact any sensitive information. Favor verboseness over conciseness. The more context you provide, the better the memory extraction will be. - `context`: A short label describing the source or situation. This label provides meaningful context for memory extraction. Keep it short, under 5 words. Examples: "architecture review for the payments service", "user preference for error handling". - `document_id`: A slug identifying the session (e.g., `session-payments-refactor`, `ticket-1234`). Pick this slug once within a session and reuse it on every retain in that session to prevent creating duplicate memories. - `update_mode`: Set to `replace` to overwrite any previous memory with the same `document_id`. Set to `append` to add to the existing memory with the same `document_id`. When updating a previously retained memory, use `replace` if the new content is a correction or replacement, and use `append` if the new content is an addition. When appending, only send the new content. The new content will be appended to existing memories. - `tags`: See Tag Conventions below. - `timestamp`: Omit or set to `null`. Hindsight will use the current time automatically. ## Tag Conventions Tags filter which memories `recall` and `reflect` return. Pass `tags` with a filter to scope results - omit `tags` to search all memories. Allowed tags: - `repo:<git repo name>`: The repo name of the current git repo (or the base git repo name if in a working tree). Use a command like `basename "$(dirname "$(cd "$(git rev-parse --git-common-dir)" && pwd)")"` to determine the repo folder name at the start of a session and reuse this tag on every retain. Note that when working within a working tree, the base repo name should be used. When recalling, decide whether the query is specific to the current repo or general. Pass `tags=["repo:<name>"]` to filter to the current repo. Omit `tags` to search across all repos. The `repo:` tag is required on every `retain`/`sync_retain` call. Do not skip it by defaulting to "no evidence of a git repo" - run `git rev-parse --show-toplevel` to check. If the command fails (no git repo), omit the tag. Tags not in the allowed tags list are not allowed. Do not use tags for metadata, only for filtering. ## When to Recall Call `recall` at the start of a session or when a task would benefit from past context. Pass a query describing what is needed. Set `budget` to `mid`. Call `reflect` instead of `recall` when the question requires synthesizing across multiple memories into a single answer. Pass `response_schema` when structured output is needed. Favor `reflect` unless looking for a simple fact. ## How to Recall - Call `recall` or `reflect` once for a given topic. Read the result. If it answers the question, stop. - If the result is insufficient, change the query or tags and call once more. Do not call a third time for the same topic. - Set `budget` to `low` for simple fact lookups. Set `budget` to `mid` for everything else. ## Correcting Memories In some cases, an old memory was incorrectly retained or has become stale. When the user corrects or contradicts something previously stated, you must update/retire the memory to reflect the new information. When correcting, decide whether the memory should be retired/deleted or updated with correct information. 1. The memory should be retired/deleted: use `invalidate_memory` on the old memory ID to retire it. If the wrong memory was retired by mistake, use `invalidate_memory` with `restore=true` to restore it. 2. The memory should be updated with correct information: use `update_memory` to fix a detail in a memory without retiring it. ## Session Continuity Call `recall` or `reflect` at the start of a turn when a task would benefit from past context. ## Gotchas - Do not retain then recall in the same turn. Retained memories are not indexed yet. The recall will not find them. - Do not use random UUIDs for `document_id`. Reuse the same slug when re-retaining the same conversation. Random IDs create duplicate documents. - Always set the `context` field. Without it, extraction quality drops significantly. - Use tags for filtering, not metadata. Metadata is not filterable at recall time. - Do not pre-summarize `content` before retaining. Pass the raw conversation text. Summaries lose entity relationships and temporal markers. - Do not use `budget="high"` by default. Use `mid`. Use `low` for simple lookups. - Invalidate stale memories when they change. A corrected fact and its old version rank equally in retrieval. Retire the old one.
From Silvenga/agent-skills, MIT.
More from Silvenga/agent-skills
- 0.524score
conventions-skills
Silvenga
Load when designing, writing, or reviewing an agent skill (SKILL.md file).
SkillBFreshness: BClaude Code +9 - 0.518score
conventions-writing
Silvenga
Load when writing/editing text that another human will read (e.g., md files).
SkillBFreshness: BClaude Code +9 - 0.515score
conventions-frontend
Silvenga
Load when coding the web frontend (TS/React/TailwindCSS).
SkillBFreshness: BClaude Code +9 - 0.515score
copilot
Silvenga
Invoked by the User to run in copilot mode.
SkillBFreshness: BClaude Code +9 - 0.513score
hindsight-close-session
Silvenga
Invoked by the User to end the current session and retain the conversation.
SkillBFreshness: BClaude Code +9 - 0.512score
conventions-code-rust
Silvenga
Load when coding in Rust.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 2
- Last commit (this folder)
- Sep 1, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Silvenga/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Silvenga
- 0.524score
conventions-skills
Silvenga
Load when designing, writing, or reviewing an agent skill (SKILL.md file).
SkillBFreshness: BClaude Code +9 - 0.518score
conventions-writing
Silvenga
Load when writing/editing text that another human will read (e.g., md files).
SkillBFreshness: BClaude Code +9 - 0.515score
conventions-frontend
Silvenga
Load when coding the web frontend (TS/React/TailwindCSS).
SkillBFreshness: BClaude Code +9 - 0.515score
copilot
Silvenga
Invoked by the User to run in copilot mode.
SkillBFreshness: BClaude Code +9 - 0.513score
hindsight-close-session
Silvenga
Invoked by the User to end the current session and retain the conversation.
SkillBFreshness: BClaude Code +9 - 0.512score
conventions-code-rust
Silvenga
Load when coding in Rust.
SkillBFreshness: BClaude Code +9
Cite this page
hindsight skill. Agent Mart. https://agentmart.dev/skills/silvenga-hindsight (last updated 2026-10-24)