-
Notifications
You must be signed in to change notification settings - Fork 1
Skills System
Skills are discoverable instruction sets that enhance the agent's capabilities for specific tasks. They provide domain-specific knowledge, workflows, and best practices.
A skill is a directory containing:
my-skill/
├── SKILL.md # (Required) Instructions and content
└── skill.json # (Optional) Metadata override
The main content file. It can contain any Markdown — instructions, code templates, workflows, checklists, etc. The agent receives this content as context when the skill is loaded.
Override the auto-detected name and description:
{
"name": "My Custom Skill",
"description": "A skill for doing specific tasks"
}If skill.json is not present, the name and description are parsed from SKILL.md:
-
Name: First
# Headingline, or the humanized directory name - Description: First non-empty, non-heading paragraph (max 200 characters)
Skills are discovered from three locations, in priority order:
| Platform | Path |
|---|---|
| Windows | %APPDATA%/sncode/skills/ |
| macOS | ~/Library/Application Support/sncode/skills/ |
| Linux | ~/.config/sncode/skills/ |
Skills installed here have IDs prefixed with sncode: (e.g., sncode:my-skill).
SnCode also discovers skills from Claude Code and OpenCode directories:
| Path | Platform |
|---|---|
~/.config/opencode/skills/ |
All |
~/.agents/skills/ |
All |
~/AppData/Roaming/opencode/skills/ |
Windows |
~/.config/claude-code/skills/ |
Windows |
Skills placed in {projectRoot}/.sncode/skills/ are specific to that project. These have IDs prefixed with project:.
When you open the Skills tab in Settings, SnCode scans all three source directories for valid skills (directories containing a SKILL.md file). Skills are deduplicated by ID.
Skills can be toggled per-project:
-
Enabled skills are pre-loaded into the agent's system prompt as
<skill_content>XML blocks -
Disabled skills are listed in the system prompt under
<available_skills>so the agent can load them on demand
The agent has access to a load_skill tool. When the agent encounters a task that matches an available (but not pre-loaded) skill, it can call load_skill to load the content mid-conversation.
To install a skill:
- Open Settings > Skills tab
- Click "Install Skill"
- Select a directory containing a
SKILL.mdfile - The skill is copied to SnCode's skills directory
Only skills installed in SnCode's own directory (sncode: prefix) can be deleted. Project-local and external skills must be removed manually from their source directories.
- Create a new directory (the name becomes part of the skill ID)
- Add a
SKILL.mdfile with your instructions - Optionally add a
skill.jsonfor custom name/description - Place it in any of the skill source directories, or in your project's
.sncode/skills/folder
# Deploy Checklist
When deploying to production, always follow these steps:
1. Run the full test suite: `npm test`
2. Check for TypeScript errors: `npx tsc --noEmit`
3. Build the production bundle: `npm run build`
4. Verify the build output in `dist/`
5. Tag the release: `git tag v{version}`
6. Push with tags: `git push --tags`- Be specific and actionable
- Include exact commands, file paths, and code patterns
- Structure with clear headings and steps
- Keep it focused on one domain or workflow
- Use code blocks for commands and templates
SnCode Wiki
Getting Started
User Guide
Agent System
Technical
Support