Skills
Skills are the core building blocks of CLANKER.NET. Each skill is a specialized AI agent designed to perform a specific task.
What is a Skill?
A skill consists of:
- Name - Human-readable identifier (e.g., “README Generator”)
- Slug - URL-safe identifier (e.g.,
readme-generator) - Description - Brief explanation of what the skill does
- Category - Classification (productivity, development, creative, etc.)
- SKILL.md - The prompt/instructions that define the skill’s behavior
Skill Categories
| Category | Description | Examples |
|---|---|---|
productivity | Task helpers, document generation | README Generator, Email Writer |
development | Code-related tasks | Code Reviewer, Bug Fixer, Test Generator |
creative | Content creation | Blog Writer, Story Generator |
data | Data processing and analysis | CSV Analyzer, JSON Transformer |
mcp | MCP server and tool development | MCP Builder, Tool Generator |
Marketplace vs Installed Skills
Marketplace Skills
The marketplace contains 370+ community-contributed skills that you can browse and install.
# List marketplace skills via API
GET /api/v1/marketplace/skills
# Browse marketplace via REST API
GET /api/v1/marketplace/skills
# Get skill details via MCP
{
"tool": "get-skill-details",
"arguments": {
"slug": "code-reviewer"
}
}
Installed Skills
Once you install a skill, it’s added to your personal library and can be executed.
# List your installed skills via MCP
{
"tool": "list-installed-skills",
"arguments": {
"limit": 20
}
}
Installing Skills
Via Mobile App
- Browse the Marketplace tab
- Tap a skill to view details
- Tap Install
Via MCP
{
"tool": "install-skill",
"arguments": {
"slug": "readme-generator"
}
}
Via REST API
POST /api/v1/skills/:slug/install
Executing Skills
Skills are executed with natural language input. The skill’s SKILL.md provides context and instructions to the AI.
Skills are executed through the REST API, not over MCP — there is no
execute-skilltool. Over MCP you discover, install, and monitor skill runs.
Via REST API
For programmatic use (bots, CI/CD, external integrations), use the Sessions API — it’s the preferred path and compatible with managed-agent providers:
# Step 1: create the execution (skill_slug and a non-empty input are both required)
POST /api/v1/executions
{ "skill_slug": "readme-generator", "input": "Create a README for my TypeScript CLI tool" }
# Step 2: mint the signed stream URL, then connect an EventSource to it
GET /api/v1/executions/:id/stream-token → { "sseUrl": "…?ts=…&sig=…" }
# Step 3: send the user.message that starts the run
POST /api/v1/executions/:id/events
{ "events": [{ "type": "user.message", "content": [{ "type": "text", "text": "..." }] }] }
For interactive/dashboard use only, a single-call shortcut is also available:
POST /api/v1/skills/:slug/run
Content-Type: application/json
{
"input": "Create a README for my TypeScript CLI tool"
}
Execution Response
Both paths return an executionId. To receive real-time output, mint a signed
stream URL and connect an EventSource to it — this API exposes no GET stream
of its own, and POST …/events is the INPUT channel, not the output one:
GET /api/v1/executions/:executionId/stream-token
→ { "sseUrl": "…/executions/:executionId/events?ts=…&sig=…" }
See Executions API for the full Sessions API reference.
Skill Structure
A skill is defined by a SKILL.md file that contains:
# Skill Name
## Description
Brief description of what this skill does.
## Instructions
Detailed instructions for the AI agent:
- What to do with user input
- How to format output
- Any constraints or requirements
## Examples
Example inputs and expected outputs.
See Creating Skills for a complete guide.
Skill Metadata
| Field | Type | Description |
|---|---|---|
slug | string | Unique identifier |
name | string | Display name |
description | string | Brief description |
category | string | Skill category |
repository | string | Source GitHub repository |
prompt | string | The SKILL.md content |
installed | boolean | Whether user has installed |
Best Practices
- Be specific - Skills that do one thing well are more useful than generic skills
- Provide examples - Include example inputs and outputs in SKILL.md
- Handle edge cases - Describe how to handle unexpected input
- Test thoroughly - Execute your skill with various inputs before publishing