Custom adapters
Describe an internal or unsupported harness with a declarative adapter.
The 19 built-in adapters cover public harnesses. If your organization runs an internal agent, or a harness Skillporter does not know yet, you can describe it without changing the core.
Declarative JSON adapter
Create an adapter file, for example acme-agent.json:
{
"name": "acme-agent",
"display_name": "Acme Internal Agent",
"category": "coding",
"support_status": "COMPATIBLE",
"verification_level": "UNIT_TESTED",
"docs": "https://internal.acme.example/agent/skills",
"aliases": ["acme"],
"paths": [
{"path": ".acme/skills", "scope": "project"},
{"path": ".acme/skills", "scope": "user"}
]
}
Load it from Python:
from pathlib import Path
from skillporter.harnesses import load_adapter_file
load_adapter_file(Path("acme-agent.json"))
The loader parses JSON data only. It never executes code from an adapter file. Project and user paths must be relative and must not contain .., so an adapter cannot point outside its scope.
Adapters loaded this way default to UNVERIFIED for both support and verification unless the file says otherwise.
Python registration
from skillporter.harnesses import Harness, SkillPath, register_adapter
register_adapter(
Harness(
name="acme-agent",
display_name="Acme Internal Agent",
support_status="NATIVE",
verification_level="INTEGRATION_TESTED",
paths=(
SkillPath(".acme/skills", "project"),
SkillPath(".acme/skills", "user"),
),
docs="https://internal.acme.example/docs",
)
)
register_adapter rejects unknown support types and verification tiers.
Fields
| Field | Description |
|---|---|
name |
Canonical ID used with --harness. |
display_name |
Human-readable name. |
category |
coding or autonomous. |
support_status |
NATIVE, COMPATIBLE, ADAPTED, PARTIAL, UNSUPPORTED or UNVERIFIED. |
verification_level |
The evidence tier. Be honest about it. |
paths |
Each has a path, a scope (project, user or admin), an optional note and is_compatibility. List the primary path first. |
docs |
Link to the documentation that proves the paths. |
aliases |
Alternative names accepted on the command line. |
notes, limitations |
Shown by skillporter info. |
Contributing an adapter upstream
A built-in adapter needs vendor documentation for its paths and an entry in the conformance suite. See Contributing and Harness compatibility.