Skip to content

Creating Skills

Skills are the primary extension mechanism for Gee-Code. A skill is a set of instructions loaded on demand via a slash command.

InitSkill(name="my-skill")

This creates:

.gee/skills/my-skill/
├── SKILL.md
├── scripts/
├── references/
└── assets/

Edit .gee/skills/my-skill/SKILL.md:

---
name: my-skill
description: Generates API endpoint boilerplate
activation: /api-gen
args: "[endpoint-name]"
user_invocable: true
---
# API Generator
When invoked, generate a REST API endpoint following the project's patterns.
## Steps
1. Read the existing route files to understand patterns
2. Create a new route file with the endpoint
3. Add request validation
4. Add tests for the new endpoint
## Conventions
- Use the same error handling pattern as existing endpoints
- Follow the project's naming conventions
- Include OpenAPI docstrings
SyncSkill(skill_name="my-skill")

The skill is now available as /api-gen.

FieldRequiredDescription
nameYesSkill identifier
descriptionYesShort description (max 1024 chars)
activationNoSlash command trigger (default: /name)
argsNoArgument hint shown in help
user_invocableNoWhether users can invoke directly (default: true)
agentsNoBundled agent definitions
mcp_serversNoRequired MCP server configurations

Python scripts in scripts/ can be executed by the AI during skill execution:

scripts/analyze.py
import sys
import json
def analyze_routes(project_path):
"""Find all route definitions in the project."""
# ... analysis logic
return results
if __name__ == "__main__":
results = analyze_routes(sys.argv[1])
print(json.dumps(results))

The AI calls it with:

RunSkillScript(skill_name="my-skill", script_name="analyze.py", args="/path/to/project")

Reference docs in references/ are available to the AI when the skill is active:

references/
├── api-patterns.md # Your API conventions
└── error-codes.md # Standard error codes

These provide domain-specific knowledge the AI can reference during skill execution.

Skills can include agent definitions in the frontmatter:

---
name: full-stack
description: Full-stack development skill
agents:
- name: frontend
description: React component specialist
model: claude-sonnet
system_prompt: |
You are a React specialist. Focus on component architecture...
- name: backend
description: API endpoint specialist
model: claude-sonnet
system_prompt: |
You are a backend specialist. Focus on API design...
---

These agents are created when the skill is installed and available when the skill is active.

Before syncing, validate your skill:

ValidateSkill(skill_path=".gee/skills/my-skill")

This checks:

  • SKILL.md frontmatter is valid
  • Python scripts have correct syntax
  • Directory structure is correct
ToolDescription
InitSkillScaffold a new skill directory
ValidateSkillCheck skill for errors
SyncSkillUpload to Gee server
UpdateSkillUpdate an existing skill
DeleteSkillRemove a skill you created
UninstallSkillRemove a marketplace skill