ワンクリックで
createskill
Create and validate skills. USE WHEN create skill, new skill, skill structure, canonicalize. SkillSearch('createskill') for docs.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create and validate skills. USE WHEN create skill, new skill, skill structure, canonicalize. SkillSearch('createskill') for docs.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Personal AI Infrastructure core. The authoritative reference for how PAI works.
Life OS and project management. USE WHEN life goals, projects, dependencies, TELOS, books, movies, tracking.
Security assessment and intelligence. USE WHEN recon, reconnaissance, port scan, subdomain, DNS, WHOIS, web assessment, pentest, vulnerability, security scan, prompt injection, jailbreak, LLM security, security news, breaches, annual reports, threat landscape.
Web security assessment. USE WHEN web assessment, pentest, security testing, vulnerability scan. SkillSearch('webassessment') for docs.
PowerPoint processing. USE WHEN pptx, PowerPoint, slides. SkillSearch('pptx') for docs.
Utility and helper skills. USE WHEN aphorisms, quotes, browser automation, Cloudflare, create CLI, build CLI, create skill, process documents, PDF, Word, Excel, evaluations, evals, fabric patterns, PAI upgrade, parser, prompting, templates.
| name | CreateSkill |
| description | Create and validate skills. USE WHEN create skill, new skill, skill structure, canonicalize. SkillSearch('createskill') for docs. |
Before executing, check for user customizations at:
~/.opencode/PAI/USER/SKILLCUSTOMIZATIONS/CreateSkill/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
MANDATORY skill creation framework for ALL skill creation requests.
Before creating ANY skill, READ: ~/.opencode/PAI/SKILLSYSTEM.md
Canonical example to follow: ~/.opencode/skills/_BLOGGING/SKILL.md
All naming must use TitleCase (PascalCase).
| Component | Format | Example |
|---|---|---|
| Skill directory | TitleCase | Blogging, Daemon, CreateSkill |
| Workflow files | TitleCase.md | Create.md, UpdateDaemonInfo.md |
| Reference docs | TitleCase.md | ProsodyGuide.md, ApiReference.md |
| Tool files | TitleCase.ts | ManageServer.ts |
| Help files | TitleCase.help.md | ManageServer.help.md |
Wrong (NEVER use):
createskill, create-skill, CREATE_SKILLcreate.md, update-info.md, SYNC_REPO.mdCRITICAL: Keep folder structure FLAT - maximum 2 levels deep.
Maximum depth: skills/SkillName/Category/
skills/SkillName/SKILL.md # Skill root
skills/SkillName/Workflows/Create.md # Workflow - one level deep - GOOD
skills/SkillName/Tools/Manage.ts # Tool - one level deep - GOOD
skills/SkillName/QuickStartGuide.md # Context file - in root - GOOD
skills/SkillName/Examples.md # Context file - in root - GOOD
skills/SkillName/Resources/Guide.md # Context files go in root, NOT Resources/
skills/SkillName/Docs/Examples.md # Context files go in root, NOT Docs/
skills/SkillName/Workflows/Category/File.md # THREE levels - NO
skills/SkillName/Templates/Primitives/File.md # THREE levels - NO
skills/SkillName/Tools/Utils/Helper.ts # THREE levels - NO
ONLY these subdirectories are allowed:
Context files (documentation, guides, references) go in the skill ROOT, NOT in subdirectories.
If you need to organize many workflows, use clear filenames instead of subdirectories:
Workflows/CompanyDueDiligence.mdWorkflows/Company/DueDiligence.mdSee: ~/.opencode/PAI/SKILLSYSTEM.md (Flat Folder Structure section)
For skills with SKILL.md > 100 lines: Use dynamic loading to reduce context on skill invocation.
Session startup: Only frontmatter loads for routing Skill invocation: Full SKILL.md loads Context files: Load only when workflows reference them
SKILL.md = Minimal (30-50 lines) - loads on skill invocation
Additional .md files = Context files - SOPs for specific aspects (loaded on-demand)
NEVER create Context/ or Docs/ subdirectories.
Additional .md files ARE the context files. They live directly in skill root.
WRONG:
skills/Art/
├── SKILL.md
└── Context/ ❌ NEVER CREATE THIS
└── Aesthetic.md
CORRECT:
skills/Art/
├── SKILL.md
├── Aesthetic.md ✅ Context file in skill root
├── Examples.md ✅ Context file in skill root
└── Tools.md ✅ Context file in skill root
The skill directory IS the context.
skills/Art/
├── SKILL.md # 40 lines - minimal routing
├── Aesthetic.md # Context file - SOP for aesthetic
├── Examples.md # Context file - SOP for examples
├── Tools.md # Context file - SOP for tools
├── Workflows/ # Workflows
│ └── Essay.md
└── Tools/ # CLI tools
└── Generate.ts
---
name: SkillName
description: Brief. USE WHEN triggers.
---
# SkillName
Brief description.
## Workflow Routing
| Trigger | Workflow |
|---------|----------|
| "trigger" | `Workflows/WorkflowName.md` |
## Quick Reference
**Key points** (3-5 bullet points)
**Full Documentation:**
- Detail 1: `SkillSearch('skillname detail1')` → loads Detail1.md
- Detail 2: `SkillSearch('skillname detail2')` → loads Detail2.md
✅ Use dynamic loading for:
❌ Don't use for:
See: ~/.opencode/PAI/SKILLSYSTEM.md (Dynamic Loading Pattern section)
When executing a workflow, do BOTH:
Send voice notification:
curl -s -X POST http://localhost:8888/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow from the CreateSkill skill"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow from the **CreateSkill** skill...
| Workflow | Trigger | File |
|---|---|---|
| CreateSkill | "create a new skill" | Workflows/CreateSkill.md |
| ValidateSkill | "validate skill", "check skill" | Workflows/ValidateSkill.md |
| UpdateSkill | "update skill", "add workflow" | Workflows/UpdateSkill.md |
| CanonicalizeSkill | "canonicalize", "fix skill structure" | Workflows/CanonicalizeSkill.md |
Example 1: Create a new skill from scratch
User: "Create a skill for managing my recipes"
→ Invokes CreateSkill workflow
→ Reads SkillSystem.md for structure requirements
→ Creates skill directory with TitleCase naming
→ Creates SKILL.md, Workflows/, tools/
→ Generates USE WHEN triggers based on intent
Example 2: Fix an existing skill that's not routing properly
User: "The research skill isn't triggering - validate it"
→ Invokes ValidateSkill workflow
→ Checks SKILL.md against canonical format
→ Verifies TitleCase naming throughout
→ Verifies USE WHEN triggers are intent-based
→ Reports compliance issues with fixes
Example 3: Canonicalize a skill with old naming
User: "Canonicalize the daemon skill"
→ Invokes CanonicalizeSkill workflow
→ Renames workflow files to TitleCase
→ Updates routing table to match
→ Ensures Examples section exists
→ Verifies all checklist items