CommunitySchreiben & Editierengithub.com

kl-autonomous/agent-team-skills

Gib dem menschlichen Besitzer ein Live-Board, ein Claude-Artefakt mit eigener kleiner Datenbank, für alles, was nur er entscheiden oder tun kann. Jede Entscheidung oder Aufgabe bekommt ihre eigene Karte, mit einer empfohlenen Antwort, Antwort-Buttons, abzuhakenden Schritten, zu kopierendem Text und Dateien; der Besitzer antwortet von seinem Telefon aus, wann immer er möchte, die Antwort weckt den Agenten durch einen Kommentar, und der Agent handelt und archiviert den Eintrag. Verwende dies, wenn ein Agent mehrere offene Fragen oder nur vom Besitzer erledigbare Aufgaben hat (Genehmigungen, Uploads, Anmeldungen, Käufe, Kontoänderungen), wenn der Besitzer sagt, dass Fragen im Chat verloren gehen oder begraben werden, wenn er ein Dashboard, Postfach, Aufgabenbrett, Entscheidungsbrett oder einen „Schreibtisch“ für das, was auf ihn wartet, verlangt, oder wenn eine Chief-of-Staff- oder Manager-Sitzung ein Zuhause für ihre Liste der „Dinge, die auf den Besitzer warten“, braucht.

Was ist agent-team-skills?

Diese Skill erstellt ein „Owner Desk“ – ein interaktives Claude-Artefakt, das als Dashboard oder Aufgabenbrett dient. Es verschiebt offene Fragen und Aufgaben (z. B. Genehmigungen, Uploads, Anmeldungen) aus dem Chatverlauf in ein verwaltbares Board. Besitzer antworten bequem von ihrem Telefon oder iPad, und jede Antwort löst einen Kommentar aus, der den Agenten weckt. Der Agent handelt dann entsprechend und archiviert den Eintrag. Die Skill nutzt Artifacts mit Datenbank- und Kommentarfunktionen und ist ideal für Claude-Chat-Sitzungen, Chief-of-Staff-Rollen und Multi-Session-Workflows. Sie unterstützt auch eine optionale Status- und Roadmap-Ansicht, die den Projektfortschritt anzeigt.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kl-autonomous/agent-team-skills/tree/HEAD/skills/owner-desk

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Besitzer-Schreibtisch

Fragen im Chat werden begraben, und der Besitzer muss antworten, wenn der Agent fragt, nicht wenn er Zeit hat. Der Schreibtisch bewegt sie aus dem Chat in ein Board: Ein Tab „Braucht dich“ mit jedem offenen Eintrag, ein gelber Tab „Dringend“ nur, wenn etwas nicht warten kann, ein Tab „Entschieden“ für beantwortete, ein Tab „Später“ für das, was warten kann, und ein Archiv für Erledigtes. Auf einem Telefon oder iPad wischt der Besitzer seitlich, um zwischen den Tabs zu wechseln. Der Besitzer antwortet dort; du liest die Antworten, handelst und archivierst.

Was dafür nötig ist

  • Claude-Artefakte mit den Fähigkeiten db und comments, auf claude.ai oder in der Claude-Desktop-App. Füge assets nur hinzu, wenn die Einträge angehängte Dateien haben werden.

  • Werkzeuge:

    • Artifact, um das Board zu veröffentlichen und Dateien hochzuladen;
    • ArtifactData, um Einträge zu schreiben und zu lesen;
    • ArtifactComments, um das Board zu beobachten und die Kommentare zu beantworten, die dich wecken.

    Lade sie mit ToolSearch, wenn sie aufgeschoben sind.

  • Eine Hauptschleifen-Sitzung. Nur eine Hauptschleifen-Sitzung kann eine Beobachtung halten; ein Unteragent kann das nicht.

Ohne diese, sage es und behalte die Fragen im Chat als nummerierte Liste. Tue nicht so, als gäbe es ein Board.

