xiantong Docs

Skills

Extend what xiantong can do

Skills extend what xiantong can do. Create a SKILL.md file with instructions, and xiantong adds it to its toolkit—using it automatically when relevant, or when you @mention it directly. Skills follow the Agent Skills open standard, making them compatible with Claude Code and other tools that support the spec.

Creating Skills#

Just ask xiantong to create one. Describe what you want, and the agent will create the skill for you:

Create a skill called "commit" that generates conventional commit messages

xiantong knows where skills live and how to write them. This is the agent-native approach—instead of manually creating files, let the agent do it.

Skill Structure#

Skills are folders in your workspace containing a SKILL.md file:

~/.xiantong/workspaces/{id}/skills/{slug}/
├── SKILL.md      # Required: YAML frontmatter + instructions
└── icon.png      # Auto-generated: cached icon from URL (if specified)

SKILL.md Format#

---
name: Commit
description: Create well-formatted git commit messages
icon: 🔧
globs:
- "**/.git/**"
alwaysAllow:
- Bash(git status)
- Bash(git diff)
requiredSources:
- github
---

When creating commits:
- Use conventional commit format (feat:, fix:, docs:, etc.)
- Keep subject line under 72 characters
- Explain why, not what

The frontmatter tells xiantong when to use the skill. The body contains instructions the agent follows when invoked.

Frontmatter Fields#

FieldRequiredDescription
nameYesDisplay name for the skill
descriptionYesBrief description shown in skill list
iconNoEmoji (e.g., 🔧) or URL. Relative paths are not supported.
globsNoFile patterns that auto-trigger this skill (e.g., ["**/*.test.ts"])
alwaysAllowNoTools to auto-allow when skill is active (e.g., ["Bash(npm test)"])
requiredSourcesNoSource slugs to auto-enable when skill is invoked (e.g., ["linear"])

When a skill declares requiredSources, those sources are automatically enabled for the session when the skill is invoked — so the agent has access to their tools from the first turn. Sources must be configured in the workspace and authenticated; unauthenticated sources are skipped and handled at runtime.

For the full SKILL.md schema including advanced fields like allowed-tools, context, and agent, see the Claude Code skills documentation.

Using Skills#

Mention the skill with @ in your message:

@commit
@review the authentication changes
@deploy to staging

Skill Locations#

LocationPathPrecedence
Workspace~/.xiantong/workspaces/{id}/skills/{slug}/First (overrides built-in)
Built-inBundled with xiantongFallback

Create a workspace skill with the same slug as a built-in to override it with your own behavior.