Context Steward banner
BouletteProof BouletteProof

Context Steward

AI community

Description

Load skills dynamically. Learn what works. Works with any LLM. MCP server for Claude Desktop, Claude Code, and Cursor.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

context-steward

**Load skills dynamically. Learn what works. Works with any LLM.**

MCP server for Claude Desktop, Claude Code, and Cursor.


The problem

You have 10 skill files. Your agent loads all of them into the system prompt. That's 15,000 tokens burned before the task starts — whether the agent reads them or not.

On a 32K model, that's 47% of your context gone. And you have no idea which skills actually help.

How it works

Lazy loading

Skills are MCP tools. Zero skill content in the initial prompt.

When your agent hits a task, it calls:

load_skills({ task: "refactor the auth module" })

context-steward finds the relevant skill, returns it with a `contextId`, and content enters context only when needed — right before generation. The `contextId` is a handle: pass it back later to link outcome feedback to the specific skill that was used.

Feedback loop

After the task, report what happened — not a score:

report_outcome({
  contextId: "abc123",
  signal: "praised",
  notes: "Clean decomposition, all types correct, user said 'perfect'"
})

**Signals** are observable conversation events:

Signal When to use Derived score
praised User explicitly said good/great/perfect 0.95
used_as_is User accepted and moved to the next topic 0.70
revised User asked for specific changes 0.40
rejected User said no, start over, dismissed output 0.15
redone_by_user User did it themselves after seeing the attempt 0.10

Why signals instead of scores? Because a model scoring its own work is unreliable — it will always be generous with itself. Signals are binary observations: did the user accept it or not? Did they ask for changes or not? No subjectivity in the observation.

The "derived score" column is a deterministic mapping used only for aggregation and ranking. It's not a judgment; it's a sort key.

Over time, skills accumulate signal history:

$ context-stewa