[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SY0V0FBDY99Y0Y5GCARTY":3,"skill-same:01M71SY0V0FBDY99Y0Y5GCARTY":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M71SY0V0FBDY99Y0Y5GCARTY","skill-reviewer",null,"Analyzes pi skills — both remote (URL\u002FGitHub) and local (installed on disk). Fetches the skill, runs a security audit, summarizes what it does and which problems it solves, then polls multiple AI models for a multi-model consensus rating. Use this skill whenever the user shares a link to a skill and wants to know if it's safe and worth installing, asks to review or evaluate a skill from GitHub, asks to audit an already installed local skill, says something like 'check this skill', 'review my skills', 'should I install this', 'audit this skill', or wants a second opinion on a skill's quality. Also triggers on 'проанализируй скилл', 'проверь скилл по ссылке', 'оцени скилл', 'проверь локальный скилл' — works in both English and Russian.","Artawower\u002Fkaizen","Artawower","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16963833?v=4","01M71SV5H0DRR8KXVGD4R51Z99","Art","01M71SV5J1B97T7349GGXQCYXT",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fskill-reviewer\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"reviewer","skill reviewer","my","ai models","a skill","install","safe","audit","english","review","disk","URL","remote","local","russian","rating","security audit","model","consensus","which","2026-11-10 13:02:02",false,"---\nname: skill-reviewer\ndescription: \"Analyzes pi skills — both remote (URL\u002FGitHub) and local (installed on disk). Fetches the skill, runs a security audit, summarizes what it does and which problems it solves, then polls multiple AI models for a multi-model consensus rating. Use this skill whenever the user shares a link to a skill and wants to know if it's safe and worth installing, asks to review or evaluate a skill from GitHub, asks to audit an already installed local skill, says something like 'check this skill', 'review my skills', 'should I install this', 'audit this skill', or wants a second opinion on a skill's quality. Also triggers on 'проанализируй скилл', 'проверь скилл по ссылке', 'оцени скилл', 'проверь локальный скилл' — works in both English and Russian.\"\n---\n\n# Skill Reviewer\n\nAnalyzes pi skills — both remote (URLs) and local (installed on disk). Checks for security issues, produces a concise summary, gathers multi-model opinions, and recommends whether to install or keep the skill.\n\n## When this skill triggers\n\n- User shares a URL pointing to a skill (GitHub repo, raw file, Gist, etc.)\n- User asks to evaluate, review, or check a skill before installing\n- User asks to review an already installed local skill by name or path\n- User asks \"should I install this skill?\", \"review my skills\", \"audit this skill\"\n- Russian equivalents: \"проанализируй скилл\", \"проверь\", \"стоит ли ставить\", \"проверь локальный скилл\"\n\n## Detecting the source\n\nThe input can be:\n\n| Input type | Examples | Detection |\n|-----------|----------|-----------|\n| **GitHub URL** | `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo`, `owner\u002Frepo` | Contains `github.com` or matches `owner\u002Frepo` pattern |\n| **Direct URL** | `https:\u002F\u002Fexample.com\u002Fskill\u002FSKILL.md`, Gist | Any other URL |\n| **Local skill name** | `code-review`, `my-custom-skill` | Just a name, no `\u002F` or `:\u002F\u002F`, and exists in skills folder |\n| **Local path** | `.\u002Fmy-skill\u002FSKILL.md`, `~\u002F.config\u002F.pi\u002Fskills\u002Fsome-skill\u002F` | Starts with `\u002F`, `.\u002F`, `~\u002F`, or is an existing path |\n| **Ambiguous** | `my-skill` — name or repo? | Check if `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cinput>\u002F` exists first → local. Otherwise remote. |\n\nWhen in doubt, check the local filesystem first — if `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cinput>\u002FSKILL.md` exists, it's a local skill.\n\nIf the user provides a remote URL for a skill that is already installed locally, warn them: \"This skill is already installed at `\u003Cpath>`. Reinstall \u002F update \u002F review the installed version?\" — and let them choose.\n\n## Step 1: Load the skill content\n\n### Remote skill (URL)\n\nUse `ctx_fetch_and_index` for the URL. For GitHub repos, construct the raw URL:\n\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo` → `https:\u002F\u002Fraw.githubusercontent.com\u002Fowner\u002Frepo\u002Fmain\u002FSKILL.md`\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo\u002Ftree\u002Fmain\u002Fpath\u002Fto\u002Fskill` → `https:\u002F\u002Fraw.githubusercontent.com\u002Fowner\u002Frepo\u002Fmain\u002Fpath\u002Fto\u002Fskill\u002FSKILL.md`\n- If `main` fails, try `master`.\n- For direct raw URLs or Gists, fetch as-is.\n\nDiscover bundled resources: fetch the repo tree via `https:\u002F\u002Fapi.github.com\u002Frepos\u002Fowner\u002Frepo\u002Fgit\u002Ftrees\u002Fmain?recursive=1`. Look for `scripts\u002F`, `references\u002F`, `assets\u002F`. Fetch important files — especially `scripts\u002F` (executable, high security relevance).\n\n### Local skill (name or path)\n\n1. Resolve the path:\n   - By name: `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cname>\u002FSKILL.md`\n   - By path: use as-is\n2. Read SKILL.md with the `read` tool\n3. List all files recursively with `ls -R` or `serena_list_dir(recursive=true)`\n4. Read bundled files — especially `scripts\u002F` (executable code, high priority for security), skim `references\u002F` and `assets\u002F`\n5. Note total directory size\n\nLocal skills give you full filesystem access — read every file. Don't skip bundled resources.\n\n### Output of this step\n\nRegardless of source, you should now have:\n- Full text of SKILL.md\n- Contents of all bundled files\n- File listing and total size\n- Source metadata (URL for remote, local path for local)\n\n## Step 2: Security audit\n\nRead `references\u002Fsecurity-checklist.md` from this skill's directory. Run through every item against the loaded content.\n\nFor local skills, pay extra attention to `scripts\u002F` — these are executable files running on the user's machine. Read them fully.\n\nFlag issues as:\n- 🔴 **Critical** — could cause real harm (data exfiltration, system modification, credential theft)\n- 🟡 **Warning** — suspicious but may be justified by the skill's purpose\n- 🟢 **Clean** — no issues found\n\nCite exact lines, file names, or patterns that triggered each flag.\n\n**Example output format:**\n```\n### Security\n🟢 Clean — no issues found\n\n### Security (if issues exist)\n🟡 Warning: scripts\u002Fdeploy.sh runs `curl | bash` on line 14\n   → Installs unverified code from the internet\n🟡 Warning: SKILL.md references `$AWS_SECRET_KEY` without justification\n   → Could encourage credential exposure\n🔴 Critical: scripts\u002Ftelemetry.sh POSTs to `https:\u002F\u002Fexample.com\u002Fcollect`\n   → Silently exfiltrates skill usage data\n```\n\n## Step 3: Summary\n\nProduce a concise summary:\n\n1. **What it does** — 1-2 sentences in plain language\n2. **Problems it solves** — bullet list of concrete use cases\n3. **Dependencies** — required tools, MCPs, APIs\n4. **Complexity** — simple \u002F moderate \u002F complex (with justification)\n5. **Skill structure** — files included, approximate total size\n\nKeep it factual. No marketing language.\n\n## Step 4: Multi-model evaluation\n\n> **Data exposure notice:** This step sends the full skill text to external AI models. The content leaves your machine. If the skill under review contains proprietary or sensitive code, warn the user before proceeding and offer to skip this step.\n>\n> **Fallback:** If no multi-model tooling is available, skip this step entirely. Note in the report: \"Model evaluation skipped — no multi-model tooling available.\"\n\nThe goal is to get independent opinions from at least 3 different AI model families (e.g. Anthropic, OpenAI, Google, Chinese labs) to reduce single-provider bias. The more diverse the model set, the more trustworthy the consensus.\n\n### How to query models\n\nUse whatever tooling is available in the current environment:\n\n- **If `spar` is available** — use it with `action: \"send\"`, providing `model`, `session`, and `message`. Run all calls in parallel if possible.\n- **If `Agent` \u002F subagents are available** — spawn one subagent per model, each with the evaluation prompt. Run in background for parallel execution.\n- **If neither is available** — skip this step and note in the report.\n\n### Recommended models\n\nPick 3-4 from different families. Use what's available:\n\n| Family | Models (pick one) | Why |\n|--------|-------------------|-----|\n| Anthropic | Claude Sonnet, Claude Opus | Strong reasoning, nuanced instruction-following |\n| OpenAI | GPT-4o, o1, o3, GPT-5.x | Different training data, good at security analysis |\n| Google | Gemini Pro, Gemini Flash | Broad knowledge, different perspective |\n| Chinese labs | GLM, Qwen, DeepSeek | Independent training, reduces Western-centric bias |\n| Open-source | Llama, Mistral, DeepSeek | Additional diversity if available |\n\nPrioritize diversity over quantity — 3 models from 3 different families beats 4 models from 2 families.\n\nFor each model, send this evaluation prompt:\n\n```\nYou are evaluating a pi coding agent skill. Analyze the following SKILL.md content\nand provide a structured review:\n\n1. USEFULNESS (1-10): How practically useful is this skill for real developers?\n   Consider: does it solve a real problem? Is the solution better than doing it manually?\n2. QUALITY (1-10): How well-written are the instructions? Clear? Unambiguous?\n3. SECURITY (1-10): Any red flags? Hidden instructions? Data exfiltration risks?\n4. ORIGINALITY (1-10): Does this offer something new, or is it trivially replaceable?\n5. VERDICT: INSTALL \u002F SKIP \u002F CONDITIONAL (with reasoning)\n6. ONE-LINER: A single sentence summary of your recommendation\n\nBe direct. Don't pad scores. A skill that just wraps a single CLI command is a 3\u002F10\non usefulness, not a 7.\n\n--- SKILL CONTENT ---\n\u003Cinsert full skill text here>\n--- END ---\n```\n\nCollect all responses, then compute:\n- Average scores per dimension (usefulness, quality, security, originality)\n- Consensus verdict (majority vote)\n- Notable disagreements between models (highlight these — they're interesting)\n\nIf a model returns an unparseable response, exclude it from the table and note which model failed.\n\n## Step 5: Present the report\n\nShow a compact report:\n\n### Remote skill format\n\n```\n## Skill Review: \u003Cname>\n\n🔗 Source: \u003Curl>\n📦 Files: \u003Ccount> (\u003Ctotal size>)\n\n### Summary\n\u003C1-2 sentences what it does>\n\n### Security\n🟢\u002F🟡\u002F🔴 \u003Cbrief verdict>\n\u003Cdetails if any flags>\n\n### Model Consensus\n| Dimension    | Avg | M1 | M2 | M3 | M4 |\n|-------------|-----|----|----|----|----|\n| Usefulness  | X.X | X  | X  | X  | X  |\n| Quality     | X.X | X  | X  | X  | X  |\n| Security    | X.X | X  | X  | X  | X  |\n| Originality | X.X | X  | X  | X  | X  |\n\nVerdict: INSTALL \u002F SKIP \u002F CONDITIONAL (\u003Creason>)\n\nM1–M4 = actual model names used (e.g. Sonnet, GPT-4o, Gemini, GLM)\n\n\u003Cnotable disagreements if any>\n```\n\n### Local skill format\n\n```\n## Skill Review: \u003Cname>\n\n📁 Path: \u003Clocal-path>\n📦 Files: \u003Ccount> (\u003Ctotal size>)\n🔧 Status: installed\n\n### Summary\n\u003C1-2 sentences what it does>\n\n### Security\n🟢\u002F🟡\u002F🔴 \u003Cbrief verdict>\n\u003Cdetails if any flags>\n\n### Model Consensus\n| Dimension    | Avg | M1 | M2 | M3 | M4 |\n|-------------|-----|----|----|----|----|\n| Usefulness  | X.X | X  | X  | X  | X  |\n| Quality     | X.X | X  | X  | X  | X  |\n| Security    | X.X | X  | X  | X  | X  |\n| Originality | X.X | X  | X  | X  | X  |\n\nVerdict: KEEP \u002F UNINSTALL \u002F IMPROVE (\u003Creason>)\n\nM1–M4 = actual model names used (e.g. Sonnet, GPT-4o, Gemini, GLM)\n\n\u003Cnotable disagreements if any>\n```\n\nNote: local skills use KEEP \u002F UNINSTALL \u002F IMPROVE instead of INSTALL \u002F SKIP.\n\nAdapt report language to match the user's language (Russian prompt → Russian report).\n\n## Step 6: Action\n\n### Remote skill — offer installation\n\nAsk the user: \"Install this skill?\" (or Russian equivalent)\n\nIf yes, try in order:\n\n1. **skillfish add** — if the source is a GitHub repo:\n   ```bash\n   skillfish add \u003Cowner\u002Frepo> [--path path\u002Fto\u002Fskill] --global\n   ```\n   Use `--global` by default (installs to `~\u002F.config\u002F.pi\u002Fskills\u002F`).\n\n2. **git clone** — if skillfish fails but git is available:\n   ```bash\n   git clone \u003Crepo-url> \u002Ftmp\u002F\u003Cskill-name>\n   cp -r \u002Ftmp\u002F\u003Cskill-name>\u002F\u003Cskill-dir> ~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cskill-name>\n   ```\n\n3. **Manual copy** — if neither works:\n   - Create `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cskill-name>\u002F`\n   - Write the SKILL.md content directly\n   - Write any bundled files (scripts, references, assets)\n\nAfter installation, verify: check that `SKILL.md` exists, is readable, and contains valid frontmatter (has `name:` and `description:` fields).\n\n### Local skill — offer follow-up actions\n\nFor local skills, ask what the user wants to do based on the review:\n\n- **If positive (KEEP)**: \"Skill looks good. No action needed.\"\n- **If negative (UNINSTALL)**: offer to remove: `rm -rf ~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cname>\u002F` or `skillfish remove \u003Cname>`\n- **If mixed (IMPROVE)**: offer specific suggestions for improvement based on the model feedback\n\n## Error handling\n\n| Situation | Action |\n|-----------|--------|\n| URL unreachable \u002F 404 | Tell the user, stop. Don't proceed with partial data |\n| GitHub API rate-limited (403) | Try raw URL directly. If both fail, tell the user |\n| No multi-model tooling available | Skip Step 4, note in report: \"model evaluation skipped — no multi-model tooling available\" |\n| Model returns unparseable response | Extract what you can. Exclude that model from the table |\n| `skillfish` not found | Fall back to git clone, then manual copy |\n| Skill already installed locally | Warn user, offer: update \u002F reinstall \u002F review installed version |\n\n## Notes\n\n- Always load the skill content first. If the URL is unreachable or the local path doesn't exist, tell the user and stop.\n- The security audit is not optional. Even simple skills get the full checklist.\n- Don't sugarcoat model scores. Honest assessments are the whole point.\n- If all models agree the skill is bad, say so clearly.\n- If the user is in a hurry, they can skip Step 4 (model polling). Note that evaluation was skipped in the report.\n- For local skills, read ALL bundled files — scripts especially. You have filesystem access, use it.\n","# Skill Reviewer\n\nAnalyzes pi skills — both remote (URLs) and local (installed on disk). Checks for security issues, produces a concise summary, gathers multi-model opinions, and recommends whether to install or keep the skill.\n\n## When this skill triggers\n\n- User shares a URL pointing to a skill (GitHub repo, raw file, Gist, etc.)\n- User asks to evaluate, review, or check a skill before installing\n- User asks to review an already installed local skill by name or path\n- User asks \"should I install this skill?\", \"review my skills\", \"audit this skill\"\n- Russian equivalents: \"проанализируй скилл\", \"проверь\", \"стоит ли ставить\", \"проверь локальный скилл\"\n\n## Detecting the source\n\nThe input can be:\n\n| Input type | Examples | Detection |\n|-----------|----------|-----------|\n| **GitHub URL** | `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo`, `owner\u002Frepo` | Contains `github.com` or matches `owner\u002Frepo` pattern |\n| **Direct URL** | `https:\u002F\u002Fexample.com\u002Fskill\u002FSKILL.md`, Gist | Any other URL |\n| **Local skill name** | `code-review`, `my-custom-skill` | Just a name, no `\u002F` or `:\u002F\u002F`, and exists in skills folder |\n| **Local path** | `.\u002Fmy-skill\u002FSKILL.md`, `~\u002F.config\u002F.pi\u002Fskills\u002Fsome-skill\u002F` | Starts with `\u002F`, `.\u002F`, `~\u002F`, or is an existing path |\n| **Ambiguous** | `my-skill` — name or repo? | Check if `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cinput>\u002F` exists first → local. Otherwise remote. |\n\nWhen in doubt, check the local filesystem first — if `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cinput>\u002FSKILL.md` exists, it's a local skill.\n\nIf the user provides a remote URL for a skill that is already installed locally, warn them: \"This skill is already installed at `\u003Cpath>`. Reinstall \u002F update \u002F review the installed version?\" — and let them choose.\n\n## Step 1: Load the skill content\n\n### Remote skill (URL)\n\nUse `ctx_fetch_and_index` for the URL. For GitHub repos, construct the raw URL:\n\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo` → `https:\u002F\u002Fraw.githubusercontent.com\u002Fowner\u002Frepo\u002Fmain\u002FSKILL.md`\n- `https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo\u002Ftree\u002Fmain\u002Fpath\u002Fto\u002Fskill` → `https:\u002F\u002Fraw.githubusercontent.com\u002Fowner\u002Frepo\u002Fmain\u002Fpath\u002Fto\u002Fskill\u002FSKILL.md`\n- If `main` fails, try `master`.\n- For direct raw URLs or Gists, fetch as-is.\n\nDiscover bundled resources: fetch the repo tree via `https:\u002F\u002Fapi.github.com\u002Frepos\u002Fowner\u002Frepo\u002Fgit\u002Ftrees\u002Fmain?recursive=1`. Look for `scripts\u002F`, `references\u002F`, `assets\u002F`. Fetch important files — especially `scripts\u002F` (executable, high security relevance).\n\n### Local skill (name or path)\n\n1. Resolve the path:\n   - By name: `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cname>\u002FSKILL.md`\n   - By path: use as-is\n2. Read SKILL.md with the `read` tool\n3. List all files recursively with `ls -R` or `serena_list_dir(recursive=true)`\n4. Read bundled files — especially `scripts\u002F` (executable code, high priority for security), skim `references\u002F` and `assets\u002F`\n5. Note total directory size\n\nLocal skills give you full filesystem access — read every file. Don't skip bundled resources.\n\n### Output of this step\n\nRegardless of source, you should now have:\n- Full text of SKILL.md\n- Contents of all bundled files\n- File listing and total size\n- Source metadata (URL for remote, local path for local)\n\n## Step 2: Security audit\n\nRead `references\u002Fsecurity-checklist.md` from this skill's directory. Run through every item against the loaded content.\n\nFor local skills, pay extra attention to `scripts\u002F` — these are executable files running on the user's machine. Read them fully.\n\nFlag issues as:\n- 🔴 **Critical** — could cause real harm (data exfiltration, system modification, credential theft)\n- 🟡 **Warning** — suspicious but may be justified by the skill's purpose\n- 🟢 **Clean** — no issues found\n\nCite exact lines, file names, or patterns that triggered each flag.\n\n**Example output format:**\n```\n### Security\n🟢 Clean — no issues found\n\n### Security (if issues exist)\n🟡 Warning: scripts\u002Fdeploy.sh runs `curl | bash` on line 14\n   → Installs unverified code from the internet\n🟡 Warning: SKILL.md references `$AWS_SECRET_KEY` without justification\n   → Could encourage credential exposure\n🔴 Critical: scripts\u002Ftelemetry.sh POSTs to `https:\u002F\u002Fexample.com\u002Fcollect`\n   → Silently exfiltrates skill usage data\n```\n\n## Step 3: Summary\n\nProduce a concise summary:\n\n1. **What it does** — 1-2 sentences in plain language\n2. **Problems it solves** — bullet list of concrete use cases\n3. **Dependencies** — required tools, MCPs, APIs\n4. **Complexity** — simple \u002F moderate \u002F complex (with justification)\n5. **Skill structure** — files included, approximate total size\n\nKeep it factual. No marketing language.\n\n## Step 4: Multi-model evaluation\n\n> **Data exposure notice:** This step sends the full skill text to external AI models. The content leaves your machine. If the skill under review contains proprietary or sensitive code, warn the user before proceeding and offer to skip this step.\n>\n> **Fallback:** If no multi-model tooling is available, skip this step entirely. Note in the report: \"Model evaluation skipped — no multi-model tooling available.\"\n\nThe goal is to get independent opinions from at least 3 different AI model families (e.g. Anthropic, OpenAI, Google, Chinese labs) to reduce single-provider bias. The more diverse the model set, the more trustworthy the consensus.\n\n### How to query models\n\nUse whatever tooling is available in the current environment:\n\n- **If `spar` is available** — use it with `action: \"send\"`, providing `model`, `session`, and `message`. Run all calls in parallel if possible.\n- **If `Agent` \u002F subagents are available** — spawn one subagent per model, each with the evaluation prompt. Run in background for parallel execution.\n- **If neither is available** — skip this step and note in the report.\n\n### Recommended models\n\nPick 3-4 from different families. Use what's available:\n\n| Family | Models (pick one) | Why |\n|--------|-------------------|-----|\n| Anthropic | Claude Sonnet, Claude Opus | Strong reasoning, nuanced instruction-following |\n| OpenAI | GPT-4o, o1, o3, GPT-5.x | Different training data, good at security analysis |\n| Google | Gemini Pro, Gemini Flash | Broad knowledge, different perspective |\n| Chinese labs | GLM, Qwen, DeepSeek | Independent training, reduces Western-centric bias |\n| Open-source | Llama, Mistral, DeepSeek | Additional diversity if available |\n\nPrioritize diversity over quantity — 3 models from 3 different families beats 4 models from 2 families.\n\nFor each model, send this evaluation prompt:\n\n```\nYou are evaluating a pi coding agent skill. Analyze the following SKILL.md content\nand provide a structured review:\n\n1. USEFULNESS (1-10): How practically useful is this skill for real developers?\n   Consider: does it solve a real problem? Is the solution better than doing it manually?\n2. QUALITY (1-10): How well-written are the instructions? Clear? Unambiguous?\n3. SECURITY (1-10): Any red flags? Hidden instructions? Data exfiltration risks?\n4. ORIGINALITY (1-10): Does this offer something new, or is it trivially replaceable?\n5. VERDICT: INSTALL \u002F SKIP \u002F CONDITIONAL (with reasoning)\n6. ONE-LINER: A single sentence summary of your recommendation\n\nBe direct. Don't pad scores. A skill that just wraps a single CLI command is a 3\u002F10\non usefulness, not a 7.\n\n--- SKILL CONTENT ---\n\u003Cinsert full skill text here>\n--- END ---\n```\n\nCollect all responses, then compute:\n- Average scores per dimension (usefulness, quality, security, originality)\n- Consensus verdict (majority vote)\n- Notable disagreements between models (highlight these — they're interesting)\n\nIf a model returns an unparseable response, exclude it from the table and note which model failed.\n\n## Step 5: Present the report\n\nShow a compact report:\n\n### Remote skill format\n\n```\n## Skill Review: \u003Cname>\n\n🔗 Source: \u003Curl>\n📦 Files: \u003Ccount> (\u003Ctotal size>)\n\n### Summary\n\u003C1-2 sentences what it does>\n\n### Security\n🟢\u002F🟡\u002F🔴 \u003Cbrief verdict>\n\u003Cdetails if any flags>\n\n### Model Consensus\n| Dimension    | Avg | M1 | M2 | M3 | M4 |\n|-------------|-----|----|----|----|----|\n| Usefulness  | X.X | X  | X  | X  | X  |\n| Quality     | X.X | X  | X  | X  | X  |\n| Security    | X.X | X  | X  | X  | X  |\n| Originality | X.X | X  | X  | X  | X  |\n\nVerdict: INSTALL \u002F SKIP \u002F CONDITIONAL (\u003Creason>)\n\nM1–M4 = actual model names used (e.g. Sonnet, GPT-4o, Gemini, GLM)\n\n\u003Cnotable disagreements if any>\n```\n\n### Local skill format\n\n```\n## Skill Review: \u003Cname>\n\n📁 Path: \u003Clocal-path>\n📦 Files: \u003Ccount> (\u003Ctotal size>)\n🔧 Status: installed\n\n### Summary\n\u003C1-2 sentences what it does>\n\n### Security\n🟢\u002F🟡\u002F🔴 \u003Cbrief verdict>\n\u003Cdetails if any flags>\n\n### Model Consensus\n| Dimension    | Avg | M1 | M2 | M3 | M4 |\n|-------------|-----|----|----|----|----|\n| Usefulness  | X.X | X  | X  | X  | X  |\n| Quality     | X.X | X  | X  | X  | X  |\n| Security    | X.X | X  | X  | X  | X  |\n| Originality | X.X | X  | X  | X  | X  |\n\nVerdict: KEEP \u002F UNINSTALL \u002F IMPROVE (\u003Creason>)\n\nM1–M4 = actual model names used (e.g. Sonnet, GPT-4o, Gemini, GLM)\n\n\u003Cnotable disagreements if any>\n```\n\nNote: local skills use KEEP \u002F UNINSTALL \u002F IMPROVE instead of INSTALL \u002F SKIP.\n\nAdapt report language to match the user's language (Russian prompt → Russian report).\n\n## Step 6: Action\n\n### Remote skill — offer installation\n\nAsk the user: \"Install this skill?\" (or Russian equivalent)\n\nIf yes, try in order:\n\n1. **skillfish add** — if the source is a GitHub repo:\n   ```bash\n   skillfish add \u003Cowner\u002Frepo> [--path path\u002Fto\u002Fskill] --global\n   ```\n   Use `--global` by default (installs to `~\u002F.config\u002F.pi\u002Fskills\u002F`).\n\n2. **git clone** — if skillfish fails but git is available:\n   ```bash\n   git clone \u003Crepo-url> \u002Ftmp\u002F\u003Cskill-name>\n   cp -r \u002Ftmp\u002F\u003Cskill-name>\u002F\u003Cskill-dir> ~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cskill-name>\n   ```\n\n3. **Manual copy** — if neither works:\n   - Create `~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cskill-name>\u002F`\n   - Write the SKILL.md content directly\n   - Write any bundled files (scripts, references, assets)\n\nAfter installation, verify: check that `SKILL.md` exists, is readable, and contains valid frontmatter (has `name:` and `description:` fields).\n\n### Local skill — offer follow-up actions\n\nFor local skills, ask what the user wants to do based on the review:\n\n- **If positive (KEEP)**: \"Skill looks good. No action needed.\"\n- **If negative (UNINSTALL)**: offer to remove: `rm -rf ~\u002F.config\u002F.pi\u002Fskills\u002F\u003Cname>\u002F` or `skillfish remove \u003Cname>`\n- **If mixed (IMPROVE)**: offer specific suggestions for improvement based on the model feedback\n\n## Error handling\n\n| Situation | Action |\n|-----------|--------|\n| URL unreachable \u002F 404 | Tell the user, stop. Don't proceed with partial data |\n| GitHub API rate-limited (403) | Try raw URL directly. If both fail, tell the user |\n| No multi-model tooling available | Skip Step 4, note in report: \"model evaluation skipped — no multi-model tooling available\" |\n| Model returns unparseable response | Extract what you can. Exclude that model from the table |\n| `skillfish` not found | Fall back to git clone, then manual copy |\n| Skill already installed locally | Warn user, offer: update \u002F reinstall \u002F review installed version |\n\n## Notes\n\n- Always load the skill content first. If the URL is unreachable or the local path doesn't exist, tell the user and stop.\n- The security audit is not optional. Even simple skills get the full checklist.\n- Don't sugarcoat model scores. Honest assessments are the whole point.\n- If all models agree the skill is bad, say so clearly.\n- If the user is in a hurry, they can skip Step 4 (model polling). Note that evaluation was skipped in the report.\n- For local skills, read ALL bundled files — scripts especially. You have filesystem access, use it.\n",{"name":5,"description":7},"master","cbded6c96796a063405af105d5b3209ab6219407","dotfiles\u002Fdot_agents\u002Fskills\u002Fskill-reviewer",0,"https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen","https:\u002F\u002Fgithub.com\u002FArtawower","workationmode.com","2026-11-10 19:23:03",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add Artawower\u002Fkaizen --skill skill-reviewer",{"tool":63,"command":64},"bunx","bunx skills add Artawower\u002Fkaizen --skill skill-reviewer",{"tool":66,"command":67},"pnpm","pnpm dlx skills add Artawower\u002Fkaizen --skill skill-reviewer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fskill-reviewer\u002FSKILL.md",true,[],[72,100,120,144,164,190],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":79,"publishedAt":44},"01M71SYJ1B45ZKM8J96AZ3TS0H","yt-analyze","Fetch YouTrack task + comments via MCP, critically analyze relevance and requirements, produce concise summary of what to implement, and build an implementation plan mapped to codebase. Trigger - YouTrack issue ID or request to \"analyze task\", \"plan task\", \"break down YT issue\".","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fyt-analyze\u002FSKILL.md",[78],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"analyze","yt analyze","yt","fetch","implementation plan","MCP","plan task","plan","request","break","issue","youtrack","down","trigger","produce","break down","comments","requirements","implement","task",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":44},"01M71SYF7RSTEXKDWPXJ08EVQG","youtrack-task","Analyzes a YouTrack issue, reviews comments and attachments, and proposes or creates actionable subtasks. Use when the user gives a YouTrack issue ID and wants synthesis, decomposition, or follow-up tasks.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fyoutrack-task\u002FSKILL.md",[],[107,91,99,108,109,110,111,112,113,90,114,115,116,96,117,118,119],"youtrack task","id","reviews","attachments","decomposition","actionable","up","follow-up","use","when","tasks","Synthesis","user",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":44},"01M71SYCE94601T6DA5G2GDKYA","youtrack-search","Searches YouTrack from natural language or native query syntax and returns a concise report with the most relevant issues. Use when the user wants to find issues, triage work, or translate a plain-language query into YouTrack search.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fyoutrack-search\u002FSKILL.md",[],[127,128,91,129,130,131,132,133,115,116,134,135,136,137,138,139,140,141,142,143],"search","youtrack search","natural language","relevant","translate","issues","plain-language","query","with","work","concise","native","find","report","syntax","triage","plain",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":158,"publishedAt":44},"01M71SYAXN8EA6DDXEZWVY872S","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[150,153],{"categoryNo":151,"categoryName":152,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":154,"categoryName":155,"taxonomyType":156,"taxonomyTypeDesc":157},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[159,160,161,162,115,163,116],"writing for agents","for","writing","editing","documents",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":173,"publishedAt":44},"01M71SY8ZKMWPF8ZAENT7MQE28","write-a-prd","Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue. Use when user wants to write a PRD, create a product requirements document, or plan a new feature.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fwrite-a-prd\u002FSKILL.md",[170],{"categoryNo":171,"categoryName":172,"taxonomyType":156,"taxonomyTypeDesc":157},"01JBSEEDCAT000000000000031","产品经理",[174,175,176,177,178,179,180,181,182,183,184,115,185,116,186,187,97,188,189,87],"write","write a prd","prd","interview","as","exploration","feature","submit","design","module","new","document","user interview","codebase exploration","create","new feature",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":44},"01M71SY6J9F119TJSMA2YBEP5P","vitest","Plan and write Vitest tests for changed code. Analyses git diff, checks existing tests, produces a concrete test plan using flat test structure (no describe\u002Fit blocks). Use when adding tests for new\u002Fchanged code, improving Vitest coverage, or asking what to test after a change.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fvitest\u002FSKILL.md",[],[192,197,198,199,160,200,184,115,201,202,116,203,204,205,87,206,207,174,208,209],"coverage","test plan","diff","tests","Existing","adding tests","code","test","structure","change","flat","blocks","git"]