Skill Evaluator
Evaluate Agent Skills against agentskills.io specification and best practices.
Core Philosophy
Good Skill = Expert-only Knowledge − What the LLM Already Knows
| Knowledge Type |
Treatment |
Example |
| Expert (LLM doesn't know) |
Keep — this is value |
"mediabox not cropbox for PDF size" |
| Activation (LLM may forget) |
Keep if brief |
"Always validate XML before packing" |
| Redundant (LLM knows) |
Delete — token waste |
"What is a PDF file" |
Before Evaluating, Ask Yourself
- "Does this skill capture knowledge that took someone years to learn?" — If no, low D1 score.
- "Would an expert read this and nod, or roll their eyes?" — Eye-roll = redundant content.
- "After reading, can the LLM do something it couldn't before?" — If just faster/reminded, marginal value.
Mode Selection
| Mode |
When to Use |
Time |
Input |
Output |
| Static |
Quick check, bulk screening, first pass |
~2 min |
SKILL.md only |
/60 |
| Semi-Static |
Install decision, fit check |
~5 min |
+ Environment/User info |
/100 |
| Full |
Production deploy, security audit |
~15 min |
+ Complete package |
/130 |
Default workflow: Static first → If score >60 AND installation considered → Semi-Static → If deploying to production → Full.
Mode 1: Static Analysis
Input: SKILL.md only
Output: Gate check (Pass/Fail) + Quality Score /60
Gate Check (All Must Pass)
Any gate failure = immediate reject. Do not proceed to scoring.
| Gate |
Requirement |
Common Failures |
| G1: YAML |
Valid frontmatter with name + description |
Missing ---, no description |
| G2: Name |
1-64 chars, [a-z0-9-] only, no reserved words |
Uppercase, claude-, anthropic- |
| G3: Description |
1-1024 chars, third-person, no placeholders |
Uses "I/you/my", contains "TODO" |
Quality Dimensions (60 points)
D1: Knowledge Delta (20 pts) — MOST IMPORTANT
"If I delete this, would the LLM perform noticeably worse?"
| Score |
Indicator |
| 16-20 |
Pure expert knowledge: trade-offs, decision trees, non-obvious sequences, "NEVER X because [surprising reason]" |
| 11-15 |
Mostly expert: some activation knowledge mixed in |
| 6-10 |
Mixed: useful bits buried in tutorials |
| 0-5 |
Redundant: docs the LLM already knows, "What is X" sections |
Red flags (subtract points):
- Library tutorials ("How to use pandas")
- Generic best practices ("Write clean code")
- Definitions the LLM knows ("PDF is Portable Document Format")
Green flags (add points):
- "When X and Y, choose Z because..."
- "NEVER do X — it causes [non-obvious problem]"
- Specific numbers/thresholds ("Scale UP not down for text clarity")
- Domain-specific sequences the LLM would get wrong
D2: Mindset + Procedures (15 pts)
| Score |
Indicator |
| 12-15 |
Shapes thinking: "Before X, ask yourself...", expert decision frameworks |
| 8-11 |
Domain workflows + some thinking patterns |
| 4-7 |
Procedures only, no mental models |
| 0-3 |
Generic steps ("1. Open file 2. Process 3. Save") |
Look for: Diagnostic questions, priority rules, "The expert's first question is always..."
D3: Anti-Patterns (10 pts)
| Score |
Indicator |
| 9-10 |
Comprehensive NEVER list with non-obvious reasons |
| 6-8 |
Specific warnings, some reasons |
| 3-5 |
Vague warnings ("Be careful with...") |
| 0-2 |
No anti-patterns mentioned |
What counts: Specific, actionable, with surprising consequences. "NEVER use Inter font — dead giveaway of AI-generated" beats "Choose fonts carefully."
D4: Structure & Economy (15 pts)
| Score |
Indicator |
| 12-15 |
<300 lines, excellent progressive disclosure, clear {baseDir} references |
| 8-11 |
300-500 lines, uses references/, has loading triggers |
| 4-7 |
500-800 lines, some structure |
| 0-3 |
>800 lines, monolithic, no disclosure |
Check for:
{baseDir}/references/ paths with clear "when to load" instructions
- "MANDATORY if [condition]: Read..." triggers
- "Do NOT preload" markers for large references
Static report template: See {baseDir}/references/templates.md#static-report
Mode 2: Semi-Static Analysis
Input: SKILL.md + Target Environment + User Level
Output: Static score + Fit scores = /100
Step 1: Complete Static Analysis
Run Mode 1 first. If gates fail, stop.
Step 2: Environment Fit (20 pts)
| Environment |
Shell |
Files |
Network |
scripts/ |
| claude.ai/Web |
❌ |
Upload only |
❌ |
❌ |
| Claude Desktop |
⚠️ |
⚠️ |
❌ |
⚠️ |
| Coding Agent/CLI |
✅ |
✅ Workspace |
✅ |
✅ |
| IDE Extension |
✅ |
✅ Workspace |
⚠️ |
✅ |
| Enterprise |
Policy |
Policy |
Policy |
Policy |
| Score |
Criteria |
| 16-20 |
Fully compatible, all features work |
| 11-15 |
Mostly works, minor limitations |
| 6-10 |
Partial, requires workarounds or degraded mode |
| 0-5 |
Incompatible, core features won't work |
Step 3: User Fit (20 pts)
| User Level |
Signals |
Skill Should Provide |
| Novice |
"I'm new to...", asks basics |
Guided workflows, examples, guardrails |
| Intermediate |
Uses terms correctly, asks "how to optimize" |
Efficiency, concepts, options |
| Expert |
Asks about internals, wants customization |
Control, extensibility, raw power |
| Score |
Criteria |
| 16-20 |
Perfect audience fit |
| 11-15 |
Good fit, acceptable learning curve |
| 6-10 |
Partial fit, friction expected |
| 0-5 |
Wrong audience entirely |
Semi-static report template: See {baseDir}/references/templates.md#semi-static-report
Mode 3: Full Analysis
Input: Complete skill package + Test environment
Output: Comprehensive score /130
Step 1: Complete Semi-Static
Run Modes 1 and 2 first.
Step 2: Security Scan (Gate — Must Pass)
MANDATORY: Read {baseDir}/references/security-scan-spec.md before scanning.
Run static scan:
python {baseDir}/scripts/security_scan.py /path/to/skill
# or: node {baseDir}/scripts/security_scan.js /path/to/skill
# or: bash {baseDir}/scripts/security_scan.sh /path/to/skill
Any HIGH severity finding = instant fail. Do not proceed.
For semantic analysis (obfuscation, prompt injection, data flow): Read {baseDir}/references/security-scan-llm.md and use the LLM scan prompt.
Step 3: Trigger Testing (10 pts)
Test 5 prompt types:
| Type |
Example |
Expected |
| Direct |
"Use [skill-name] to..." |
Trigger |
| Keyword |
"[feature word] my file" |
Trigger |
| Indirect |
"[Problem the skill solves]" |
Trigger |
| Ambiguous |
Vague related request |
Maybe trigger |
| Negative |
Unrelated task |
NOT trigger |
| Score |
Criteria |
| 9-10 |
Reliable triggers, zero false positives |
| 7-8 |
Usually triggers, rare false positives |
| 4-6 |
Sometimes triggers, some false positives |
| 0-3 |
Unreliable or excessive false positives |
Step 4: Functional Tests (20 pts)
| Category |
Points |
What to Test |
| Happy path |
/8 |
Core use cases work correctly |
| Edge cases |
/6 |
Unusual inputs, boundary conditions |
| Error handling |
/3 |
Graceful failures, helpful messages |
| Output quality |
/3 |
Results match expert expectations |
Full report template: See {baseDir}/references/templates.md#full-report
NEVER Do (Evaluator Anti-Patterns)
NEVER score D1 high for tutorials — "How to use library X" is not expert knowledge, even if well-written.
NEVER ignore token cost — An 800-line skill that could be 200 lines is wasting 75% of context window.
NEVER pass security for "educational" shell=True — Legitimate purposes don't justify vulnerabilities.
NEVER assume environment — A skill perfect for CLI is worthless in claude.ai web.
NEVER conflate "comprehensive" with "good" — More content ≠ more value. Density matters.
NEVER skip gate checks — A skill with invalid YAML shouldn't get quality scores.
Common Failure Patterns → Fixes
| Pattern |
Symptom |
Root Cause |
Fix |
| Tutorial |
Low D1, "What is X" sections |
Author wrote for humans, not LLMs |
Delete all content LLM already knows |
| Dump |
>800 lines, no structure |
No progressive disclosure |
Split to references/, add loading triggers |
| Orphan References |
references/ exists but never loaded |
Missing "when to read" instructions |
Add explicit "MANDATORY if [X]: Read..." |
| Invisible |
Never triggers |
Bad description |
Move ALL trigger info to description, add keywords |
| Wrong Location |
"When to Use" in body |
Body loads AFTER trigger decision |
Description = when, Body = how |
| Vague Warnings |
"Be careful with X" |
No actionable anti-patterns |
Specific NEVER + surprising consequence |
Quick Reference: Scoring Cheatsheet
D1 (Knowledge Delta): "Would deleting this make LLM worse?"
D2 (Mindset): "Does it shape HOW to think, not just WHAT to do?"
D3 (Anti-Patterns): "Specific NEVERs with surprising reasons?"
D4 (Structure): "<300 lines? Progressive disclosure? Loading triggers?"
Environment: "Will core features actually work?"
User: "Right audience? Right complexity level?"
The Meta-Question
After every evaluation, ask:
"Would an expert in this domain say: 'Yes, this captures knowledge that took me years to learn'?"
- Yes → The skill has value.
- No → The skill is compressing what the LLM already knows.
Bento-Ready Report Output
For visual dashboard integration, generate JSON reports where evaluation logic directly determines visual weight.
Core Principles
异常放大,正常收敛 — Information density scales with deviation severity.
Speak human, not framework — Users haven't read our evaluation docs. No D1/D2/G1 jargon.
| Status |
Display Strategy |
| Normal score (≥80%) |
Compact block, headline only |
| Notable issue (<60%) |
Expanded block with detail + action |
| Critical issue (<30% or security) |
Prominent block with full evidence |
Output Formats
| Request |
Output |
| Standard evaluation |
Markdown report (see {baseDir}/references/templates.md) |
| "bento report" / "visual report" / "JSON report" |
Bento-ready JSON |
Bento Report Structure
{
"meta": { "skillName": "...", "totalScore": 48, "maxScore": 60 },
"summary": { "verdict": "good", "oneLiner": "Ready to use with minor improvements." },
"blocks": [
{
"id": "expert-knowledge",
"type": "score",
"importance": { "level": "normal", "reason": "Good expert content with minor redundancy" },
"layout": { "size": "default" },
"content": {
"headline": "Expert Knowledge — Good ✓",
"detail": "Contains valuable professional insights. Some basic tutorials could be trimmed."
}
}
]
}
Importance → Layout Mapping
| Importance |
Layout |
Trigger |
critical |
prominent |
Gate fail, security issue, score <30% |
notable |
expanded |
Score <60%, outlier disparity |
normal |
default |
Score 60-80% |
minor |
compact |
Score ≥80%, all gates pass |
Visual Assets
Add visual_asset for critical/notable blocks:
- Charts: gauge (header), radar (quality overview)
- Illustrations: warning style for security issues
- Badges: verdict display
Always include fallback.text for image generation failures.
MANDATORY for bento reports: Read {baseDir}/references/bento-report-schema.md for complete JSON schema.
MANDATORY for bento generation: Read {baseDir}/references/bento-report-instruction.md for generation rules.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: skill-evaluator-33description: Evaluate Agent Skills against agentskills.io specification with three progressive modes and smart visual reports. (1) Static Analysis - SKILL.md-only review for quality and spec compliance, outputs score /60. (2) Semi-Static Analysis - adds environment and user fit assessment without execution, outputs score /100. (3) Full Analysis - complete evaluation with security scanning, trigger testing, and dynamic verification, outputs score /130. Supports Bento-ready JSON report output for visual dashboards with auto-scaling blocks based on issue severity. Trigger phrases include "evaluate skill", "review skill", "audit skill", "is this skill good", "should I use/install this skill", "skill quality check", "rate this skill", "score this skill", "bento report", "visual report", "技能评估", "评测 skill", "审核 skill", "可视化报告". Use when this capability is needed.4---56# Skill Evaluator78Evaluate Agent Skills against [agentskills.io](https://agentskills.io) specification and best practices.910---1112## Core Philosophy1314> **Good Skill = Expert-only Knowledge − What the LLM Already Knows**1516| Knowledge Type | Treatment | Example |17|----------------|-----------|---------|18| **Expert** (LLM doesn't know) | Keep — this is value | "mediabox not cropbox for PDF size" |19| **Activation** (LLM may forget) | Keep if brief | "Always validate XML before packing" |20| **Redundant** (LLM knows) | Delete — token waste | "What is a PDF file" |2122### Before Evaluating, Ask Yourself23241. **"Does this skill capture knowledge that took someone years to learn?"** — If no, low D1 score.252. **"Would an expert read this and nod, or roll their eyes?"** — Eye-roll = redundant content.263. **"After reading, can the LLM do something it couldn't before?"** — If just faster/reminded, marginal value.2728---2930## Mode Selection3132| Mode | When to Use | Time | Input | Output |33|------|-------------|------|-------|--------|34| **Static** | Quick check, bulk screening, first pass | ~2 min | SKILL.md only | /60 |35| **Semi-Static** | Install decision, fit check | ~5 min | + Environment/User info | /100 |36| **Full** | Production deploy, security audit | ~15 min | + Complete package | /130 |3738**Default workflow**: Static first → If score >60 AND installation considered → Semi-Static → If deploying to production → Full.3940---4142## Mode 1: Static Analysis4344**Input**: SKILL.md only 45**Output**: Gate check (Pass/Fail) + Quality Score /604647### Gate Check (All Must Pass)4849Any gate failure = immediate reject. Do not proceed to scoring.5051| Gate | Requirement | Common Failures |52|------|-------------|-----------------|53| **G1: YAML** | Valid frontmatter with `name` + `description` | Missing `---`, no description |54| **G2: Name** | 1-64 chars, `[a-z0-9-]` only, no reserved words | Uppercase, `claude-`, `anthropic-` |55| **G3: Description** | 1-1024 chars, third-person, no placeholders | Uses "I/you/my", contains "TODO" |5657### Quality Dimensions (60 points)5859#### D1: Knowledge Delta (20 pts) — MOST IMPORTANT6061> "If I delete this, would the LLM perform noticeably worse?"6263| Score | Indicator |64|-------|-----------|65| 16-20 | Pure expert knowledge: trade-offs, decision trees, non-obvious sequences, "NEVER X because [surprising reason]" |66| 11-15 | Mostly expert: some activation knowledge mixed in |67| 6-10 | Mixed: useful bits buried in tutorials |68| 0-5 | Redundant: docs the LLM already knows, "What is X" sections |6970**Red flags** (subtract points):71- Library tutorials ("How to use pandas")72- Generic best practices ("Write clean code")73- Definitions the LLM knows ("PDF is Portable Document Format")7475**Green flags** (add points):76- "When X and Y, choose Z because..."77- "NEVER do X — it causes [non-obvious problem]"78- Specific numbers/thresholds ("Scale UP not down for text clarity")79- Domain-specific sequences the LLM would get wrong8081#### D2: Mindset + Procedures (15 pts)8283| Score | Indicator |84|-------|-----------|85| 12-15 | Shapes thinking: "Before X, ask yourself...", expert decision frameworks |86| 8-11 | Domain workflows + some thinking patterns |87| 4-7 | Procedures only, no mental models |88| 0-3 | Generic steps ("1. Open file 2. Process 3. Save") |8990**Look for**: Diagnostic questions, priority rules, "The expert's first question is always..."9192#### D3: Anti-Patterns (10 pts)9394| Score | Indicator |95|-------|-----------|96| 9-10 | Comprehensive NEVER list with non-obvious reasons |97| 6-8 | Specific warnings, some reasons |98| 3-5 | Vague warnings ("Be careful with...") |99| 0-2 | No anti-patterns mentioned |100101**What counts**: Specific, actionable, with *surprising* consequences. "NEVER use Inter font — dead giveaway of AI-generated" beats "Choose fonts carefully."102103#### D4: Structure & Economy (15 pts)104105| Score | Indicator |106|-------|-----------|107| 12-15 | <300 lines, excellent progressive disclosure, clear `{baseDir}` references |108| 8-11 | 300-500 lines, uses `references/`, has loading triggers |109| 4-7 | 500-800 lines, some structure |110| 0-3 | >800 lines, monolithic, no disclosure |111112**Check for**:113- `{baseDir}/references/` paths with clear "when to load" instructions114- "MANDATORY if [condition]: Read..." triggers115- "Do NOT preload" markers for large references116117**Static report template**: See `{baseDir}/references/templates.md#static-report`118119---120121## Mode 2: Semi-Static Analysis122123**Input**: SKILL.md + Target Environment + User Level 124**Output**: Static score + Fit scores = /100125126### Step 1: Complete Static Analysis127128Run Mode 1 first. If gates fail, stop.129130### Step 2: Environment Fit (20 pts)131132| Environment | Shell | Files | Network | scripts/ |133|-------------|-------|-------|---------|----------|134| claude.ai/Web | ❌ | Upload only | ❌ | ❌ |135| Claude Desktop | ⚠️ | ⚠️ | ❌ | ⚠️ |136| Coding Agent/CLI | ✅ | ✅ Workspace | ✅ | ✅ |137| IDE Extension | ✅ | ✅ Workspace | ⚠️ | ✅ |138| Enterprise | Policy | Policy | Policy | Policy |139140| Score | Criteria |141|-------|----------|142| 16-20 | Fully compatible, all features work |143| 11-15 | Mostly works, minor limitations |144| 6-10 | Partial, requires workarounds or degraded mode |145| 0-5 | Incompatible, core features won't work |146147### Step 3: User Fit (20 pts)148149| User Level | Signals | Skill Should Provide |150|------------|---------|----------------------|151| Novice | "I'm new to...", asks basics | Guided workflows, examples, guardrails |152| Intermediate | Uses terms correctly, asks "how to optimize" | Efficiency, concepts, options |153| Expert | Asks about internals, wants customization | Control, extensibility, raw power |154155| Score | Criteria |156|-------|----------|157| 16-20 | Perfect audience fit |158| 11-15 | Good fit, acceptable learning curve |159| 6-10 | Partial fit, friction expected |160| 0-5 | Wrong audience entirely |161162**Semi-static report template**: See `{baseDir}/references/templates.md#semi-static-report`163164---165166## Mode 3: Full Analysis167168**Input**: Complete skill package + Test environment 169**Output**: Comprehensive score /130170171### Step 1: Complete Semi-Static172173Run Modes 1 and 2 first.174175### Step 2: Security Scan (Gate — Must Pass)176177**MANDATORY**: Read `{baseDir}/references/security-scan-spec.md` before scanning.178179Run static scan:180```bash181python {baseDir}/scripts/security_scan.py /path/to/skill182# or: node {baseDir}/scripts/security_scan.js /path/to/skill183# or: bash {baseDir}/scripts/security_scan.sh /path/to/skill184```185186Any HIGH severity finding = **instant fail**. Do not proceed.187188For semantic analysis (obfuscation, prompt injection, data flow): Read `{baseDir}/references/security-scan-llm.md` and use the LLM scan prompt.189190### Step 3: Trigger Testing (10 pts)191192Test 5 prompt types:193194| Type | Example | Expected |195|------|---------|----------|196| Direct | "Use [skill-name] to..." | Trigger |197| Keyword | "[feature word] my file" | Trigger |198| Indirect | "[Problem the skill solves]" | Trigger |199| Ambiguous | Vague related request | Maybe trigger |200| Negative | Unrelated task | NOT trigger |201202| Score | Criteria |203|-------|----------|204| 9-10 | Reliable triggers, zero false positives |205| 7-8 | Usually triggers, rare false positives |206| 4-6 | Sometimes triggers, some false positives |207| 0-3 | Unreliable or excessive false positives |208209### Step 4: Functional Tests (20 pts)210211| Category | Points | What to Test |212|----------|--------|--------------|213| Happy path | /8 | Core use cases work correctly |214| Edge cases | /6 | Unusual inputs, boundary conditions |215| Error handling | /3 | Graceful failures, helpful messages |216| Output quality | /3 | Results match expert expectations |217218**Full report template**: See `{baseDir}/references/templates.md#full-report`219220---221222## NEVER Do (Evaluator Anti-Patterns)2232241. **NEVER score D1 high for tutorials** — "How to use library X" is not expert knowledge, even if well-written.2252262. **NEVER ignore token cost** — An 800-line skill that could be 200 lines is wasting 75% of context window.2272283. **NEVER pass security for "educational" shell=True** — Legitimate purposes don't justify vulnerabilities.2292304. **NEVER assume environment** — A skill perfect for CLI is worthless in claude.ai web.2312325. **NEVER conflate "comprehensive" with "good"** — More content ≠ more value. Density matters.2332346. **NEVER skip gate checks** — A skill with invalid YAML shouldn't get quality scores.235236---237238## Common Failure Patterns → Fixes239240| Pattern | Symptom | Root Cause | Fix |241|---------|---------|------------|-----|242| **Tutorial** | Low D1, "What is X" sections | Author wrote for humans, not LLMs | Delete all content LLM already knows |243| **Dump** | >800 lines, no structure | No progressive disclosure | Split to `references/`, add loading triggers |244| **Orphan References** | `references/` exists but never loaded | Missing "when to read" instructions | Add explicit "MANDATORY if [X]: Read..." |245| **Invisible** | Never triggers | Bad description | Move ALL trigger info to description, add keywords |246| **Wrong Location** | "When to Use" in body | Body loads AFTER trigger decision | Description = when, Body = how |247| **Vague Warnings** | "Be careful with X" | No actionable anti-patterns | Specific NEVER + surprising consequence |248249---250251## Quick Reference: Scoring Cheatsheet252253```254D1 (Knowledge Delta): "Would deleting this make LLM worse?"255D2 (Mindset): "Does it shape HOW to think, not just WHAT to do?"256D3 (Anti-Patterns): "Specific NEVERs with surprising reasons?"257D4 (Structure): "<300 lines? Progressive disclosure? Loading triggers?"258Environment: "Will core features actually work?"259User: "Right audience? Right complexity level?"260```261262---263264## The Meta-Question265266After every evaluation, ask:267268> **"Would an expert in this domain say: 'Yes, this captures knowledge that took me years to learn'?"**269270- **Yes** → The skill has value.271- **No** → The skill is compressing what the LLM already knows.272273---274275## Bento-Ready Report Output276277For visual dashboard integration, generate JSON reports where **evaluation logic directly determines visual weight**.278279### Core Principles280281> **异常放大,正常收敛** — Information density scales with deviation severity.282283> **Speak human, not framework** — Users haven't read our evaluation docs. No D1/D2/G1 jargon.284285| Status | Display Strategy |286|--------|------------------|287| Normal score (≥80%) | Compact block, headline only |288| Notable issue (<60%) | Expanded block with detail + action |289| Critical issue (<30% or security) | Prominent block with full evidence |290291### Output Formats292293| Request | Output |294|---------|--------|295| Standard evaluation | Markdown report (see `{baseDir}/references/templates.md`) |296| "bento report" / "visual report" / "JSON report" | Bento-ready JSON |297298### Bento Report Structure299300```json301{302 "meta": { "skillName": "...", "totalScore": 48, "maxScore": 60 },303 "summary": { "verdict": "good", "oneLiner": "Ready to use with minor improvements." },304 "blocks": [305 {306 "id": "expert-knowledge",307 "type": "score",308 "importance": { "level": "normal", "reason": "Good expert content with minor redundancy" },309 "layout": { "size": "default" },310 "content": { 311 "headline": "Expert Knowledge — Good ✓",312 "detail": "Contains valuable professional insights. Some basic tutorials could be trimmed."313 }314 }315 ]316}317```318319### Importance → Layout Mapping320321| Importance | Layout | Trigger |322|------------|--------|---------|323| `critical` | `prominent` | Gate fail, security issue, score <30% |324| `notable` | `expanded` | Score <60%, outlier disparity |325| `normal` | `default` | Score 60-80% |326| `minor` | `compact` | Score ≥80%, all gates pass |327328### Visual Assets329330Add `visual_asset` for critical/notable blocks:331332- **Charts**: gauge (header), radar (quality overview)333- **Illustrations**: warning style for security issues334- **Badges**: verdict display335336Always include `fallback.text` for image generation failures.337338**MANDATORY for bento reports**: Read `{baseDir}/references/bento-report-schema.md` for complete JSON schema.339340**MANDATORY for bento generation**: Read `{baseDir}/references/bento-report-instruction.md` for generation rules.341342---343> Converted and distributed by [TomeVault](https://tomevault.io/claim/alterxyz) — claim your Tome and manage your conversions.344<!-- tomevault:4.0:skill_md:2026-04-13 -->