Skill-Anweisungen (SKILL.md) und ihre Referenzketten gegen Anthropics Skill-Quality-Standards prüfen #65
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ergebnis
Die Analyse ist durchgefuehrt (Sitzung 2026-09-09, Claude Opus). Alle fuenf
SKILL.mdwurden im Volltext gelesen, ihre Referenzketten mechanisch vermessen, und alle neun Anthropic-Quellen wurden eingeordnet. Zwoelf neue Issues sind daraus entstanden: #70 bis #81.Die Analyse hat keine Datei im Arbeitsbaum geaendert - das war Vorgabe.
tools/wikitool instructions verifylief zu Beginn und unveraendert am Ende sauber:OK 21 instruction(s) and 7 skill(s) valid, 14 published copy/copies match their source.Die zwoelf Issues
wiki-status: Hard Rule widerspricht zwei eigenen Schritteninstructions/CONTRACT.md: Imperativ-Titel-Regel gilt nicht dem Skill-H1wiki-ingest: kein abhakbarer Checklisten-Blockwiki-query: kein Pruefschritt vor Mehrfach-Filing, keinsession-setup-Verweissession-setup.md§ Scope widerspricht der Budget-Ausnahmelistewiki-ingesttraegt Begruendungsprosa entgegen § Keep reasoning outclaude plugin evalgegen den fehlenden Agent-Runner pruefenVor jeder Anlage wurde per
search_issues/list_issuesueber alle offenen und geschlossenen Issues auf Dubletten geprueft - keine gefunden.Zwei Grundsatzentscheidungen, hier getroffen
Beide waren Voraussetzung dafuer, dass aus den Funden ueberhaupt richtige Issues werden konnten.
1. Gilt
instructions/CONTRACT.md§ "Imperative title" fuer den H1 einesSKILL.md? Nein. Anthropic normiert nurnameunddescription; zur Body-Ueberschrift steht dort nichts, und die eigenen Beispiel-Skills heissen# PDF Processing,# BigQuery Data Analysis,# DOCX Processing- dieselbe Nomenphrase, die die Regel verboten haette. Die Regel wird praezisiert (#71), die fuenf Titel bleiben. Damit ist Fund 3 kein Befund gegen die fuenf Dateien, sondern einer gegen den eigenen Contract.2. Bindet Anthropics "Keep references one level deep from SKILL.md" auch Verweise auf Repo-Dateien ausserhalb des Skill-Verzeichnisses? Buchstaeblich nein, der Begruendung nach ja - und der Unterschied ist im Issue sauber zu halten. Regel und beide Beispiele sind an skill-gebuendeltem Material verankert; zu repo-weiten Contracts sagt die Doku nichts. Verschaerfend: kein einziges der fuenf Skill-Verzeichnisse enthaelt eine weitere Datei ausser
SKILL.md- die Dateikategorie, die Anthropic adressiert, existiert in Chemenu nicht. Die Nachlade-Mechanik (head -100) ist dagegen verzeichnisunabhaengig real. Alskind/decisionin #72 gefuehrt, weil der Konflikt mit § Frontload und Invariante 8 nicht nebenbei entschieden wird.Referenzketten, gemessen
Skript-Messung ueber Markdown-Links, 2026-09-09:
wiki-ingestwiki-linttools/CONTRACT.mdwiki-managewiki-querywiki-statusDrei Beobachtungen, die die urspruengliche Sichtung nicht hatte:
wiki-statushat gar keine Kette. Das erfuellt das Kriterium trivial, ist aber kein Qualitaetsbeleg: der Skill verlinkt wedergates.mdnochsession-setup.mdnochtools/CONTRACT.md.gates.md->kb/concepts/…sind Wikilinks ([[Mass-Update Gate]]), keine Markdown-Links. Fuer die Nesting-Frage ein eigener Fall - einem Wikilink kann ein Agent nicht ohne Pfadaufloesung folgen.wiki-ingestist 214 Zeilen / 10.777 Byte, nicht 8.445.Einordnung der neun Anthropic-Quellen
name-/description-Constraints, dritte Person, "one level deep"), mehrere Empfehlungen (TOC >100 Zeilen, <500 Zeilen Body, Checkliste bei komplexen Workflows, Gerund-Namen, Forward Slashes, "Avoid time-sensitive information", konsistente Terminologie). Speist #72, #73, #74, #77, #78Geprueft, kein Befund
description-Feld aller fuenf. Enthaelt "was" und "wann". Anthropics Warnung "Always write in third person" richtet sich gegen "I can help you…" und "You can use this…"; die eigenen Effective examples ("Extract text and tables from PDF files… Use when…") stehen in genau der Form, die die fuenf verwenden. Eine Beanstandung waere ein Fehlalarm. Die Doku ist an dieser Stelle intern uneinheitlich - im Pattern-1-Beispiel steht "Extracts…", im Beispielabschnitt "Extract…".wiki-ingestmit 214.wiki-*zulaessig. Auch die hartenname-Constraints (max. 64 Zeichen, nur Kleinbuchstaben/Ziffern/Bindestriche, keine Reserved Words "anthropic"/"claude") sind bei allen fuenf erfuellt.EVALS.md§ "The agent runner, and why it is not here yet" fuehrt genau diese Luecke bereits, samt Design und Blocker (keine Provider-Credentials). Daraus wurde stattdessen #80 -claude plugin evalumgeht den Blocker fuer einen Harness./skill-doctorals Pruefwerkzeug. Ausgeschieden: kein Skill, sondern ein UI-Befehl ("cannot be invoked via the Skill tool"), und er liefert Usage-Telemetrie, keine Authoring-Pruefung. In diesem Setup antwortet er "Skill usage reports are not available on this connection". Fuer diese Analyse ohne Nutzen.<!-- dist:strip-start/end -->-Marker inAGENTS.mdkosten also keinen Kontext und schneiden die umschlossene Routing-Zeile nicht weg.Akzeptanzkriterien
SKILL.mdliegt eine gemappte Referenzkette vor.search_issues/list_issuesauf Dubletten geprueft.instructions/dev/issue-tracking.md, mit allen vier Pflichtlabels und pruefbaren Akzeptanzkriterien.tools/wikitool instructions verifylaeuft unveraendert ohne Findings (keine Datei geaendert).Was ausdruecklich nicht geschehen ist
kb/,raw/,types/,instructions/wurde angefasst. Die zwoelf Issues sind das Ergebnis.dev/stack-closeunddev/stack-devblieben out of scope (Nutzer-Entscheidung 2026-09-07). Eine Analyse dieser beiden waere ein eigenes Issue.Herkunft
Gefunden bei einer Skill-Qualitaetspruefung von
wiki-querygegen Anthropics Standards und die eigeneninstructions/CONTRACT.md-Regeln, Sitzung 2026-09-07. Ueber mehrere Sitzungen auf fuenf Skills, Referenzketten und Dateiinhalt ausgeweitet. Durchgefuehrt am 2026-09-09 auf Claude Opus: Volltext aller fuenf Skills und der Primaerquelle, Skript-Messung der Ketten und Kommandolisten, Volltextabruf der bis dahin ungelesenen vier Quellen, Dublettenpruefung, Anlage von #70-#81.Changelog: Neuer Abschnitt "Weiterführende Analyse-Aufgabe" ergänzt - Datei-/Referenzsichtung von
wiki-ingestund seiner Kette (session-setup.md,raw/CONTRACT.md,kb/CONTRACT.md,gates.md,publish-cycle.md) gegen Anthropic-eigene Quellen, als Auftrag für eine Claude-Opus-Sitzung. Nicht-Anthropic-Quellen aus einer vorherigen Recherche wurden explizit ausgeschlossen. Neue Akzeptanzkriterien für diesen Abschnitt hinzugefügt, bestehende wiki-query-Kriterien unverändert.size/S→size/M, da der Umfang jetzt mehrere Dateien über zwei Skills hinweg umfasst.Changelog: Analyse-Abschnitt präzisiert - explizit als reiner Analyse-Vorgang gekennzeichnet, keine Umsetzung innerhalb von #65. Akzeptanzkriterien (Opus-Analyse) ersetzt: statt Bewertung im Issue jetzt Anlage eigenständiger neuer Issues pro tatsächlich gefundenem Missstand (nach
instructions/dev/issue-tracking.md), Dubletten-Check perlist_issues/search_issuesvorgeschaltet, geprüfte Nicht-Befunde sind zu vermerken, Rückverlinkung der neuen Issues in #65 gefordert. "Nicht Gegenstand"-Abschnitt um die Klarstellung ergänzt, dass Umsetzung außerhalb von #65 stattfindet.instructions/wiki-query/SKILL.md: fehlender Validierungsschritt vor Mehrfach-Filing, Titel nicht imperativto Alle Skill-Anweisungen (SKILL.md) und ihre Referenzketten gegen Anthropics Skill-Quality-Standards prüfenChangelog: Issue komplett umgeschrieben und auf einen einzigen Fokus reduziert - die Analyse aller sieben
SKILL.md-Skills (bisher nurwiki-ingest-Kette) gegen Anthropics Skill-Quality-Standards. Die zwei konkreten wiki-query-Befunde (Validierungsschritt, imperativer Titel) wurden nicht ausgelagert, sondern bleiben als exemplarisches Ergebnis im Body stehen (Referenzgranularität für die Opus-Analyse). Neue Tabelle mit allen sieben Skill-Dateien und Byte-Größen ergänzt; für sechs davon ist die Referenzketten-Sichtung noch offen und Teil der Aufgabe. Akzeptanzkriterien entsprechend auf alle sieben Skills verallgemeinert.size/M→size/Lwegen erweitertem Umfang.Alle Skill-Anweisungen (SKILL.md) und ihre Referenzketten gegen Anthropics Skill-Quality-Standards prüfento Skill-Anweisungen (SKILL.md) und ihre Referenzketten gegen Anthropics Skill-Quality-Standards prüfenChangelog: Scope eingegrenzt -
dev/stack-closeunddev/stack-devgezielt aus dem Scope entfernt (Nutzer-Entscheidung), Tabelle und Akzeptanzkriterien von sieben auf fünf Skills reduziert (wiki-ingest,wiki-lint,wiki-manage,wiki-query,wiki-status). Klarstellung ergänzt, dasswiki-querytrotz der zwei bereits bekannten Beispiel-Funde weiterhin vollständig zu prüfen ist, nicht durch diese Funde als abgehakt gilt.size/Lunverändert.Ergänzung: eigentlicher Skill-Inhalt gegen Anthropics Best-Practices-Seite geprüft (Volltext aller fünf SKILL.md geladen, nicht nur Referenzketten).
Quelle: https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices (Volltext abgerufen, nicht nur Snippet).
Verschachtelte Referenzen ("Avoid deeply nested references"). Anthropic verlangt, dass Referenzen maximal eine Ebene von SKILL.md entfernt sind, weil sonst oft nur
head -100statt der Volldatei gelesen wird. Die bereits oben dokumentiertewiki-ingest-Kette verstößt zweifach:kb/CONTRACT.md(Ebene 1) verlinkt selbst weiter zuinstructions/kb-profiles.md,link-taxonomy.md,page-lifecycle.md,types/type-spec.md(Ebene 2, nicht direkt vonwiki-ingest/SKILL.mderreichbar);instructions/gates.md(Ebene 1) verlinkt weiter zukb/concepts/Mass-Update Gate.md,Iteration and Cost Limits.md,instructions/private-instance.md,work/CONTRACT.md,tools/CONTRACT.md(Ebene 2, ebenfalls nicht direkt erreichbar).Fehlendes Inhaltsverzeichnis bei langen Referenzdateien ("Structure longer reference files with table of contents"). Anthropic verlangt ein TOC für Referenzdateien über 100 Zeilen. Die oben bereits notierte Beobachtung -
kb/CONTRACT.md,instructions/gates.mdundAGENTS.mdgliedern nur über##-Überschriften ohne TOC-Block - lässt sich jetzt direkt an diese Regel anbinden; alle drei liegen deutlich über 100 Zeilen.Fehlender Checkbox-Block bei komplexem Workflow ("Use workflows for complex tasks"). Für komplexe Workflows empfiehlt Anthropic einen kopierbaren, abhakbaren Checklisten-Block. Der oben bereits notierte 12-Schritte-Ablauf von
wiki-ingest/SKILL.md(der umfangreichste der fünf) hat keinen solchen Block.Titel nicht imperativ - Muster über alle fünf, nicht nur wiki-query.
instructions/CONTRACT.md§ "Writing an instruction" verlangt einen imperativen Titel. Volltext-Check aller fünf:# Wiki Query,# Wiki Lint,# Wiki Manage,# Wiki Status,# Wiki Ingest- durchgehend Nomenphrase statt Imperativ. Offene Frage für die Opus-Analyse: gilt die Instruction-Titelregel 1:1 für den Skill-H1.Widerspruch Hard Rule vs. tatsächlicher Schritt in
wiki-status. Hard Rule: "read-only. Never writes, scaffolds, or modifies any file." Schritt 2 ruft abertools/wikitool lintauf, was laut eigener Beschreibung "writes the full report to reports/Lint Report .md" - ein Datei-Write, den die Hard Rule direkt darüber ausschließt. Kein Anthropic-Fund, sondern eininstructions/CONTRACT.md-Präzisionsverstoß ("every decision point explicit, ambiguity eliminated").Geprüft, kein Befund:
wiki-ingest, ~210 Zeilen bei 8.445 Byte).wiki-*-Namen sind damit zulässig.Diese fünf Punkte sind Zusatzmaterial für die vorgesehene Opus-Analyse, keine abschließende Bewertung und keine neuen Issues - Anlage neuer Issues bleibt der vollständigen Analyse gemäß den bestehenden Akzeptanzkriterien vorbehalten.
Changelog: Body umgeschrieben - Aufgabe präzisiert (Referenzkette UND Dateiinhalt selbst sind gleichrangig im Scope), "Beispiel"-Abschnitt um fünf neue Funde aus dem Kommentar oben erweitert (Funde 3-7: Titel-Muster über alle fünf, verschachtelte Referenzen, fehlendes TOC, fehlender Checkbox-Block, wiki-status-Widerspruch) sowie drei "kein Befund"-Punkte ergänzt. Tabelle um Spalte zur Inhalts-Stichprobe erweitert. Akzeptanzkriterien um einen expliziten Punkt zur Inhaltsprüfung ergänzt; bestehende Kriterien inhaltlich unverändert. Labels unverändert.
Changelog: Analyse durchgefuehrt, Body vollstaendig auf den Endstand umgeschrieben - aus einer Aufgabenbeschreibung ist ein Ergebnisbericht geworden. Zwoelf Issues angelegt (#70-#81), alle acht Akzeptanzkriterien abgehakt.
Was sich gegenueber dem alten Body inhaltlich geaendert hat:
name/description; die eigenen Beispiel-Skills tragen dieselbe Nomenphrase. Der Befund richtet sich jetzt gegeninstructions/CONTRACT.md(#71), nicht gegen die fuenf Dateien - deren Titel bleiben.kind/decisionin #72.wiki-status) ist verschaerft: nicht ein Widerspruch, sondern zwei (Schritt 5 behauptet zusaetzlich, es sei nichts geschrieben worden). #70.session-setup-Verweis inwiki-query(#75), widerspruechlicher Scope-Satz insession-setup.mdselbst (#76), Gitea-Issue-Nummern in ausgelieferten Instructions (#77), Drift zwischen Kommandolisten und Schritten plus fehlende Beispielbloecke (#78), Begruendungsprosa inwiki-ingestgegen § Keep reasoning out (#79), Kontextlast der CLAUDE.md-Importkette (#81, scope-benachbart).description-Feld (waere ein Fehlalarm - Anthropics eigene Beispiele stehen in derselben Form) und die fehlenden Skill-Evals (bereits inEVALS.mdals offener Agent-Runner gefuehrt; daraus wurde stattdessen #80 zuclaude plugin eval).wiki-ingesthat 214 Zeilen / 10.777 Byte, nicht 8.445.Labels unveraendert. Issue bleibt offen: der Scope von #81 ist noch vom Operator zu bestaetigen.
Schliessung. Ueber
/stack-closeaufgerufen; dessen eigentliche Voraussetzung (einstack-dev-Publish) traf hier nicht zu - #65 war reine Analyse, keinwikitool-Aufruf hat den Baum veraendert. Die Schliessprozedur (Body final, benannte Modelle) wird trotzdem direkt angewendet, weil sie fuer jedes fertige Arbeitspaket gilt, nicht nur fuer publish-getriggerte.docs/: nichts zu pruefen - kein File im Baum geaendert.stack-devgreift hier nicht.Schliesse mit zwoelf verlinkten Folge-Issues (#70-#81).
Nachtrag: Vorschlag zur Abarbeitungsreihenfolge von #70-#81.
Nachgereicht als Kommentar, nicht im Body - der ist mit der Schliessung final (
instructions/dev/issue-tracking.mdSchritt 7). Dies ist eine Empfehlung fuer die Ausfuehrung, kein Teil des Ergebnisses von #65.Warum nicht einzeln
Zwei Gruende, beide unabhaengig vom Inhalt der einzelnen Issues.
Release-Overhead ist pro Issue konstant. Jede dieser Aenderungen fasst
instructions/oder eineCONTRACT.mdan, braucht also Version-Bump,CHANGES.md-Eintrag, CI-Lauf und Release - gleich viel Aufwand, ob drei Zeilen oder drei Dateien geaendert werden. Sechs der zwoelf sindsize/S. Zwoelf Einzellaeufe waeren zwoelf Bumps fuer Arbeit, die in vier Publishes passt.Die Issues stapeln sich auf wenigen Dateien, nicht auf zwoelf:
instructions/CONTRACT.mdinstructions/wiki-ingest/SKILL.mdSKILL.mdEinzeln abgearbeitet wuerde
wiki-ingest/SKILL.mdviermal angefasst und viermal publiziert, und § "Writing an instruction" inCONTRACT.mdviermal umgeschrieben - jedes Mal auf einer Fassung, die der naechste Lauf wieder anfasst.Vier Laeufe, in dieser Reihenfolge
SKILL.mdneue Links - dann sieht Lauf 2 anders aus. Muss zuerst.instructions sync, einemverify.dist exportplus Grep ist - ein anderer Pruefvorgang als "verify laeuft gruen".#76 (
session-setup.md) haengt an nichts und kollidiert mit nichts - an Lauf 1 oder 2 anhaengbar.#80 und #81 sind reine Entscheidungen ohne Dateiaenderung: kein Publish, kein Bump, keine Reihenfolgebindung. Jederzeit in einer Tracker-Sitzung abraeumbar, auch parallel.
Kosten dieser Buendelung
issue-tracking.mdSchritt 2 gilt pro Issue), undstack-closelaeuft pro Arbeitspaket. Echter Mehraufwand am Sitzungsende.instructions verifydahinter vertretbar; bei Code-Aenderungen waere die Empfehlung anders ausgefallen.Die Issues selbst bleiben getrennt. Gebuendelt werden Sitzungen, nicht Arbeitspakete - ein zusammengefuehrtes Issue verlaere genau die Rueckverfolgbarkeit, fuer die #65 die zwoelf einzeln angelegt hat.