docs/StrategyEngine/00-Skills.md
Skills v1 is a lightweight local registry for SKILL.md resources.
It is not a second Strategy Engine. It does not recommend actions, evaluate visual context, run preprocessors, auto-select skills, or convert every SKILL.md into a Strategy. Its purpose is to make installed skills discoverable, user-manageable, referenceable, and available to the model as long-form instructions when needed.
v1 implements:
v1 does not implement:
SKILL.md into a Strategy.Skill:
Long-form instruction/resource
Discoverable by registry
Can be enabled or disabled by user
Is exposed to the model with its full SKILL.md file path
Can be read by the model through read_file using that full path
Strategy:
Recommended contextual action
Has when/tools/preprocessors/options
Appears in the Strategy UI
One user send executes one Strategy
May later use skill://id as an explicit source reference
Strategies may derive from skills, but skills do not automatically become Strategies.
Skill IDs are stable, case-insensitive, and derived from the source root plus the parent folder name:
everywhere.code-review
agents.sandbox-sdk
codex.imagegen
Rules:
<source-root>.<normalized-folder-name>.SKILL.md frontmatter.name and description.name that does not match the folder name is a warning, because folder name remains the ID source.Invalid or partially invalid skills should remain visible in the management UI with diagnostics when possible.
The managed Everywhere root is:
~/.everywhere/skills
It is created by Everywhere when needed. Public/conventional roots are indexed when present:
~/.agents/skills
~/.claude/skills
~/.codex/skills
~/.copilot/skills
~/.cursor/skills
~/.gemini/skills
$CODEX_HOME/skills
Only root/<skill-folder>/SKILL.md is considered a skill entry. Skills v1 does not recursively scan arbitrary resource folders for additional skill files.
Default enablement is source-level:
Everywhere and Agents skills are enabled by default.SkillSource owns source discovery and file watching. SkillManager subscribes to source changes and refreshes its model; it does not manage watcher lifecycle or feed watched paths back into the source.
Current watcher policy:
FileSystemWatcher.IncludeSubdirectories.root/<skill-folder> and root/<skill-folder>/SKILL.md as relevant changes.references, assets, scripts, or similar skill subfolders.This keeps the implementation simple for the expected small skill roots while preserving a narrow event contract.
Skill enablement is local-machine state and belongs in PersistentState, not synced settings.
Persist only user overrides from the source default:
{
"SkillEnabledOverrides": {
"codex.imagegen": true,
"everywhere.local-style": false
}
}
Rules:
true means user explicitly enabled the skill.false means user explicitly disabled the skill.The enable/disable toggle only affects Everywhere prompt assembly; it does not modify the skill file or the external tool that owns the source root.
Enabled, valid skills are injected as an XML-safe index, not full content:
<skills>
Here is a list of skills that contain domain specific knowledge on a variety of topics.
Each skill comes with a description of the topic and a file path that contains the detailed instructions.
When a user asks you to perform a task that falls within the domain of a skill, use the 'read_file' tool to acquire the full instructions from the file URI.
<skill>
<name>code-review</name>
<description>Review code when the user asks for feedback.</description>
<file>C:\Users\me\.everywhere\skills\code-review\SKILL.md</file>
</skill>
</skills>
Rules:
SKILL.md content is not injected by default.skill://id.The model-facing contract is that enabled skills are listed with complete SKILL.md file paths. The model can then call read_file with that path when the task falls within the skill's domain.
skill://idskill://id remains an internal/reference URI for Strategy from, not a file-reading URI required by Skills v1.
Recommended future policy for Strategy integration:
from: skill://id resolves installed skills regardless of enabled state, because the Strategy reference is explicit.read_file does not need to support skill://id for Skills v1.Skills are plain text instruction resources.
Rules:
Skills v1 is complete when:
SKILL.md files are discovered from configured roots.