SKILL.md), so they’re portable across tools that support the standard.
Quick start
Create a skill by adding aSKILL.md file in a skill directory:
SKILL.md looks like this:
How discovery works
Reliant looks for skills in four locations, checked in order. When two skills share the same name, the first one found wins:| Scope | Path | Use case |
|---|---|---|
| Project local | .reliant.local/skills/ | Personal overrides (gitignored) |
| Project | .reliant/skills/ | Shared team skills (committed) |
| Global | ~/.reliant/skills/ | Your skills across all projects |
| Builtins | Embedded in Reliant | Default skills |
.claude/skills, .codex/skills, etc.), import them into a Reliant root first — see Migration below.
SKILL.md format
Required fields
name— 1–64 characters, lowercase letters, digits, and hyphens. No leading/trailing hyphens, no consecutive hyphens. Must match the parent directory name.description— 1–1024 characters.
Optional fields
license— License identifier.compatibility— 1–500 characters describing compatibility notes.metadata— A string-to-string map for custom key-value pairs.allowed-tools— Space-delimited tool list (e.g.Bash(git:*) Read). When set, Reliant restricts tools to this list for the skill’s turn and warns about blocked tools.
Supporting files
Non-definition files in the skill directory are treated as supporting material and can be provided to agents when the skill is active:examples/*.mdtemplates/*.txtreference.md
- The
SKILL.mddefinition itself - Legal/meta files (LICENSE, etc.)
- OpenAI-specific metadata paths (
agents/**) - Image assets under
assets/** - Symlinks
- Unreadable files (skipped with diagnostics)
Configuring limits
Control how much supporting-file content gets loaded via any config scope (~/.reliant/config.yaml, .reliant/config.yaml, or .reliant.local/config.yaml):
How skills are loaded into prompts
Reliant keeps prompt usage efficient by loading skill content progressively:- A compact
<available_skills>block is always injected so agents know what’s available. - Discovery reads only metadata at startup — full content is deferred.
- Full instructions are injected only for the active skill.
- Supporting-file content goes through chunking, relevance ranking, and prompt-budget caps.
- Warnings surface as
<skills_notice>entries in the prompt and as chat notices.
Invocation
Activation mode
Control how skills get activated viaskills.activationMode:
auto(default) — Reliant picks the most relevant skill based on message context.explicit— Skills only activate when you invoke one directly.
Explicit invocation
You can always invoke a skill directly in chat:/skill-name— exact match/skill skill-name— unique prefix resolution
Integration mode
Control how supporting files are surfaced viaskills.integrationMode:
filesystem(default) — Include filesystem location hints and load supporting files into prompt context.tool— Suppress filesystem hints and avoid injecting supporting-file content.
Skill installer
Reliant includes aninstall_skill tool for installing skills into managed destinations.
Feature gate: The skills feature (runtime activation, settings APIs, andinstall_skill) requiresfeatures.skills_enabled=true.
Sources
- Local directory containing
SKILL.md - Git URL with optional
source_subpath - GitHub
treeandblobURLs
Destination scopes
project→.reliant/skills/project_local→.reliant.local/skills/global→~/.reliant/skills/
Conflict policies
skip(default) — Keep existing files, skip conflicts.overwrite— Replace existing files.rename— Install into a suffixed directory. Not supported forSKILL.mdskills because the skill name must match the parent directory name.
Examples
Dry-run preview:Safety guarantees
- Validates
scopeandconflict_policyvalues strictly - Rejects symlinks in source and destination
- Rejects path traversal (including in
source_subpath) - Uses staging + rollback to avoid partial installs on failure
- Runs post-install discovery validation
- Skips excluded non-runtime files
Frontend skills management
The Settings → Skills page provides a UI for managing skills:- View discovered skills across all scopes with format and location details
- Install from recommended skills or import from other tool folders (
.claude/skills,.codex/skills,.agents/skills,.cursor/skills) - Run the installer in dry-run or install mode directly from the UI
- Copy installer prompts for chat-based execution
- Copy skill definitions and starter prompts for the built-in skill creator
Migrating skills from other tools
If you have skills in.claude/skills, .codex/skills, .agents/skills, or similar folders:
- Put shared/team skills in
.reliant/skills/ - Put personal variants in
.reliant.local/skills/ - Use Settings → Skills import actions or the
install_skilltool to copy them into Reliant roots
Compatibility
Reliant supports the shared Agent Skills format used by Claude and Codex, includingSKILL.md with YAML frontmatter, supporting files, and multi-scope discovery.
What Reliant does not support:
- Plugin ecosystems or plugin execution contracts from other tools
- Runtime side effects that bypass Reliant’s tool governance
- External installer behaviors that conflict with Reliant’s installation model