Skip to main content

Devtool for creating, testing, and distributing Anthropic Agent Skills with lifecycle management and Skill ABI

Project description

Sutras

Devtool for Anthropic Agent Skills with lifecycle management.

Sutras is a CLI tool and library for creating, validating, and managing Anthropic Agent Skills. It provides scaffolding, validation, and a standardized Skill ABI for better skill organization and quality.

Key Features

  • Scaffold: Generate skills with proper structure and best-practice templates
  • Validate: Check skill format, metadata, and quality standards
  • Discover: List and inspect available skills in your workspace
  • Manage: Organize skills with versioning and metadata

Why Sutras?

Creating Anthropic Skills manually requires:

  • Writing SKILL.md files with correct YAML frontmatter
  • Managing metadata and descriptions
  • Ensuring consistent structure
  • Validating format and quality

Sutras automates this with simple CLI commands.

Installation

pip install sutras

Or with uv:

uv pip install sutras

Quick Start

Create a New Skill

sutras new my-skill --description "What this skill does and when to use it"

This creates:

.claude/skills/my-skill/
├── SKILL.md           # Skill definition with YAML frontmatter
├── sutras.yaml        # Metadata (version, author, tests, etc.)
└── examples.md        # Usage examples

List Skills

sutras list

View Skill Details

sutras info my-skill

Validate a Skill

sutras validate my-skill

# Strict mode (warnings become errors)
sutras validate my-skill --strict

CLI Reference

# Create a new skill
sutras new <name> [--description TEXT] [--author TEXT] [--global]

# List skills
sutras list [--local/--no-local] [--global/--no-global]

# Show skill details
sutras info <name>

# Validate skill
sutras validate <name> [--strict]

Coming Soon

  • sutras test - Run skill tests
  • sutras eval - Evaluate with metrics
  • sutras build - Package for distribution
  • sutras publish - Share to registry

Skill Structure

Every skill contains:

SKILL.md (required)

Standard Anthropic Skills format with YAML frontmatter:

---
name: my-skill
description: What it does and when Claude should use it
allowed-tools: Read, Write  # Optional
---

# My Skill

Instructions for Claude on how to use this skill...

sutras.yaml (recommended)

Extended metadata for lifecycle management:

version: "1.0.0"
author: "Your Name"
license: "MIT"

capabilities:
  tools: [Read, Write]

distribution:
  tags: ["automation", "pdf"]
  category: "document-processing"

Supporting Files (optional)

  • examples.md - Usage examples
  • Additional resources as needed

Skill Locations

Skills are stored in:

  • Project: .claude/skills/ (shared via git)
  • Global: ~/.claude/skills/ (personal only)

Use --global flag with sutras new to create global skills.

Library Usage

from sutras import SkillLoader

loader = SkillLoader()
skills = loader.discover()           # Find all skills
skill = loader.load("my-skill")      # Load specific skill

print(skill.name)
print(skill.description)
print(skill.version)

Examples

See examples/skills/ for sample skills demonstrating best practices.

Contributing

Contributions welcome! See CONTRIBUTING.md for:

  • Development setup
  • Code style guidelines
  • Testing requirements
  • PR process

License

MIT License - 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

sutras-0.1.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

sutras-0.1.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file sutras-0.1.1.tar.gz.

File metadata

  • Download URL: sutras-0.1.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for sutras-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f589236d334483639f0e7767c6e84b0417a816f0c6885fe4ee96002e9d74fe05
MD5 5f9cb090c3a484645b1c0b4eb0dbb640
BLAKE2b-256 dfcb53d68c35178817f9405c7850c7d1ca7b2f292d2c67499d6273f861624c85

See more details on using hashes here.

File details

Details for the file sutras-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sutras-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for sutras-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a710863676b269e0e7a32043bb412c83e3dd6921685d5f4fb103e94b3f5a6c68
MD5 90bf4c72c13e5da78d81904b729feadf
BLAKE2b-256 fe9eccea07c0585aa5bac28aebc53a06bf859fd4eca0ce7464e82ed7c4e9bdc7

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