create-bot — Baue einen Bot: einen installierbaren Arbeitsplatz
Erstellt einen Bot: einen Ordner, der gleichzeitig ein Claude Code-Plugin, ein Lore-Projekt und der Ort ist, an dem eine Arbeitssitzung geöffnet wird. Ein Bot beantwortet keine Fragen zu den Projekten — er arbeitet in ihnen. Die Anweisung geht hinein, der Bot führt sie gegen echte Dateien aus, das Ergebnis kommt zurück.
Der Nordstern und der einzige Test, der zählt: Eine kurze Anweisung ist genug. Wenn das Projekt dem Bot erklärt werden müsste, um das Ergebnis zu erhalten, fehlten Kriterien in der Last.
Was ein Bot ist und was nicht
create-bot ist ein Geschwister von create-project, nicht von create-area. Der Standardpfad ist bots/proyectos/{slug}/ — bots ist der Bereich, der Bots beherbergt, so wie ein web-Bereich Webseiten beherbergt. Wenn dieser Bereich noch nicht existiert, erstellt create-area ihn zuerst, genau wie bei jedem anderen Projekt. Ein anderer Bereich kann einen Bot beherbergen, wenn der Benutzer dies sagt; nimm das nicht an.
| Bereich | Projekt | Bot | |
|---|---|---|---|
| Enthält | Projekte | ein einzelnes Arbeitspaket | eine Arbeitssitzung |
| Sein Lore regelt | die Methode des Bereichs | diese Arbeit | wie sich der Agent verhält |
| Geöffnet zum | das Register sehen | diese Arbeit voranbringen | an mehreren Projekten arbeiten |
Ein Bot ist das einzige Artefakt in diesem Kit, das nach außen weiterleitet. Bereiche und Projekte sind Orte; ein Bot ist eine Linse, die du in sie hineinträgst.
Ein Bot ist nicht automatisch ein Plugin. Standardmäßig ist es ein Ordner mit seinem Kanon und seiner
CLAUDE.md: Öffne eine Sitzung dort und die Kriterien sind bereits geladen, ohne dass etwas installiert ist. Das Verpacken in ein Skill mit.claude-plugin/und einem eigenen Repository ist ein optionales Siegel (§10), das einem Zweck dient — der Übergabe an ein Team. Für eine allein arbeitende Person ist es ein Gerüst, das noch gewartet werden muss.
Warum es kein Bereich sein darf. Ein Bereich ist ein Container für Projekte und besitzt die Kriterien seiner Domäne. Ein Bot besitzt keine der Kriterien, die er weiterleitet — er leiht sie sich. Ihn als Bereich zu bauen, schafft einen Elternteil, das Kriterien ansammelt, für die es nie bezahlt hat, und die erste Konsequenz zeigt sich schnell: Wenn ein Kriterium verallgemeinert wird, wird es in den Bot befördert, anstatt in den Bereich, der es verdient hat.
Zwei Modi
| Modus | Wann | Was es produziert |
|---|---|---|
nuevo | Von Null. Es gibt kein vorheriges Lore zu sammeln. | Kanon, geboren aus einem Brainstorm + Quelldokumenten. |
federar | Die Kriterien existieren bereits, verteilt über mehrere Bereiche. | Kanon plus eine synchronisierte Kopie und eine Routing-Tabelle über diese Lore-Körper. |
Beide produzieren dasselbe Artefakt. federar fügt scripts/ecosistema.json, scripts/sync.js und zwei generierte Dateien hinzu: lore/enrutamiento.md (die Routing-Tabelle) und .claude/settings.local.json (der Zugriff auf die Live-Bäume). Es kopiert nichts, es sei denn, die Kopie ist eingeschaltet (§7).
Wenn der Bot bereits existiert
Beide obigen Modi bauen von Null, und das ist nicht die einzige Art, wie dieses Skill aufgerufen wird. Es wird auch auf einen bereits im Baum befindlichen Bot verwiesen — um seinen Umfang zu korrigieren, seine README umzuschreiben, eine Quelle hinzuzufügen. Führe stattdessen das folgende Audit anstelle des Erstellungsverfahrens durch, dann steige bei §7 (Sync), §10 (Verpackung) und §11 (Verifikation) wieder ein.
| Prüfung | Wie | Fehlschlag, wenn |
|---|---|---|
| Umfang | Vergleiche jeden Eintrag des Manifests mit dem Register der Institution | Eine Quelle wird weitergeleitet, die das Register nicht auflistet |
| Grenzen | Lies die Out-of-Scope-Erklärung des Kanons | Ein grenzwertiges Projekt fehlt oder ist ohne Grund für die Verwirrung aufgeführt |
| Waisen | ls das Synchronisationsziel gegen das Manifest — nur wenn die Kopie an ist | Ein Ordner überlebt, dessen Quelle nicht mehr im Manifest ist |
| Kopie | Frage, wer den Bot verwendet und ob sie den Verzeichnisbaum haben | lore-ecosistema/ ist für Leute an, die alle den Ordnerbaum teilen — es ist eine Duplikation ohne Leser |
| README | Lies sie als Publikum, nicht als Autor | Sie argumentiert die Methode, oder ihre Beispiele handeln von Projekten, denen der Bot nicht mehr dient |
| Installation | Führe die Befehle aus, lies sie nicht | Sie wurden aus dem Gedächtnis oder von einem öffentlichen Bot kopiert |
| Tor | node scripts/validar.js, wenn der Bot verpackt ist | Alles außer exit 0 |
Das Audit ist kein leichteres Verfahren. Es findet, was ein frischer Build nicht kann: die Abweichung zwischen dem, wofür der Bot gebaut wurde, und dem, wofür er jetzt dient, und das ist genau das, was niemand von selbst wieder ableitet.
Wenn eine Quelle noch kein Lore hat
Der übliche Ausgangspunkt ist nicht ein ordentlicher Satz von Lore-Körpern. Es ist Rohmaterial: Ordner mit Dokumenten, eine Codebasis, eine Datenbank, ein Notion-Arbeitsbereich — nichts davon destilliert. Dieses Material kann nicht föderiert werden, und die Lösung ist eine Kette, keine Abkürzung:
Rohquelle (kein Lore)
└─ create-area → der Arbeitsbereich, der DIESE Kriterien BESITZEN wird
└─ transmute-lore (add) → die darin bereits verstreuten Kriterien wiederherstellen
└─ create-bot (federar) → der Bot leitet dorthin weiter
Das Gesetz: Der Bot destilliert niemals in sich selbst. Eine Quelle ohne Lore erhält ihr Lore in dem Bereich, der sie besitzt, und wird erst dann föderiert. Den Bot direkt Rohmaterial destillieren zu lassen, macht ihn zum Eigentümer von Kriterien, die er nie verdient hat — der genaue Fehler, den die Bereich/Bot-Unterscheidung verhindern soll, und er ist in der Praxis irreversibel: Sobald die einzige Kopie dieser Kriterien im Bot lebt, kann der Bereich nicht mehr seine Wahrheitsquelle sein.
Konkret: In Schritt 2 unten, inventarisiere jede Quelle, bevor du etwas entwirfst. Das Inventar hat zwei Fragen, und Eigentum kommt zuerst.
Erste Frage: Gehört dies der Institution?
Der Umfang eines Bots kommt vom Register der Institution, der er dient, niemals vom Ordnerbaum der Maschine, auf der er gebaut wird.
Bevor du fragst, ob eine Quelle Lore hat, frage wem sie gehört. Öffne das eigene Register der Institution — ihre FASES.md, ihren Katalog, ihre Charta — und bestätige, dass die Quelle dort aufgeführt ist. Wenn sie nicht aufgeführt ist, kommt sie nicht in das Manifest.
Warum dies das erste Tor und keine spätere Prüfung ist: Der Fehler ist still. Ein Manifest, das durch das Durchgehen des Projektbaums des Erbauers gefüllt wird, produziert eine Routing-Tabelle, die vollständig und intern konsistent aussieht, während sie falsch ist, und niemand leitet sie später wieder ab. Nähe auf der Festplatte wird einmal für institutionelle Zugehörigkeit gehalten und von da an vererbt.
Eine grenzwertige Quelle wird deklariert, nie einfach weggelassen. Ein Projekt, das Leute mit der Institution teilt, das in ihrer öffentlichen Galerie erscheint, oder das der erste Anwendungsfall des Bots selbst war, wird so aussehen, als ob es dazugehört. Setze es in den Kanon als explizit außerhalb des Umfangs, mit dem Grund, warum es verwechselt wird. Eine Grenze, die mit ihrem Grund geschrieben ist, hält; eine, die nur weggelassen wird, wird das nächste Mal überschritten, wenn jemand auf den Ordnerbaum schaut.
Zweite Frage: In welchem Zustand ist ihr Lore?
| Quellzustand | Was zu tun ist |
|---|---|
| Hat Lore, in einem Bereich | Födiere es direkt. |
| Hat Kriterien, aber kein Lore (ein Projekt, das ohne Lore geboren wurde) | transmute-lore add zuerst auf diesem Projekt. Die Kriterien werden gerettet, nie erfunden. |
| Rohmaterial, kein Bereich besitzt es noch | create-area für die Domäne, dann transmute-lore add, dann föderieren. |
| Kein Text (eine Datenbank, eine Tabelle, eine Notion-Basis) | Zuerst in Text extrahieren — Schema-Dump, Export, pdftotext -layout. Die Extraktion landet in fuente/ dieses Bereichs, niemals im Bot. sync.js kopiert nur .md, .txt und .json, also ist alles Nichtextrahiert still für den Bot unsichtbar. |
Ein Notiz-Eingang (ein Obsidian-Vault notas/, ein Ordner mit Markdown) | Nie föderiert. Es enthält kein Lore — es ist rohe Erfahrung, und es ist .md, was genau den Fehler einfach macht: sync.js würde es fröhlich kopieren und die Routing-Tabelle würde Notizen aufführen, als wären sie Kriterien. Baue es zuerst mit obsidian-lore ab; was überlebt, landet in dem Bereich, der es besitzt, und der Bot leitet zu dem weiter. |
Melde dieses Inventar dem Benutzer als Teil des Brainstorms, mit den ehrlichen Kosten: Jede Quelle ohne Lore ist ein create-area/transmute-lore-Durchlauf bevor der Bot existieren kann. Vorzuschlagen, es zu überspringen und „alles in den Bot zu destillieren“, ist schneller und produziert ein Artefakt, das nicht gewartet werden kann.
Vorbedingung
Der Zielbereich existiert und sein lore/ hat mindestens identidad.md + principios.md. Wenn nicht, stoppe und schlage zuerst create-area vor — ein Bot erbt die Methode des Bereichs wie jedes Projekt.
Sprachregel: Schreibe ALLES Generierte — Inhalt UND Dateinamen des Artefakts — in der Sprache des Benutzers, nicht in der Sprache, in der dieses Skill geschrieben ist.
identidad.md,principios.md,FASES.md,proyectos/,canon/,enrutamiento.mdsind die spanischen kanonischen Formen: lokalisiere sie. In jeder Sprache festgelegt:CLAUDE.md,lore/,index.md,skills/,.claude-plugin/. Die etablierten Namen des Bereichs gewinnen innerhalb seines Baums; kennzeichne einen Konflikt, löse ihn nie still.
Das Gesetz, das dieses Skill durchsetzt
Ein Bot enthält drei Körper von Kriterien mit drei verschiedenen Eigentümern. Sie zu vermischen ist der Standardfehlermodus, und er ist still: Alles funktioniert trotzdem, und die Kopie beginnt langsam, ihre Quelle zu überragen.
| Körper | Was es ist | Regel |
|---|---|---|
skills/{slug}/canon/ | Kriterien, die der Bot ist — vor jeder Entscheidung geladen | destilliert; reist innerhalb des Skills |
lore/ | Kriterien zur Wartung des Bots | das eigene des Projekts, wie jedes Projekt |
| geliehene Kriterien | jedes anderen Projekts Lore | erreicht per Zeiger, an seiner eigenen Adresse; niemals autoritativ |
Drei Namen, weil drei Eigentümer. Der Test, der sie auseinanderhält:
Wäre die Quelle entbehrlich? Destillieren produziert etwas Kleineres, das seinen Ursprung ersetzen kann. Kopieren produziert etwas Identisches, das nicht kann.
Geliehene Kriterien werden per Zeiger erreicht, nicht per Kopie. Die Routing-Tabelle gibt die Adresse, der generierte Zugang öffnet sie, und dieses Lore behält einen Eigentümer und eine Version — dieselbe DRY-Regel, nach der der Rest des Kits läuft, wo ein Projekt auf die Module seines Bereichs verweist, anstatt sie zu duplizieren. lore-ecosistema/ (§7) verwandelt diese Zeiger in eine Kopie für nur eine Situation und ist standardmäßig ausgeschaltet.
Und das Gesetz, das Routing zum Laufen bringt:
Leite nach Aufgabentyp weiter, nicht nach Projektnamen.
Eine Entität kann mehrere Körper von Kriterien besitzen, deren eigene Prinzipien das Überschreiten verbieten. Die übliche Trennung ist was es tut versus wie es es sagt — Produkt gegen Kommunikation — und sie gilt, ob die Entität ein einzelnes Projekt oder die Institution ist, der der Bot dient. Sie zu benennen wählt kein Lore aus: Die Institution erscheint zweimal in der Routing-Tabelle, absichtlich. Wenn eine Aufgabe zwischen zwei mehrdeutig ist, frage — es ist billiger als sechs Absätze, die gegen die falschen Kriterien geschrieben wurden.
Schreibe diesen Abschnitt von der Entität aus, der der Bot tatsächlich dient. Die Routing-Tabelle ist das Stück, das ein Leser gegen seinen eigenen Fall prüft, und ein Beispiel, das von einem anderen Bot übernommen wurde, schickt sie zum falschen Lore, während es autoritativ aussieht.
Verfahren
1. Frage den Benutzer — drei Fragen, in einfacher Sprache
Sprich klar. Dieses Dokument ist dicht, weil es ein Modell anleitet. Das Gespräch mit dem Benutzer ist es nicht. Während du dieses Skill verwendest, sage nicht Kanon, födieren, destillieren, Gültigkeitsgrenze, invariante Spur, Gegenbereich oder Entre. Sage, was sie bedeuten: was der Bot immer weiß, schließe es an, die Kriterien, die es wert sind, behalten zu werden, wo dies aufhört, wahr zu sein, eine Regel, wofür es nicht ist. Wenn ein Satz ein Glossar braucht, schreibe den Satz um.
Frage einzeln und nimm die Antworten in den eigenen Worten des Benutzers:
- ¿Cómo se va a llamar el bot? (Wie wird der Bot heißen?)
- ¿Para qué lo vas a usar? (Wofür wirst du ihn verwenden?) — Freitext. Richte es nicht auf; es wird später erneut gelesen, um zu prüfen, ob eine Aufgabe mit dem übereinstimmt, was deklariert wurde.
- ¿Dónde están las carpetas con la información que le va a servir? (Wo sind die Ordner mit den Informationen, die ihm dienen werden?) — Frage nach Pfaden. Ordner, Datenbanken, Dokument-Dumps, Notizen. Akzeptiere „no sé todavía“ (weiß ich noch nicht) und fahre fort: Ein Bot kann mit einer Quelle erstellt werden und wachsen.
Alles andere wird aus diesen drei abgeleitet oder von der Festplatte gelesen. Befrage den Benutzer nicht danach:
| Abgeleitet | Von |
|---|---|
{{BOT_SLUG}} | der Name, in Kebab-Schreibweise; dies ist auch der Skill-Name, wenn er verpackt ist |
{{BOT_TITLE}} | der Name wie gegeben |
{{AREA_PATH}} | der bots-Bereich standardmäßig — schlage ihn vor, bestätige in einer Zeile |
{{MODE}} | federar wenn es bestehende Quellen gibt, nuevo wenn es keine gibt |
{{PURPOSE}} | Antwort 2, wörtlich |
{{SOURCE_DOCS}} / {{ECOSYSTEM}} | Antwort 3, nach Überprüfung jedes Pfades auf der Festplatte |
Dann überprüfe die Pfade selbst und berichte in einer kurzen Tabelle, was du gefunden hast — wie viele Dateien, welche bereits aufgeschriebene Kriterien haben, welche roh sind. Dieser Bericht verwandelt Antwort 3 in das Inventar von Schritt 2. Bitte den Benutzer nie, seine eigenen Ordner zu klassifizieren.
2. Kontext lesen (VERPFLICHTEND bevor etwas erstellt wird)
- Das Bereichs-Lore:
identidad.md+principios.md(+index.mdund thematische Module). - Die Bereichs-
FASES.mdund jeder Schwester-Bot, der bereits dort registriert ist. - Die Quelldokumente. Für ein PDF extrahiere Text (
pdftotext -layout). Der Kanon wird daraus destilliert — niemals aus dem eigenen Wissen des Modells über das Thema. - Nur
federar— inventarisiere die Quellen zuerst (siehe Tabelle oben). Klassifiziere jede beabsichtigte Quelle danach, ob sie bereits Lore hat, und hebe diejenigen hervor, diecreate-area/transmute-lorebenötigen, bevor der Bot sie föderieren kann. Tue dies vor dem Brainstorm: Es ändert, wohin der Bot am ersten Tag weiterleiten kann. - Nur
federar: Lese jeden Lore-Körper, zu dem du weiterleiten willst. Du brauchst seinen Zweck und seinen Gegenbereich — der Gegenbereich sagt dir, wo die Grenze zwischen zwei Geschwistern verläuft, und die Grenze ist das Einzige hier, das wirklich destillierbar ist.
3. Kanon-Brainstorm (HARTE-SPERRE)
Rufe brainstorming auf. Erstelle keine Datei, bevor das Design genehmigt ist. Halte die Regel der einfachen Sprache aus §1 hier aufrecht — präsentiere das Design in der
…
[gekürzt zur Übersetzung]