Wer darauf schreibt

Nur eine Sitzung:

  • der Chief of Staff, falls es einen gibt (siehe die Chief-of-Staff-Skill);
  • ansonsten die Sitzung, die mit dem Besitzer arbeitet.

Zwei Schreiber würden Einträge doppelt nummerieren und sich gegenseitig archivieren.

Das Board erstellen

  1. Fülle die Vorlage assets/desk.html aus. Sie hat drei Platzhalter:

    • {{TITLE}}: der Name des Boards, zwei bis vier Wörter, z. B. „Rezept-App-Schreibtisch“;
    • {{EYEBROW}}: eine kleine Zeile über dem Titel, z. B. „Rezept-App · vom Chief of Staff“;
    • {{AGENT}}: wer die Antworten liest, so wie es mitten im Satz gelesen wird: „der Chief of Staff“ oder „Claude“. Nur einfache Wörter, ohne Anführungszeichen.

    Zum Beispiel:

    sed -e 's/{{TITLE}}/Rezept-App-Schreibtisch/g' -e 's/{{EYEBROW}}/Rezept-App · vom Chief of Staff/g' -e 's/{{AGENT}}/der Chief of Staff/g' <skill>/assets/desk.html > desk.html
    
  2. Veröffentliche es mit dem Artifact-Werkzeug:

    • capabilities: {"db": {}, "user": {}, "comments": {}}, plus "assets": {}, wenn die Einträge Dateien haben werden;
    • icon: "inbox";
    • eine einzeilige description.

    Durch die Veröffentlichung beginnt diese Sitzung auch, das Board zu beobachten.

  3. Überprüfe es einmal: ArtifactData list auf der Sammlung items. Sie ist leer, und die Seite sagt „Nichts braucht dich.“

  4. Gib dem Besitzer den Link und sage, das Board ist privat für ihn.

  5. Schreibe den Link in eine Datei im Projekt (die Statusseite oder die Projektnotizen), damit eine neue Sitzung ihn finden kann.

Außerhalb von Claude in einem normalen Browser geöffnet, zeigt die Seite erfundene Beispieleinträge mit einem Hinweis, dass dies so ist. Das dient für Vorschauen und Screenshots; es schreibt nie etwas.

Durch Antworten geweckt werden

Ein Datenbank-Schreiben weckt dich nicht; ein Kommentar an Claude schon. Wenn der Besitzer antwortet, eine Aufgabe als erledigt markiert oder eine Frage stellt, sendet die Seite einen kurzen Kommentar in den eigenen Thread des Eintrags, z. B. „№ 12 · Beta am Freitag öffnen? Antwort: Ja“. Dieser Kommentar weckt die Sitzung, die das Board beobachtet.

  • Die Veröffentlichung startet die Beobachtung, aber es ist nur eine Beobachtung, sobald ArtifactComments watch (ohne url) das Board als verbunden auflistet, mit aktivierten Auto-Antworten.
  • Eine neue Sitzung muss erneut beobachten, mit ArtifactComments watch und der url des Boards. Auto-Antworten aktivieren sich nur, wenn der Besitzer diesen Link in seiner eigenen Nachricht gegeben hat, also kommt der Link in den Neustart-Prompt, den der Besitzer einfügt.
  • Die Seite teilt dem Besitzer mit, in welchem Fall er sich befindet: „…wird in dem Moment benachrichtigt, in dem du antwortest“ oder „Hier gespeichert; … liest es bei seinem nächsten Check.“
  • Wenn Kommentare dich nicht erreichen können (sie sind ausgeschaltet oder keine Sitzung beobachtet), greife auf Folgendes zurück:
    • lies den Schreibtisch zu Beginn jedes Durchlaufs;
    • bitte den Besitzer, nach dem Antworten „Schreibtisch“ im Chat zu sagen;
    • biete einen geplanten Check an, nur wenn der Besitzer das möchte.

