Skip to content

How Skills for Real Engineers’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 Score19/100

Agent-ready 18.2 × 0.30 = 5.46

API quality 0.0 × 0.20 = 0.00

Openness 46.0 × 0.20 = 9.20

Built-in AI 25.8 × 0.15 = 3.87

Automation 4.0 × 0.15 = 0.60

(5.46 + 0.00 + 9.20 + 3.87 + 0.60) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 19.13 ÷ 1.00 = 19.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-ready18.2/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) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/tdd/SKILL.mdTest only at pre-agreed seams. Before writing any test, write down the seams under test and confirm them with the user.
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/productivity/grilling/SKILL.mdInterview the user relentlessly until you reach a shared understanding. Map this as a **design tree**
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/setup-matt-pocock-skills/SKILL.mdScaffold the per-repo configuration that the engineering skills assume: **Issue tracker**... **Triage labels**... **Domain docs**
  • [github] https://github.com/mattpocock/skillsHere's an example [`CONTEXT.md`]... Which one is easier to read?
  • [probe] https://github.com/llms.txtPROBE llms.txt: HTTP 200 at https://github.com/llms.txt # GitHub > GitHub is a developer platform for building, shipping, and maintaining software. It provides cloud-based Git
  • [probe] https://github.com/mattpocock/skills.mdPROBE docs-md: HTTP 404 at https://github.com/mattpocock/skills.md

Run the product headlessly / in CI for automationweight 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

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

  • [claimed-docs] https://www.aihero.dev/skillsWorks with any agent Claude Code · Cursor · Codex · Copilot · 25 skills · MIT
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.md`mattpocock-skills` was accepted into **Claude Code's official marketplace**... `claude plugins install mattpocock-skills` is now the documented route

Connect an agent via an official MCP serverweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.md`mattpocock-skills` was accepted into **Claude Code's official marketplace**... `claude plugins install mattpocock-skills` is now the documented route
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.mdsubscribe to the set as a read-only, always-current bundle you don't edit, rather than a fork you own
  • [claimed-docs] https://www.aihero.dev/skillsWorks with any agent Claude Code · Cursor · Codex · Copilot · 25 skills · MIT
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`.

Use an official CLIweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`.
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.md`mattpocock-skills` was accepted into **Claude Code's official marketplace**... `claude plugins install mattpocock-skills` is now the documented route
  • [claimed-docs] https://github.com/mattpocock/skillsinstalls the whole set as a managed, read-only bundle that updates when I ship, so you subscribe rather than fork
  • [claimed-docs] https://github.com/mattpocock/skillscopies editable skill files into your project, so you can hack on them and make them your own

Drive the product through a documented public APIweight 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

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) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

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 = 20.0 ÷ 110 × 100 = 18.2

