SKILL.md as the skill definition file.
Supported format
A skill is discovered from a directory under a skills root and must contain:SKILL.md(YAML frontmatter + markdown body)
SKILL.md required fields
namedescription
SKILL.md validation enforced by Reliant:
namemust be 1-64 chars, lowercase unicode letters, digits, and hyphen with no leading or trailing hyphen and no consecutive hyphensnamemust match the parent skill directory name after normalizationdescriptionmust be 1-1024 charscompatibility, if provided, must be 1-500 chars- unknown frontmatter fields are rejected
licensecompatibilitymetadataas a string-to-string mapallowed-toolsas a space-delimited tool list such asBash(git:*) Read
allowed-tools is set on an active skill, Reliant filters the tool set exposed for that turn and emits warning notices for blocked tools.
Discovery scopes and precedence
Reliant discovers skills from these roots, highest to lowest precedence:.reliant.local/skills/**.reliant/skills/**~/.reliant/skills/**- embedded builtins
Supporting files
Non-definition files in the skill directory are treated as supporting files and can be provided to the model when that skill is selected. Examples:examples/*.mdtemplates/*.txtreference.md
- the definition file itself is excluded
- legal and meta files are excluded by default
- OpenAI-specific metadata paths such as
agents/**are excluded - image assets under
assets/**are excluded - symlinks are ignored
- content is bounded and truncated for prompt safety
- invalid or unreadable files are skipped with diagnostics
Configuring supporting-file and retrieval limits
You can configure limits in any supported config scope such as~/.reliant/config.yaml, .reliant/config.yaml, or .reliant.local/config.yaml:
skills.supportingFiles.maxFiles: hard cap on supporting files read from disk for the active skillskills.supportingFiles.maxBytes: hard cap per supporting file read from diskskills.retrieval.maxFiles: max supporting files considered by retrieval and rankingskills.retrieval.maxChunks: max ranked chunks retained across supporting filesskills.retrieval.chunkBytes: chunk size used for segmenting supporting-file contentskills.retrieval.chunkOverlap: overlap between consecutive chunksskills.retrieval.maxPromptBytes: final prompt budget for supporting-file content
Invocation
Skills support two activation modes configured viaskills.activationMode:
auto(default): Reliant chooses the most relevant skill from message context.explicit: Reliant activates a skill only when the user invokes one directly.
skills.integrationMode:
filesystem(default): include filesystem location hints in<available_skills>and load supporting files for active-skill prompt context.tool: suppress filesystem location hints in<available_skills>and avoid injecting supporting-file payloads into<active_skill>.
Discovery boundary behavior
Reliant runtime discovery is limited to Reliant-managed roots such as.reliant.local, .reliant, and ~/.reliant, plus builtins.
- External provider folders like
.claude,.codex, and.agentsare not scanned during runtime discovery. - To use skills from those folders, import or install them into a Reliant-managed root first.
/skill-namefor an exact match/skill skill-namefor unique prefix resolution
Progressive disclosure
Reliant keeps prompt usage efficient:- always injects compact
<available_skills>metadata as canonical XML - discovery is metadata-first for startup and selection efficiency
- injects full skill instructions only for the active skill
- retrieves supporting-file content with bounded chunking, relevance ranking, and prompt-budget caps
- adds prompt-level
<skills_notice>entries for warnings - emits chat info or warning notices for activation and supporting-file truncation or limit behavior
Compatibility matrix
Reliant aligns with the shared Agent Skills packaging model used across major tooling ecosystems.| Capability | Claude-style skills | Codex-style skills | Reliant |
|---|---|---|---|
SKILL.md with YAML frontmatter | ✅ Full support | ✅ Core support | ✅ Full support |
| Skill folder supporting files and resources | ✅ Supported | ✅ Supported | ✅ Supported |
| Progressive disclosure | ✅ Supported | ✅ Supported | ✅ Supported |
| Multi-scope local, project, and global discovery | ✅ Supported via Reliant scopes | ✅ Supported via Reliant scopes | ✅ Supported |
| Runtime parse and validation diagnostics | ✅ Supported | ✅ Supported | ✅ Supported |
| Configurable supporting-file limits | ⚠️ Through Reliant runtime | ⚠️ Through Reliant runtime | ✅ Full control |
- ✅ = fully supported in Reliant
- ⚠️ = partially supported or adapted
Explicitly not supported
To keep behavior predictable and secure, Reliant intentionally does not implement certain external-tool features:- Claude or Codex plugin ecosystems and plugin execution contracts
- external-tool-specific runtime side effects that bypass Reliant tool governance
- external-tool installer UX semantics that conflict with Reliant installation and policy model
Migration guide
From external skill folders
If you already have skills in other tool folders such as.claude/skills, .codex/skills, or .agents/skills, import them into Reliant-managed roots.
Recommended migration path:
- Keep shared or team skills in
.reliant/skills/ - Keep personal variants in
.reliant.local/skills/ - Use Settings → Skills import actions or
install_skillto copy from external folders into Reliant roots
Skill installer
Reliant includes aninstall_skill tool for installing skills into Reliant-managed destinations.
Feature gate: the entire skills feature, including runtime activation, settings APIs, andSupported sources:install_skill, is disabled unlessfeatures.skills_enabled=true.
- local skill directory path that contains
SKILL.md - git URL with optional
source_subpath - GitHub
treeandblobURLs
project→.reliant/skills/...project_local→.reliant.local/skills/...global→~/.reliant/skills/...
skip(default): keep existing files and skip conflictsoverwrite: replace existing filesrename: install into a suffixed directory name when destination exists
Note:Dry-run preview:renameis not supported forSKILL.mdskills because Agent Skills require the skill name to match the parent directory name.
- strictly validates installer
scopeandconflict_policyvalues - rejects symlinks in source and destination write targets
- rejects path traversal and escaping paths, including
source_subpath - uses staging and rollback semantics to avoid partial installs on failure
- performs post-install discovery validation
- skips excluded non-runtime files so unusable files do not consume disk or prompt budget
Frontend skills management
Reliant includes a Settings → Skills page to make chat-first skill workflows easier:- view discovered skills in
.reliant.local/skills,.reliant/skills, and~/.reliant/skills - see scope, format, and definition location
- install from a backend-defined recommended skills section
- quick-import skills from common tool folders such as
.claude/skills,.codex/skills,.agents/skills, and.cursor/skills - run installer directly from the UI in dry-run or install mode
- copy ready-to-run installer prompts for chat execution
- copy skill definitions on demand from summary rows
- copy a starter prompt for the built-in skill creator
- Direct execution from Settings → Skills
- Assistant-assisted execution via generated prompts and chat
Codex interoperability notes
Reliant aligns with Codex’s core skill packaging model including skill directories,SKILL.md, supporting resources, and progressive disclosure.
For Codex-specific ecosystem features such as installer and catalog conventions or tool-specific metadata files, Reliant’s approach is:
- ingest what is portable
- ignore or map what is tool-specific where safe
- prefer Reliant-native controls for policy, limits, governance, and workflow attachment