Skip to content

fix: the skill shipped to agents was the stalest surface of all - #224

Merged
VickyXAI merged 1 commit into
mainfrom
fix/remaining-stale-numbers
Jul 27, 2026
Merged

fix: the skill shipped to agents was the stalest surface of all#224
VickyXAI merged 1 commit into
mainfrom
fix/remaining-stale-numbers

Conversation

@VickyXAI

@VickyXAI VickyXAI commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Found by sweeping for the shape of a claim — a number in front of the claim vocabulary — rather than for phrasings anyone remembered. Three earlier passes over these repos had each grepped differently and each missed a different subset.

What was stale

See the commit for the per-file list. All values now come from the published artifact, and sync-brand-numbers --check is clean outside CHANGELOG.md, which is history and stays as written.

Frontmatter takes literals, not markers

A SKILL.md YAML description: is a string an agent reads when deciding whether to load the skill — an HTML comment there is part of the string, not invisible. Same for headings, where it leaks into the anchor slug. Those counts are asserted in the test suite instead, the same trade already made for package.json and the shields badges.

Summary by CodeRabbit

  • Documentation

    • Updated ecosystem and router messaging to reflect current model availability, savings, access requirements, and payment details.
    • Added updated tier pricing information and clarified that tier savings are not directly quoted.
  • Tests

    • Added checks to ensure published savings and model counts remain consistent across documentation.

skills/clawrouter/SKILL.md is loaded into an agent's context to tell it what
this router does. Nobody had swept it, and it showed:

  save 67%              a sixth savings figure
  55+ models            twice — the catalog serves 66
  a routing table       describing a configuration that no longer exists

That table quoted Gemini Flash, DeepSeek Chat, Claude Opus and o3 as the four
tier primaries. config.ts routes to gemini-2.5-flash, kimi-k2.7, gemini-3.1-pro
and grok-4-1-fast-reasoning. It also priced Opus at $75/M, which is wrong by any
reading — Opus 5 is $5/$25.

Rewritten from config.ts and the live catalog. The per-tier "% of traffic" and
"% savings" numbers are dropped rather than restated: they were measured against
a baseline nobody wrote down, and the published figure is blended across a
stated workload mix. Removing an unverifiable claim beats replacing it with a
different unverifiable claim.

Frontmatter takes literals, not markers — it is a YAML string an agent reads,
so a comment would be part of it. Asserted in brand-numbers.test.ts alongside
package.json, which has the same constraint.

README's ecosystem card said 50+ models; bound.

Left alone: "LLM Router Benchmark: 46 Models" is the title of a benchmark that
tested 46 models. Restating it would misrepresent what was run.
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Updated ClawRouter marketing text with new savings, model-count, payment, and tier-pricing details. Added a Vitest check that validates skill frontmatter figures against brand-numbers.json.

Changes

Brand number synchronization

Layer / File(s) Summary
Update marketing content
README.md, skills/clawrouter/SKILL.md
README and skill descriptions now reference 66 models, 87% savings, updated routing-tier prices, and revised savings presentation.
Validate synchronized figures
src/router/brand-numbers.test.ts
Added frontmatter checks for the published savings percentage and visible model count.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: 1bcmax

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the PR, but it is too metaphorical and vague to clearly convey the main change. Use a concise title that names the actual update, such as stale model counts and routing/marketing copy fixes in the clawrouter skill.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/remaining-stale-numbers

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/router/brand-numbers.test.ts`:
- Around line 143-155: Validate that the closing "\n---" delimiter was found
before slicing frontmatter in the shared test setup. Add an explicit assertion
on the delimiter index, then preserve the existing frontmatter extraction and
savings/model assertions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 91fcb8bb-8a57-4de5-aaa7-9355da7fdbb4

📥 Commits

Reviewing files that changed from the base of the PR and between a4e57ba and 4be0a47.

📒 Files selected for processing (3)
  • README.md
  • skills/clawrouter/SKILL.md
  • src/router/brand-numbers.test.ts

Comment on lines +143 to +155
const skill = readFileSync("skills/clawrouter/SKILL.md", "utf8");
const frontmatter = skill.slice(0, skill.indexOf("\n---", 4));
const n = JSON.parse(readFileSync("brand-numbers.json", "utf8")) as {
models: { chatVisible: number };
savings: { autoVsBaselinePct: number };
};

it("quotes the published savings figure", () => {
expect(frontmatter).toContain(`save ${n.savings.autoVsBaselinePct}% on inference costs`);
});

it("quotes the published model count", () => {
expect(frontmatter).toContain(`${n.models.chatVisible} models`);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Validate the frontmatter boundary before asserting values.

If the closing \n--- delimiter is missing, indexOf returns -1, so slice(0, -1) searches almost the entire markdown file. Matching text in the body could then make this test pass without valid frontmatter.

Add an explicit delimiter assertion before slicing.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/router/brand-numbers.test.ts` around lines 143 - 155, Validate that the
closing "\n---" delimiter was found before slicing frontmatter in the shared
test setup. Add an explicit assertion on the delimiter index, then preserve the
existing frontmatter extraction and savings/model assertions.

@VickyXAI
VickyXAI merged commit 9a75c34 into main Jul 27, 2026
4 checks passed
@VickyXAI
VickyXAI deleted the fix/remaining-stale-numbers branch July 27, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant