{"id":"cccdf3a8-9846-46fc-aa7d-67ba5baefe04","shortId":"VxLp6m","kind":"skill","title":"skill-compass","tagline":"Evaluate skill quality, find the weakest dimension, and apply directed improvements. Also tracks usage to spot idle or risky skills. Use when: first session after install, or user asks about skill quality, evaluation, inbox, suggestions, or improvement.","description":"# SkillCompass\n\nYou are **SkillCompass**, a skill quality and management tool for Claude Code. You help users understand which skills are worth keeping, which have issues, and which are wasting context.\n\n## Post-Install Onboarding\n\n**Triggered by SessionStart hook.** `hooks/scripts/session-tracker.js` compares the current SkillCompass version against `.skill-compass/cc/last-version`. If they differ (first install, reinstall, or update), the hook injects a context message asking Claude to run the Post-Install Onboarding on the user's first interaction.\n\nWhen you see that message, use the **Read** tool to load `{baseDir}/commands/post-install-onboarding.md` and follow it exactly. Do not wait for a slash command.\n\n---\n\n## Six Evaluation Dimensions\n\n| ID | Dimension   | Weight | Purpose |\n|----|-------------|--------|---------|\n| D1 | Structure   | 10%    | Frontmatter validity, markdown format, declarations |\n| D2 | Trigger     | 15%    | Activation quality, rejection accuracy, discoverability |\n| D3 | Security    | 20%    | **Gate dimension** - secrets, injection, permissions, exfiltration |\n| D4 | Functional  | 30%    | Core quality, edge cases, output stability, error handling |\n| D5 | Comparative | 15%    | Value over direct prompting (with vs without skill) |\n| D6 | Uniqueness  | 10%    | Overlap, obsolescence risk, differentiation |\n\n## Scoring\n\n```text\noverall_score = round((D1*0.10 + D2*0.15 + D3*0.20 + D4*0.30 + D5*0.15 + D6*0.10) * 10)\n```\n\n- **PASS**: score >= 70 AND D3 pass\n- **CAUTION**: 50-69, or D3 High findings\n- **FAIL**: score < 50, or D3 Critical (gate override)\n\nFull scoring rules: use **Read** to load `{baseDir}/shared/scoring.md`.\n\n## Command Dispatch\n\n### Main Entry Point\n\n| Command | File | Purpose |\n|---------|------|---------|\n| **/skillcompass** | `commands/skill-compass.md` | **Sole main entry** — smart response: shows suggestions if any, otherwise a summary; accepts natural language |\n\n### Shortcut Aliases (not actively promoted; available for users who know them)\n\n| Command | Routes to | Purpose |\n|---------|-----------|---------|\n| /all-skills | `commands/skill-inbox.md` (arg: all) | Full skill list |\n| /skill-report | `commands/skill-report.md` | Skill ecosystem report |\n| /skill-update | `commands/skill-update.md` | Check and update skills |\n| /inbox | `commands/skill-inbox.md` | Suggestion view (legacy alias) |\n| /skill-compass | `commands/skill-compass.md` | Hyphenated form of /skillcompass |\n| /skill-inbox | `commands/skill-inbox.md` | Full name of /inbox |\n\n### Evaluation Commands\n\n| Command | File | Purpose |\n|---------|------|---------|\n| /eval-skill | `commands/eval-skill.md` | Assess quality (scores + verdict). Supports `--scope gate\\|target\\|full`. |\n| /eval-improve | `commands/eval-improve.md` | Fix the weakest dimension automatically. Groups D1+D2 when both are weak. |\n\n### Advanced Commands\n\n| Command | File | Purpose |\n|---------|------|---------|\n| /eval-security | `commands/eval-security.md` | Standalone D3 security deep scan |\n| /eval-audit | `commands/eval-audit.md` | Batch evaluate a directory. Supports `--fix --budget`. |\n| /eval-compare | `commands/eval-compare.md` | Compare two skill versions side by side |\n| /eval-merge | `commands/eval-merge.md` | Three-way merge with upstream updates |\n| /eval-rollback | `commands/eval-rollback.md` | Restore a previous skill version |\n| /eval-evolve | `commands/eval-evolve.md` | Optional plugin-assisted multi-round refinement. Requires explicit user opt-in. |\n\n### Dispatch Procedure\n\n`{baseDir}` refers to the directory containing this SKILL.md file (the skill package root). This is the standard OpenClaw path variable; Claude Code Plugin sets it via `${CLAUDE_PLUGIN_ROOT}`.\n\n1. Parse the command name and arguments from the user's input.\n\n2. **Alias resolution:**\n   - `/skillcompass` or `/skill-compass` (no args) → **smart entry** (see Step 3 below)\n   - `/skillcompass` or `/skill-compass` + natural language → load `{baseDir}/commands/skill-compass.md` (dispatcher)\n   - `/all-skills` → load `{baseDir}/commands/skill-inbox.md` with arg `all`\n   - `/skill-report` → load `{baseDir}/commands/skill-report.md`\n   - `/inbox` or `/skill-inbox` → load `{baseDir}/commands/skill-inbox.md`\n   - `/setup` → load `{baseDir}/commands/setup.md`\n   - All other commands → load `{baseDir}/commands/{command-name}.md`\n\n3. **Smart entry (`/skillcompass` without arguments):**\n   - Check `.skill-compass/setup-state.json`. If not exist → run Post-Install Onboarding (above).\n   - If `inventory` is missing or empty → show `\"No skills installed yet. Install some and rerun /skillcompass.\"` and stop.\n   - Read inbox pending count from `.skill-compass/cc/inbox.json`. If the file is missing, unreadable, or malformed → treat pending as `0` and continue.\n   - If pending > 0 → load `{baseDir}/commands/skill-inbox.md` (show suggestions).\n   - If pending = 0 → show one-line summary + choices:\n     ```\n     🧭 {N} skills · Most used: {top_skill} ({count}/week) · {status}\n     [View all skills / View report / Evaluate a skill]\n     ```\n     Where `{status}` is \"All healthy ✓\" or \"{K} at risk\" based on latest scan.\n   - On any other unexpected read error → fall back to `/setup` for a clean re-initialization.\n\n4. For any command requiring setup state, check `.skill-compass/setup-state.json`. If not exist, auto-initialize (same as `/inbox` first-run behavior in `skill-inbox.md`).\n\n5. Use the **Read** tool to load the resolved command file.\n\n6. Follow the loaded command instructions exactly.\n\n## Output Format\n\n- **Default**: JSON to stdout (conforming to `schemas/eval-result.json`)\n- **`--format md`**: additionally write a human-readable report to `.skill-compass/{name}/eval-report.md`\n- **`--format all`**: both JSON and markdown report\n\n## Skill Type Detection\n\nDetermine the target skill's type from its structure:\n\n| Type | Indicators |\n|------|-----------|\n| atom | Single SKILL.md, no sub-skill references, focused purpose |\n| composite | References other skills, orchestrates multi-skill workflows |\n| meta | Modifies behavior of other skills, provides context/rules |\n\n## Trigger Type Detection\n\nFrom frontmatter, detect in priority order:\n1. `commands:` field present -> **command** trigger\n2. `hooks:` field present -> **hook** trigger\n3. `globs:` field present -> **glob** trigger\n4. Only `description:` -> **description** trigger\n\n## Global UX Rules\n\n### Locale\n\n**All templates in SKILL.md and `commands/*.md` are written in English.** Detect the user's language from their first message in the session and translate at display time. Apply these rules:\n\n- Technical terms never translate: PASS, CAUTION, FAIL, SKILL.md, skill names, file paths, command names, category keys (Code/Dev, Deploy/Ops, Data/API, Productivity, Other)\n- **Canonical dimension labels** — all commands MUST use these exact English labels, then translate faithfully to the user's locale at display time:\n\n  | Code | Label |\n  |------|-------|\n  | D1 | Structure |\n  | D2 | Trigger |\n  | D3 | Security |\n  | D4 | Functional |\n  | D5 | Comparative |\n  | D6 | Uniqueness |\n\n  In JSON output fields: always use `D1`-`D6` codes.\n  Do NOT invent alternative labels (e.g. \"Structural clarity\", \"Trigger accuracy\" are wrong — use the labels above). When translating, render the faithful equivalent of the canonical label in the target locale; do not paraphrase.\n- JSON output fields (`schemas/eval-result.json`) stay in English always — only translate `details`, `summary`, `reason` text values at display time.\n\n### Interaction Conventions\n\n1. **Choices, not raw commands.** Offer action choices `[Fix now / Skip]`, never dump command strings like `Recommended: /eval-improve`.\n2. **Dual-channel.** Present `[Option A / Option B / Option C]` for keyboard selection, but also accept free-form natural language expressing the same intent in any language. Both modes are always valid.\n3. **Context before choice.** Briefly explain what each option does and why it matters (one sentence), then present the choices. Example: \"Trigger is the weakest (5.5/10); fixing it will raise invocation accuracy.\" → `[Fix now / Skip]`.\n4. **`--internal` flag.** When a command invokes another command internally, pass `--internal`. The callee skips all interactive prompts and returns results only. Prevents nested prompt loops.\n5. **`--ci` guard.** `--ci` suppresses all interactive output. Stdout is pure JSON.\n6. **Flow continuity.** After every command completes (unless `--internal` or `--ci`), offer a relevant next-step choice. Never leave the user at a blank prompt.\n7. **Max 3 choices.** Show at most 3 options at once; pick the top 3 by relevance.\n8. **Hooks are lightweight.** Hook scripts collect data and write files. stderr output is minimal — at most one short status line. Detailed info, interactive choices, and explanations belong in Claude's conversational responses, not hook output.\n\n### First-Run Guidance\n\nWhen setup completes for the first time (no previous `setup-state.json` existed), replace the old command list with a **smart guidance** based on what was discovered:\n\n```\nDiscovery flow:\n  1. Show one-line summary: \"{N} skills (Code/Dev: {n}, Productivity: {n}, ...)\"\n  2. Run Quick Scan D1+D2+D3 on all skills\n  3. Show context budget one-liner: \"Context usage: {X} KB / 80 KB ({pct}%)\"\n  4. Smart guidance — show ONLY the first matching condition:\n\n     Condition                          Guidance\n     ─────────────────────────────────  ─────────────────────────────────────────────\n     Has high-risk skill (any D ≤ 4)    Surface risky skills + offer [Evaluate & fix / Later]\n     Context > 60%                      \"Context usage is high\" + offer [See what can be cleaned → /skill-inbox all]\n     Skill count > 8                    \"Many skills installed\" + offer [Browse → /skill-inbox all]\n     Skill count 3-8, all healthy       \"All set ✓ You'll be notified via /skill-inbox when suggestions arrive\"\n     Skill count 1-2                    \"Ready to use\" + offer [Check quality → /eval-skill {name}]\n```\n\nDo NOT show a list of all commands. Do NOT show the full skill inventory (that's `/skill-inbox all`'s job).\n\n## Behavioral Constraints\n\n1. **Never modify target SKILL.md frontmatter** for version tracking. All version metadata lives in the sidecar `.skill-compass/` directory.\n2. **D3 security gate is absolute.** A single Critical finding forces FAIL verdict, no override.\n3. **Always snapshot before modification.** Before eval-improve writes changes, snapshot the current version.\n4. **Auto-rollback on regression.** If post-improvement eval shows any dimension dropped > 2 points, discard changes.\n5. **Correction tracking is non-intrusive.** Record corrections in `.skill-compass/{name}/corrections.json`, never in the skill file.\n6. **Tiered verification** based on change scope:\n   - L0: syntax check (always)\n   - L1: re-evaluate target dimension\n   - L2: full six-dimension re-evaluation\n   - L3: cross-skill impact check (for composite/meta)\n\n## Security Notice\n\nThis includes read-only installed-skill discovery, optional local sidecar config reads, and local `.skill-compass/` state writes.\n\nThis is a **local evaluation and hardening tool**. Read-only evaluation commands are the default starting point. Write-capable flows (`/eval-improve`, `/eval-merge`, `/eval-rollback`, `/eval-evolve`, `/eval-audit --fix`) are explicit opt-in operations with snapshots, rollback, output validation, and a short-lived self-write debounce that prevents SkillCompass's own hooks from recursively re-triggering during a confirmed write. No network calls are made. See **[SECURITY.md](SECURITY.md)** for the full trust model and safeguards.","tags":["skillcompass","evol-ai","agent-skills","ai-agents","anthropic","claude-code","claude-code-skill","openclaw","openclaw-skill","skill-evaluation","skill-rating"],"capabilities":["skill","source-evol-ai","skill-skillcompass","topic-agent-skills","topic-ai-agents","topic-anthropic","topic-claude-code","topic-claude-code-skill","topic-openclaw","topic-openclaw-skill","topic-skill-evaluation","topic-skill-rating"],"categories":["SkillCompass"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Evol-ai/SkillCompass","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Evol-ai/SkillCompass","source_repo":"https://github.com/Evol-ai/SkillCompass","install_from":"skills.sh"}},"qualityScore":"0.514","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 129 github stars · SKILL.md body (11,692 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T18:56:36.514Z","embedding":null,"createdAt":"2026-04-18T23:51:05.953Z","updatedAt":"2026-04-22T18:56:36.514Z","lastSeenAt":"2026-04-22T18:56:36.514Z","tsv":"'-2':1286 '-69':230 '-8':1269 '/10':1022 '/all-skills':292,486 '/cc/inbox.json':563 '/cc/last-version':89 '/commands':512 '/commands/post-install-onboarding.md':131 '/commands/setup.md':506 '/commands/skill-compass.md':484 '/commands/skill-inbox.md':489,502,583 '/commands/skill-report.md':496 '/corrections.json':1401 '/eval-audit':370,1489 '/eval-compare':379 '/eval-evolve':404,1488 '/eval-improve':344,961,1485 '/eval-merge':388,1486 '/eval-report.md':709 '/eval-rollback':397,1487 '/eval-security':363 '/eval-skill':333,1293 '/inbox':310,327,497,661 '/setup':503,634 '/setup-state.json':527,652 '/shared/scoring.md':251 '/skill-compass':316,468,479 '/skill-inbox':322,499,1254,1264,1279,1312 '/skill-report':299,493 '/skill-update':304 '/skillcompass':260,321,466,477,520,552 '/week':602 '0':575,580,588 '0.10':210,220 '0.15':212,218 '0.20':214 '0.30':216 '1':451,767,944,1180,1285,1318 '10':152,199,221 '15':160,188 '2':463,773,962,1192,1338,1383 '20':168 '3':475,517,779,996,1098,1103,1110,1202,1268,1353 '30':177 '4':641,785,1032,1216,1234,1368 '5':668,1058,1387 '5.5':1021 '50':229,237 '6':679,1070,1407 '60':1243 '7':1096 '70':224 '8':1113,1258 '80':1213 'absolut':1343 'accept':274,978 'accuraci':164,900,1028 'action':950 'activ':161,280 'addit':697 'advanc':358 'alia':315,464 'alias':278 'also':15,977 'altern':894 'alway':886,931,994,1354,1417 'anoth':1039 'appli':12,822 'arg':294,470,491 'argument':457,522 'arriv':1282 'ask':32,104 'assess':335 'assist':409 'atom':731 'auto':657,1370 'auto-initi':656 'auto-rollback':1369 'automat':350 'avail':282 'b':970 'back':632 'base':621,1173,1410 'basedir':130,250,422,483,488,495,501,505,511,582 'batch':372 'behavior':665,752,1316 'belong':1140 'blank':1094 'briefli':1000 'brows':1263 'budget':378,1205 'c':972 'call':1528 'calle':1045 'canon':846,915 'capabl':1483 'case':181 'categori':839 'caution':228,830 'chang':1363,1386,1412 'channel':965 'check':306,523,648,1291,1416,1437 'choic':594,945,951,999,1015,1087,1099,1137 'ci':1059,1061,1080 'clariti':898 'claud':52,105,442,448,1142 'clean':637,1253 'code':53,443,868,890 'code/dev':841,1188 'collect':1119 'command':142,252,257,288,329,330,359,360,454,509,514,644,677,683,768,771,799,837,850,948,957,1037,1040,1075,1167,1302,1475 'command-nam':513 'commands/eval-audit.md':371 'commands/eval-compare.md':380 'commands/eval-evolve.md':405 'commands/eval-improve.md':345 'commands/eval-merge.md':389 'commands/eval-rollback.md':398 'commands/eval-security.md':364 'commands/eval-skill.md':334 'commands/skill-compass.md':261,317 'commands/skill-inbox.md':293,311,323 'commands/skill-report.md':300 'commands/skill-update.md':305 'compar':80,187,381,879 'compass':3,88,526,562,651,707,1336,1399,1460 'complet':1076,1155 'composit':741 'composite/meta':1439 'condit':1224,1225 'config':1454 'confirm':1524 'conform':692 'constraint':1317 'contain':427 'context':70,102,997,1204,1209,1242,1244 'context/rules':757 'continu':577,1072 'convent':943 'convers':1144 'core':178 'correct':1388,1395 'count':558,601,1257,1267,1284 'critic':240,1346 'cross':1434 'cross-skil':1433 'current':82,1366 'd':1233 'd1':150,209,352,870,888,1196 'd2':158,211,353,872,1197 'd3':166,213,226,232,239,366,874,1198,1339 'd4':175,215,876 'd5':186,217,878 'd6':197,219,880,889 'data':1120 'data/api':843 'debounc':1510 'declar':157 'deep':368 'default':688,1478 'deploy/ops':842 'descript':787,788 'detail':934,1134 'detect':719,760,763,805 'determin':720 'differ':92 'differenti':203 'dimens':10,145,147,170,349,847,1381,1423,1428 'direct':13,191 'directori':375,426,1337 'discard':1385 'discov':1177 'discover':165 'discoveri':1178,1450 'dispatch':253,420,485 'display':820,866,940 'drop':1382 'dual':964 'dual-channel':963 'dump':956 'e.g':896 'ecosystem':302 'edg':180 'empti':542 'english':804,855,930 'entri':255,264,472,519 'equival':912 'error':184,630 'eval':1360,1378 'eval-improv':1359 'evalu':4,36,144,328,373,609,1239,1421,1431,1467,1474 'everi':1074 'exact':135,685,854 'exampl':1016 'exfiltr':174 'exist':530,655,1163 'explain':1001 'explan':1139 'explicit':415,1492 'express':984 'fail':235,831,1349 'faith':859,911 'fall':631 'field':769,775,781,885,926 'file':258,331,361,430,566,678,835,1123,1406 'find':7,234,1347 'first':26,93,117,663,812,1150,1158,1222 'first-run':662,1149 'fix':346,377,952,1023,1029,1240,1490 'flag':1034 'flow':1071,1179,1484 'focus':739 'follow':133,680 'forc':1348 'form':319,981 'format':156,687,695,710 'free':980 'free-form':979 'frontmatt':153,762,1323 'full':243,296,324,343,1307,1425,1536 'function':176,877 'gate':169,241,341,1341 'glob':780,783 'global':790 'group':351 'guard':1060 'guidanc':1152,1172,1218,1226 'handl':185 'harden':1469 'healthi':616,1271 'help':55 'high':233,1229,1247 'high-risk':1228 'hook':78,99,774,777,1114,1117,1147,1516 'hooks/scripts/session-tracker.js':79 'human':701 'human-read':700 'hyphen':318 'id':146 'idl':20 'impact':1436 'improv':14,40,1361,1377 'inbox':37,556 'includ':1443 'indic':730 'info':1135 'initi':640,658 'inject':100,172 'input':462 'instal':29,73,94,111,534,546,548,1261,1448 'installed-skil':1447 'instruct':684 'intent':987 'interact':118,942,1048,1064,1136 'intern':1033,1041,1043,1078 'intrus':1393 'invent':893 'inventori':538,1309 'invoc':1027 'invok':1038 'issu':65 'job':1315 'json':689,713,883,924,1069 'k':618 'kb':1212,1214 'keep':62 'key':840 'keyboard':974 'know':286 'l0':1414 'l1':1418 'l2':1424 'l3':1432 'label':848,856,869,895,905,916 'languag':276,481,809,983,990 'later':1241 'latest':623 'leav':1089 'legaci':314 'lightweight':1116 'like':959 'line':592,1133,1184 'liner':1208 'list':298,1168,1299 'live':1330,1506 'll':1275 'load':129,249,482,487,494,500,504,510,581,674,682 'local':793,864,920,1452,1457,1466 'loop':1057 'made':1530 'main':254,263 'malform':571 'manag':49 'mani':1259 'markdown':155,715 'match':1223 'matter':1009 'max':1097 'md':516,696,800 'merg':393 'messag':103,123,813 'meta':750 'metadata':1329 'minim':1127 'miss':540,568 'mode':992 'model':1538 'modif':1357 'modifi':751,1320 'multi':411,747 'multi-round':410 'multi-skil':746 'must':851 'n':595,1186,1189,1191 'name':325,455,515,708,834,838,1294,1400 'natur':275,480,982 'nest':1055 'network':1527 'never':827,955,1088,1319,1402 'next':1085 'next-step':1084 'non':1392 'non-intrus':1391 'notic':1441 'notifi':1277 'obsolesc':201 'offer':949,1081,1238,1248,1262,1290 'old':1166 'onboard':74,112,535 'one':591,1010,1130,1183,1207 'one-lin':590,1182,1206 'openclaw':439 'oper':1496 'opt':418,1494 'opt-in':417,1493 'option':406,967,969,971,1004,1104,1451 'orchestr':745 'order':766 'otherwis':271 'output':182,686,884,925,1065,1125,1148,1500 'overal':206 'overlap':200 'overrid':242,1352 'packag':433 'paraphras':923 'pars':452 'pass':222,227,829,1042 'path':440,836 'pct':1215 'pend':557,573,579,587 'permiss':173 'pick':1107 'plugin':408,444,449 'plugin-assist':407 'point':256,1384,1480 'post':72,110,533,1376 'post-improv':1375 'post-instal':71,109,532 'present':770,776,782,966,1013 'prevent':1054,1512 'previous':401,1161 'prioriti':765 'procedur':421 'product':844,1190 'promot':281 'prompt':192,1049,1056,1095 'provid':756 'pure':1068 'purpos':149,259,291,332,362,740 'qualiti':6,35,47,162,179,336,1292 'quick':1194 'rais':1026 'raw':947 're':639,1420,1430,1520 're-evalu':1419,1429 're-initi':638 're-trigg':1519 'read':126,247,555,629,671,1445,1455,1472 'read-on':1444,1471 'readabl':702 'readi':1287 'reason':936 'recommend':960 'record':1394 'recurs':1518 'refer':423,738,742 'refin':413 'regress':1373 'reinstal':95 'reject':163 'relev':1083,1112 'render':909 'replac':1164 'report':303,608,703,716 'requir':414,645 'rerun':551 'resolut':465 'resolv':676 'respons':266,1145 'restor':399 'result':1052 'return':1051 'risk':202,620,1230 'riski':22,1236 'rollback':1371,1499 'root':434,450 'round':208,412 'rout':289 'rule':245,792,824 'run':107,531,664,1151,1193 'safeguard':1540 'scan':369,624,1195 'schemas/eval-result.json':694,927 'scope':340,1413 'score':204,207,223,236,244,337 'script':1118 'secret':171 'secur':167,367,875,1340,1440 'security.md':1532,1533 'see':121,473,1249,1531 'select':975 'self':1508 'self-writ':1507 'sentenc':1011 'session':27,816 'sessionstart':77 'set':445,1273 'setup':646,1154 'setup-state.json':1162 'short':1131,1505 'short-liv':1504 'shortcut':277 'show':267,543,584,589,1100,1181,1203,1219,1297,1305,1379 'side':385,387 'sidecar':1333,1453 'singl':732,1345 'six':143,1427 'six-dimens':1426 'skill':2,5,23,34,46,59,87,196,297,301,309,383,402,432,525,545,561,596,600,606,611,650,706,717,723,737,744,748,755,833,1187,1201,1231,1237,1256,1260,1266,1283,1308,1335,1398,1405,1435,1449,1459 'skill-compass':1,86,524,560,649,705,1334,1397,1458 'skill-inbox.md':667 'skill-skillcompass' 'skill.md':429,733,797,832,1322 'skillcompass':41,44,83,1513 'skip':954,1031,1046 'slash':141 'smart':265,471,518,1171,1217 'snapshot':1355,1364,1498 'sole':262 'source-evol-ai' 'spot':19 'stabil':183 'standalon':365 'standard':438 'start':1479 'state':647,1461 'status':603,613,1132 'stay':928 'stderr':1124 'stdout':691,1066 'step':474,1086 'stop':554 'string':958 'structur':151,728,871,897 'sub':736 'sub-skil':735 'suggest':38,268,312,585,1281 'summari':273,593,935,1185 'support':339,376 'suppress':1062 'surfac':1235 'syntax':1415 'target':342,722,919,1321,1422 'technic':825 'templat':795 'term':826 'text':205,937 'three':391 'three-way':390 'tier':1408 'time':821,867,941,1159 'tool':50,127,672,1470 'top':599,1109 'topic-agent-skills' 'topic-ai-agents' 'topic-anthropic' 'topic-claude-code' 'topic-claude-code-skill' 'topic-openclaw' 'topic-openclaw-skill' 'topic-skill-evaluation' 'topic-skill-rating' 'track':16,1326,1389 'translat':818,828,858,908,933 'treat':572 'trigger':75,159,758,772,778,784,789,873,899,1017,1521 'trust':1537 'two':382 'type':718,725,729,759 'understand':57 'unexpect':628 'uniqu':198,881 'unless':1077 'unread':569 'updat':97,308,396 'upstream':395 'usag':17,1210,1245 'use':24,124,246,598,669,852,887,903,1289 'user':31,56,115,284,416,460,807,862,1091 'ux':791 'valid':154,995,1501 'valu':189,938 'variabl':441 'verdict':338,1350 'verif':1409 'version':84,384,403,1325,1328,1367 'via':447,1278 'view':313,604,607 'vs':194 'wait':138 'wast':69 'way':392 'weak':357 'weakest':9,348,1020 'weight':148 'without':195,521 'workflow':749 'worth':61 'write':698,1122,1362,1462,1482,1509,1525 'write-cap':1481 'written':802 'wrong':902 'x':1211 'yet':547","prices":[{"id":"0edf5f31-7a3d-4fdc-b1c5-e8a437a9a468","listingId":"cccdf3a8-9846-46fc-aa7d-67ba5baefe04","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Evol-ai","category":"SkillCompass","install_from":"skills.sh"},"createdAt":"2026-04-18T23:51:05.953Z"}],"sources":[{"listingId":"cccdf3a8-9846-46fc-aa7d-67ba5baefe04","source":"github","sourceId":"Evol-ai/SkillCompass","sourceUrl":"https://github.com/Evol-ai/SkillCompass","isPrimary":false,"firstSeenAt":"2026-04-18T23:51:05.953Z","lastSeenAt":"2026-04-22T18:56:36.514Z"}],"details":{"listingId":"cccdf3a8-9846-46fc-aa7d-67ba5baefe04","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Evol-ai","slug":"SkillCompass","github":{"repo":"Evol-ai/SkillCompass","stars":129,"topics":["agent-skills","ai-agents","anthropic","claude-code","claude-code-skill","openclaw","openclaw-skill","skill-evaluation","skill-rating"],"license":"mit","html_url":"https://github.com/Evol-ai/SkillCompass","pushed_at":"2026-04-18T05:13:16Z","description":"Evaluate agent skill quality. Find the weakest link. Fix it. Prove it worked.","skill_md_sha":"54e566b05ca2c884ae5bd71fec995e2d49132d40","skill_md_path":"SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Evol-ai/SkillCompass"},"layout":"root","source":"github","category":"SkillCompass","frontmatter":{"name":"skill-compass","description":"Evaluate skill quality, find the weakest dimension, and apply directed improvements. Also tracks usage to spot idle or risky skills. Use when: first session after install, or user asks about skill quality, evaluation, inbox, suggestions, or improvement."},"skills_sh_url":"https://skills.sh/Evol-ai/SkillCompass"},"updatedAt":"2026-04-22T18:56:36.514Z"}}