review-skill-format
关于
This skill validates SKILL.md files against the agentskills.io standard, checking YAML frontmatter, required sections, line limits, and procedure formatting. Use it to validate new skills before merging, revalidate changed skills, audit all skills in a domain, or review contributor submissions in pull requests. It's ideal for maintaining format consistency across your skill registry.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-skill-format在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Skill-Format pruefen
Eine SKILL.md-Datei gegen den agentskills.io-Standard validieren. Dieser Skill prueft Vollstaendigkeit der YAML-Frontmatter, Vorhandensein erforderlicher Abschnitte, Format der Vorgehensweisenschritte (Erwartet/Bei-Fehler-Blocks), Zeilenzahlbeschraenkungen und Registry-Synchronisierung. Vor dem Merge jedes neuen oder geaenderten Skills anwenden.
Wann verwenden
- Ein neuer Skill wurde verfasst und braucht Formatvalidierung vor dem Merge
- Ein bestehender Skill wurde geaendert und braucht Revalidierung
- Chargenauditierung aller Skills einer Domain durchfuehren
- Einen vom
create-skill-Meta-Skill erstellten Skill verifizieren - Die Skill-Einreichung eines Mitwirkenden in einem Pull Request pruefen
Eingaben
- Erforderlich: Pfad zur SKILL.md-Datei (z.B.
skills/setup-vault/SKILL.md) - Optional: Strenge-Stufe (
nachsichtigoderstreng, Standard:streng) - Optional: Ob Registry-Synchronisierung geprueft werden soll (Standard: ja)
Vorgehensweise
Schritt 1: Datei verifizieren und Inhalt lesen
Bestaetigen dass die SKILL.md-Datei am erwarteten Pfad existiert und ihren gesamten Inhalt lesen.
# Dateiexistenz verifizieren
test -f skills/<skill-name>/SKILL.md && echo "EXISTIERT" || echo "FEHLT"
# Zeilen zaehlen
wc -l < skills/<skill-name>/SKILL.md
Erwartet: Datei existiert und Inhalt ist lesbar. Zeilenzahl wird angezeigt.
Bei Fehler: Wenn die Datei nicht existiert, den Pfad auf Tippfehler pruefen. Verifizieren dass das Skill-Verzeichnis existiert mit ls skills/<skill-name>/. Wenn das Verzeichnis fehlt, wurde der Skill noch nicht erstellt -- zuerst create-skill verwenden.
Schritt 2: YAML-Frontmatter-Felder pruefen
Den YAML-Frontmatter-Block (zwischen ----Begrenzern) parsen und verifizieren dass alle erforderlichen und empfohlenen Felder vorhanden sind.
Erforderliche Felder:
name-- stimmt mit Verzeichnisname ueberein (Kebab-Case)description-- unter 1024 Zeichen, beginnt mit einem Verblicense-- typischerweiseMITallowed-tools-- komma- oder leerzeichengetrennte Werkzeugliste
Empfohlene Metadatenfelder:
metadata.author-- Autorennamemetadata.version-- semantische Versionszeichenkettemetadata.domain-- eine der inskills/_registry.ymlaufgefuehrten Domainsmetadata.complexity-- eine von:basic,intermediate,advancedmetadata.language-- Primaersprache odermultimetadata.tags-- kommagetrennt, 3-6 Tags, enthaelt Domaenname
# Erforderliche Frontmatter-Felder pruefen
head -30 skills/<skill-name>/SKILL.md | grep -q '^name:' && echo "name: OK" || echo "name: FEHLT"
head -30 skills/<skill-name>/SKILL.md | grep -q '^description:' && echo "description: OK" || echo "description: FEHLT"
head -30 skills/<skill-name>/SKILL.md | grep -q '^license:' && echo "license: OK" || echo "license: FEHLT"
head -30 skills/<skill-name>/SKILL.md | grep -q '^allowed-tools:' && echo "allowed-tools: OK" || echo "allowed-tools: FEHLT"
Erwartet: Alle vier erforderlichen Felder vorhanden. Alle sechs Metadatenfelder vorhanden. name stimmt mit Verzeichnisname ueberein. description ist unter 1024 Zeichen.
Bei Fehler: Jedes fehlende Feld als BLOCKIEREND melden. Wenn name nicht mit dem Verzeichnisnamen uebereinstimmt, als BLOCKIEREND mit dem erwarteten Wert melden. Wenn description 1024 Zeichen ueberschreitet, als VORSCHLAG mit aktueller Laenge melden.
Step 3: Locale-Specific Validation (Translations Only)
If the frontmatter contains a locale field, the file is a translated SKILL.md. Perform these additional checks. If no locale field is present, skip this step.
-
Translation frontmatter fields — Verify these five fields are present:
locale— target locale code (e.g.,de,ja,zh-CN,es)source_locale— origin locale (typicallyen)source_commit— commit hash of the English source used for translationtranslator— who or what produced the translationtranslation_date— ISO 8601 date of translation
-
Prose language scan — Sample 3-5 body paragraphs (outside code blocks, frontmatter, and headings). Verify the prose is written in the target locale, not English.
-
Code block identity check — Compare code blocks in the translated file against the English source. Code blocks must be identical (code is never translated).
Expected: All five translation fields present. Body paragraphs are in the target locale. Code blocks match the English source exactly.
On failure: Report missing translation fields as BLOCKING. If body paragraphs are in English despite a non-English locale, report as BLOCKING.
Schritt 7: Erforderliche Abschnitte pruefen
Verifizieren dass alle sechs erforderlichen Abschnitte im Skill-Koerper vorhanden sind (nach Frontmatter).
Erforderliche Abschnitte:
## Wann verwenden## Eingaben## Vorgehensweise(mit### Schritt N:-Unterabschnitten)## Validierung(kann auch als## Validierungschecklisteerscheinen)## Haeufige Stolperfallen## Verwandte Skills
# Jeden erforderlichen Abschnitt pruefen
for section in "## When to Use" "## Inputs" "## Procedure" "## Common Pitfalls" "## Related Skills"; do
grep -q "$section" skills/<skill-name>/SKILL.md && echo "$section: OK" || echo "$section: FEHLT"
done
# Validierungsabschnitt kann beide Ueberschriften verwenden
grep -qE "## Validation( Checklist)?" skills/<skill-name>/SKILL.md && echo "Validation: OK" || echo "Validation: FEHLT"
Erwartet: Alle sechs Abschnitte vorhanden. Vorgehensweisesabschnitt enthaelt mindestens eine ### Step-Unterueberschrift.
Bei Fehler: Jeden fehlenden Abschnitt als BLOCKIEREND melden. Ein Skill ohne alle sechs Abschnitte ist nicht konform mit dem agentskills.io-Standard. Die Abschnittsvorlage aus dem create-skill-Meta-Skill bereitstellen.
Schritt 7: Format der Vorgehensweisenschritte pruefen
Verifizieren dass jeder Vorgehensweisenschritt dem erforderlichen Muster folgt: nummerierter Schritttitel, Kontext, Codeblock(s) und Erwartet:/Bei Fehler:-Blocks.
Fuer jeden ### Step N:-Unterabschnitt pruefen:
- Der Schritt hat einen beschreibenden Titel (nicht nur "Step N")
- Mindestens ein Codeblock oder eine konkrete Anweisung existiert
- Ein
**Erwartet:**-Block ist vorhanden - Ein
**Bei Fehler:**-Block ist vorhanden
Erwartet: Jeder Vorgehensweisenschritt hat sowohl Erwartet:- als auch Bei Fehler:-Blocks. Schritte enthalten konkreten Code oder Anweisungen, keine vagen Beschreibungen.
Bei Fehler: Jeden Schritt dem Erwartet/Bei Fehler fehlt als BLOCKIEREND melden. Wenn Schritte nur vage Anweisungen enthalten ("das System geeignet konfigurieren"), als VORSCHLAG mit Hinweis auf Hinzufuegen konkreter Befehle melden.
Schritt 7: Zeilenzahl verifizieren
Pruefen dass die SKILL.md innerhalb der 500-Zeilen-Grenze liegt.
lines=$(wc -l < skills/<skill-name>/SKILL.md)
[ "$lines" -le 500 ] && echo "OK ($lines Zeilen)" || echo "UEBER LIMIT ($lines Zeilen > 500)"
Erwartet: Zeilenzahl ist 500 oder weniger.
Bei Fehler: Wenn ueber 500 Zeilen, als BLOCKIEREND melden. Empfehlen den Skill refactor-skill-structure zu verwenden um Codeblocks >15 Zeilen nach references/EXAMPLES.md zu extrahieren. Typische Reduktion: 20-40% durch Extraktion erweiterter Beispiele.
Schritt 7: Registry-Synchronisierung pruefen
Verifizieren dass der Skill in skills/_registry.yml unter der korrekten Domain mit uebereinstimmenden Metadaten aufgefuehrt ist.
Pruefen:
- Skill-
idexistiert unter dem korrekten Domain-Abschnitt pathstimmt mit<skill-name>/SKILL.mduebereincomplexitystimmt mit Frontmatter uebereindescriptionist vorhanden (kann abgekuerzt sein)total_skills-Zahl oben in der Registry stimmt mit tatsaechlicher Skill-Zahl ueberein
# Pruefen ob Skill in Registry ist
grep -q "id: <skill-name>" skills/_registry.yml && echo "Registry: GEFUNDEN" || echo "Registry: NICHT GEFUNDEN"
# Pfad pruefen
grep -A1 "id: <skill-name>" skills/_registry.yml | grep -q "path: <skill-name>/SKILL.md" && echo "Pfad: OK" || echo "Pfad: STIMMT NICHT"
Erwartet: Skill ist in der Registry unter der korrekten Domain mit uebereinstimmendem Pfad und Metadaten aufgefuehrt. Gesamtzahl ist korrekt.
Bei Fehler: Wenn nicht in Registry gefunden, als BLOCKIEREND melden. Die Registry-Eintragsvorlage bereitstellen:
- id: skill-name
path: skill-name/SKILL.md
complexity: intermediate
language: multi
description: Einzeilige Beschreibung
Validierung
- SKILL.md-Datei existiert am erwarteten Pfad
- YAML-Frontmatter parst fehlerfrei
- Alle vier erforderlichen Frontmatter-Felder vorhanden (
name,description,license,allowed-tools) - Alle sechs Metadatenfelder vorhanden (
author,version,domain,complexity,language,tags) -
name-Feld stimmt mit Verzeichnisname ueberein -
descriptionist unter 1024 Zeichen - Alle sechs erforderlichen Abschnitte vorhanden (Wann verwenden, Eingaben, Vorgehensweise, Validierung, Haeufige Stolperfallen, Verwandte Skills)
- Jeder Vorgehensweisenschritt hat Erwartet:- und Bei Fehler:-Blocks
- Zeilenzahl ist 500 oder weniger
- Skill ist in
_registry.ymlmit korrekter Domain, Pfad und Metadaten aufgefuehrt -
total_skills-Zahl in Registry ist korrekt
Haeufige Stolperfallen
- Frontmatter nur mit Regex pruefen: YAML-Parsing kann subtil sein. Ein
description: >-Mehrzeilenblock sieht anders aus alsdescription: "inline". Beide Muster pruefen wenn nach Feldern gesucht wird. - Die Validierungs-Abschnittsvariante uebersehen: Einige Skills verwenden
## Validierungschecklistestatt## Validierung. Beide sind akzeptabel; auf beide Ueberschriften pruefen. - Registry-Gesamtzahl vergessen: Nach dem Hinzufuegen eines Skills zur Registry muss auch die
total_skills-Zahl oben inkrementiert werden. Dies wird haeufig in PRs uebersehen. - Name vs. Titel Verwechslung: Das
name-Feld muss Kebab-Case sein und mit dem Verzeichnisnamen uebereinstimmen. Die# Titel-Ueberschrift ist menschenlesbar und kann sich unterscheiden (z.B. name:review-skill-format, Titel:# Skill-Format pruefen). - Nachsichtiger Modus ueberspringt Blockierer: Auch im nachsichtigen Modus sollten fehlende erforderliche Abschnitte und Frontmatter-Felder weiterhin gemeldet werden. Der nachsichtige Modus lockert nur Stil- und Metadatenempfehlungen.
Verwandte Skills
create-skill-- Die kanonische Formatspezifikation; als massgebliche Referenz verwenden wie eine gueltige SKILL.md aussiehtupdate-skill-content-- Nach bestandener Formatvalidierung verwenden um die Inhaltsqualitaet zu verbessernrefactor-skill-structure-- Wenn ein Skill die Zeilenzahlpruefung nicht besteht, zur Extraktion und Neuorganisation verwendenreview-pull-request-- Bei der Pruefung eines PR der Skills hinzufuegt oder aendert, PR-Pruefung mit Formatvalidierung kombinieren- (Translations only) All five translation frontmatter fields present (
locale,source_locale,source_commit,translator,translation_date) - (Translations only) Body paragraphs are in the target locale, not English
- (Translations only) Code blocks are identical to the English source
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
