create a reusable skill from the conversation or request.
-
Detect context
- If history exists: auto-capture workflow into skill
- if no history exists, use the request.
- Use thread context clues to infer name, description, and triggers
-
Determine host (Codex, Claude, Cursor) from current runtime
- report the selected host and installation path.
-
Propose the skill name, description, triggers, location, and whether scripts are needed
- Proceed unless user rejects or corrects
-
Check existing skills for patterns (host-specific)
ls ~/.codex/skills/
ls ~/.claude/skills/
ls ~/.cursor/skills/
ls agents/skills/- Create skill structure:
{skill-name}/
SKILL.md
resources/ # references, samples, templates
scripts/ # if tools requested
run.py|ts|sh
- Write SKILL.md:
---
name: skill-name
description: one-line
allowed_tools: [list inferred from context]
---
# skill name
## when to use
- trigger conditions
## steps
1. ...
2. ...
## tools created
- scripts/run.py: what it does- report each created file and the invocation name.
--interview: Ask detailed questions (purpose, triggers, inputs, outputs, edge cases)
Python (uv):
def main() -> int:
return 0
if __name__ == "__main__":
raise SystemExit(main())TypeScript (bun):
console.log("ok");Shell:
#!/usr/bin/env bash
set -euo pipefail
echo "ok"- Default to capturing conversation if history exists
- Default host to current runtime and install there
- Ask at most one question, only if ambiguity blocks execution
- Only create scripts if requested
- Match existing skill patterns in repo