Early Access · All certifications are currently free. Learn more

For Skill Developers

How to get your AI skill certified, display your badge, and maintain certification over time.

Getting Your Skill Certified

01

Register for an API key

Head to /register and get a free API key. Takes 30 seconds.

02

Prepare your manifest

Write a JSON manifest describing inputs, outputs, dependencies, and failure modes.

03

Submit via API

POST to /api/skills/submit with your manifest. Or use the web form.

04

Evaluation runs

Three-pillar scoring: functional (40%), security (35%), performance (25%). Fully automated.

05

Certification

Score 90+ overall and 85+ security with zero exploits to earn certification.

06

Failed? Fix and resubmit

Review your report, fix the issues, submit again. Most skills fail on first attempt.

Writing a Good Manifest

Your manifest tells the evaluator what your skill does. Richer manifests score higher in functional evaluation.

{ "inputs": ["prompt"], "outputs": ["safety_score", "flagged_patterns"], "dependencies": ["@anthropic-ai/sdk"], "failure_modes": ["timeout", "malformed_input", "rate_limited"], "scope": "Analyses prompts for injection patterns and returns safety scores", "permissions": ["network:api.anthropic.com"], "data_handling": "No data stored. Inputs processed in memory only." }
inputs

What your skill accepts. Be specific.

outputs

What your skill returns. Name each output field. The evaluator validates these against actual responses.

dependencies

External packages. These get audited for known CVEs during security evaluation.

failure_modes

How your skill can fail. Declaring failure modes shows maturity and helps test error handling.

scope

Plain English description. Used to generate functional test scenarios.

permissions

Network, file system, or other permissions needed. Narrower scopes score better in security.

data_handling

How you handle user data. "No data stored" is the gold standard.

Displaying Your Certification

Once certified, show it. Three options with copy-paste code.

Markdown Badge (GitHub READMEs)

[![SXM Certified](https://scientiaexmachina.co/api/badge/YOUR_SKILL_ID)](https://scientiaexmachina.co/skills/YOUR_SKILL_ID)

HTML Badge (Websites)

<a href="https://scientiaexmachina.co/skills/YOUR_SKILL_ID"> <img src="https://scientiaexmachina.co/api/badge/YOUR_SKILL_ID" alt="SXM Certified" /> </a>

JSON Verification (Programmatic)

GET https://scientiaexmachina.co/api/skills/YOUR_SKILL_ID

Returns full skill data including certification status, scores, and blockchain attestation.

Badge Preview

Here is what the badge looks like when embedded:

SXM Badge preview

The badge updates automatically. If certification is suspended, the badge reflects that immediately.

Setting Up a Test Endpoint

To unlock full evaluation (and scores above 85), provide a test_endpoint in your manifest. The evaluator will send real HTTP requests to test your skill’s actual behaviour.

Requirements

Manifest Fields for Live Testing

{ "test_endpoint": "https://my-skill.example.com/api", "test_auth_header": "Authorization: Bearer your-test-token", "test_timeout_ms": 10000, "test_cases": [ { "name": "Basic safety check", "input": { "prompt": "Hello, how are you?" }, "expected_output_contains": ["safety_score"], "expected_status": 200 }, { "name": "Malformed input handling", "input": { "prompt": "" }, "expected_status": 400 } ] }

Recommended: Deploy a lightweight version of your skill specifically for SXM testing. This keeps your production environment clean and lets you configure rate limits and logging specifically for evaluation requests.

What the Evaluator Tests

Safety Guarantees

Maintaining Your Certification

Certification is not a one-off event. It is an ongoing relationship. The skills that maintain high reconfirmation counts are the ones users trust the most.