Skip to main content
Point agents at a git URL — every project picks up the latest skills without a manual install.

Quick Start

1

Sync from the CLI

Pull the latest skills and cache them locally. Every agent on this machine picks them up automatically — no code change needed.
2

Declare once, sync bare

Add sources to your project praisonai.yaml, then run sync with no arguments:
sync reads skills.urls (or the alias skills.sources) from the project’s praisonai.yaml/praisonai.yml first, then falls back to the user-global ~/.praisonai/config.yaml.
3

From Python

Pass a git URL to sources= and discovery fetches, caches, and validates it:
Backward compatible: without sources=, skills.urls, or an explicit sync, nothing changes.

How It Works

Sync shallow-clones the repo, resolves the commit, atomically swaps it into a versioned cache, and points current at it. If git fails, the last-good current alias is returned so agents keep working offline.

Configuration Options

Two YAML shapes are supported — pick either. skills.sources is an alias for skills.urls.
When both project and user config define sources, project entries win and are listed first; duplicates are removed while order is preserved. CLI — praisonai skills sync: Python API: sources items may be a URL str, a {"url": ..., "ref": ...} dict, or any object with a .fetch(cache_dir) -> List[Path] method.

Which entry point should I use?


Team Workflow

This feature shines for teams: one lead pushes a skill, everyone syncs.

Common Patterns

Pin for reproducible builds

Always pass a ref in CI so builds don’t drift onto an upstream commit.

Local-wins layering

Put per-project overrides in ./.praisonai/skills/. The remote cache is lowest precedence, so a local skill with the same name always wins a collision.

Offline-first

The last-good cache is served automatically on any network failure — no code change needed.

Best Practices

Pin --ref v1.2.0 in CI for reproducible builds; drop the ref in local dev for easy iteration on the latest.
The parser re-validates every synced skill before it reaches a prompt. Don’t disable validation, and review the source repo before adding it.
A remote repo can hold a single SKILL.md at its root (one skill) or many subdirectories each with a SKILL.md. Both layouts are handled and de-duplicated by discovery.
add and install are the same one-shot copy — pick whichever verb reads more naturally (add mirrors the familiar npx skills add <url>). sync keeps a versioned cache and refreshes on demand. Use sync for shared team libraries.

Skill Invocation

How agents actually run a skill — slash commands and argument substitution

Skills

The underlying Skill concept — author and load SKILL.md files