CommunityCodierung & Entwicklunggithub.com

yasyf/design-doc

Führe einen annahmengesteuerten Architekturentwurf durch und erstelle ein interaktives Design-Dokument. Grundwahrheiten landen in einem Register mit stabilen IDs, jeder Design-Fork durchläuft eine Fragerunde mit dokumentiertem Ausweg, eine kontroverse Überprüfung greift den Zwischenentwurf an, und jede Schätzung ist an einen benannten Spike gebunden. Ergebnis ist ein von einem `registers.json`-gesteuertes, einseitiges HTML-Dokument, das mit einer handschriftlichen Zusammenfassung beginnt, jeden Eintrag mit einem lesbaren Handle zitiert, deklarierte interaktive Komponenten enthält und auf der Seite Fragen beantwortet, wenn eine KI-Konfiguration bereitgestellt wird – sowie ein generiertes PDF. Verwende es, wenn du aufgefordert wirst, ein „Design-Dokument“, einen „Architekturvorschlag“ zu schreiben oder bei der Gestaltung eines Systems helfen sollst.

Was ist design-doc?

Dieses Skill erstellt einen strukturierten, annahmengesteuerten Architekturentwurf, der als interaktives Design-Dokument ausgegeben wird. Es eignet sich besonders für KI-Assistenten wie Claude, Cursor oder Codex und wandelt eine gesprächsbasierte Design-Entscheidung in ein überprüfbares, der Entscheidungsfindung dienendes Artefakt um. Der Prozess nutzt einen strikten Register-Ansatz (Assumptions, Decisions, Open Questions, Spikes), wobei jede Behauptung auf eine Grundwahrheit zurückgeführt wird. Er umfasst Phasen für die Diagnose, Annahmenerfassung, iterative Design-Fragebögen (über `cc-present` Boards), eine kontroverse Überprüfung und die endgültige Veröffentlichung. Das Skill automatisiert mechanische Aufgaben wie das Erstellen eines neuen Projekts, die Validierung der Register, die Erstellung von Zusammenfassungen, das Kompilieren von interaktiven React-Komponenten (TSX), die Überprüfung von Mermaid-Diagrammen und das Erstellen einer PDF-Version. Das Ergebnis ist ein eigenständiges HTML-Dokument mit einer handgeschriebenen Zusammenfassung, lesbaren Handles und interaktiven Komponenten, das eine fundierte Überprüfung und Entscheidungsfindung erleichtert.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/yasyf/cc-skills/tree/HEAD/plugins/design-doc/skills/design-doc

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht design-doc?

gemini-4-argon schreibt und überarbeitet jegliche Prosa, einschließlich Zusammenfassungen, Plain Twins, Handles, Revisionsnotizen und Veröffentlichungstexte. Die Sitzung übergibt die Fakten und Regeln (den Schreibvertrag, die Qualitätsregeln, die Längenbeschränkungen) über gemini -m gemini-4-argon --skip-trust -p, übernimmt die Antwort wörtlich und sammelt Beweise und veröffentlicht das Ergebnis selbst. Prosa-Helfer rufen dasselbe Modell über gemini --skip-trust -p auf, ohne Fallback-Modell.

Ein Architekturentwurf ist ein Stapel von Entscheidungen auf einem Stapel von Annahmen. Dieses Skill führt den Entwurf als Gespräch – der Benutzer entscheidet alles – und rendert das Ergebnis als ein Dokument, in dem jede Behauptung auf eine Annahme, eine Entscheidung und die Fragerunde zurückgeführt werden kann, die sie hervorgebracht hat.

Ein Befehl steuert die mechanischen Teile:

