Skill Curator
Automated workflow for ingesting, categorizing, standardizing, and wiring new or existing skills into the Takomi Skills Ecosystem without prompt bloat.
1. The 6-Step Ingestion Workflow
When the user gives you a new skill (or asks to organize, rename, or import one), execute these 6 steps in order:
flowchart TD
A["1. Inspect & Deduplicate"] --> B["2. Placement Decision"]
B --> C["3. Standardize Frontmatter"]
C --> D["4. Update Parent Router"]
D --> E["5. Cleanse & Unslop"]
E --> F["6. Register & Verify"]
Step 1: Inspect & Deduplicate
- Read the incoming skill's instructions, code, and helper scripts.
- Search existing suites (
assets/.agent/skills/) to check for duplicate or overlapping capabilities:node scripts/verify_skills_integrity.cjs
- If an existing skill already handles this domain, present a recommendation to the user to either merge, upgrade, or co-locate the skill.
Step 2: Placement Decision
Apply the Lean Unified Skills Architecture rules:
| Condition |
Destination |
Action |
| Relates to an existing domain (frontend, video, dev, testing, agents, docs, marketing) |
Existing Umbrella Suite |
Place as a sub-folder inside the suite (e.g. assets/.agent/skills/<suite>/<sub-skill>/). |
| Single-purpose CLI binary wrapper or global mode |
Standalone Skill |
Place at top level assets/.agent/skills/<skill>/. |
| Distinct new domain with 3+ related sub-skills |
New Umbrella Suite |
Create new suite folder with top-level router SKILL.md. |
| Core Essentials |
Reserved |
NEVER automatically add to Core Essentials. Core status is strictly decided by the user. |
Step 3: Standardize Frontmatter & Naming
Every SKILL.md MUST begin with standardized YAML frontmatter:
---
name: my-skill-name
description: Use when [user wants to do X, trigger condition Y, or intent Z]... (Max 2 sentences, dense keyword triggers).
author: Original Author
coauthored: J StaR Films / Takomi
version: 1.0.0
---
Naming Standards:
- Directory name and
name must be lowercase kebab-case.
description must always begin with "Use when..." and contain specific, highly searchable domain keywords.
Step 4: Update Parent Suite Router (If Sub-Skill)
When placing a sub-skill inside an umbrella suite:
- Update Router Frontmatter: Add the sub-skill's keyword triggers to the parent suite's
SKILL.md description field so harnesses index it in the prompt.
- Update Router Table: Add a row to the sub-skills markdown table in the parent's
SKILL.md:| **`sub-skill-name`** | Brief one-line purpose | [`sub-skill-name/SKILL.md`](sub-skill-name/SKILL.md) |
Step 5: Cleanse, Unslop & Platform Hardening
- Apply Unslop Filter: Read
.agents/skills/unslop/SKILL.md. Remove conversational AI filler, unparsed Markdoc/HTML tags ({% callout %}, {% image %}, {% tabs %}), and UI-specific button assumptions.
- Convert to Direct Instructions: State what the agent should do directly and concisely.
- Windows UTF-8 Hardening (Python Scripts): If the skill includes Python CLI scripts, ensure standard output handles UTF-8:
import sys
if hasattr(sys.stdout, 'reconfigure'):
sys.stdout.reconfigure(encoding='utf-8')
if hasattr(sys.stderr, 'reconfigure'):
sys.stderr.reconfigure(encoding='utf-8')
Step 6: Register & Verify
- Catalog Registration: If adding a top-level standalone skill or new suite, register it in
.pi/extensions/takomi-context-manager/skill-categories.js under the appropriate category in SKILL_CATEGORIES.
- Run Integrity Verification:
node scripts/verify_skills_integrity.cjs
Confirm that all relative links resolve and 0 errors are reported.
- Run Test Suite:
npm test
1---2name: skill-curator3description: Use when adding, importing, reorganizing, renaming, or refactoring skills according to the Lean Unified Skills Architecture.4---56# Skill Curator78Automated workflow for ingesting, categorizing, standardizing, and wiring new or existing skills into the Takomi Skills Ecosystem without prompt bloat.910---1112## 1. The 6-Step Ingestion Workflow1314When the user gives you a new skill (or asks to organize, rename, or import one), execute these 6 steps in order:1516```mermaid17flowchart TD18 A["1. Inspect & Deduplicate"] --> B["2. Placement Decision"]19 B --> C["3. Standardize Frontmatter"]20 C --> D["4. Update Parent Router"]21 D --> E["5. Cleanse & Unslop"]22 E --> F["6. Register & Verify"]23```2425---2627### Step 1: Inspect & Deduplicate281. Read the incoming skill's instructions, code, and helper scripts.292. Search existing suites (`assets/.agent/skills/`) to check for duplicate or overlapping capabilities:30 ```bash31 node scripts/verify_skills_integrity.cjs32 ```333. If an existing skill already handles this domain, present a recommendation to the user to either **merge**, **upgrade**, or **co-locate** the skill.3435---3637### Step 2: Placement Decision38Apply the **Lean Unified Skills Architecture** rules:3940| Condition | Destination | Action |41| :--- | :--- | :--- |42| Relates to an existing domain (frontend, video, dev, testing, agents, docs, marketing) | **Existing Umbrella Suite** | Place as a sub-folder inside the suite (e.g. `assets/.agent/skills/<suite>/<sub-skill>/`). |43| Single-purpose CLI binary wrapper or global mode | **Standalone Skill** | Place at top level `assets/.agent/skills/<skill>/`. |44| Distinct new domain with 3+ related sub-skills | **New Umbrella Suite** | Create new suite folder with top-level router `SKILL.md`. |45| **Core Essentials** | **Reserved** | **NEVER** automatically add to Core Essentials. Core status is strictly decided by the user. |4647---4849### Step 3: Standardize Frontmatter & Naming50Every `SKILL.md` MUST begin with standardized YAML frontmatter:5152```yaml53---54name: my-skill-name55description: Use when [user wants to do X, trigger condition Y, or intent Z]... (Max 2 sentences, dense keyword triggers).56author: Original Author57coauthored: J StaR Films / Takomi58version: 1.0.059---60```6162**Naming Standards:**63- Directory name and `name` must be lowercase `kebab-case`.64- `description` must always begin with `"Use when..."` and contain specific, highly searchable domain keywords.6566---6768### Step 4: Update Parent Suite Router (If Sub-Skill)69When placing a sub-skill inside an umbrella suite:701. **Update Router Frontmatter:** Add the sub-skill's keyword triggers to the parent suite's `SKILL.md` `description` field so harnesses index it in the prompt.712. **Update Router Table:** Add a row to the sub-skills markdown table in the parent's `SKILL.md`:72 ```markdown73 | **`sub-skill-name`** | Brief one-line purpose | [`sub-skill-name/SKILL.md`](sub-skill-name/SKILL.md) |74 ```7576---7778### Step 5: Cleanse, Unslop & Platform Hardening791. **Apply Unslop Filter:** Read `.agents/skills/unslop/SKILL.md`. Remove conversational AI filler, unparsed Markdoc/HTML tags (`{% callout %}`, `{% image %}`, `{% tabs %}`), and UI-specific button assumptions.802. **Convert to Direct Instructions:** State what the agent should do directly and concisely.813. **Windows UTF-8 Hardening (Python Scripts):** If the skill includes Python CLI scripts, ensure standard output handles UTF-8:82 ```python83 import sys84 if hasattr(sys.stdout, 'reconfigure'):85 sys.stdout.reconfigure(encoding='utf-8')86 if hasattr(sys.stderr, 'reconfigure'):87 sys.stderr.reconfigure(encoding='utf-8')88 ```8990---9192### Step 6: Register & Verify931. **Catalog Registration:** If adding a top-level standalone skill or new suite, register it in `.pi/extensions/takomi-context-manager/skill-categories.js` under the appropriate category in `SKILL_CATEGORIES`.942. **Run Integrity Verification:**95 ```bash96 node scripts/verify_skills_integrity.cjs97 ```98 Confirm that all relative links resolve and 0 errors are reported.993. **Run Test Suite:**100 ```bash101 npm test102 ```