Skill Creator — Create, Lint & Package Skills
DITEMPA BUKAN DIBERI — Skills are forged through intent, lint, and seal.
What This Skill Is
A unified skill covering three concerns:
- Create — Bootstrap, design, and package new skills from user intent
- Lint — Check trigger clauses for collisions, missing negatives, and vague verbs
- Scaffold — Interactively create SKILL.md files with proper frontmatter
When to Use
- Capturing user intent for a brand new skill from conversation history
- Conducting interviews to identify edge cases, input/output requirements, and dependencies
- Drafting the initial structure, frontmatter, and instructions for a new SKILL.md
- Validating frontmatter descriptions and target boundaries of any skill
- Trigger drift is observed (e.g.
wrangler activated for generic coding)
- Linting a newly forged skill prior to production staging
- Packaging finished skill folders into distributables
- User wants to create a skill, scaffold a skill, or runs /create-skill
When NOT to Use
- Auditing the active skill portfolio for collisions or stale documentation (use
skill-inventory)
- Running quantitative benchmarks or evaluating prompt traces
- Performing programmatic runtime execution benchmark testing
§1. CREATE — Bootstrap & Design
Procedure
- Capture Intent: Analyze the user request and extract target tools, sequence steps, and expected outputs
- Define Trigger Boundaries: Design preliminary "Use when" and "Do not use when" rules
- Draft SKILL.md: Compose the frontmatter, purpose, triggers, inputs, procedure, postconditions, failure modes, and telemetry structure
- Verification Setup: Propose 2-3 realistic test prompts for verification
- Floor-Tier SEAL Gate (MANDATORY): Classify the drafted skill by primary floor touch
- Package Skill: Run
scripts/package_skill.py to compile the folder structure
Floor-Tier SEAL Gate
| Primary floor |
SEAL authority |
Action |
| F1, F8, F13 |
888 mandatory |
Emit hold_code. Pause. Await Arif acknowledgment. |
| F2, F4, F11 |
Grader PASS + human sign-off |
Present grading.json to human. Await sign-off. |
| F5, F6, F7, F9, F10 |
Grader PASS → autonomous SEAL |
Proceed. Log the tier in telemetry. |
Grader output requirement: pass_rate ≥ 0.95 for any SEAL path. Skills with pass_rate < 0.95 → return to draft.
§2. LINT — Trigger Validation
Lint Level Classification
L1: Stylistic (Wording Clarity):
- Descriptions slightly wordy or triggers phrased passively.
- Result: Warning issued; suggestion provided.
L2: Behavioral Risk (Missing Negatives):
- Skill lacks a robust "Do not use when" block with at least 3 exclusion boundaries.
- Result: Block validation; requires prompt adjustments.
L3: Safety Risk (Constitutional Breaches):
- Skill performs irreversible state writes, manages sensitive secrets, or coordinates destructive operations without declaring an integration path to arifos-governance and 888_HOLD gates.
- Result: HARD BLOCK. Requires arifos-governance human release (888 HOLD) to override.
Lint Procedure
- Strict Trigger Parsing: Extract the
Use When and Do Not Use When blocks
- Vague Verb Scanning: Scan for banned words: "help", "assist", "improve", "manage", "optimize", "support". Require explicit action verbs.
- Trigger Count Validation:
Use when must have 3-7 concrete triggers; Do not use when must have ≥3 exclusion rules
- Lint Level Classification: Assess for L1, L2, or L3 violations
- 888 HOLD Enforcement: If L3 violation found, lock the build pipeline, generate
ERR_LINT_L3_VIOLATION ticket
- Lint Status Output: Output failures, warnings, and recommended revisions with exact line references
§3. SCAFFOLD — Interactive Creation
Step 1: Gather Information
Ask the user one at a time:
- Skill name — lowercase letters, digits, hyphens only. 2-64 characters.
- Scope — Project (
<repo-root>/.grok/skills/<name>/SKILL.md) or User (~/.grok/skills/<name>/SKILL.md)
- What it should do — describe the workflow, paste an example prompt, or explain the task
Step 2: Draft Description
Write a description frontmatter value that includes:
- What the skill does (1-2 sentences)
- Trigger phrases and keywords for auto-invocation
- The slash command name
Step 3: Create Directory & Write SKILL.md
mkdir -p <SKILL_DIR>
Write SKILL.md following the exact format:
---
name: <skill-name>
description: <the description>
---
<markdown body with instructions, steps, code blocks>
Step 4: Verify and Confirm
- Verify the file was written correctly
- Tell the user how to use it: slash command, TUI menu, or automatic invocation
Guidelines
- Keep the SKILL.md body focused and actionable — it is a prompt for the agent, not documentation
- The
description field is critical — it controls auto-invocation
- Prefer referencing existing CLI tools over writing custom scripts
- Always use absolute paths when creating files
- Do NOT skip creating the directory
Postconditions
- A valid skill structure (including SKILL.md) is staged in the target folder
- The skill complies with baseline structural layout standards
- The Floor-Tier SEAL Gate was observed
- All trigger clauses pass L1-L3 compliance
Failure Modes & Escalation
- Intent Ambiguity: User request too vague. Action: Pause and present clarifying questions.
- Missing Exclusion Block: Skill lacks "Do Not Use When" section. Action: Flag L2, suggest 3 templates, block merging.
- Verbal Overload: Triggers in vague prose. Action: Auto-format into short, bulleted imperative clauses.
Telemetry per Run
{
"skill_name": "skill-creator",
"version": "2.0.0",
"floor_tier_reached": "<F1|F2|F5>",
"sealing_authority": "<888|human|autonomous>",
"grader_pass_rate": 0.0,
"lint_level": "<L1|L2|L3|PASS>",
"human_approval_required": false,
"hold_code": "<if applicable>"
}
1---2name: skill-creator-33description: Create, lint, and package new skills. Bootstrap skill design from user intent, validate trigger clauses for collisions/missing negatives/vague verbs, and interactively scaffold SKILL.md files. Use when creating a skill, scaffolding a skill, linting skill triggers, or packaging skills for distribution.4---56# Skill Creator — Create, Lint & Package Skills78> **DITEMPA BUKAN DIBERI** — Skills are forged through intent, lint, and seal.910## What This Skill Is1112A unified skill covering three concerns:13141. **Create** — Bootstrap, design, and package new skills from user intent152. **Lint** — Check trigger clauses for collisions, missing negatives, and vague verbs163. **Scaffold** — Interactively create SKILL.md files with proper frontmatter1718## When to Use1920- Capturing user intent for a brand new skill from conversation history21- Conducting interviews to identify edge cases, input/output requirements, and dependencies22- Drafting the initial structure, frontmatter, and instructions for a new SKILL.md23- Validating frontmatter descriptions and target boundaries of any skill24- Trigger drift is observed (e.g. `wrangler` activated for generic coding)25- Linting a newly forged skill prior to production staging26- Packaging finished skill folders into distributables27- User wants to create a skill, scaffold a skill, or runs /create-skill2829## When NOT to Use3031- Auditing the active skill portfolio for collisions or stale documentation (use `skill-inventory`)32- Running quantitative benchmarks or evaluating prompt traces33- Performing programmatic runtime execution benchmark testing3435## §1. CREATE — Bootstrap & Design3637### Procedure38391. **Capture Intent:** Analyze the user request and extract target tools, sequence steps, and expected outputs402. **Define Trigger Boundaries:** Design preliminary "Use when" and "Do not use when" rules413. **Draft SKILL.md:** Compose the frontmatter, purpose, triggers, inputs, procedure, postconditions, failure modes, and telemetry structure424. **Verification Setup:** Propose 2-3 realistic test prompts for verification435. **Floor-Tier SEAL Gate (MANDATORY):** Classify the drafted skill by primary floor touch446. **Package Skill:** Run `scripts/package_skill.py` to compile the folder structure4546### Floor-Tier SEAL Gate4748| Primary floor | SEAL authority | Action |49|---|---|---|50| **F1**, **F8**, **F13** | **888 mandatory** | Emit `hold_code`. Pause. Await Arif acknowledgment. |51| **F2**, **F4**, **F11** | **Grader PASS + human sign-off** | Present grading.json to human. Await sign-off. |52| **F5**, **F6**, **F7**, **F9**, **F10** | **Grader PASS → autonomous SEAL** | Proceed. Log the tier in telemetry. |5354**Grader output requirement:** `pass_rate ≥ 0.95` for any SEAL path. Skills with `pass_rate < 0.95` → return to draft.5556## §2. LINT — Trigger Validation5758### Lint Level Classification5960* **`L1: Stylistic` (Wording Clarity):**61 * Descriptions slightly wordy or triggers phrased passively.62 * *Result:* Warning issued; suggestion provided.6364* **`L2: Behavioral Risk` (Missing Negatives):**65 * Skill lacks a robust "Do not use when" block with at least 3 exclusion boundaries.66 * *Result:* Block validation; requires prompt adjustments.6768* **`L3: Safety Risk` (Constitutional Breaches):**69 * Skill performs irreversible state writes, manages sensitive secrets, or coordinates destructive operations without declaring an integration path to arifos-governance and 888_HOLD gates.70 * *Result:* **HARD BLOCK**. Requires arifos-governance human release (888 HOLD) to override.7172### Lint Procedure73741. **Strict Trigger Parsing:** Extract the `Use When` and `Do Not Use When` blocks752. **Vague Verb Scanning:** Scan for banned words: *"help"*, *"assist"*, *"improve"*, *"manage"*, *"optimize"*, *"support"*. Require explicit action verbs.763. **Trigger Count Validation:** `Use when` must have 3-7 concrete triggers; `Do not use when` must have ≥3 exclusion rules774. **Lint Level Classification:** Assess for L1, L2, or L3 violations785. **888 HOLD Enforcement:** If L3 violation found, lock the build pipeline, generate `ERR_LINT_L3_VIOLATION` ticket796. **Lint Status Output:** Output failures, warnings, and recommended revisions with exact line references8081## §3. SCAFFOLD — Interactive Creation8283### Step 1: Gather Information8485Ask the user one at a time:861. **Skill name** — lowercase letters, digits, hyphens only. 2-64 characters.872. **Scope** — Project (`<repo-root>/.grok/skills/<name>/SKILL.md`) or User (`~/.grok/skills/<name>/SKILL.md`)883. **What it should do** — describe the workflow, paste an example prompt, or explain the task8990### Step 2: Draft Description9192Write a `description` frontmatter value that includes:93- What the skill does (1-2 sentences)94- Trigger phrases and keywords for auto-invocation95- The slash command name9697### Step 3: Create Directory & Write SKILL.md9899```bash100mkdir -p <SKILL_DIR>101```102103Write SKILL.md following the exact format:104```105---106name: <skill-name>107description: <the description>108---109110<markdown body with instructions, steps, code blocks>111```112113### Step 4: Verify and Confirm1141151. Verify the file was written correctly1162. Tell the user how to use it: slash command, TUI menu, or automatic invocation117118## Guidelines119120- Keep the SKILL.md body focused and actionable — it is a prompt for the agent, not documentation121- The `description` field is critical — it controls auto-invocation122- Prefer referencing existing CLI tools over writing custom scripts123- Always use absolute paths when creating files124- Do NOT skip creating the directory125126## Postconditions1271281. A valid skill structure (including SKILL.md) is staged in the target folder1292. The skill complies with baseline structural layout standards1303. The Floor-Tier SEAL Gate was observed1314. All trigger clauses pass L1-L3 compliance132133## Failure Modes & Escalation134135* **Intent Ambiguity:** User request too vague. *Action:* Pause and present clarifying questions.136* **Missing Exclusion Block:** Skill lacks "Do Not Use When" section. *Action:* Flag L2, suggest 3 templates, block merging.137* **Verbal Overload:** Triggers in vague prose. *Action:* Auto-format into short, bulleted imperative clauses.138139## Telemetry per Run140141```json142{143 "skill_name": "skill-creator",144 "version": "2.0.0",145 "floor_tier_reached": "<F1|F2|F5>",146 "sealing_authority": "<888|human|autonomous>",147 "grader_pass_rate": 0.0,148 "lint_level": "<L1|L2|L3|PASS>",149 "human_approval_required": false,150 "hold_code": "<if applicable>"151}152```