Skip to main content
The registry is a public marketplace of agent skills. Anyone with an account can publish to it, and DecimalAI publishes there on the same terms as everyone else. Each skill’s page shows its evidence: how it did in a benchmark run with and without the skill, how it does in real use, and whether it passed its safety checks. You can search the registry and read any skill, including its full SKILL.md, with no account.

Search and browse

No key or account needed:
It prints each skill’s summary and test results, and the command that adds it.

Preview a skill from code

preview reads a public skill’s body and metadata and changes nothing in your workspace: no copy, no link. It returns None when no public skill has exactly that name.

How to read a skill page

Every public skill has a page at app.decimal.ai/skills/<url_slug>. The part above the tabs is its scorecard: what the skill does, where it came from, whether it is safe and what it measurably changes. Choosing a framework in Use this skill changes the steps, not the evidence.

The header

The header gives the category, the author, the title and the identifier, followed by a line on what the skill does. Under that come the SkillScore, the type chips, any pack tags and a Last verified date. Beside them are three facts:
  • Source: the repository or publisher it came from.
  • License: the license it declares, or Not recorded.
  • Safety checks: N of 3 passed: one verdict each for Code scan, Intent and Content. How skills are vetted says what each one looks for.

The source says where it came from, not whether it’s good

Nobody hand-picks any of these, so none of them replaces reading the evidence.

The type chips

A classified skill carries chips on two axes, plus how it fires. An unclassified skill shows no chip.

What it changes

This card reports one benchmark run, for one model and one version of the skill. A skill’s headline reads like this:
Passed 9 of 12 test cases with the skill, and 4 of 12 without it.
(Those numbers are an illustration.) Under it are two bars, the checks the skill passed that the model alone missed, and how every case came out: fixed, passed either way, still failing and broke. Broke counts cases that passed without the skill and failed with it, so read it first. Then come Pass-rate lift in points, and the change in Tokens, Agent turns and, when recorded, Response time. Those last three describe resource use, not a dollar price. The context line names the model, the date and the skill version. A skill measured on several models has a Model picker, and each model has its own numbers. Read the notices under the card. Lift withheld means the run had too few comparable cases, errored too much or wasn’t graded comparably, so no lift is claimed. Another notice says when the run measured an earlier version of the skill.

In real use

  • Quality appears only once there are at least ten qualifying results over the skill’s lifetime: the share of evaluated runs that passed, and the average AI rating out of 10.
  • Adoption shows Users and Times used, both over the skill’s lifetime.
No number on the page counts installs. Users and Times used count people and uses, so a skill can score high on them with few installs, and the other way round. Installs appear in two other places:
  • The Most installed sort ranks by how many agents have the skill set up now. The API calls that number install_agents.
  • The API’s install_count counts how many times the skill was forked and never goes down, so don’t read it as adoption.
None of these feeds the SkillScore. SkillScore has the exact definitions.

Three numbers, three questions

Keep them apart. A high SkillScore with an old re-test may rest on old evidence, and a strong benchmark says nothing about safety.

Verified and unverified evidence

Benchmark results reach DecimalAI in two ways, and they don’t count equally:
  • Verified runs were accepted by DecimalAI. The platform either ran both sides on its own key, re-graded outputs the publisher produced elsewhere (replay in the verification history), or re-graded them and re-ran a sample of the cases itself (spot-checked). Only verified runs reach the public page, rankings, registry cards and the SkillScore.
  • Unverified · local import runs were pushed from someone’s own skillevaluation run. Only the skill’s own organization sees them, and they never rank.
Because only verified runs count, the run shown can be older than the skill’s newest version. The page says so when it is. Verified runs has the details.

The tabs

The tabs are Overview, Benchmark, Contents, Activity, Versions and Ratings. Overview has one recorded before and after, a preview of the SKILL.md, and the safety and source details. Benchmark has the full report, case by case, and the SkillScore breakdown. Two more panels live there:
  • Trigger health appears when the eval suite has trigger cases. It answers whether the skill fires when it should and stays quiet when it shouldn’t. Menu selection, False-fire rate and Router recall come from the eval suite. Delivered when offered comes from production traffic. A dash means not measured, not zero. A skill that helps but never fires is broken in a way its lift can’t show.
  • Verification history reads Verified on a model, re-tested on a date. Lift depends on the model, so this tells fresh evidence from stale.
A quick check before you add a skill: safety passed (read the findings on Caution), lift measured on the current version, a recent re-test if it’s Capability and Public, healthy trigger numbers if it’s Automatic, and a Not for line that doesn’t collide with another skill on your agent.

Add a skill

These routes respond differently when the author publishes a new version. Update, pin or fork a skill compares them.

decimalai skills add

This command has two behaviours, and which one you get depends on the project. Flags are in the CLI reference. Not connected to DecimalAI, it writes files:
That writes three things to commit:
  • .agents/skills/pdf/: the skill’s SKILL.md and bundled files.
  • .decimal/skills.toml: the list of skills the project wants.
  • .decimal/skills.lock: the exact bytes that were written.
agent_config() with no key offers the skills on that list, and a framework’s own loader reads the folder. In CI and Docker, decimalai skills install --frozen restores exactly those bytes. Skills on disk covers the files and commands. Connected, it adds to the agent on DecimalAI and writes none. A project is connected when it has .decimal/link.toml. The first agent_config() run with an API key writes that file and copies the project’s list onto the agent once. After that, the agent’s skills live on DecimalAI:
It needs DECIMAL_API_KEY. A project connected for more than one agent has to say which, with --to-agent. --to-agent does the same in any project:
It needs a key as well. An agent name DecimalAI hasn’t seen is created. Three rules apply either way:
  • Safety. A Blocked skill is refused. Caution or not yet reviewed asks on a terminal, and without one it is refused unless you pass --yes.
  • Versions. pdf follows the latest, and pdf@3 pins version 3. See the four ways to pin.
  • A skill you wrote. Give the folder name of .agents/skills/<name>/. Not connected, it is listed in .decimal/skills.toml under [authored]. Connected, it is uploaded to your organization, not published, and added to the agent.
The same file-writing engine works from Python, for a notebook or a setup script. A refusal comes back in the result instead of raising:

From the dashboard

On the skill’s page, the Manage it in DecimalAI card has Add to an agent (Manage installation once it’s installed). Under Install linked:
  1. Apply to: All current and future agents, or Selected agents.
  2. Version: Follow latest safe version, or a pinned version.
  3. Click Install linked skill.
With DECIMAL_API_KEY set, agent_config() in that agent’s code then gets the skill, with no command to run and no redeploy. New agent with this skill, in the same dialog, opens the create form with the skill selected. You can also start from the agent. On its Prompt & skills page, Add skill opens a picker with a registry search, and the change goes through Review & apply. See Prompt, skills and versions.

From the SDK

For a skill you own, see Which agents get a new skill.

Files, with no SDK

The Use this skill card on every skill page has the steps for your framework, with no account: Command line, In Python, Inside Claude Code or Copy the file, as that framework allows. The plain fetch is one line:
A copied file is yours to manage. No list or lock records it, so agent_config() leaves it out and nothing pins or updates it. It also stops at SKILL.md, so a skill’s other files don’t come with it. Cursor and other tools has every route. In Claude Code, the plugin also writes the bundled files: see Claude Code.

Skill packs

A pack starts an agent for a role. It has a starter prompt and up to eight starter skills, picked for that role from the registry. Skills give an agent instructions, not tools, so a pack connects nothing for you. The prompt has blanks in angle brackets, such as <product>, for what only you know. There are 32 packs. A pack’s id is the last part of its page’s URL, app.decimal.ai/skills/packs/<id>.
ai-engineer, clinical-healthcare, coding, customer-success, data-analyst, data-engineer, design-ux-review, devops-sre, doc-ops, finance-accounting, finserv-compliance, frontend-ui-engineer, government-public-sector, hr-people-ops, insurance-claims, knowledge-management-notes, legal-contracts, marketing-content, personal-assistant, procurement, product-management, project-management, qa-test-engineer, real-estate-property, recruiting, research, sales-gtm, security-appsec, support, translation-localization, tutoring-education, writing-editing.An id the server doesn’t know gets an error that lists them all.
1

Review the pack

Open the pack gallery and pick a role. The pack’s page shows the starter skills grouped by the step of the work they cover, the starter prompt, and add-ons. A recorded before and after appears when one is available. It measures one skill on one case, so it doesn’t speak for the whole pack.
2

Create the agent

The form at agents/new?pack=<id>, for example agents/new?pack=support, opens with the prompt filled in and the starter skills ticked. Or use the CLI:
This needs an API key. The agent’s starter skills are linked, not copied, so they follow their authors’ updates.
3

Generate the code

decimalai init looks the agent up by name and writes an agent.py that reads its prompt and skills from your workspace. It writes LangChain code unless you pass --framework. The Quickstart has the install line and keys.
Already have an agent? On a pack’s page, choose it under Have an agent already?, or run decimalai agents apply-pack my-agent support. Both show the change first: the starter prompt becomes the agent’s next prompt version, and the starter skills are added. See the CLI reference.

The Support starter project

Support is the one pack with a generated project. It’s a shortcut: the tutorial builds the same kind of agent step by step, and is the better place to start. It drafts replies only: tools for refunds or account deletion aren’t connected. There are three ways to run it, and none needs another first. Download it. The Support builder lets you review the prompt and skills, then Download agent project. The CLI gets the same project:
It needs Python 3.10 or later and no pip dependencies. Its prompt and skills are frozen into the project, and it gives the model their full text, with no agent_config() involved. To change them, generate the project again. --check-setup checks the files with no model call. --checks makes four paid calls: two sample tasks and two judge calls. Connect your code. On the Support pack’s page, choose Connecting your own code? Create a connected agent, and name the agent. The project’s checks need three of its starter skills, so keep them selected: billing-dispute-resolution, support-reply-format and account-deletion-verification-policy. Then:
Fill in your DecimalAI and model-provider keys in .env, then run the agent and its checks. Both make real model calls and send their runs to your workspace:
The check runs the same agent on two sample cases, an authorization hold and an unavailable account deletion. It confirms the skill bodies reached the model, grades the answers with a model judge, and matches the runs in your workspace. Exit code 0 means those two cases passed, not that the agent is good in general. If only the run confirmation was slow, python check_agent.py --resume retries it with no new model calls. See Support project with checks. Try a live sample. In the builder, choose Save and try live, then pick a sample scenario and Run live sample. It runs on our servers, when trial capacity is available. A live sample doesn’t test your machine, your code or your tools. Test the whole agent as well. A benchmark tests one skill. When you change an agent’s skills, rerun a fixed set of full tasks and compare, since two skills can interfere in ways neither one’s benchmark shows. Evaluations has the tools.

How effectiveness is computed

A published skill earns a SkillScore from 0 to 100 by blending the quality evidence it has: a verified benchmark, live task evaluations and AI ratings. Usage, installs and stars are not inputs, so a popular skill can’t outrank one that works just by being popular. A skill with no eligible evidence shows New. SkillScore has the weights, the evidence floors, and what’s public versus private to your team.