Skip to main content

title: agentskills-oci description: Read Agent Skills from OCI Distribution registries

Read-only OCI distribution support for progressive, digest-verified Agent Skills files. Each skill occupies one registry tag. Its OCI image manifest uses application/vnd.agentskills.skill.v1 as artifactType, and each canonical file is a raw layer labeled with org.opencontainers.image.title.

Install

pip install agentskills-oci

Requires Python 3.12 or newer. The dependency is the ORAS Python SDK. You do not need the separate ORAS CLI to read skills with this provider.

Read Skills

The repository must already contain skill artifacts in the format described below. Replace the repository and skill ID with yours:

import asyncio

from agentskills_oci import OCISkillProvider


async def main() -> None:
    async with OCISkillProvider("ghcr.io/acme/skills") as provider:
        print(await provider.discover())
        print(await provider.list_files("incident-response"))
        print(await provider.read_file("incident-response", "SKILL.md"))


asyncio.run(main())

Discovery and listing fetch tags and manifests, not file layers. read_file downloads only the requested layer and verifies its size and SHA-256 digest. The provider caches manifests per instance, so use immutable tags or recreate the provider when updating a source.

Artifact Format

This provider is read-only. Publishing is handled by your registry tooling, which must produce the following format. An arbitrary container image or a default ORAS file push is not sufficient.

Field Required value
Tag Skill ID, such as incident-response
schemaVersion 2
Manifest mediaType application/vnd.oci.image.manifest.v1+json
Manifest artifactType application/vnd.agentskills.skill.v1
Manifest title annotation org.opencontainers.image.title must equal the tag
Layer mediaType application/vnd.agentskills.file.v1 for every file
Layer title annotation Relative POSIX path, such as SKILL.md or references/guide.md
Layer descriptor Exact byte size and sha256: digest of the uploaded file

Include SKILL.md as a layer and preserve its original YAML frontmatter and body. Duplicate paths, traversal, missing skill files, unsupported digests, and oversized descriptors are rejected. Defaults are 512 files, 10 MiB per file, and 16 MiB declared total size per skill. Configure max_files, max_file_bytes, and max_total_bytes in the constructor.

Authentication and Cleanup

ORAS uses its token auth backend and local Docker-compatible credentials by default. Pass a configured ORAS client for other registry auth, TLS, or signing controls. Layer descriptors are checked against the fetched bytes. Registry digests establish consistency, not publisher identity. Use the core trust policy after capturing a complete skill snapshot when publisher verification is required.

The async context manager closes the HTTP session only when the provider created the ORAS client. Injected clients remain caller-owned. TLS verification is enabled by default. Keep insecure=False and tls_verify=True for production registries.

Metadata

Release files for agentskills-oci 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentskills-oci 0.8.0
File Size Uploaded Provenance Actions
agentskills_oci-0.8.0.tar.gz 6.2 kB With provenance Details for agentskills_oci-0.8.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agentskills-oci 0.8.0
File Interpreter ABI Platform Actions
agentskills_oci-0.8.0-py3-none-any.whl Python 3 none any Details for agentskills_oci-0.8.0-py3-none-any.whl

Total release size: 13.7 kB

Release files / agentskills_oci-0.8.0.tar.gz

Download URL agentskills_oci-0.8.0.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4f30dd151d3e7c1ef15762a121665adc2139aeb3798b97b783e4b563648edadf
BLAKE2b-256 checksum
How to use checksums
feb3bba45185285fd3eaeb1270888ac76ddc0a165fd7c19b5038adfd33f1f532
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / agentskills_oci-0.8.0-py3-none-any.whl

Download URL agentskills_oci-0.8.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbafd3e18f2ba69ce9858393daee21aee34db930bf89e677d5bb12c7e1c1d688
BLAKE2b-256 checksum
How to use checksums
437988dd908ff00d53a7303b3c5877d0b130cb611eb36b3fce908822240a2be2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Security for agentskills-oci 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agentskills_oci-0.8.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page