Who it is forA developer who keeps project notes or design docs in markdown and wants Claude to see the relevant ones without manual Read calls.
The problemRelevant notes are easy to forget, and asking Claude to read them each time costs a round of tool calls.
The outcomeClaude receives the most relevant note files, up to a set count and size, along with each prompt.
What you need first
- Python 3.10+
- uv installed
- Claude Code 2.1.260 or newer with function hooks enabled (early access)
- A Jev key from TypeSafe, or an Anthropic API key for the adapter judge
- Git to clone the repo
Steps
- Collect the directories of .md files you want considered, such as a notes folder.
- Set WINNOW_CONTEXT_DIRS to those directories in ~/.winnow/env, using : on macOS and Linux or ; on Windows.
- Optionally tune WINNOW_CONTEXT_GATE, WINNOW_CONTEXT_TOP_K, and WINNOW_CONTEXT_MAX_CHARS.
- Open a new Claude Code session and send a prompt that relates to one of your notes.
- Check that the matching note appears in Claude's context.
Prompt for your agent
In the winnow repo at <repo path>, set WINNOW_CONTEXT_DIRS to <notes directory> and start a new Claude Code session. Send the prompt <test prompt> and confirm that the note matching it is injected. Report the files injected and the file count against WINNOW_CONTEXT_TOP_K.
Caveat. The selector sends your prompt and the first 600 characters of each candidate file to the judge, so keep sensitive notes out of the configured directories.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for GhalebDweikat/winnow and "Inject relevant memory notes into each Claude Code prompt"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer