Schreibanweisung zusammenstellen
Stelle eine Schreibanweisung zusammen, indem du Taxonomie-Einträge aus den Achsen Stimme und Ton, Stil und Format kombinierst.
Verwendung
/writing-style-catalog:writing-instruction-builder [voice=<id>] [tone=<id>] [style=<id>] [format=<id>] [topic=<text>] [audience=<text>]
Alle Parameter sind optional. Wenn sie weggelassen werden, wählt die Fähigkeit sinnvolle Standardwerte.
Parameter
voice– ID des Stimmeintrags (z. B.pragmatic-architect,pastoral,columnist)tone– ID des Toneintrags (z. B.candid,warm,matter-of-fact)style– ID des Stileintrags (z. B.problem-solution,devotional-reflection)format– ID des Formateintrags (z. B.adr,blog-post-long-form,slack-message)topic– Das Thema oder der Gegenstand, über den geschrieben werden soll (optional, für eine konkretere zusammengesetzte Anweisung)audience– Die Zielgruppe (optional, Standard ist Allgemein)
Was die Fähigkeit tut
- Sie validiert jede angegebene Eintrags-ID anhand des Taxonomie-Katalogs
- Sie liest die
llm_instruction_phrasingaus jedem passenden Eintrag - Sie setzt eine zusammengesetzte Anweisungszeichenkette in einer festen Prioritätsreihenfolge zusammen: Stimme, dann Ton, dann Stil, dann Format
- Sie prüft die ausgewählten Einträge gegeneinander auf ihre Beziehungsfelder und warnt bei Konflikten (ohne zu blockieren)
- Sie gibt die zusammengesetzte Anweisung zurück, bereit zum Einfügen in jeden LLM-Prompt
Implementierung
Die Zusammensetzung wird durch das Hilfsskript scripts/build-instruction.py in diesem Fähigkeitsordner implementiert. Es liest den Katalog aus dem Verzeichnis taxonomy/ im Plugin-Stammverzeichnis, sodass dieses Verzeichnis mit dem Plugin ausgeliefert wird. Der Slash-Befehl verwendet key=value-Argumente; das Skript selbst verwendet --flag value-Argumente. Du kannst es direkt ausführen, um ohne den Slash-Befehl zusammenzusetzen, zum Beispiel:
python scripts/build-instruction.py --voice pragmatic-architect --tone candid --format adr
Konfliktbewusste Zusammenstellung
Der Builder liest die Felder avoid_with und pairs_well_with jedes ausgewählten Eintrags und berichtet darüber, sodass eine Zusammenstellung eine geprüfte Garantie und keine blinde Verkettung ist. Die Regeln (siehe ADR 0016):
- Konflikte sind symmetrisch. Ein Paar wird gemeldet, wenn einer der Einträge den anderen in
avoid_withaufführt, sodass die Warnung nie davon abhängt, welcher Autor die Verknüpfung aufgezeichnet hat. - Warnen, nie blockieren. Ein widersprüchliches Paar wird trotzdem zusammengesetzt (vielleicht möchtest du eine bewusste Spannung); der Builder gibt eine Warnung aus und wendet die Priorität Stimme -> Ton -> Stil -> Format an, sodass die Achse mit höherer Priorität führt.
- Bestätigungen. Eine
pairs_well_with-Übereinstimmung wird als bestätigende Notiz angezeigt.
Die zusammengesetzte Anweisung wird auf stdout ausgegeben; Konfliktwarnungen und Bestätigungsnotizen werden auf stderr ausgegeben, sodass stdout ein sauberer, weiterleitbarer Prompt bleibt. Beispielsweise wird bei der Kombination der Stimme pragmatic-architect mit dem Ton reverent (den sie in avoid_with aufführt) trotzdem die Anweisung zurückgegeben und Folgendes ausgegeben:
warning: conflict - pragmatic-architect (voice) and reverent (tone) are marked avoid_with.
Composing anyway with voice -> tone -> style -> format precedence; expect tension.
Beispiele
Erstelle einen ADR in der Stimme eines pragmatischen Architekten mit offenherzigem Ton:
/writing-style-catalog:writing-instruction-builder voice=pragmatic-architect tone=candid format=adr
Erstelle eine pastorale Andacht:
/writing-style-catalog:writing-instruction-builder voice=pastoral tone=reverent style=devotional-reflection format=devotional-entry topic="Die Disziplin der Ruhe"
Verfügbare Einträge
Führe den Befehl ohne Argumente aus, um alle verfügbaren Einträge, gruppiert nach Achse, anzuzeigen.