self-extend
Define the protocol Iris follows when creating new reusable skills.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Define the protocol Iris follows when creating new reusable skills.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Create a new sub-agent — no Terraform, no Docker by default. Starts as a systemd service, patched into the bridge immediately so @agent works right away.
Commit and push repo changes to GitHub using the standard Iris workflow.
Search the web using Perplexity AI API. Returns sourced, up-to-date information.
Send an email via Resend API from ${IRIS_EMAIL_FROM:-iris@example.com}. Use when human escalation is needed or to deliver results outside Slack/Telegram.
Transcribe an audio file (m4a, mp3, wav, ogg, webm) to text using OpenAI Whisper API. Use when a user shares a voice note or audio attachment.
Add, remove, and test MCP (Model Context Protocol) servers by editing meta/mcp.json. Tools from connected servers appear automatically as mcp__<server>__<tool>.
| name | self-extend |
| description | Define the protocol Iris follows when creating new reusable skills. |
Protocol for writing new skills. Follow this every time you add a capability.
skills/<skill-name>/SKILL.md# Skill: <name>
One sentence: what does this skill do and why does it exist.
## Usage
<how to invoke it>
## Implementation
```bash
#!/usr/bin/env bash
# <name> — <description>
set -euo pipefail
# implementation here
## Rules for skills
1. **One skill = one responsibility.** Don't build a swiss army knife.
2. **Skills are bash scripts or instructions.** Keep them simple.
3. **Skills must work inside Docker sandbox.** Assume clean environment.
4. **Secrets are always fetched via `get-secret`.** Never hardcoded.
5. **Files are always stored via `store-file`.** Never raw paths.
6. **Cloud calls use abstraction skills.** Never call Azure/AWS/GCP directly.
7. **Test with a safe case before relying on it.** Invoke the skill once with harmless inputs; confirm no hardcoded secrets, a descriptive kebab-case name, and that it is committed before use.
## Example: writing a new skill for sending a Slack message
```bash
# 1. Write the skill
mkdir -p /iris/repo/skills/slack-notify
cat > /iris/repo/skills/slack-notify/SKILL.md << 'EOF'
# Skill: slack-notify
...
EOF
# 2. Commit
github-commit "skills/slack-notify/SKILL.md" "feat: add slack-notify skill"
# 3. Test (iris-runtime reloads skills automatically)
slack-notify "#iris-dev" "test message from iris"