to-the-point
A Claude Code plugin that makes Claude lead with the answer and spend less on agent work. Replies put the root cause, result or decision first, in plain words. They keep what matters: error text, warnings, and what was or wasn't verified, plus full explanations when you ask for them.
| Part | What it does |
|---|---|
| Answer style | Always on. Answer first, no openers, recaps or offers to help. Details on request. |
| Subagent report budget | Subagents report in a compact format, within 250 words of prose. Code and file:line lines don't count. |
| Search routing | With Opus or Fable as the main model, Claude Code's built-in Explore agent runs on Sonnet. Nothing else changes model. |
/to-the-point:stats | Shows how recent replies and subagent reports measured up. |
/to-the-point:delegate <task> | Splits large work across subagents, optionally with Claude Code's native Advisor. |
answer-formats skill | Formats for bug reports, changes, questions and investigations. Loads when one matches. |
Install
You need Claude Code 2.1.296 or later and Node.js 18 or later. Check with claude --version and run claude update if it's older. Routing is a Claude Code mod, which needs 2.1.287 or later and is on by default. If your organization blocks mods, everything except routing still works.
Try it in any repo without installing:
git clone https://github.com/Shashank-Singh03/Vili.git C:\tools\Vili
cd C:\path\to\your-repo
claude --plugin-dir C:\tools\Vili\plugins\to-the-point
On macOS or Linux, clone to a folder such as ~/tools/Vili and pass --plugin-dir ~/tools/Vili/plugins/to-the-point.
Install it for every repo: inside Claude Code, run:
/plugin marketplace add Shashank-Singh03/Vili
/plugin install to-the-point@to-the-point-marketplace
This also works in the VS Code extension. To remove it, run claude plugin uninstall to-the-point@to-the-point-marketplace in your shell.
Turn it on for everyone in a project: add this to the project's .claude/settings.json:
{
"extraKnownMarketplaces": {
"to-the-point-marketplace": { "source": { "source": "github", "repo": "Shashank-Singh03/Vili" } }
},
"enabledPlugins": { "to-the-point@to-the-point-marketplace": true }
}
Check that it works
-
Run
/pluginin a terminal session. A line under the tabs should read1 mod active · to-the-point. -
Ask a question. The first sentence should be the answer.
-
To see which model a search ran on, set a trace folder before you start Claude Code. Start it with
--model opus, then ask it to use the Explore agent:$env:TO_THE_POINT_TRACE = "$env:TEMP\ttp-trace" claude --model opus --plugin-dir C:\tools\Vili\plugins\to-the-pointEach
*-route-*.jsonfile in that folder records one subagent start. For a routed search it shows"reason":"built-in-search"and"resolvedModel":"claude-sonnet-5-5". Remove the variable afterwards; tracing is off by default. -
Run
/to-the-point:statsafter a few replies.
Settings
All settings are environment variables. Set them before starting Claude Code: $env:NAME = 'value' in PowerShell, export NAME=value in bash.
| Variable | Default | Effect |
|---|---|---|
TO_THE_POINT_ROUTING | balanced | off keeps every subagent on its usual model |
TO_THE_POINT_SEARCH_MODEL | sonnet | haiku is cheaper but experimental |
TO_THE_POINT_SUBAGENT_WORDS | 250 | Report budget in words of prose; 0 turns it off |
TO_THE_POINT_LOG | ~/.claude/to-the-point/metrics.jsonl | A different log path, or off |
TO_THE_POINT_TRACE | not set | An absolute folder for metadata-only trace files |
How search routing decides
A subagent start is routed to TO_THE_POINT_SEARCH_MODEL only when all of these hold:
- It is Claude Code's built-in
Exploreagent. AnExploreyou define yourself, in a project, your user folder or a plugin, keeps its own model. - No model was passed for it, and it isn't a fork, a teammate or a workflow agent.
- The main model is Opus or Fable. Sonnet, Haiku and unknown models are left alone.
- You haven't set
CLAUDE_CODE_SUBAGENT_MODEL,CLAUDE_CODE_SUBAGENT_MODEL_FORCE, or a custom alias for the target model (ANTHROPIC_DEFAULT_SONNET_MODELorANTHROPIC_DEFAULT_HAIKU_MODEL).
Effort and every other setting stay the same. No extra model call is made to decide. If anything goes wrong, the subagent starts exactly as Claude asked. Your organization's model rules still apply.
The routing code is under 200 lines: hooks/register.mjs and hooks/policy.mjs. A mod runs inside Claude Code with your permissions, so read them before you install.
Subagent report budget
A subagent's final report goes into the main agent's context and is re-read on every later call until the conversation is compacted.
- When a subagent starts, it gets a compact report format and a budget of 250 words of prose. Fenced code, and lines of up to 30 words that cite a
file:line, don't count. - If a report is over 1.5 times the budget, the plugin sends it back once with the word count and a list of what to keep. A subagent is never sent back twice, and any error lets the report through unchanged.
- Auto mode: when a subagent hands its report back directly, Claude Code has already delivered it before the plugin can send it back. Only the up-front budget applies there.
Optional: native Advisor
/to-the-point:delegate <task> plans subagent assignments and launches them. If you have turned on Claude Code's native Advisor, the skill can consult it on complex tasks; it never turns the Advisor on for you. To try it for one session:
claude --model opus --advisor opus --plugin-dir C:\tools\Vili\plugins\to-the-point
Advisor calls count toward your usage, and subagents inherit the Advisor. See Claude Code's Advisor docs.
What it stores
- A local log of numbers only (word counts, which answer habits slipped), never reply text, at
~/.claude/to-the-point/metrics.jsonl. SetTO_THE_POINT_LOG=offto stop it. - Small marker files in the plugin's data folder, so that no subagent is sent back twice.
- Trace files, only if you set
TO_THE_POINT_TRACE.
The plugin makes no network requests and needs no API key.
Results so far
These are small samples, measured with a local harness that isn't part of this repository. Treat them as early signals.
Answer style. Sonnet 5.5, 10 prompts, two runs:
| Default style | Built-in Concise | to-the-point | |
|---|---|---|---|
| Median output tokens | 463 / 465 | 274 / 220 | 215 / 217 |
| Key fact present | 100% | 100% | 100% |
| Passed every check (answer first, length, no padding) | 2/10, 4/10 | – | 9/10, 9/10 |
Against the default style, output roughly halves. Against the built-in Concise style, length is about even; the difference is content. You get a minimal diff instead of a reprinted function, a "verified / not verified" line, and the assumption that would change the answer.
Report budget. Sonnet, two runs: reports reaching the main agent dropped from a median of 584 to 465 words, and every key fact was kept. A 40-word budget on Haiku did lose a fact, so don't set it that low.
Search routing. Smoke test, 2026-10-14, Claude Code 2.1.296: in an Opus session, the built-in Explore agent ran on claude-sonnet-5-5. A project-defined Explore was left alone. Cost savings and answer quality with routing are not measured yet.
Other tools
- Codex, Cursor, Copilot and Gemini CLI read
AGENTS.md. Copy portable/AGENTS.md into a repo'sAGENTS.mdto get the answer rules. Don't add it where the plugin is on, or Claude Code gets the rules twice. - The answer-formats skill uses the open Agent Skills format. Copy
plugins/to-the-point/skills/answer-formats/into another tool's skills folder. - Routing, the report budget and the Advisor skill work in Claude Code only.
Develop
- Edit the answer rules in
plugins/to-the-point/output-styles/to-the-point.md, then runnpm run buildto regenerateportable/AGENTS.md.npm run checkconfirms it's current. npm run validaterunsclaude plugin validate --stricton the plugin and the marketplace. It needs Claude Code 2.1.296 or later; setCLAUDE_BINto choose a binary. CI runs both on every push.- How it fits together: docs/ARCHITECTURE.md.