Skip to content

Align skills with Anthropic's 500-line guidance and add evals #42

Description

@oceans404

Context

We audited the skills against Anthropic's authoring guidance (Claude Code skills docs, skill authoring best practices). Most practices are already followed: descriptions state what and when in third person with concrete triggers, names are valid and consistent, references are one level deep, and smart-contracts is a textbook progressive-disclosure layout (router SKILL.md plus companion files).

Two gaps remain. Mechanical fixes from the same audit already landed in #41.

Gap 1: four SKILL.md bodies exceed the recommended 500 lines

Anthropic recommends keeping the SKILL.md body under 500 lines and moving detail into companion files that load only when needed.

Skill Lines Proposed split
standards 791 SKILL.md keeps the SEP/CAP routing map (~150 lines). Part 2 becomes ecosystem.md, Part 3 becomes resources.md.
dapp 694 SKILL.md keeps SDK setup, wallet connection, and tx build/submit. React components, passkeys/smart accounts, and fee sponsorship move to companion files.
agentic-payments 626 SKILL.md keeps the protocol decision table and shared testnet runbook. Part 1 becomes x402.md, Part 2 becomes mpp.md.
data 550 Borderline. Move the Horizon legacy section to horizon.md, or trim in place.

This is the same treatment #32 applied to the old soroban skill (2,580 lines to a 193-line router plus three companions), so the pattern and precedent already exist in the repo.

Per-skill checklist:

  • Split standards
  • Split dapp
  • Split agentic-payments
  • Split or trim data
  • Each router SKILL.md gets a task-to-file routing table like smart-contracts/SKILL.md
  • Keep all references one level deep from SKILL.md
  • Update site/src/data/skills.ts sources and confirm copy-skills.mjs and generate-llms-txt.mjs handle the new files
  • Descriptions stay unchanged unless a split changes what a skill covers

Gap 2: no evaluations

The best-practices doc recommends evaluation-driven development: representative task scenarios per skill, so regressions get caught before publish. #41 fixed several compile-breaking example snippets that evals would have caught.

  • Add an evals/ directory with roughly 3 scenarios per skill (query, files if needed, expected behavior). Full proposed scenario set, grading tiers, and an example file: see the eval proposal comment below
  • Start with the highest-traffic paths: dapp payment flow, x402 seller/buyer setup, contract deploy and test
  • Document how to run them in CONTRIBUTING or the README

Out of scope

  • Frontmatter changes (user-invocable: true is redundant with the default but harmless and consistent)
  • Description rewrites (all seven pass the guidance)

Sequencing

Do Gap 1 as one PR per skill or one PR for all four, whichever reviews easier. Gap 2 can proceed in parallel and should land before or with the splits so the splits are verified by evals.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions