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 pointscurrent 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.
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 refs in CI, float in dev
Pin refs in CI, float in dev
Pin
--ref v1.2.0 in CI for reproducible builds; drop the ref in local dev for easy iteration on the latest.Treat remote content as untrusted
Treat remote content as untrusted
The parser re-validates every synced skill before it reaches a prompt. Don’t disable validation, and review the source repo before adding it.
One repo, many skills
One repo, many skills
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.skills add / install vs skills sync
skills add / install vs skills sync
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.Related
Skill Invocation
How agents actually run a skill — slash commands and argument substitution
Skills
The underlying Skill concept — author and load SKILL.md files