API quality0.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

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

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`.
  • [claimed-docs] https://github.com/mattpocock/skillsIt writes the skills into your repo as ordinary files you own and can edit. Nothing updates behind your back
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.mdsubscribe to the set as a read-only, always-current bundle you don't edit, rather than a fork you own

API quality = 0.0 ÷ 30 × 100 = 0.0

Openness46.0/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) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Export all of my data in open formats and leaveweight 3

3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max

  • [claimed-docs] https://github.com/mattpocock/skillscopies editable skill files into your project, so you can hack on them and make them your own
  • [claimed-docs] https://github.com/mattpocock/skillsIt writes the skills into your repo as ordinary files you own and can edit. Nothing updates behind your back
  • [claimed-docs] https://www.aihero.dev/skillsWorks with any agent Claude Code · Cursor · Codex · Copilot · 25 skills · MIT
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`.
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`

Read the product's source under an open licenseweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://www.aihero.dev/skillsWorks with any agent Claude Code · Cursor · Codex · Copilot · 25 skills · MIT
  • [claimed-docs] https://github.com/mattpocock/skillsIt writes the skills into your repo as ordinary files you own and can edit. Nothing updates behind your back
  • [claimed-docs] https://github.com/mattpocock/skillscopies editable skill files into your project, so you can hack on them and make them your own

Self-host the core productweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://github.com/mattpocock/skillscopies editable skill files into your project, so you can hack on them and make them your own
  • [claimed-docs] https://github.com/mattpocock/skillsIt writes the skills into your repo as ordinary files you own and can edit. Nothing updates behind your back
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.mdsubscribe to the set as a read-only, always-current bundle you don't edit, rather than a fork you own

Openness = 46.0 ÷ 100 × 100 = 46.0

Built-in AI25.8/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) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://www.aihero.dev/skillsFind the modules worth refactoring, as a visual report.
  • [claimed-docs] https://www.aihero.dev/skillsDiagnose a hard bug, starting from a repro that fails.
  • [claimed-docs] https://www.aihero.dev/skillsReview a diff against your standards and against the spec.
  • [claimed-docs] https://www.aihero.dev/skillsSort raw issues into work someone can pick up.

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [github] https://github.com/mattpocock/skillsThey help you align with the agent before you get started, and think deeply about the change you're making. Use them _every_ time you want to make a change.
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/productivity/grilling/SKILL.mdInterview the user relentlessly until you reach a shared understanding. Map this as a **design tree**
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/triage/SKILL.mdVerify the claim. Before any grilling, check that the claim holds up. For a bug, reproduce it from the reporter's steps.
  • [github] https://github.com/mattpocock/skillsApproaches like GSD, BMAD, and Spec-Kit try to help by owning the process. But while doing so, they take away your control

Delegate tasks to a built-in AI assistant inside the productweight 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

Operate the product with natural-language commandsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://www.aihero.dev/skillsInstall the ones you want, then type a slash command.
  • [github] https://github.com/mattpocock/skillsgetting the agent to ask you detailed questions about what you're building
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/productivity/grilling/SKILL.mdInterview the user relentlessly until you reach a shared understanding. Map this as a **design tree**
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/productivity/grilling/SKILL.mdInterview the user relentlessly until you reach a shared understanding.
  • [github] https://github.com/mattpocock/skillsThey help you align with the agent before you get started, and think deeply about the change you're making. Use them _every_ time you want to make a change.
  • [claimed-docs] https://www.aihero.dev/skillsTurn an agreed conversation into a written spec.

Built-in AI = 23.2 ÷ 90 × 100 = 25.8

Automation4.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) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/triage/SKILL.mdMove issues on the project issue tracker through a small state machine of triage roles.
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/triage/SKILL.mdMove issues on the project issue tracker through a small state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/setup-matt-pocock-skills/SKILL.mdScaffold the per-repo configuration that the engineering skills assume: **Issue tracker**... **Triage labels**... **Domain docs**

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://www.aihero.dev/skillsInstall the ones you want, then type a slash command.
  • [github] https://github.com/mattpocock/skillsThey help you align with the agent before you get started, and think deeply about the change you're making. Use them _every_ time you want to make a change.
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/engineering/setup-matt-pocock-skills/SKILL.mdScaffold the per-repo configuration that the engineering skills assume: **Issue tracker**... **Triage labels**... **Domain docs**

Schedule recurring jobs or workflowsweight 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

Version, review, and roll back my automationsweight 1

1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max

  • [claimed-docs] https://github.com/mattpocock/skillsinstalls the whole set as a managed, read-only bundle that updates when I ship, so you subscribe rather than fork
  • [claimed-docs] https://github.com/mattpocock/skillscopies editable skill files into your project, so you can hack on them and make them your own
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`.
  • [claimed-docs] https://github.com/mattpocock/skillsIt writes the skills into your repo as ordinary files you own and can edit. Nothing updates behind your back
  • [claimed-docs] https://github.com/mattpocock/skillsNothing updates behind your back; pull my latest changes when you want them with `npx skills update`
  • [claimed-docs] https://raw.githubusercontent.com/mattpocock/skills/HEAD/.agents/adr/0002-ship-as-a-claude-code-plugin.mdsubscribe to the set as a read-only, always-current bundle you don't edit, rather than a fork you own

Automation = 2.4 ÷ 60 × 100 = 4.0