How Anthropic Skills’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score24/100
Agent-ready 53.6 × 0.30 = 16.08
API quality 12.0 × 0.20 = 2.40
Openness 8.6 × 0.20 = 1.72
Built-in AI 13.7 × 0.15 = 2.05
Automation 12.0 × 0.15 = 1.80
(16.08 + 2.40 + 1.72 + 2.05 + 1.80) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 24.05 ÷ 1.00 = 24.1
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready53.6/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [probe] https://code.claude.com/llms.txt“PROBE llms.txt: HTTP 200 at https://code.claude.com/llms.txt # Claude Code Docs > Official documentation for Claude Code, Anthropic's agentic coding tool available in the terminal,”
- [probe] https://code.claude.com/docs/en/skills.md“PROBE docs-md: HTTP 200 at https://code.claude.com/docs/en/skills.md > ## Documentation Index > Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt > Use this f”
- [claimed-docs] https://code.claude.com/docs/en/skills.md“Claude Code skills follow the [Agent Skills](https://agentskills.io) open standard, which works across multiple AI tools.”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You specify Skills in the `container` parameter with a `skill_id`, `type`, and optional `version`, and they run in the code execution environment.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Skills are specified using the `container` parameter in the Messages API. You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API](https://platform.claude.com/docs/en/api/skills/create)”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“This guide shows you how to use both pre-built and custom Skills with the Claude API.”
Plug MCP servers into this product so it can use their toolsweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“Create custom plugins to extend Claude Code with skills, agents, hooks, and MCP servers.”
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“Plugins (self-contained directories with skills, agents, hooks, or a `.claude-plugin/plugin.json` manifest) | `/plugin-name:hello` | Sharing with teammates, distributing to community, versioned releases, reusable across projects”
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“Plugins let you extend Claude Code with custom functionality that can be shared across projects and teams. This guide covers creating your own plugins with skills, agents, hooks, and MCP servers.”
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“Plugins let you extend Claude Code with custom functionality that can be shared across projects and teams.”
- [community] https://hn.algolia.com/api/v1/items/45619537“A skill is a markdown & yaml file on your filesystem... but skills don't cover a lot of the functionality that MCP offers.”
- [community] https://hn.algolia.com/api/v1/items/46871173“If you can write a bash or python script, or an API or MCP to do what you want, then write it and include it in the skill. Keep top-level context (claude.md) as 'information about information' and put specifics in skills.”
Connect an agent via an official MCP serverweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Use an official CLIweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://code.claude.com/docs/en/skills“Claude uses skills when relevant, or you can invoke one directly with `/skill-name`.”
- [claimed-docs] https://code.claude.com/docs/en/plugin-marketplaces.md“/plugin marketplace add ./my-marketplace /plugin install quality-review-plugin@my-plugins”
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“add a skill, and test it locally using the \`--plugin-dir\` flag”
- [claimed-docs] https://raw.githubusercontent.com/anthropics/skills/HEAD/skills/skill-creator/SKILL.md“A skill for creating new skills and iteratively improving them.”
- [probe] https://code.claude.com/llms.txt“PROBE llms.txt: HTTP 200 at https://code.claude.com/llms.txt # Claude Code Docs > Official documentation for Claude Code, Anthropic's agentic coding tool available in the terminal,”
Drive the product through a documented public APIweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You specify Skills in the `container` parameter with a `skill_id`, `type`, and optional `version`, and they run in the code execution environment.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Skills are specified using the `container` parameter in the Messages API. You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API](https://platform.claude.com/docs/en/api/skills/create)”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API]”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“This guide shows you how to use both pre-built and custom Skills with the Claude API.”
Issue scoped/least-privilege API credentials for an agentweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Build against official SDKsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You specify Skills in the `container` parameter with a `skill_id`, `type`, and optional `version`, and they run in the code execution environment.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Skills are specified using the `container` parameter in the Messages API. You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API](https://platform.claude.com/docs/en/api/skills/create)”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API]”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“This guide shows you how to use both pre-built and custom Skills with the Claude API.”
Subscribe to events via webhooksweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Agent-ready = 75.0 ÷ 140 × 100 = 53.6
API quality12.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://agentskills.io/specification.md“The required `description` field: Must be 1-1024 characters, Should describe both what the skill does and when to use it”
- [claimed-docs] https://agentskills.io/specification.md“A skill is a directory containing, at minimum, a `SKILL.md` file”
- [claimed-docs] https://agentskills.io/specification.md“The `SKILL.md` file must contain YAML frontmatter followed by Markdown content.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API](https://platform.claude.com/docs/en/api/skills/create)”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“This guide shows you how to use both pre-built and custom Skills with the Claude API.”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You specify Skills in the `container` parameter with a `skill_id`, `type`, and optional `version`, and they run in the code execution environment.”
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“add a skill, and test it locally using the \`--plugin-dir\` flag”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Skills are specified using the `container` parameter in the Messages API. You can include up to 20 Skills for each request.”
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
API quality = 6.0 ÷ 50 × 100 = 12.0
Openness8.6/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You specify Skills in the `container` parameter with a `skill_id`, `type`, and optional `version`, and they run in the code execution environment.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Skills are specified using the `container` parameter in the Messages API. You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API](https://platform.claude.com/docs/en/api/skills/create)”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You can include up to 20 Skills for each request.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Upload and manage through the [Skills API]”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“Availability | Available to all users | Private to your workspace”
- [claimed-docs] https://code.claude.com/docs/en/plugin-marketplaces.md“A **plugin marketplace** is a catalog that lets you distribute plugins to others. Marketplaces provide centralized discovery, version tracking, automatic updates”
- [claimed-docs] https://code.claude.com/docs/en/plugin-marketplaces.md“/plugin marketplace add ./my-marketplace /plugin install quality-review-plugin@my-plugins”
Export all of my data in open formats and leaveweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Read the product's source under an open licenseweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Self-host the core productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Openness = 6.0 ÷ 70 × 100 = 8.6
Built-in AI13.7/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“Claude already knows a lot about understanding PDFs, but is limited in its ability to manipulate them directly (e.g. to fill out a form). This PDF skill lets us give Claude these new abilities.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“Skills extend Claude’s capabilities by packaging your expertise into composable resources for Claude, transforming general-purpose agents into specialized agents that fit your needs.”
- [github] https://github.com/anthropics/skills“whether that's creating documents with your company's brand guidelines, analyzing data using your organization's specific workflows, or automating personal tasks.”
- [github] https://github.com/anthropics/skills“whether that's creating documents with your company's brand guidelines, analyzing data using your organization's specific workflows, or automating personal tasks”
- [community] https://hn.algolia.com/api/v1/items/46871173“Vercel found: In 56% of eval cases, the skill was never invoked. The agent had access to the documentation but didn't use it. Adding the skill produced no improvement over baseline.”
- [community] https://hn.algolia.com/api/v1/items/46871173“Same, I have a bunch of skills defined with proper YAML headers and semantic triggers... it's hit or miss if it picks up on the skill -- usually I have to say there is a skill with this go and use it.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://code.claude.com/docs/en/skills“Create a `SKILL.md` file with instructions, and Claude adds it to its toolkit.”
- [claimed-docs] https://code.claude.com/docs/en/skills“Claude uses skills when relevant, or you can invoke one directly with `/skill-name`.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“If Claude thinks the skill is relevant to the current task, it will load the skill by reading its full `SKILL.md` into context.”
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 5 (quality) × 0.3 (disputed) = 4.5 of 30 max
- [claimed-docs] https://code.claude.com/docs/en/skills“Claude uses skills when relevant, or you can invoke one directly with `/skill-name`.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“Skills extend Claude’s capabilities by packaging your expertise into composable resources for Claude, transforming general-purpose agents into specialized agents that fit your needs.”
- [community] https://hn.algolia.com/api/v1/items/46871173“Vercel found: In 56% of eval cases, the skill was never invoked. The agent had access to the documentation but didn't use it. Adding the skill produced no improvement over baseline.”
- [community] https://hn.algolia.com/api/v1/items/46871173“I have an incredibly hard time getting them to use Skills at all, even when asked. I saw someone's analysis finding their agents were more accurate when just dumping the skill context directly into AGENTS.md.”
- [community] https://hn.algolia.com/api/v1/items/46871173“Same, I have a bunch of skills defined with proper YAML headers and semantic triggers... it's hit or miss if it picks up on the skill -- usually I have to say there is a skill with this go and use it.”
Operate the product with natural-language commandsweight 2
2 (weight) × 5 (quality) × 0.3 (disputed) = 3.0 of 20 max
- [claimed-docs] https://code.claude.com/docs/en/skills“Claude uses skills when relevant, or you can invoke one directly with `/skill-name`.”
- [claimed-docs] https://code.claude.com/docs/en/skills“Skills add optional features: a directory for supporting files, frontmatter to [control whether you or Claude invokes them]... and the ability for Claude to load them automatically when relevant.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“If Claude thinks the skill is relevant to the current task, it will load the skill by reading its full `SKILL.md` into context.”
- [claimed-docs] https://code.claude.com/docs/en/skills“frontmatter to [control whether you or Claude invokes them](#control-who-invokes-a-skill)”
- [community] https://hn.algolia.com/api/v1/items/46871173“Vercel found: In 56% of eval cases, the skill was never invoked. The agent had access to the documentation but didn't use it. Adding the skill produced no improvement over baseline.”
- [community] https://hn.algolia.com/api/v1/items/46871173“I have an incredibly hard time getting them to use Skills at all, even when asked. I saw someone's analysis finding their agents were more accurate when just dumping the skill context directly into AGENTS.md.”
- [community] https://hn.algolia.com/api/v1/items/46871173“Same, I have a bunch of skills defined with proper YAML headers and semantic triggers... it's hit or miss if it picks up on the skill -- usually I have to say there is a skill with this go and use it.”
Built-in AI = 12.3 ÷ 90 × 100 = 13.7
Automation12.0/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“Claude already knows a lot about understanding PDFs, but is limited in its ability to manipulate them directly (e.g. to fill out a form). This PDF skill lets us give Claude these new abilities.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“skills can bundle additional files within the skill directory and reference them by name from `SKILL.md`.”
- [claimed-docs] https://agentskills.io/specification.md“scripts/ # Optional: executable code references/ # Optional: documentation assets/ # Optional: templates, resources”
- [community] https://hn.algolia.com/api/v1/items/46871173“If you can write a bash or python script, or an API or MCP to do what you want, then write it and include it in the skill. Keep top-level context (claude.md) as 'information about information' and put specifics in skills.”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 4 (quality) × 0.3 (disputed) = 3.6 of 30 max
- [claimed-docs] https://code.claude.com/docs/en/skills“Claude uses skills when relevant, or you can invoke one directly with `/skill-name`.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“If Claude thinks the skill is relevant to the current task, it will load the skill by reading its full `SKILL.md` into context.”
- [community] https://hn.algolia.com/api/v1/items/46871173“Vercel found: In 56% of eval cases, the skill was never invoked. The agent had access to the documentation but didn't use it. Adding the skill produced no improvement over baseline.”
- [community] https://hn.algolia.com/api/v1/items/46871173“I have an incredibly hard time getting them to use Skills at all, even when asked. I saw someone's analysis finding their agents were more accurate when just dumping the skill context directly into AGENTS.md.”
- [community] https://hn.algolia.com/api/v1/items/46871173“Same, I have a bunch of skills defined with proper YAML headers and semantic triggers... it's hit or miss if it picks up on the skill -- usually I have to say there is a skill with this go and use it.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://code.claude.com/docs/en/skills“Claude uses skills when relevant, or you can invoke one directly with `/skill-name`.”
- [claimed-docs] https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills“If Claude thinks the skill is relevant to the current task, it will load the skill by reading its full `SKILL.md` into context.”
- [claimed-docs] https://code.claude.com/docs/en/skills.md“`/run` and `/verify` work without setup. They infer the launch from your project type (CLI, server, TUI, browser-driven) and from what's in your README, `package.json`, or `Makefile`.”
Version, review, and roll back my automationsweight 1
1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max
- [claimed-docs] https://code.claude.com/docs/en/plugin-marketplaces.md“A **plugin marketplace** is a catalog that lets you distribute plugins to others. Marketplaces provide centralized discovery, version tracking, automatic updates”
- [claimed-docs] https://code.claude.com/docs/en/plugin-marketplaces.md“Marketplaces provide centralized discovery, version tracking, automatic updates, and support for multiple source types, including git repositories and local paths.”
- [claimed-docs] https://platform.claude.com/docs/en/build-with-claude/skills-guide.md“You specify Skills in the `container` parameter with a `skill_id`, `type`, and optional `version`, and they run in the code execution environment.”
- [claimed-docs] https://code.claude.com/docs/en/plugins.md“Plugins (self-contained directories with skills, agents, hooks, or a `.claude-plugin/plugin.json` manifest) | `/plugin-name:hello` | Sharing with teammates, distributing to community, versioned releases, reusable across projects”
Automation = 9.6 ÷ 80 × 100 = 12.0