Ein Eintrag

Jeder Eintrag ist ein Dokument in der Sammlung items. Seine Dokument-ID ist sein Handle: verwende q<Nummer> für Entscheidungen und t-<Wort> für Aufgaben. Verwende durchgängig einfache Wörter, da der Besitzer es möglicherweise auf einem Telefon liest.

FeldGeschrieben vonWas es enthält
kinddu"decision" oder "task"
statusbeide"open"; die Seite setzt "answered"; du setzt "archived"
laterdutrue parkt es auf dem Tab „Später“
urgentdutrue platziert es auf einem gelben Tab „Dringend“ und oben in der Übersicht. Nur für das, was nicht warten kann: eine Frist heute, oder etwas, das für Benutzer kaputt ist
numdueine laufende Nummer, dieselbe, die du im Chat verwendest; nie wiederverwendet
titledudie Frage selbst, beantwortbar mit den Auswahlmöglichkeiten, oder die Aufgabe als Aktion
body, bulletsdukurze Absätze und Punkte: warum es wichtig ist, was es beeinflusst
recommendationduzuerst deine Antwort, dann der Grund, in ein oder zwei Sätzen
choicesduzwei bis vier Antworten; standardmäßig Ja / Nein
steps, stepsDonedu; Seitedie Schritte einer Aufgabe und die abgehakten (Indizes)
copiesdu[{label, text}]: Text, den der Besitzer irgendwo einfügen wird
linksdu[{label, url, note}]: Anleitungen, Seiten, angehängte Dateien
fromduwelche Sitzung gefragt hat
prioritydu1 zuerst; sortiert die offenen Einträge
createdduwann du es gepostet hast (ISO-Zeit)
answerSeite{choice, note, at}
asksSeite; du[{q, at, via, a, aAt}]: die Fragen des Besitzers zum Eintrag; du füllst a und aAt aus
threadSeiteder Kommentarthread, den die Seite für diesen Eintrag verwendet; lass ihn in Ruhe
outcome, archivedduwas passiert ist, in einer Zeile; wann du es archiviert hast

assets/example-items.json enthält sieben erfundene Einträge, wie sie ArtifactData batch schreibt. Verwende sie, um ein Board auszuprobieren, niemals auf dem echten Board des Besitzers.

Einträge posten

  • Füge neue Einträge mit ArtifactData hinzu. Verwende set für ein neues Dokument und batch für mehr als zwei. Veröffentliche die Seite nie neu, um Einträge zu ändern.
  • Sage dann im Chat, was du hinzugefügt hast, mit einem Link zu jedem Eintrag: <Board-URL>#<Dokument-ID> öffnet seinen Tab und scrollt dorthin.
  • Wenn du auch mit einer Chat-Liste offener Fragen arbeitest (wie der Chief of Staff es tut), behalte beide gleich: dieselbe Nummer, dieselben Wörter.
  • Schreibe jeden Eintrag so, dass er für sich allein steht: Was wird entschieden, was ändert sich in beide Richtungen und was empfiehlst du.
  • Eine Aufgabe listet die genauen Schritte auf, den Text, der in copies eingefügt werden soll, und die Anleitung in links.
  • Um eine Datei anzuhängen: Lies die gesamte Datei zuerst, lade sie dann mit Artifact (url des Boards, asset: true) hoch und verlinke sie als /_blob/<Asset-ID>.
  • Gib niemals Passwörter, Schlüssel oder private Datensätze in einen Eintrag. Eine Aufgabe, die ein Geheimnis benötigt, sagt, wo man es eingeben soll, niemals, was es ist.

Lesen, handeln, archivieren

