{"manifest":{"name":"Skill Classifier","version":"1.0.0","description":"Classify skills by type, requirements, and risk level. First step in the 3-pass verification pipeline.","tags":["verification","classifier","meta","toolkit"],"standard":"agentskills.io","standard_version":"1.0","content_checksum":"1582903e5bacf86a49696d41cf66992b2ebf91048845094d63ba24e7b7936057","bundle_checksum":null,"metadata":{},"files":[]},"files":{"SKILL.md":"# Skill Classifier — Verification Toolkit\n\n> **Purpose:** Teach an AI agent how to classify a SkillSlap skill by type, requirements, and risk level.\n> This is the first step in the 3-pass verification pipeline.\n\n---\n\n## 1. Overview\n\nThe Skill Classifier analyzes a skill's markdown content and produces a structured classification that determines:\n\n1. **What kind of skill it is** (documentation, API workflow, code generation, etc.)\n2. **What it requires** to be properly verified (API access, sandbox, browser, specific tools)\n3. **How risky it is** to execute (safe, moderate, high, critical)\n\nThis classification feeds into the verification pipeline to determine which checks to run.\n\n---\n\n## 2. Input\n\nYou receive a skill with:\n\n```json\n{\n  \"title\": \"string\",\n  \"description\": \"string | null\",\n  \"content\": \"string (markdown)\",\n  \"tags\": [\"string\"],\n  \"version\": \"string\"\n}\n```\n\n---\n\n## 3. Classification Schema\n\n### 3a. Skill Type\n\n| Type | Description | Examples |\n|------|-------------|----------|\n| `documentation` | Reference material, guides, how-tos | API docs, tutorials, READMEs |\n| `api_workflow` | Interacts with external APIs | REST clients, webhook handlers |\n| `code_generation` | Generates or transforms code | Scaffolding tools, transpilers |\n| `agent_instructions` | Instructions for an AI agent to follow | Prompt templates, agent workflows |\n| `tool_config` | Configuration for tools, CLIs, environments | Docker configs, CI/CD pipelines |\n| `mixed` | Combines multiple types | Full-stack guides with API + code |\n\n### 3b. Requirements\n\n| Requirement | When to Set True |\n|------------|-----------------|\n| `api_access` | Skill references HTTP endpoints, webhooks, or external services |\n| `code_sandbox` | Skill includes executable code that should be run in isolation |\n| `browser_rendering` | Skill produces HTML/CSS output that needs visual verification |\n| `specific_tools` | List any CLI tools, runtimes, or libraries the skill requires |\n\n### 3c. Risk Level\n\n| Level | Criteria |\n|-------|----------|\n| `safe` | Read-only, no side effects, documentation only |\n| `moderate` | Makes API calls but no destructive operations |\n| `high` | Writes data, modifies state, or accesses credentials |\n| `critical` | System-level operations, shell commands, or credential management |\n\n---\n\n## 4. Classification Process\n\n1. **Read the skill content** carefully\n2. **Identify the primary type** — what does the skill mostly do?\n3. **Check for requirements** — does it need APIs? Code execution? A browser?\n4. **Assess risk** — what could go wrong if an agent follows these instructions blindly?\n5. **Provide reasoning** — 1-2 sentences explaining your classification\n\n---\n\n## 5. Output Format\n\n```json\n{\n  \"type\": \"api_workflow\",\n  \"requirements\": {\n    \"api_access\": true,\n    \"code_sandbox\": false,\n    \"browser_rendering\": false,\n    \"specific_tools\": [\"curl\", \"jq\"]\n  },\n  \"risk_level\": \"moderate\",\n  \"reasoning\": \"This skill instructs agents to make HTTP requests to external APIs with authentication headers. No destructive operations but does write data via POST requests.\"\n}\n```\n\n---\n\n## 6. Classification Heuristics\n\n### Indicators of Type\n\n- **documentation**: Headers like \"Overview\", \"Reference\", no executable blocks\n- **api_workflow**: HTTP method blocks (`GET`, `POST`), URL patterns, `Authorization` headers\n- **code_generation**: Code blocks with language tags, file output patterns, scaffolding steps\n- **agent_instructions**: Imperative mood (\"Do X\", \"Then Y\"), decision trees, tool usage patterns\n- **tool_config**: Config file formats (YAML, TOML, JSON), environment variables, setup steps\n- **mixed**: Multiple indicators from different categories\n\n### Indicators of Risk\n\n- **safe**: \"This guide explains...\", no code blocks, no URLs\n- **moderate**: API calls with read operations, query parameters\n- **high**: `POST`/`PUT`/`DELETE` with bodies, file writes, database operations\n- **critical**: `rm`, `sudo`, shell commands, credential storage, `eval`, system calls\n\n---\n\n## 7. Edge Cases\n\n- **Skills with code examples** that are illustrative (not meant to be executed) → `documentation`, `safe`\n- **Skills that teach security testing** → classify based on the operations described, not the topic\n- **Skills referencing external tools without including them** → still note in `specific_tools`\n- **Empty or minimal skills** → `documentation`, `safe`, note in reasoning\n\n## Playground\n\n<!DOCTYPE html><html><head><meta charset='utf-8'><style>*{box-sizing:border-box;margin:0;padding:0}body{background:#0d1117;color:#e6edf3;font-family:monospace;font-size:12px;height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{background:#161b22;border-bottom:1px solid #30363d;padding:8px 14px;font-size:11px;color:#8b949e;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.title{color:#58a6ff;font-weight:bold;font-size:13px}.panels{display:flex;flex:1;overflow:hidden}.panel{flex:1;overflow:auto;padding:12px;border-right:1px solid #30363d}.panel:last-child{border-right:none}.label{font-size:10px;color:#8b949e;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}pre{white-space:pre-wrap;word-break:break-word;line-height:1.5}</style></head><body><div class='header'><span class='title'>Skill Classifier</span><span>Example · SkillSlap</span></div><div class='panels'><div class='panel'><div class='label'>Input: Skill metadata</div><pre><span style='color:#8b949e'>title: SQL Query Builder</span>\n<span style='color:#8b949e'>tags: sql, database, productivity</span>\n<span style='color:#8b949e'>content excerpt:</span>\n<span style='color:#8b949e'>  \"Takes a natural-language</span>\n<span style='color:#8b949e'>   description and writes a</span>\n<span style='color:#8b949e'>   SQL SELECT query. Supports</span>\n<span style='color:#8b949e'>   JOINs, aggregates, subqueries.\"</span>\n<span style='color:#8b949e'>files: none</span></pre></div><div class='panel'><div class='label'>Output: Classification</div><pre><span style='color:#58a6ff'>{</span>\n<span style='color:#3fb950'>  \"type\"</span><span style='color:#8b949e'>: </span><span style='color:#e3b341'>\"agent_instructions\"</span><span style='color:#8b949e'>,</span>\n<span style='color:#3fb950'>  \"invocation_type\"</span><span style='color:#8b949e'>: </span><span style='color:#e3b341'>\"agent\"</span><span style='color:#8b949e'>,</span>\n<span style='color:#3fb950'>  \"render_mode\"</span><span style='color:#8b949e'>: </span><span style='color:#e3b341'>\"terminal\"</span><span style='color:#8b949e'>,</span>\n<span style='color:#3fb950'>  \"requirements\"</span><span style='color:#8b949e'>: {</span>\n<span style='color:#3fb950'>    \"api_access\"</span><span style='color:#8b949e'>: false,</span>\n<span style='color:#3fb950'>    \"tools\"</span><span style='color:#8b949e'>: []</span>\n<span style='color:#8b949e'>  },</span>\n<span style='color:#3fb950'>  \"risk_level\"</span><span style='color:#8b949e'>: </span><span style='color:#e3b341'>\"low\"</span><span style='color:#8b949e'>,</span>\n<span style='color:#3fb950'>  \"reasoning\"</span><span style='color:#8b949e'>: </span><span style='color:#e3b341'>\"Pure text transformation.</span>\n<span style='color:#e3b341'>   No external access required.\"</span>\n<span style='color:#58a6ff'>}</span></pre></div></div></body></html>"}}