coding-agent-work-loop
Englisch · 中文
Verwandeln Sie GitHub-Issues/PR-Kommentare in Eingabe und Ausgabe Ihrer lokalen KI. Ein systemd-Timer + ein paar Shell-Skripte + zwei GitHub-Labels ermöglichen es Ihnen, direkt über die GitHub-Weboberfläche (oder die iOS Gh-App) mit der KI zu kommunizieren.
Dieses Skill ist agent-agnostisch. Der Worker-CLI wird durch
WORKER_AGENT=<name>incoding-agent.configausgewählt; die Daemon-/Dispatch-Skripte durchlaufen eine dünne Treiberschicht, die verschiedene Agent-CLIs einbindet. Integrierte Treiber:claude(Standard, Claude Code),opencode(sst/opencode),codex(OpenAI Codex CLI),cursor(Cursor Agent CLI). Eigene Treiber überscripts/drivers/<name>.shhinzufügen – siehe docs/drivers.md.
Wann aufrufen
Der Benutzer ruft dieses Skill aus der Host-Agent-Laufzeitumgebung über /coding-agent-work-loop <command> oder eine natürlichsprachliche Anfrage auf. Übliche Formen:
- "Installiere diesen Daemon auf Projekt X" → führt den
setup-Ablauf aus - "Wie ist der Status des Coding-Agenten?" → führt den
status-Ablauf aus - "Deaktiviere den Coding-Agenten auf Projekt X" → führt den
disable-Ablauf aus
Was Sie (der Agent) tun sollten, wenn aufgerufen
setup (auf einem Host-Projekt bereitstellen)
Der Benutzer gibt Ihnen einen Host-Projektpfad (z.B. ~/github/myproject). Schritte:
- Überprüfen, ob der Pfad existiert und ein Git-Repository ist (hat
.git) - Abhängigkeiten prüfen:
git,gh(muss übergh auth loginangemeldet sein),tmux,jq,flock,systemctl, sowie den durchWORKER_AGENTausgewählten Worker-CLI (Standardclaude; andere integrierte:opencode,codex,cursor). Jede muss übercommand -vauflösbar sein. - Ausführen:
bash "${CLAUDE_PLUGIN_ROOT:-$HOME/.agents/skills/coding-agent-work-loop}/setup.sh" <host-project-path>$CLAUDE_PLUGIN_ROOTist die Skill-Root-Umgebungsvariable, die Claude Code injiziert; falls nicht vorhanden, auf das kanonische~/.agents/skills/coding-agent-work-loopzurückfallen. setup.shgibt nach Abschluss eine Anleitung für die nächsten Schritte aus – geben Sie diese wörtlich an den Benutzer weiter.
status
Der Benutzer möchte den Zustand. Schritte:
systemctl --user list-timers 'coding-agent-poll@*' --no-pager– Timer-Statussystemctl --user list-units 'coding-agent-poll@*.service' --no-pager– letzte Ausführung- Für jede registrierte
~/.config/coding-agent-work-loop/*.conf:tail -20 $STATE_DIR/poll.log(STATE_DIRaus der Konfiguration lesen)gh issue list --repo $REPO --label pending/agent+gh pr list --repo $REPO --label pending/agent
- Für den Benutzer zusammenfassen
cleanup (nachdem ein PR angenommen/abgelehnt wurde)
Der Benutzer hat einen PR gemerged oder möchte die Arbeit an einem Issue abbrechen. Schritte:
- Bestätigen, dass das Issue abgeschlossen ist (PR gemerged oder geschlossen)
- Ausführen:
Optionale Flags:bash "$CLAUDE_PLUGIN_ROOT/scripts/cleanup-issue.sh" <issue-number>--force(auch bereinigen, wenn der Worker beschäftigt ist),--keep-worktree(nur die Sitzung töten),--delete-branch(auch den lokalen Branch entfernen)
Was cleanup-issue.sh tut:
- Beschäftigungsprüfung (standardmäßig Verweigerung, es sei denn
--force) - Führt den projektspezifischen
CLEANUP_HOOKaus (konfiguriert incoding-agent.config, z.B. Tailscale-Ports abbauen, Dev-Server stoppen) - Beendet die tmux-Sitzung des Workers
- Entfernt das Worktree (Standard)
- Optional: Entfernt den lokalen Branch
disable
Der Benutzer möchte ein Projekt stoppen. Schritte:
- Instanznamen bestätigen (
systemctl --user list-timers 'coding-agent-poll@*') systemctl --user disable --now coding-agent-poll@<key>.timer- Optional: Die Instanz-Symlinks
~/.config/systemd/user/coding-agent-poll@<key>.{service,timer}entfernen (die Vorlage selbst unberührt lassen) - Optional:
~/.config/coding-agent-work-loop/<key>.confentfernen - Rückmeldung geben
Was landet NICHT im Host-Projekt
Nach setup erhält das Worktree des Host-Projekts nur zwei Dinge:
- Eine
.gitignore-Zeile (ausgenommencoding-agent.config) - Eine
coding-agent.config(gitignoriert, Konfiguration)
Skripte, systemd-Units, Status, Logs liegen alle außerhalb des Host-Projekts (Skill-Verzeichnis + ~/.config/ + ~/.local/state/).
Vollständige Architektur
Siehe das zugehörige README.md.
Dateiliste
setup.sh– Einrichtung eines Host-Projektsscripts/– Daemon- + Dispatch-Skripte (werden nie in das Host-Projekt kopiert)prompts/– Initiale Worker-Prompt-Vorlagen (überschreibbar über das.agents/skills/coding-agent-work-loop/prompts/des Host-Projekts)systemd/–[email protected]/.timer-Vorlage-Units; das Setup kopiert sie nach~/.config/systemd/user/coding-agent.config.example– Konfigurationsvorlage