Skill Reviewer 审计 Claude Code skills 的质量和兼容性。作为编排器,委托已有工具处理结构/质量检查,自身专注兼容性审计。 Prerequisites | Tool | Type | Required | Install | |------|------|----------|---------| | skill-creator | skill | Yes | Built-in on most AI coding agents (Claude Code, Cursor, etc.) | Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool, directly guide the user through installation and configuration step by step. 审计流程 Step 1: 结构校验(委托) 运行 skill-reviewer 自带的校验脚本,汇总 YAML frontmatter、name 格式、description 格式等结果: 若脚本不可用(如未通过 npx skills 安装),手动检查每个 SKILL.md 的 YAML frontmatter:name(hyp…

, name):\n return False, f\"Name '{name}' should be hyphen-case (lowercase letters, digits, and hyphens only)\"\n if name.startswith('-') or name.endswith('-') or '--' in name:\n return False, f\"Name '{name}' cannot start/end with hyphen or contain consecutive hyphens\"\n # Check name length (max 64 characters per spec)\n if len(name) > 64:\n return False, f\"Name is too long ({len(name)} characters). Maximum is 64 characters.\"\n\n # Extract and validate description\n description = frontmatter.get('description', '').strip()\n if description:\n # Check for angle brackets\n if '\u003c' in description or '>' in description:\n return False, \"Description cannot contain angle brackets (\u003c or >)\"\n # Check description length (max 1024 characters per spec)\n if len(description) > 1024:\n return False, f\"Description is too long ({len(description)} characters). Maximum is 1024 characters.\"\n\n return True, \"Skill is valid!\"\n\nif __name__ == \"__main__\":\n if len(sys.argv) != 2:\n print(\"Usage: python quick_validate.py \u003cskill_directory>\")\n sys.exit(1)\n\n valid, message = validate_skill(sys.argv[1])\n print(message)\n sys.exit(0 if valid else 1)\n","content_type":"text/x-python; charset=utf-8","language":"python","size":4141,"content_sha256":"fad5b64dfef85a676001af4fb9d962b145269b6b035cbcff8d36282dd024fe76"},{"filename":"scripts/validate.sh","content":"#!/bin/bash\n# Validate all skills in the repository\n# This script is self-contained: it resolves its own location via SCRIPT_DIR\n# so it works correctly when installed as a symlink (e.g., via npx skills add).\n\n# Resolve the real directory of this script (follows symlinks)\nSCRIPT_DIR=\"$(cd \"$(dirname \"$0\")\" && pwd)\"\n\necho \"🔍 Validating skills...\"\necho \"\"\n\nfound_skills=false\nhas_errors=false\n\nfor skill_dir in skills/*/SKILL.md; do\n if [ -f \"$skill_dir\" ]; then\n found_skills=true\n skill_name=$(dirname \"$skill_dir\")\n echo \"Checking: $skill_name\"\n\n if python3 \"$SCRIPT_DIR/quick_validate.py\" \"$skill_name\"; then\n echo \"✅ $skill_name is valid\"\n else\n echo \"❌ $skill_name has errors\"\n has_errors=true\n fi\n echo \"\"\n fi\ndone\n\nif [ \"$found_skills\" = false ]; then\n echo \"⚠️ No skills found\"\n exit 1\nfi\n\nif [ \"$has_errors\" = true ]; then\n echo \"❌ Some skills have validation errors\"\n exit 1\nelse\n echo \"✅ All skills are valid!\"\n exit 0\nfi\n","content_type":"application/x-sh; charset=utf-8","language":"bash","size":1056,"content_sha256":"062c5b94ebd0053a7e5112d1a2b7e95258e729e01cdba00a6b8796e4915a2d69"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"Skill Reviewer","type":"text"}]},{"type":"paragraph","content":[{"text":"审计 Claude Code skills 的质量和兼容性。作为编排器,委托已有工具处理结构/质量检查,自身专注兼容性审计。","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Prerequisites","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Tool","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Type","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Required","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Install","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"skill-creator","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"skill","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Yes","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Built-in on most AI coding agents (Claude Code, Cursor, etc.)","type":"text"}]}]}]}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool, directly guide the user through installation and configuration step by step.","type":"text"}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"审计流程","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 1: 结构校验(委托)","type":"text"}]},{"type":"paragraph","content":[{"text":"运行 skill-reviewer 自带的校验脚本,汇总 YAML frontmatter、name 格式、description 格式等结果:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"bash \u003cskill-reviewer-dir>/scripts/validate.sh","type":"text"}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"若脚本不可用(如未通过 npx skills 安装),手动检查每个 SKILL.md 的 YAML frontmatter:name(hyphen-case,≤64 字符)、description(无尖括号,≤1024 字符)。","type":"text"}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2: 内容质量(委托)","type":"text"}]},{"type":"paragraph","content":[{"text":"MUST 执行","type":"text","marks":[{"type":"strong"}]},{"text":":调用 ","type":"text"},{"text":"skill-creator","type":"text","marks":[{"type":"code_inline"}]},{"text":" skill 进行深度质量审查(token 效率、渐进式披露、反模式、description 基准测试等)。","type":"text"}]},{"type":"paragraph","content":[{"text":"若 ","type":"text"},{"text":"skill-creator","type":"text","marks":[{"type":"code_inline"}]},{"text":" 不可用,","type":"text"},{"text":"MUST 停下并引导用户确认","type":"text","marks":[{"type":"strong"}]},{"text":",不得跳过。大多数 AI 编码 agent 内置了 skill-creator:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Claude Code: ","type":"text"},{"text":"document-skills:skill-creator","type":"text","marks":[{"type":"code_inline"}]},{"text":" 或 ","type":"text"},{"text":"skill-creator:skill-creator","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"其他 agent: 检查对应的 skill 管理功能","type":"text"}]}]}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"此步骤不可跳过。没有 skill-creator 的审计是不完整的。","type":"text"}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 3: 兼容性审计(自身核心)","type":"text"}]},{"type":"paragraph","content":[{"text":"按 ","type":"text"},{"text":"references/compatibility-checklist.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" 逐项检查目标 skill 的所有文件(SKILL.md + scripts/ + references/):","type":"text"}]},{"type":"paragraph","content":[{"text":"3a. 跨平台兼容性","type":"text","marks":[{"type":"strong"}]},{"text":" — 扫描平台锁定模式(macOS-only 命令、Windows 不兼容项等)。","type":"text"}]},{"type":"paragraph","content":[{"text":"3b. 跨 Agent 兼容性","type":"text","marks":[{"type":"strong"}]},{"text":" — 检测 Claude Code 专属工具引用和 MCP 依赖。","type":"text"}]},{"type":"paragraph","content":[{"text":"3c. npx skills 生态兼容性","type":"text","marks":[{"type":"strong"}]},{"text":" — 校验 marketplace.json 注册、symlink 可用性、跨 skill 依赖。","type":"text"}]},{"type":"paragraph","content":[{"text":"3d. 工具引用规范","type":"text","marks":[{"type":"strong"}]},{"text":" — 检查是否保留了 Claude Code 工具术语并提供了其他环境的 fallback 备注。详见 checklist 的 \"Tool Reference Best Practices\" 部分。","type":"text"}]},{"type":"paragraph","content":[{"text":"3e. Prerequisites 声明","type":"text","marks":[{"type":"strong"}]},{"text":" — 检查 SKILL.md 是否声明了外部依赖:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"如果 skill 使用了外部 CLI 工具(","type":"text"},{"text":"git","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"gh","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"reminders-cli","type":"text","marks":[{"type":"code_inline"}]},{"text":" 等)、MCP 服务器、或其他 skill,MUST 有 ","type":"text"},{"text":"## Prerequisites","type":"text","marks":[{"type":"code_inline"}]},{"text":" 章节","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Prerequisites 必须是 body 中第一个 ","type":"text"},{"text":"##","type":"text","marks":[{"type":"code_inline"}]},{"text":" 章节","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"章节内 MUST 包含 4 列表格:Tool / Type / Required / Install","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Type 列 MUST 使用标准值:","type":"text"},{"text":"cli","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"mcp","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"skill","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"system","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"表格后 MUST 有被动检查说明(blockquote),明确要求在执行失败时直接引导用户完成安装配置,而非指向外部文档","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"需要配置的工具(如 MCP 服务器、需要 auth 的 CLI)SHOULD 在 Install 列提供可执行的安装命令和配置步骤,或引用 skill 自带的 references/ 文档","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"无外部依赖的 skill 不需要此章节","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"详见 ","type":"text"},{"text":"references/compatibility-checklist.md","type":"text","marks":[{"type":"code_inline"}]},{"text":"。","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 4: 输出报告","type":"text"}]},{"type":"paragraph","content":[{"text":"使用以下格式输出统一报告:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"markdown"},"content":[{"text":"## Skill Review: {skill-name}\n\n### 总览\n| 维度 | 状态 | 方式 |\n|------|------|------|\n| 结构与元数据 | PASS / FAIL | validate.sh |\n| 内容质量 | PASS / FAIL (N issues) | skill-creator |\n| 平台兼容性 | PASS / FAIL (N issues) | 自查 |\n| Agent 兼容性 | PASS / FAIL (N issues) | 自查 |\n| npx skills 生态 | PASS / FAIL (N issues) | 自查 |\n| Prerequisites 声明 | PASS / WARN / N/A | 自查 |\n\n### Critical\n- **[维度]** 问题描述\n 当前: ...\n 建议: ...\n\n### High\n...\n\n### Medium / Low\n...","type":"text"}]},{"type":"paragraph","content":[{"text":"严重度分级:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Critical","type":"text","marks":[{"type":"strong"}]},{"text":" — 功能不可用或分发失败,必须修复","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"High","type":"text","marks":[{"type":"strong"}]},{"text":" — 显著影响可用范围,建议修复","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Medium","type":"text","marks":[{"type":"strong"}]},{"text":" — 可改进项,不影响核心功能","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Low","type":"text","marks":[{"type":"strong"}]},{"text":" — 建议性改进","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}}]},"metadata":{"date":"2026-06-05","name":"skill-reviewer","author":"@skillopedia","source":{"stars":11,"repo_name":"skill","origin_url":"https://github.com/niracler/skill/blob/HEAD/skills/workflow/skill-reviewer/SKILL.md","repo_owner":"niracler","body_sha256":"f09f80e89a3ac65715aa09d7679fec9c4647530036d51eff4b7c038885d1630f","cluster_key":"345566b60eb9079ca979c25d192ef264af5ea395d6b0fd17086a86612b6ae4a2","clean_bundle":{"format":"clean-skill-bundle-v1","source":"niracler/skill/skills/workflow/skill-reviewer/SKILL.md","attachments":[{"id":"85c2ba11-469c-5dfd-84a5-f21c44e320a4","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/85c2ba11-469c-5dfd-84a5-f21c44e320a4/attachment.md","path":"references/compatibility-checklist.md","size":4989,"sha256":"65ad0626b23c8569abf04b7bc45980f456c585429f4bd33eece0c250a22c6b9d","contentType":"text/markdown; charset=utf-8"},{"id":"da0c2f93-6905-5a26-b7a2-823a5196e933","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/da0c2f93-6905-5a26-b7a2-823a5196e933/attachment.py","path":"scripts/quick_validate.py","size":4141,"sha256":"fad5b64dfef85a676001af4fb9d962b145269b6b035cbcff8d36282dd024fe76","contentType":"text/x-python; charset=utf-8"},{"id":"1c57e3bc-39f7-5c76-a3bf-c2a5860c8732","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/1c57e3bc-39f7-5c76-a3bf-c2a5860c8732/attachment.sh","path":"scripts/validate.sh","size":1056,"sha256":"062c5b94ebd0053a7e5112d1a2b7e95258e729e01cdba00a6b8796e4915a2d69","contentType":"application/x-sh; charset=utf-8"}],"bundle_sha256":"3d8fd4c9d662ea99c2ab8220eeebade41294da92e9018ef12e654c7c299cef67","attachment_count":3,"text_attachments":3,"attachment_storage":"skillopedia-attachments-v1","binary_attachments":0,"excluded_attachments":[]},"cluster_size":1,"skill_md_path":"skills/workflow/skill-reviewer/SKILL.md","import_metadata":{"date":"2026-06-05","author":"@skillopedia","version":"v1","category":"security","category_label":"Security"},"exact_dupes_collapsed_into_this":0},"version":"v1","category":"security","metadata":{"openclaw":{"emoji":"🔍"}},"import_tag":"clean-skills-v1","description":"Use this skill to audit, review, or validate Claude Code skills (.md files in .claude/commands/). Invoke when user wants to check skill quality, cross-platform compatibility, cross-agent compatibility, prerequisite declarations, or description triggering accuracy. Triggers on: 审查 skill, review skill, 检查 skill 质量, skill 兼容性检查, validate skill, audit skill. This skill delegates structure validation to validate.sh, content quality to skill-creator, and handles compatibility auditing itself. Do NOT use for general code review, reviewing PRs, or reviewing CLAUDE.md."}},"renderedAt":1782988093656}

Skill Reviewer 审计 Claude Code skills 的质量和兼容性。作为编排器,委托已有工具处理结构/质量检查,自身专注兼容性审计。 Prerequisites | Tool | Type | Required | Install | |------|------|----------|---------| | skill-creator | skill | Yes | Built-in on most AI coding agents (Claude Code, Cursor, etc.) | Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool, directly guide the user through installation and configuration step by step. 审计流程 Step 1: 结构校验(委托) 运行 skill-reviewer 自带的校验脚本,汇总 YAML frontmatter、name 格式、description 格式等结果: 若脚本不可用(如未通过 npx skills 安装),手动检查每个 SKILL.md 的 YAML frontmatter:name(hyp…