skill-vetter
Skill Vetter is a security protocol for inspecting code before installing skills in AI agent environments. Use this vetting process before adding any skill from platform markets, skillhub, GitHub repositories, or other sources to check for suspicious patterns, unauthorized permissions, and malicious code. The protocol includes source verification, temporary installation with file inspection, and approval before formal installation.
git clone --depth 1 https://github.com/dtyq/magic /tmp/skill-vetter && cp -r /tmp/skill-vetter/backend/super-magic/agents/skills/skill-vetter ~/.claude/skills/skill-vetterSKILL.md
# Skill Vetter Security-first vetting protocol for AI agent skills. **Never install a skill without vetting it first.** ## When to Use - Before installing any skill from the platform skill market - Before installing external skills from skillhub - Before running skills from GitHub repositories - When evaluating skills shared by other agents - Anytime you are asked to install unknown code --- ## Vetting Protocol ### Step 1: Source Check Questions to answer: - Where did this skill come from? (platform market / skillhub / GitHub / other) - Is the author known or reputable? - How many downloads or stars does it have? - When was it last updated? - Are there reviews from other agents? ### Step 2: Preview Install to Temp Dir, Then Read All Files **Do not install to the real skills directory yet. Install to a temp directory first for inspection.** Choose the preview method based on the source: **skillhub source** (supports `--dir` for temp directory): ```bash skillhub --dir /tmp/skillhub-preview/ install <slug> ``` After install, use `shell_exec` to list and read all files: ```bash # List all files shell_exec(command="find /tmp/skillhub-preview/<skill-name> -type f | sort") # Read each file shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/SKILL.md") shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/scripts/<file>.py") # ... read all scripts, configs, and reference files ``` If approved, run the normal install without `--dir`. Either way, clean up the temp dir: ```bash shell_exec(command="rm -rf /tmp/skillhub-preview/") ``` **Platform market / my skill library source** (also supports `--dir` for temp directory): ```bash shell_exec(command="skillhub install-platform-me <code> --dir /tmp/skillhub-preview/") # or shell_exec(command="skillhub install-platform-market <code> --dir /tmp/skillhub-preview/") ``` After install, use `shell_exec` to list and read all files: ```bash # List all files shell_exec(command="find /tmp/skillhub-preview/<skill-name> -type f | sort") # Read each file shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/SKILL.md") shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/scripts/<file>.py") # ... read all files ``` If approved, run the normal install without `--dir`. Either way, clean up the temp dir: ```bash shell_exec(command="rm -rf /tmp/skillhub-preview/") ``` ### Step 3: Code Review (MANDATORY) Read ALL files in the skill. Reject immediately if any of the following are present: ``` REJECT IMMEDIATELY IF YOU SEE: ───────────────────────────────────────── - curl/wget to unknown URLs - Sends data to external servers - Requests credentials, tokens, or API keys - Reads ~/.ssh, ~/.aws, ~/.config without clear reason - Accesses MEMORY.md, USER.md, SOUL.md, IDENTITY.md - Uses base64 decode on anything - Uses eval() or exec() with external input - Modifies system files outside the workspace - Installs packages without listing them explicitly - Network calls to raw IP addresses instead of domains - Obfuscated code (compressed, encoded, or minified) - Requests elevated or sudo permissions - Accesses browser cookies or sessions - Touches credential files ───────────────────────────────────────── ``` ### Step 4: Permission Scope Evaluate: - What files does it need to read? - What files does it need to write? - What commands does it run? - Does it need network access? To where? - Is the scope minimal for its stated purpose? ### Step 5: Risk Classification | Risk Level | Examples | Action | |------------|----------|--------| | LOW | Notes, weather, formatting | Basic review, install OK | | MEDIUM | File ops, browser, external APIs | Full code review required | | HIGH | Credentials, trading, system commands | Human approval required | | EXTREME | Security configs, root access | Do NOT install | --- ## Output Format After vetting, produce this report: ``` SKILL VETTING REPORT ======================================= Skill: [name] Source: [platform market / skillhub / GitHub / other] Author: [username] Version: [version] --------------------------------------- METRICS: - Downloads/Stars: [count] - Last Updated: [date] - Files Reviewed: [count] --------------------------------------- RED FLAGS: [None / list them] PERMISSIONS NEEDED: - Files: [list or "None"] - Network: [list or "None"] - Commands: [list or "None"] --------------------------------------- RISK LEVEL: [LOW / MEDIUM / HIGH / EXTREME] VERDICT: [SAFE TO INSTALL / INSTALL WITH CAUTION / DO NOT INSTALL] NOTES: [Any observations] ======================================= ``` --- ## Trust Hierarchy 1. **Official platform skills** (published via platform market) — lower scrutiny (still review) 2. **High-star repos (1000+)** — moderate scrutiny 3. **Known authors** — moderate scrutiny 4. **New or unknown sources** — maximum scrutiny 5. **Skills requesting credentials** — human approval always required --- ## Principles - No skill is worth compromising security - When in doubt, do not install - Escalate high-risk decisions to the user - Document what you vet for future reference
Core canvas design skill covering project management, multimedia principles, AI image generation, web image search, and design marker processing. Load for any canvas design task. CRITICAL - When user message contains [@design_canvas_project:...] or [@design_marker:...] mentions, or when the user wants to generate video/animation/clip on a canvas project, you MUST load this skill first before any operations.
Summarize and compress the current conversation history into a structured context snapshot, then call compact_chat_history to save it. Read this skill only when the user explicitly asks to compact/summarize — system-triggered compaction injects the instructions directly without requiring a skill read.
Slide/PPT creation skill that provides complete slide creation, editing, and management capabilities. Use when users need to create slides, make presentations, edit slide content, or manage slide projects. CRITICAL - When user message contains [@slide_project:...] mention, you MUST load this skill first before any operations.
|
|
Data analysis dashboard (instrument panel) development skill. Use when users need to develop data dashboards, create/edit Dashboard projects, build large-screen data boards, or perform dashboard data cleaning. Includes dashboard project creation, card plan, data cleaning (data_cleaning.py), card management tools (create_dashboard_cards, update_dashboard_cards, delete_dashboard_cards, query_dashboard_cards), map download tool (download_dashboard_maps), dashboard development, and validation.
Use when the user wants to interact with DingTalk in any way — including but not limited to: reading, querying, searching, sending, replying to, forwarding, or recalling DingTalk chat messages and chat history; managing group chats and conversations; sending DING alerts; querying contacts, org structure, AI search, or coworkers; reading, searching, creating, or editing DingTalk docs, drive files, sheets, AI tables, wiki, mail, calendar events, meeting rooms, AI meeting minutes, attendance, OA approvals, todos, reports/logs, live sessions, AI apps, permissions, or open-platform docs.