Export once. Import safely. Re-sync when the source changes. Delegate only when private knowledge is required.
ASXP is a portable packaging and lifecycle profile for Agent Skills. It adds installable artifacts, integrity, permissions, origin synchronization, and optional runtime bindings without changing the standard SKILL.md format.
ASXP is an implementable open proposal, not an adopted standards-body specification.
Agent Skills defines how reusable instructions and resources are authored. ASXP addresses what happens when a skill crosses an agent boundary:
- What exactly is exported?
- Which permissions and external connections are requested?
- How is package integrity checked?
- Can a static import be distinguished from a linked source?
- What changed during Re-sync, and does it need approval?
- How can the origin be consulted without copying private RAG data?
| Layer | Responsibility |
|---|---|
| Agent Skills | Skill content: SKILL.md, scripts, references, assets |
| MCP | Optional tool and skill-distribution binding |
| A2A | Optional long-running remote-agent binding |
| ASXP | Installable package, integrity, permissions, provenance, import, diff, Re-sync |
ASXP does not replace Agent Skills, MCP, or A2A. A package may use embedded, mcp, asxp-http, or a2a bindings. Static packages require none of them.
An .asxp artifact is a ZIP file containing an unchanged Agent Skills directory plus asxp.json:
refund-policy.asxp
├── SKILL.md
├── asxp.json
├── scripts/ # optional
├── references/ # optional
└── assets/ # optional
SKILL.md remains valid for clients that know nothing about ASXP. asxp.json carries package-level information:
{
"specVersion": "0.2",
"package": {"name": "refund-policy", "version": "1.0.0"},
"skill": {"entrypoint": "SKILL.md"},
"permissions": ["orders.read"],
"privacy": "local",
"bindings": [
{"type": "mcp", "server": "io.example.orders", "tools": ["lookup_order"]}
]
}Requires Python 3.10+ and no third-party runtime dependency.
git clone https://github.com/tro0918/asxp.git
cd asxp
# Build an installable package.
python3 -m src.asxp.cli pack examples/v0.2/refund-policy \
--output refund-policy.asxp
# Verify manifest, revision, archive safety, and per-file integrity.
python3 -m src.asxp.cli verify refund-policy.asxp
# Install into an Agent Skills-compatible directory.
python3 -m src.asxp.cli install refund-policy.asxp \
--target ./installed-skillsCompare two releases before approving an update:
python3 -m src.asxp.cli diff old.asxp new.asxprequiresApproval becomes true when permissions or runtime bindings are added.
Open demo/index.html, or use the GitHub Pages deployment after it is enabled. The deterministic local demo shows:
- Agent B failing before import.
- Agent A exporting
refund-policy. - Agent B importing and activating the package.
- Tools being flattened into the host runtime.
- Optional origin delegation for private policy knowledge.
- Revision-aware Re-sync.
No model API key is required.
ASXP packages MUST NOT contain API keys, OAuth tokens, cookies, certificates, channel credentials, conversation history, raw private knowledge bases, embeddings, or private indexes.
Importers treat every package as untrusted. Activation is separate from installation. Permission or binding increases require explicit policy approval. See SECURITY.md.
spec/ASXP-0.2.md— current package/lifecycle profilespec/ASXP.md— legacy 0.1 draftschemas/package.schema.json— v0.2 sidecar schemaschemas/tool.schema.json— embedded-tool schemasrc/asxp— zero-dependency reference CLItestsandtck— conformance behaviorexamples/v0.2— current examplesdemo— interactive two-agent demodocs/explainer.html— Korean explainerROADMAP.md— planned milestones
- Draft 0.2 is the active design.
- Draft 0.1 remains available for comparison and migration work.
- Unknown
extensionsdata should be preserved. - Unsupported clients can ignore
asxp.jsonand consumeSKILL.mdnormally.
Interoperability evidence is more valuable than additional fields. Open a discussion or RFC with a concrete cross-runtime use case, sample package, security impact, and conformance test. See CONTRIBUTING.md and GOVERNANCE.md.
Code and specification text are available under Apache-2.0 unless a file states otherwise.