Skip to main content

A deterministic, cross-platform agent skill publisher.

Project description

Suphia

Suphia is a compatibility layer for AI agent ecosystems.

It provides a set of tools that allow developers to work with multiple, fast-evolving AI agents using a single source of truth for context and configuration — without duplication.

Suphia is designed to keep context close to your code, while adapting that context to many different agents and formats.


The Problem Suphia Solves

AI development today rarely involves just one agent.

Developers often experiment with:

  • Claude
  • Gemini
  • Copilot
  • OpenCode
  • Codex
  • new or experimental agents
  • changing formats and conventions

Each agent introduces:

  • different discovery rules
  • different configuration formats
  • different expectations about layout

Without Suphia, developers end up:

  • copying context files again and again
  • restructuring repos for each tool
  • losing alignment between code and context

Suphia exists so you adapt once, not agent-by-agent.


Suphia’s Core Idea

Keep one canonical source of context, close to your code, and project it outward to any agent that needs it.

Suphia does not enforce a single format. It provides adapters and tooling so agents can coexist.


What Suphia Is

  • A CLI toolset
  • A Python module library
  • An adapter layer between agent ecosystems

Suphia can be:

  • used directly via CLI
  • integrated into other frameworks
  • embedded in automation or CI

What Suphia Is Not

  • An agent runtime
  • A prompt framework
  • A vendor-specific solution

Suphia complements agents — it does not replace them.


Initial Focus: Skills

Suphia v1 starts with skills as a practical, high-impact use case.

It allows you to:

  • Place skills anywhere in your repo
  • Keep them near relevant code
  • Discover them recursively
  • Publish them into agent-specific discovery roots
  • Avoid copying or rewriting skill files

This enables skill reuse across:

  • Claude-style agents
  • Copilot-style agents
  • OpenCode and others

See docs/SuphiaSkillLifecycleDesign.md for the planned skill lifecycle model, including bundle/extract workflows, the target registry, self-skills, global/local/custom scopes, Windows/WSL support, and shared terminology.

Implemented CLI examples:

suphia skills validate --source .
suphia skills plan --source . --target generic --scope local
suphia skills publish --source . --target opencode --scope global
suphia skills bundle --source . --output skills.suphia --profile public --all
suphia skills bundle --source . --output selected.suphia --include lint
suphia skills bundle --output selected.suphia --select
suphia skills bundle --output selected.suphia --include "lint,docs-*" --include "re:^test-"
suphia skills extract skills.suphia --target generic --scope local --all
suphia skills extract skills.suphia --dest .claude/skills --include lint
suphia self install-skills --target generic --scope global
suphia targets list
suphia targets show vscode-copilot
suphia templates copy vscode-copilot/openai-compatible.template.json --dest ./template.json
suphia -v

After installing or upgrading with uv tool install suphia or uv tool upgrade suphia, refresh Suphia's packaged usage skill explicitly:

suphia self install-skills --target generic --scope global

Package upgrades do not mutate skill copies already installed into agent roots.

Use --security-policy policy.json with skills validate or skills bundle to add repository-specific denylist patterns or safe placeholder values without storing secrets in the repository.

When skills bundle --source is omitted, Suphia auto-detects a skill source by checking global user roots such as ~/.claude/skills and ~/.config/opencode/skills, then the detected workspace/current path. Use --select to show an arrow-key toggle menu with skill origin hints; use Space to toggle, Enter to confirm, all to select every listed skill, and q/Esc to abort. Use --include with exact names, comma-separated lists, glob patterns, or regex patterns written as re:<pattern> or /pattern/. Bundle and extract require explicit selection intent: use --all, --include, or --select. Do not combine --all with selective options. Combining --include with --select lists the matching candidate skills before bundling. Bundles record whether they came from a global user root, local workspace root, or custom path. During interactive extraction, Suphia lists bundled skills first, then shows source metadata and lets you install to the global user root, the current workspace root, or choose global/local per skill. Per-skill mode shows one table of selected skills where Space toggles the highlighted row between global and local, and Enter confirms the whole table. Bundle and extract commands print highlighted scan, selection, write, and install progress so long-running operations stay visible. After bundling, Suphia prints next-step extract commands for another workspace or PC. After extraction, it prints the install location and a validation command.

Project defaults can be stored in suphia.json or .suphia.json:

{
  "target": "generic",
  "scope": "local",
  "profile": "public",
  "excludes": [".venv"],
  "security_policy": "suphia-security.json"
}

For Windows/WSL migration patterns, see docs/WindowsWslMigration.md.


Installation

Suphia uses uv for Python tooling.

Install:

uv pip install suphia

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

suphia-0.1.4.tar.gz (75.6 kB view details)

Uploaded Source

Built Distribution

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

suphia-0.1.4-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file suphia-0.1.4.tar.gz.

File metadata

  • Download URL: suphia-0.1.4.tar.gz
  • Upload date:
  • Size: 75.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for suphia-0.1.4.tar.gz
Algorithm Hash digest
SHA256 dfee5c4042f784663300b1619de16fffdb4f8961ba9de6c411cf5140b3abcd29
MD5 fbc3d6cfee1e729e9ad6982227b0bbfe
BLAKE2b-256 a7336467ac53750cff1668e17dc3abbb50633ea454650ca3f0cd9741d719d6c0

See more details on using hashes here.

File details

Details for the file suphia-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: suphia-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for suphia-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7a040d6d601fd3a4a397fbe9c4bc953cac909c077d17af262924859d58929643
MD5 13a2dde901c1b130513e89bdb806b5f8
BLAKE2b-256 58ea079a351b1997461493fce9121d406be5adf39dbf5d9ae4efada4695d0aa3

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