TOOL="python3 ${CLAUDE_PLUGIN_ROOT}/skills/design-doc/scripts/design.py"
$TOOL scaffold --title <name>   # frisches ./<slug>/-Verzeichnis für genau dieses eine Design-Dokument
$TOOL scaffold --example        # ./tinyq/, ein kleines ausgefülltes Arbeitsbeispiel
$TOOL check <dir>               # lintet die Register, Plain Twins, Diagrammquellen und das Zusammenfassungsdeck; Fehler beenden mit Exit-Code ungleich Null, --strict macht die veröffentlichungsblockierenden Warnungen zu Fehlern
$TOOL summary-text <dir>        # das Deck als Markdown, ein ##-Abschnitt pro Panel; die Eingabe für die Gates
$TOOL plainify <dir> [--only DQ3,A2] [--dry-run]
$TOOL glossary <dir>            # Begriffe, die die Prosa verwendet und die im Glossar fehlen, als Kandidaten für Einträge
$TOOL build <dir>               # kompiliert components/*.tsx in components.js; nur für ein Dokument mit einem Verzeichnis components/
$TOOL render-check <dir>        # rendert jeden Mermaid-Block im kopflosen Chrome; schlägt bei Parse-Fehler oder Seitenausnahme fehl
$TOOL pdf <dir>                 # druckt das Dokument über das Druck-Stylesheet der Vorlage in <dir>/design-doc.pdf
$TOOL snapshot <dir> --note "..." --item "..." # erstellt eine Revision, mit der die Änderungsansicht verglichen wird; note ist die für den Leser sichtbare Überschrift, jeder --item eine Änderung
$TOOL links <dir> [--fetch] [--missing] # jede Entscheidung und jedes offene Element mit seinen Pull-Request-Links und dem Status; --fetch fragt GitHub, ob jeder Link gemerged wurde, und meldet Abweichungen; --missing listet die Einträge auf, die noch nicht verlinkt sind

Lies reference/method.md vor Phase 1, reference/writing.md vor Phase 5 und reference/publish.md vor Phase 6 – die Methodendatei ist das Runden-/Registerprotokoll, die Schreibdatei ist der Stimmvertrag, die Veröffentlichungsdatei ist der Hosting-Ablauf. reference/schema.md ist der feldspezifische Vertrag für die JSON-Dateien; erstelle das tinyq-Beispielgerüst, wenn du ein ausgefülltes Register neben dem Schema haben möchtest.

