算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
create-team【设计与创意】Erstellt eine neue Teamzusammensetzungsdatei gemaess der agent-almanac- Teamvorlage und Registry-Konventionen. Behandelt Definition des Teamzwecks, Mitgliederauswahl, Wahl des Koordinationsmusters, Aufgabenzerlegungsdesign, maschinenlesbaren Konfigurationsblock, Registry-Integration und README-Automatisierung. Verwenden beim Definieren eines Multi-Ag…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Eine Multi-Agenten-Teamzusammensetzung definieren, die zwei oder mehr Agenten koordiniert, um Aufgaben zu erledigen, die mehrere Perspektiven, Spezialgebiete oder Phasen erfordern. Die resultierende Teamdatei wird in die Teams-Registry integriert und kann in Claude Code namentlich aktiviert werden.
data-pipeline-review)agents/_registry.yml existieren)hub-and-spoke, sequential, parallel, timeboxed, adaptiveArtikulieren, welches Problem mehrere gemeinsam arbeitende Agenten erfordert. Ein gueltiger Teamzweck muss antworten:
Den Zweck als einen Absatz schreiben, den ein Mensch oder Agent lesen kann, um zu entscheiden, ob dieses Team aktiviert werden soll.
Erwartet: Ein klarer Absatz, der das Wertangebot des Teams erklaert, mit mindestens zwei identifizierten unterschiedlichen Spezialgebieten.
Bei Fehler: Falls keine zwei unterschiedlichen Spezialgebiete identifiziert werden koennen, braucht die Aufgabe wahrscheinlich kein Team. Stattdessen einen einzelnen Agenten mit mehreren Skills verwenden.
Der Lead-Agent orchestriert das Team. Einen Agenten aus agents/_registry.yml waehlen, der:
# List all available agents
grep "^ - id:" agents/_registry.yml
Der Lead muss auch als Mitglied in der Teamzusammensetzung erscheinen (der Lead ist immer ein Mitglied).
Erwartet: Ein Agent als Lead ausgewaehlt, dessen Existenz in der Agenten-Registry bestaetigt.
Bei Fehler: Falls kein bestehender Agent fuer die Lead-Rolle passt, zuerst einen erstellen mit dem Skill create-agent. Kein Team mit einem Lead erstellen, der nicht als Agentendefinition existiert.
2-5 Mitglieder (einschliesslich des Leads) mit klaren, nicht ueberlappenden Verantwortlichkeiten waehlen. Fuer jedes Mitglied definieren:
# Verify each candidate agent exists
grep "id: agent-name-here" agents/_registry.yml
Nicht-Ueberschneidung pruefen: keine zwei Mitglieder sollten dieselbe primaere Verantwortlichkeit haben. Falls Verantwortlichkeiten sich ueberschneiden, entweder die Rollen zusammenfuehren oder die Grenzen schaerfen.
Erwartet: 2-5 Mitglieder ausgewaehlt, jeweils mit einer einzigartigen Rolle und klaren Verantwortlichkeiten, alle in der Agenten-Registry bestaetigt.
Bei Fehler: Falls ein benotigter Agent nicht existiert, zuerst einen erstellen. Falls Verantwortlichkeiten zwischen zwei Mitgliedern ueberlappen, sie umschreiben, um Grenzen zu klaeren, oder ein Mitglied entfernen.
Das Muster waehlen, das am besten zum Workflow des Teams passt. Die fuenf Muster und ihre Anwendungsfaelle:
| Muster | Wann verwenden | Beispielteams |
|---|---|---|
| hub-and-spoke | Lead verteilt Aufgaben, sammelt Ergebnisse, synthetisiert. Am besten fuer Review- und Audit-Workflows. | r-package-review, gxp-compliance-validation |
| sequential | Jeder Agent baut auf der Ausgabe des vorherigen auf. Am besten fuer Pipelines und phasenweise Workflows. | fullstack-web-dev, tending |
| parallel | Alle Agenten arbeiten gleichzeitig an unabhaengigen Teilaufgaben. Am besten wenn Teilaufgaben keine Abhaengigkeiten haben. | devops-platform-engineering |
| timeboxed | Arbeit in feste Iterationen unterteilt. Am besten fuer laufende Projektarbeit mit einem Backlog. | scrum-team |
| adaptive | Team selbst-organisiert sich basierend auf der Aufgabe. Am besten fuer unbekannte oder hochvariable Aufgaben. | opaque-team |
Entscheidungshilfe:
Erwartet: Ein Koordinationsmuster mit einer klaren Begruendung fuer die Wahl.
Bei Fehler: Im Zweifel hub-and-spoke verwenden. Es ist das haeufigste Muster und funktioniert fuer die meisten Review- und Analyse-Workflows.
Definieren, wie eine typische eingehende Anfrage auf die Teammitglieder aufgeteilt wird. Als Phasen strukturieren:
Fuer jedes Mitglied 3-5 konkrete Aufgaben auflisten, die sie bei einer typischen Anfrage erledigen wuerden.
Erwartet: Eine phasenbezogene Zerlegung mit konkreten Aufgaben pro Mitglied, die dem gewahlten Koordinationsmuster entspricht.
Bei Fehler: Falls Aufgaben zu vage sind (z.B. "prueft Dinge"), sie spezifischer machen (z.B. "prueft Code-Stil gegen den tidyverse Style Guide, prueft Testabdeckung, bewertet Fehlermeldungsqualitaet").
Vorlage kopieren und alle Abschnitte ausfuellen:
cp teams/_template.md teams/<team-name>.md
Folgende Abschnitte in dieser Reihenfolge ausfuellen:
name, description, lead, version ("1.0.0"), author, created, updated, tags, coordination, members[] (jeweils mit id, role, responsibilities)# Team Name (menschenlesbar, Titelschreibweise)Erwartet: Eine vollstaendige Teamdatei mit allen ausgefuellten Abschnitten, ohne verbleibenden Platzhaltertext aus der Vorlage.
Bei Fehler: Mit einer bestehenden Teamdatei vergleichen (z.B. teams/r-package-review.md), um die Struktur zu pruefen. Nach Vorlage-Platzhalterstrings wie "your-team-name" oder "another-agent" suchen.
Der CONFIG-Block zwischen <!-- CONFIG:START --> und <!-- CONFIG:END --> liefert maschinenlesbares YAML fuer Werkzeuge. So strukturieren:
<!-- CONFIG:START -->
```yaml
team:
name: <team-name>
lead: <lead-agent-id>
coordination: <pattern>
members:
- agent: <agent-id>
role: <role-title>
subagent_type: <agent-id> # Claude Code subagent type for spawning
# ... repeat for each member
tasks:
- name: <task-name>
assignee: <agent-id>
description: <one-line description>
# ... repeat for each task
- name: synthesize-report # final task if hub-and-spoke
assignee: <lead-agent-id>
description: <synthesis description>
blocked_by: [<prior-task-names>] # for dependency ordering
```
<!-- CONFIG:END -->
Das Feld subagent_type ordnet Claude Code-Agententypen zu. Fuer Agenten in .claude/agents/ die Agenten-ID als subagent_type verwenden. blocked_by zur Ausdrueckung von Aufgabenabhaengigkeiten verwenden.
Erwartet: CONFIG-Block ist gueltiges YAML, alle Agenten stimmen mit denen in der Frontmatter-Mitgliederliste ueberein und Aufgabenabhaengigkeiten bilden einen gueltigen DAG (keine Zyklen).
Bei Fehler: YAML-Syntax pruefen. Sicherstellen, dass jeder assignee in der Aufgabenliste einem agent in der Mitgliederliste entspricht. Pruefen ob blocked_by nur Aufgabennamen referenziert, die frueher in der Liste definiert wurden.
teams/_registry.yml bearbeiten, um das neue Team hinzuzufuegen:
- id: <team-name>
path: <team-name>.md
lead: <lead-agent-id>
members: [<agent-id-1>, <agent-id-2>, ...]
coordination: <pattern>
description: <one-line description matching frontmatter>
Den total_teams-Zaehler am Anfang der Registry aktualisieren.
# Verify the entry was added
grep "id: <team-name>" teams/_registry.yml
Erwartet: Neuer Eintrag erscheint in der Registry, total_teams-Zaehler ist um eins erhoeht.
Bei Fehler: Falls der Teamname bereits in der Registry existiert, einen anderen Namen waehlen oder den bestehenden Eintrag aktualisieren. Pruefen ob die YAML-Einrueckung mit bestehenden Eintraegen uebereinstimmt.
README-Dateien aus der aktualisierten Registry neu generieren:
npm run update-readmes
Erwartet: Befehl beendet mit 0, teams/README.md listet jetzt das neue Team auf.
Bei Fehler: npm run check-readmes ausfuehren, um zu sehen, welche Dateien veraltet sind. Falls das Skript fehlschlaegt, pruefen ob package.json im Repository-Stamm existiert und js-yaml installiert ist (npm install).
Testen, ob das Team in Claude Code aktiviert werden kann:
User: Verwende das <team-name>-Team fuer <typische Aufgabenbeschreibung>
Claude Code sollte:
teams/<team-name>.md findenErwartet: Claude Code erkennt den Teamnamen, identifiziert den korrekten Lead und die Mitglieder und befolgt das Koordinationsmuster.
Bei Fehler: Pruefen ob die Teamdatei unter teams/<team-name>.md liegt (nicht in einem Unterverzeichnis). Pruefen ob alle Mitglieder-Agenten in .claude/agents/ existieren (das auf agents/ verweist). Bestaetigen, dass das Team in teams/_registry.yml aufgefuehrt ist.
Erforderlich fuer alle Teams. Dieser Schritt gilt sowohl fuer menschliche Autoren als auch fuer KI-Agenten, die dieser Vorgehensweise folgen. Nicht ueberspringen — fehlende Uebersetzungen sammeln sich zu einem veralteten Backlog an.
Unmittelbar nach dem Committen des neuen Teams Uebersetzungsdateien fuer alle 4 unterstuetzten Locales anlegen:
for locale in de zh-CN ja es; do
npm run translate:scaffold -- teams <team-name> "$locale"
done
Anschliessend die angelegte Prosa in jeder Datei uebersetzen (Code-Bloecke und IDs bleiben auf Englisch). Abschliessend die Statusdateien neu generieren:
npm run translation:status
Erwartet: 4 Dateien unter i18n/{de,zh-CN,ja,es}/teams/<team-name>.md erstellt, alle mit source_commit, der dem aktuellen HEAD entspricht. npm run validate:translations zeigt 0 Stale-Warnungen fuer das neue Team.
Bei Fehler: Falls das Scaffolding fehlschlaegt, pruefen ob das Team in teams/_registry.yml existiert. Falls sich die Statusdateien nicht aktualisieren, npm run translation:status explizit ausfuehren — es wird nicht automatisch von CI ausgeloest.
teams/<team-name>.mdname, description, lead, version, author, coordination, members[]id, role und responsibilities<!-- CONFIG:START --> und <!-- CONFIG:END --> Markierungenagents/_registry.ymlteams/_registry.yml mit korrektem Pfad, Lead, Mitgliedern und Koordination aufgefuehrttotal_teams-Zaehler in der Registry ist erhoehtnpm run update-readmes wird ohne Fehler abgeschlossenTeamCreate zu erstellen. Ohne ihn ist die Teamdatei nur menschenlesbar.create-skill - folgt demselben Meta-Muster fuer das Erstellen von SKILL.md-Dateiencreate-agent - Agentendefinitionen erstellen, die als Teammitglieder dienencommit-changes - die neue Teamdatei und Registry-Aktualisierungen committen