Skip to main content

Agent Skills (SKILL.md) parsing, discovery, and evolution tracking for AbstractFramework

Project description

AbstractSkill

AbstractSkill is the shared Python library for Agent Skills (SKILL.md) in the AbstractFramework ecosystem.

It provides a small, dependency-light foundation for:

  • parsing and validating SKILL.md frontmatter and instructions
  • discovering skills on disk (progressive disclosure: metadata first)
  • computing stable content hashes for skill evolution and replay safety
  • formatting compact <available_skills> prompt blocks for hosts and agents

Flows run; skills are activated. AbstractSkill owns the portable skill contract so abstractruntime, abstractgateway, and thin clients can share identical semantics without duplicating parsers.

Install

pip install abstractskill

Quick start

from pathlib import Path

from abstractskill import FilesystemSkillLoader, format_available_skills_xml, parse_skill_md

# Parse a SKILL.md file
doc = parse_skill_md(Path("my-skill/SKILL.md").read_text(encoding="utf-8"))
print(doc.metadata.name, doc.metadata.description)

# Discover skills under one or more roots (later roots override earlier ones)
loader = FilesystemSkillLoader([Path.home() / ".abstract" / "skills", Path(".abstract/skills")])
skills = loader.discover()
print(format_available_skills_xml(skills))

# Load full instructions when a skill is activated
loaded = loader.load("my-skill")
print(loaded.document.content_hash)

Package scope (v0.1.0)

  • parse_skill_md — YAML frontmatter + markdown body
  • FilesystemSkillLoader — list metadata and load full documents
  • content_hash — SHA-256 digest for evolution tracking
  • format_available_skills_xml — deterministic discovery prompt block

Out of scope for this release: gateway registry APIs, zip .skill packaging, and runtime activation handlers. Those layers live in abstractgateway and abstractruntime and consume this library.

Development

python -m pip install -e ".[test]"
python -m pytest -q
python -m build

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abstractskill-0.1.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abstractskill-0.1.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file abstractskill-0.1.0.tar.gz.

File metadata

  • Download URL: abstractskill-0.1.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for abstractskill-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3b9e3b2f3ecd4ff7cd03f8dd7efcf69ad84c84939bd659d20731a9dda46dd6fb
MD5 144edceb0ac1580e177de44be82e2a76
BLAKE2b-256 99bc06ea2c8df483289acf2f94d30df9cf18014a815111e048c6d2808eaa7240

See more details on using hashes here.

File details

Details for the file abstractskill-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: abstractskill-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for abstractskill-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06adb8b14a0b381133b7082ecc03f0985e5876e33638bc0e1f96034912a7c833
MD5 ac1e666286a4e56bd825ab14a380f4de
BLAKE2b-256 aab00450e715b0b01a1346d95221f3bd46ec17306c11b6889f69b1af69b21a5a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page