Wenn ein Kommentar dich weckt oder zu Beginn eines Durchlaufs:

  1. ArtifactData query auf items mit where: [["status", "==", "answered"]]. Lies die answer jedes Eintrags und alle neuen asks.
  2. Handle gemäß der Antwort. Mit einem Chief of Staff leite die Wahl und Notiz des Besitzers wortwörtlich an die fragende Sitzung weiter.
    • Der Kommentar und der Eintrag stimmen normalerweise überein.
    • Wenn der Eintrag nicht als beantwortet gespeichert ist, der Kommentar aber eine Antwort enthält, ist der Kommentar das neuere Wort des Besitzers. Schreibe es selbst in den Eintrag.
  3. Archiviere den Eintrag: update ihn mit status: "archived", einer einzeiligen outcome („Der Baumeister hat die Beta auf Freitag verschoben“) und archived (der Zeitpunkt). Sichere jeden Schreibvorgang mit if_version, damit eine Antwort, die der Besitzer inzwischen geändert hat, nicht überschrieben wird.
  4. Beantworte jeden offenen Eintrag in asks im selben Eintrag. Sende das gesamte asks-Array zurück, mit ausgefülltem a und aAt, gesichert mit if_version.
  5. Antworte im Kommentarthread mit einer Zeile („Verstanden: Verschiebe die Beta auf Freitag“), löse dann den Thread auf (ArtifactComments reply, dann resolve).

Parke einen Eintrag mit later: true und hole ihn zurück mit later: false. Ein entschiedener Eintrag kann auf „Später“ bleiben, bis es Zeit ist, darauf zu reagieren. Archiviere anstatt zu löschen: Das Archiv ist die Aufzeichnung dessen, was entschieden wurde. Lösche nur auf Anweisung des Besitzers.

Status und Roadmap (optional)

Zwei weitere Tabs zeigen dem Besitzer, wo das Projekt steht, zwischen der Übersicht und den Einträgen. Jeder erscheint, sobald du sein Dokument in die Sammlung board schreibst, und wird live aktualisiert. Schreibe jedes mit ArtifactData (set beim ersten Mal, dann update gesichert mit if_version). assets/example-board.json enthält ein erfundenes Paar.

board/status: wo jede Sitzung steht. Aktualisiere es jedes Mal, wenn du das Team überprüfst; ein Chief of Staff schreibt es, wann immer er seine Statusseite aktualisiert.

FeldWas es enthält
updatedwann du zuletzt geprüft hast (ISO-Zeit); die Seite zeigt an, wie lange es her ist
oneLinewo das Projekt steht, in einem Satz
sessions[{name, state, doing, last, restart}], eine Zeile pro Sitzung. state ist ein Wort oder zwei („Arbeitet“, „Wartet“, „An einem Limit angehalten“), und die Seite färbt es entsprechend ein. restart beginnt mit „Ja“, wenn es ein guter Moment ist, diese Sitzung neu zu starten
donewas seit dem letzten Update abgeschlossen wurde, jeweils eine Zeile
next[{who, what}]: die nächsten Schritte, auch die des Besitzers (who: "you")

Der Status-Tab zählt die dringenden und offenen Einträge des Besitzers automatisch; wiederhole sie nicht in oneLine.

board/roadmap: der Plan, Stufe für Stufe. Aktualisiere es, wenn eine Stufe oder einer ihrer Einträge sich bewegt.

FeldWas es enthält
updatedwann du es zuletzt geändert hast
headlinewo das Projekt in seinem Plan steht, in einem Satz
stages[{id, name, state, when, summary, items}], in Reihenfolge. state ist done, now, next oder later; items sind [{text, state}] mit done, now oder next. Die Stufe, die mit now markiert ist, öffnet sich oben

Die Seite ändern

  • Veröffentliche die Seite nur neu, um die Seite selbst zu ändern. Übergib dieselben Fähigkeiten oder lasse capabilities weg, um sie zu behalten.
  • Wenn eine andere Sitzung das Board veröffentlicht hat, lies es zuerst (Artifact read) und baue auf dem auf, was zurückkommt.
  • Die Einträge leben in der Datenbank, daher überleben sie eine Neuveröffentlichung.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills