Build Superpowers
for Ikiro
Create custom capabilities for AI companions using JSON configs and Claude Code. No Python needed — define what it does, the persona handles the rest.
How It Works
User sends message
-> Persona checks trigger keywords
-> Matches your superpower's action
-> Executes operations sequentially
-> Interpolates response template
-> Persona delivers in their voice
Quick Start
Configure Claude Code
Add the superpower-dev MCP server to your Claude Code settings with your API key.
Scaffold
Tell Claude Code: "Build me a superpower that [does something]". It generates the JSON definition.
Test locally
Claude Code dry-runs your superpower instantly — see what each operation does, step by step.
Deploy
Claude Code deploys to dev. Your persona can now execute your superpower when triggered.
Operation Types
24 building blocks for your superpower's actions.
AI
llm_generateGenerate free-form textllm_extractExtract structured data from textvision_analysisAnalyze imagesgenerate_documentCreate documents (essays, reports)Integration
http_requestCall any REST APIgmail_searchSearch Gmail inbox (OAuth)calendar_queryQuery Google Calendar (OAuth)web_searchSearch the webMemory & State
memory_readSearch user memoriesmemory_writeStore a new memorystate_updateUpdate session statecalculateEvaluate math expressionsFlow & Communication
conversation_flowAsk user a question and waitconditionalIf/else branchingschedule_taskSchedule deferred actionsnotifySend proactive notificationsTemplate Syntax
{{$op.result}}Result from a named operation{{$state.city}}Value from session state{{$input.text}}The user's message{{$op.items | length}}Count of items (filter){{$state.total | currency}}Format as currency{{$state.name | upper}}Convert to uppercaseExample: Mood Tracker
{
"version": "1.0",
"metadata": {
"name": "Mood Tracker",
"description": "Track your daily mood",
"category": "health",
"icon": "heart"
},
"trigger_patterns": {
"keywords": ["mood", "feeling"],
"priority": 5
},
"actions": [{
"id": "log_mood",
"triggers": {
"keywords": ["mood", "feeling", "how am I"]
},
"operations": [
{
"type": "llm_extract",
"output": "mood",
"prompt": "Extract mood from: '{{$input.text}}'",
"output_schema": {
"mood": "string",
"intensity": "number"
}
},
{
"type": "memory_write",
"prompt": "User mood: {{$op.mood.mood}} ({{$op.mood.intensity}}/10)"
}
],
"response": {
"template": "Logged: {{$op.mood.mood}} ({{$op.mood.intensity}}/10)"
}
}]
}Ready to Build?
Open the developer portal to get your API key and start creating superpowers in minutes.