How SN33 on Bittensor Makes Agent Skills and Their Tests
2026-10-30
Short answer: SN33 is a subnet on the Bittensor network, run by ReadyAI. In its skill task, a validator turns a skill request into a map of the sections the skill should cover, each miner returns a skill plus tests with concrete assertions for every section, and validators score the result: an LLM judge checks each assertion first, then embedding similarity measures how well the tests cover the sections and the skill.
Skill Store 33 is run by the same company and takes in skills SN33 produces, but the two are separate. Almost the whole store catalog today is public skills imported from elsewhere, and a skill's label in the store comes from the store's own verification, never from a subnet score. The details are below.
What Bittensor is
Bittensor's own docs describe it as "an open network where independent subnets produce digital commodities". Two roles do the work. Miners produce the commodity. Validators score the miners. The network pays both in its token, TAO, according to those scores.
The scoring step is what makes it useful. Validators publish weights for the miners they have scored, and a mechanism called Yuma Consensus combines those weights, weighted by how much stake each validator has, into each participant's share of the rewards. So a miner earns more by producing what the validators' scoring rewards, and the scoring rules decide what "good" means.
What a subnet is
A subnet is one of those independent markets. The Bittensor docs define it as "an independent incentive market, identified by an integer netuid". The subnet's owner defines its incentive mechanism, meaning what miners are asked to do and how validators score it. Different subnets produce different things, from model inference to storage to predictions.
SN33 is the subnet with netuid 33. Taostats, a public Bittensor explorer, lists it as ReadyAI, and ReadyAI's site says it is "Powered by Subnet 33". The subnet's code is public on GitHub in the afterpartyai/bittensor-conversation-genome-project repository, whose README describes ReadyAI as enabling "structured data processing at scale".
What SN33 does
SN33 started with structured-data work. Its README lists task types for tagging conversations, generating web page metadata, tagging surveys, extracting named entities, and tagging existing skill documents with their topics. In each of those, the validator builds a reference set of tags and scores miners by how close their tags come to it.
The newest task type, skill_coverage_evaluation, is different: the miner writes a new skill rather than labelling existing content. It was added to the repository in pull request #135, merged on Aug 18, 2026.
How the skill task works
1. A request comes in. The README's example is "a skill for slugifying text".
2. The validator writes a section map. This lists the sections, meaning the capabilities, that a good skill for the request should cover.
3. Each miner returns three things: a skill document, a test plan, and tests for each section, "each with a concrete, code-like assertion".
4. An LLM judge checks every assertion. Each test is marked judged-correct or not. Only judged-correct tests count toward the score, so a fabricated, wrong or vague assertion earns nothing, however on-topic it sounds.
5. Coverage is scored with embeddings. Section coverage is 60% of the score: for each section in the map, the average similarity of the miner's two best judged-correct tests for that section. Skill coverage is the other 40%: how closely the judged-correct tests, taken together, match the skill the miner wrote.
6. Penalties apply. A response with fewer than 3 tests, or one that addresses no section, scores zero. Fewer than 5 tests, near-duplicate tests, fewer than half the assertions judged correct, or more than 6 tests in one section each cut the score.
The penalties stop a miner from winning by volume. Submitting dozens of slight variations, or mixing wrong assertions in with right ones in the hope they slip through, costs points instead of being free to try.
One limit is worth stating plainly. The scoring code notes that nothing in this step executes code. The subnet judges whether assertions look specific and correct and whether they cover the request, but it does not run the tests against the skill.
Why tests with concrete assertions matter for agent skills
An agent skill is a folder of instructions, a SKILL.md file plus optional scripts, that an agent follows for one kind of task. Reading one tells you what it says it does. It doesn't tell you whether the agent produces the right output when it follows it.
Tests close that gap, but only if they can be checked. The Agent Skills guide to evaluating skills calls assertions "verifiable statements about what the output should contain or achieve". Its examples of good ones are "The output file is valid JSON" and "The report includes at least 3 recommendations". Its example of a weak one is "The output is good", which is too vague to grade. An assertion such as slugify("Hello World") returns "hello-world" can be run and either passes or fails. "Handles edge cases well" can't.
A skill that ships with checkable tests gives you something you can rerun after an edit, on a different model or in a different agent. That's the reason SN33's task asks for assertions per section, and the reason its judge treats a vague one as worthless.
How Skill Store 33 relates to SN33
Skill Store 33 is run by ReadyAI, the team behind SN33, and the link is part of the plan. Here is where things actually stand as of Oct 30, 2026:
• The catalog is mostly not from SN33. Of about 60,000 skills, almost all are imported from public sources, mainly the skills.sh index of public GitHub repositories, and are shown as "Not yet verified". About 100 more come from vendor and community repositories the store tracks directly.
• SN33 skills arrive as the subnet produces them. So far, one skill in the store comes from SN33. The store records where every skill came from, and each skill page shows its publisher and source, so you can tell an imported skill from a subnet-made one.
• Subnet scores are not store scores. Under ReadyAI's design, the store takes in the subnet's artifacts (the skill, its tests and the section map) and runs its own checks, rather than treating a high subnet score as a quality rating.
• The store's labels mean the same thing whatever the source. Each skill page shows one of four states: "Not yet verified"; "Safety scanned", which means a safety scan only; "Verified", which means the skill's own tests ran in a sandbox and passed; and "Tests failing". A skill that comes with tests, from SN33 or anyone else, can be run that way. A skill without tests can't.
If you came to the store from the Bittensor side: it's a catalog of agent skills first, with SN33 as one source among several. If you came for skills: the subnet is one way new skills arrive with tests attached, and the verification state on each page tells you what has actually been checked.
FAQ
What is SN33 on Bittensor?
SN33 is subnet 33 on Bittensor, run by ReadyAI. It started with structured-data tasks such as tagging conversations and web pages, and its newest task has miners write agent skills together with tests.
Are the skills in Skill Store 33 made by SN33?
Almost none of them, so far. The catalog of about 60,000 skills is almost entirely imported from public sources. As of Oct 30, 2026, one skill in the store comes from SN33. More are added as the subnet produces them.
Does SN33 run the tests it scores?
No. The subnet's skill scoring uses an LLM judge to check each assertion and embedding similarity to measure coverage. Its code notes that nothing in that step executes code. In Skill Store 33, a skill shows "Verified" only after its own tests have run in the store's sandbox and passed.
What is a Bittensor subnet?
An independent incentive market on the Bittensor network, identified by a number called a netuid. Miners produce what the subnet asks for, validators score the miners, and TAO rewards follow those scores.
Let your agent search Skill Store 33
Skill Store 33 runs a public MCP server at https://mcp.ss33.ai. Connect it once and your agent can search about 60,000 skills by task, read what each one does, and fetch the one that fits. In Claude Code, run:
claude mcp add --transport http skill-store https://mcp.ss33.ai
Without an account your agent gets 5 searches a minute. A free account gives you a key with 60 searches a minute: create one on your account page, then add it to the connection as an Authorization: Bearer <key> header.
Sources
• Bittensor docs, overview: https://bittensor.com/docs
• Bittensor docs, network concepts (subnets, miners, validators, Yuma Consensus): https://bittensor.com/docs/concepts/network
• Taostats, subnet 33: https://taostats.io/subnets/33
• ReadyAI: https://readyai.ai
• SN33 repository README (task types, skill_coverage_evaluation): https://github.com/afterpartyai/bittensor-conversation-genome-project
• Pull request #135, Add skill_coverage_evaluation task type: https://github.com/afterpartyai/bittensor-conversation-genome-project/pull/135
• Skill coverage scoring code: https://github.com/afterpartyai/bittensor-conversation-genome-project/blob/main/conversationgenome/scoring_mechanism/SkillCoverageScoringMechanism.py
• Penalty thresholds: https://github.com/afterpartyai/bittensor-conversation-genome-project/blob/main/conversationgenome/utils/constants.py
• Agent Skills, Evaluating skill output quality: https://agentskills.io/skill-creation/evaluating-skills
This article was created with the help of AI (AI-Assisted). Every technical claim was checked against the public docs and code in the Sources list. ReadyAI is accountable for the content.