Skip to content
Agent Orchestration
Skill

/winnow

How to read winnow stubs in tool results. A block marked "[winnow] ... hidden" was judged unlikely to matter for the current task and replaced with a short summary plus a recall key; call winnow_recall to restore it. Use when a tool result contains "[winnow]" lines or when

BOOST
From plugin
claude-lane-stack
12464 skills24 agents5 commands12 hooks
+1
Install
$ npx -y skills add VKirill/claude-lane-stack --skill winnow --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/winnow

Context preview

The summary Claude sees to decide when to auto-load this skill.

How to read winnow stubs in tool results. A block marked "[winnow] ... hidden" was judged unlikely to matter for the current task and replaced with a short summary plus a recall key; call winnow_recall to restore it. Use when a tool result contains "[winnow]" lines or when

SKILL.md

winnow.SKILL.md
name: winnow
description: How to read winnow stubs in tool results. A block marked "[winnow] ... hidden" was judged unlikely to matter for the current task and replaced with a short summary plus a recall key; call winnow_recall to restore it. Use when a tool result contains "[winnow]" lines or when winnow_recall / winnow_stats tools are available.

winnow

winnow sits between Claude Code's tools and your context. After `Read`, `Bash`, or `Grep` returns a large result, winnow splits it into blocks, asks a System One model (TypeSafe's Jev, or an LLM-backed adapter) one yes/no question per block ("is this block needed for the current task?"), and replaces the low-probability blocks with a stub.

What a stub looks like

[winnow] Lines 41-188 (148 lines) hidden: judged unlikely to matter for the current task (relevance <= 0.22).
[winnow] Summary: Boilerplate license header and the argparse setup for flags that are not part of this task.
[winnow] Full text cached as key a1b2c3d4e5f6. Call winnow_recall(key="a1b2c3d4e5f6", start=41, end=188) if you need it.

How to treat it

  • The summary is written by a cheap model and preserves identifiers, paths, numbers and error text. Trust it for orientation, not for exact values.
  • If the hidden lines might matter after all, call the `winnow_recall` tool with the key. Add `start` and `end` to fetch only part of the cached text. Do not re-run the original command just to see the hidden part; recall is cheaper and does not re-trigger side effects.
  • Outputs that show an error are never pruned. If you see a stub, the judge believed the output was clean.
  • Line numbers in a stub refer to the original file or output. Claude Code renumbers the rewritten result from 1, so the numbers you see in the margin of a pruned `Read` do not match the file; use the stub's range with `Read` `offset`/`limit` or `winnow_recall` to reach the original lines. `Edit` is unaffected because it matches on text, not line numbers.

Tools

  • `winnow_recall(key, start?, end?)`: return the cached full text for a key.
  • `winnow_stats()`: tokens saved, outputs rewritten, and the regret rate (how often a pruned key was later recalled).
Read more
Ships withclaude-lane-stack

Claude Lane Stack is a self-hosted toolkit for coordinating coding agents through CLI processes, task contracts, Git workspaces, and verification receipts (bin/run-controller:117-159, schemas/task-v2.schema.json:1-60).

Get the whole plugin

Other skills on claude-lane-stack.