Terminologie

  • Register – eine strukturierte Liste in registers.json, deren Einträge stabile IDs haben: A# Annahmen, DQ# Entscheidungen, Q# offene Fragen, V# Spikes, c-<slug> Architekturkarten.
  • Runde – ein Board, das dem Benutzer vorgelegt und wörtlich in qa-log.json protokolliert wird. Eine Runde stellt jeden offenen Fork auf einmal, jeder als design-doc.fork-Block, und fragt nichts anderes. Antworten, die neue Forks öffnen, starten die nächste Runde, wieder alle auf einmal; qa-log.json zeichnet die Runden in der Reihenfolge auf, so dass ein späteres Board von einer früheren Antwort abhängen kann.
  • Supersession – eine geänderte Entscheidung erhält einen neuen Eintrag, der alte bekommt s: "superseded" plus einen by-Zeiger, den das Dokument als "Ersetzt durch" und den Titel des Nachfolgers rendert. Die Historie bleibt lesbar, da niemand in-place editiert.
  • Stern (★) – markiert die tragende Annahme, deren Scheitern das Dokument ungültig macht.
  • Spike – ein benanntes, zeitlich begrenztes Experiment (V#), das eine mit (E) markierte Schätzung in eine gemessene Zahl verwandelt.
  • Executive Summary – summary.html, ein handgeschriebenes HTML-Fragment neben registers.json, für den Leser, der sonst nichts liest: standardmäßig ein Deck aus Vollbild-Panels, ein Poster, wenn der Entwurf aus einer Idee und einer Abbildung besteht. Wird nie als Daten geparst; check lintet seine Form, seine Wortbudgets und seine Zitate.
  • Plain Twin – das p-Feld neben der präzisen Formulierung eines Eintrags, ein oder zwei kurze Sätze, die sagen, was der Eintrag für jemanden bedeutet, der ihn nicht lesen wird. Das Dokument zeigt standardmäßig die Zwillinge und die genaue Formulierung einen Umschalter entfernt.
  • Key und Theme – key: true markiert die 3–8 Entscheidungen und Annahmen, die das Dokument als Karten öffnet; theme ordnet jeden Eintrag einem der 3–5 Entwurfsthemen zu, die in Phase 0 benannt und in der themes-Karte definiert werden.
  • Diagramm – die Mermaid-Quelle des Systemdiagramms, im diagram-Registerschlüssel; das Dokument rendert es, der Leser kann es schwenken und überfahren, und die Anforderungspfade schreiten hindurch. diagram.overview ist das Zehn-Knoten-Subset, das die Übersichtskarte zeichnet, mit dem vollständigen Graphen einen Klick entfernt. Ein handgezeichnetes sysd.svg bleibt gültig als diagram.kind: "svg".
  • Handle – das h-Feld auf jeder Entscheidung, Annahme, offenem Element, Architekturkarte und Zahlentabelle: wie ein Leser sie nennen würde, zwei bis fünf Wörter. Zitate und Chip-Zeilen zeigen den Handle; die ID lebt in der Hover-Karte.
  • Komponente – eine interaktive Abbildung, die in der components-Karte deklariert ist (dd.tabs, dd.before-after, dd.whatif, dd.steps, dd.timeline, dd.matrix, die beiden Vergleichspanel-Abbildungen dd.flow und dd.lanes, die handgezeichnete Systemkarte dd.system und dd.arch, die ein veröffentlichtes Architekturdokument einbettet) und per ID im Deck oder an einem Eintrag platziert wird; eine TSX-Datei unter components/ ist der Ausweg, den build kompiliert.
  • Figure Brief und Kritik – die beiden NOTES.md-Abschnitte, aus denen das Deck gezeichnet und gegen die es gelesen wird. Ein Brief ist fünf Zeilen pro Abbildung, geschrieben bevor die Abbildung gezeichnet wird: die Aussage, die sie trifft, die Entscheidung, der sie dient (per ID), die kleinste Ansicht, die die Aussage vermittelt, was sie auslässt und die echten Labels, die sie verwendet. Die ersten beiden Zeilen werden zur <figcaption>. Die Kritik ist eine Zeile pro Panel, Abbildung, Tabelle und Statistik, geschrieben vor den Gates: die Entscheidung, der sie dient, die Behauptung, die sie aufstellt, die Frage, mit der ein Leser zurückbleibt, und behoben oder gestrichen. check warnt, wenn einer der beiden Überschriften fehlt.
  • Link – ein Eintrag von links[] auf einer Entscheidung, einem offenen Element oder einer Erkenntniszeile: der Pull-Request, das Issue, der Commit oder das Dokument, das sie abschließt. closes: true auf dem Link eines offenen Elements markiert denjenigen, der es zurückzieht. Das Dokument zeigt jeden Link als Chip mit seinem GitHub-Status und leitet jede offene Gruppe damit ein, wie viele ihrer Elemente geschlossen sind.
  • Statuswerte: Entscheidungen sind resolved | superseded | open, was das Dokument als "Entschieden", "Ersetzt" und "Noch offen" rendert; Annahmen sind working | validate, gerendert als "Angenommen" und

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

yasyf/long-running

Runs a multi-lane drive so no coordinator becomes its bottleneck. The session the owner types in is the communicator; a sibling Orca session bound as lane root is the coordinator; a standing meta lane takes every skill, tooling and process change and turns each ruling into a skill update; every question has a verb of the drive tool lr; landing, grading, lane liveness, incident spawn, release tracking and owner updates run as processes that reach the coordinator only with a decision to make. Use when orchestrating multi-lane work, driving a CI or infra bring-up, running a migration or audit across many units, supervising background agents or PR landings, tracking more than ten open PRs, landing PRs through a merge queue from many lanes, or on any task that will plainly exceed one context window.

yasyf/open-pr

Open a pull request that reads like the repo's own maintainers wrote it — pick a depth first, where an express lane for "just open the PR" or "just ship it" orients, writes, and ships without the research passes, and the full lane orients with `ccx vcs lane` and `ccx vcs guidelines`, learns the house style from a bot-filtered sample of recent human-authored merged PRs via a cached per-repo style card, calibrate register against a local wlm voice profile, run a politeness and standards-conformance pass with issue-first handling on repos the user does not own, write the title, body, and commit messages to the repo's own conventions, ship through `ccx vcs ship`, and hand the CI and bot-comment watch to a background pr-watcher agent. Use when opening, submitting, or contributing a pull request, drafting a PR title or body, contributing a change to an open-source repo, or shipping a branch as a PR.

yasyf/orca

Launch and supervise Orca workers through the canonical Sprite prepare-and-attach entrypoint, with an explicit local route for Opus roots and the rare Fable assignment for the most sensitive work, and reclaim what a settled Dispatch left behind. Use for worker dispatch, native Run messaging, remote diagnosis, ending a done lane, or source return.

Verwandte Skills