CommunityCodierung & Entwicklunggithub.com

KingGyuSuh/harness-loom

Installiere und erweitere ein überprüftes Arbeitsgeschirr (Harness) in jedem Repository. Stellt drei benutzeraufrufbare Fähigkeiten für Claude Code, Codex CLI und Gemini CLI bereit.

Was ist harness-loom?

`harness-loom` ist ein Skill, der das `harness-init`-Werkzeug in jedes Projekt einpflanzt. Es erstellt die Verzeichnisstruktur `.harness/loom/` und `.harness/cycle/`, die als kanonische Laufzeitumgebung für CI/CD-ähnliche Abläufe, Agenten- und Skill-Management dienen. Der Skill stellt sicher, dass nur projektlokale Artefakte unter `.harness/` gelesen werden und keine Factory-Pfade oder plattformspezifische Verzeichnisse wie `.claude/` oder `.codex/` involviert sind. Dies ermöglicht eine saubere Trennung zwischen Installation, Paar-Authoring und Plattformableitung, was die Wartbarkeit und Nachvollziehbarkeit von Entwicklungs-Workflows in Multi-Agent-Umgebungen erheblich verbessert.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add KingGyuSuh/harness-loom

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

harness-init

Design Thinking

harness-init ist der Factory-seitige Installer für die Ziel-Laufzeit. Seine Aufgabe ist es, den .harness/-Baum des Zielprojekts in der korrekten Struktur zu säen und dann zu stoppen. Nach der Installation soll das LLM des Zielprojekts nur projektlokale Artefakte unter .harness/loom/, .harness/cycle/ und später abgeleitete Plattformbäume lesen.

Diese Grenze ist streng:

  • install sät die Laufzeit-Grundlage
  • /harness-pair-dev erstellt später projektspezifische Paare
  • node .harness/loom/sync.ts --provider <list> leitet später Plattformbäume ab

Methodik

1. Argumente

/harness-init [<target>] [--force]

  • <target> — Wurzelpfad des Zielprojekts. Wenn nicht angegeben, ist process.cwd() das Ziel.
  • --force — ersetzt sowohl .harness/loom/ als auch .harness/cycle/.

Ohne --force aktualisiert die Installation .harness/loom/ und bewahrt einen bestehenden .harness/cycle/-Audit-Trail.

2. Ausführung

Führe das Installationsskript einmal aus:

node ${CLAUDE_SKILL_DIR}/scripts/install.ts $ARGUMENTS

Fasse dann das Skriptergebnis für den Benutzer zusammen. Vertraue der Ausgabe des Skripts, anstatt zusätzliche Shell-Inspektionen zu improvisieren.

3. Was die Installation garantiert

Die Installation sät zwei Namespaces:

  • .harness/loom/ — kanonische Staging-Umgebung für zielseitige Skills, Agenten, hook.sh und sync.ts
  • .harness/cycle/ — Laufzeitstatus für state.md, events.md und epics/

Bei einer frischen Installation erhält das Ziel mindestens:

  • .harness/loom/skills/{harness-orchestrate,harness-planning,harness-context,harness-doc-keeper}/
  • .harness/loom/agents/{harness-planner,harness-doc-keeper-producer}.md
  • .harness/loom/{hook.sh,sync.ts}
  • .harness/cycle/{state.md,events.md,epics/}

Die Installation erstellt nicht .claude/, .codex/ oder .gemini/. Diese werden später aus .harness/loom/ abgeleitet.

4. Wiederholungsverhalten

  • Standard-Wiederholung: aktualisiert .harness/loom/, bewahrt .harness/cycle/
  • --force: aktualisiert sowohl .harness/loom/ als auch .harness/cycle/

Wenn das Skript meldet, dass von Paaren erstellte Inhalte innerhalb von .harness/loom/ während einer Standard-Aktualisierung entfernt wurden, zeige dies dem Benutzer deutlich an, damit er diese Paare anschließend neu erstellen kann.

5. Überprüfung

Die Überprüfung ist skripteigen. Lies die Installationszusammenfassung und berichte:

  • ob die Installation erfolgreich war
  • ob Platzhalterrückstände oder Pfadfehler vorhanden sind
  • ob von Paaren erstellter Loom-Inhalt während der Aktualisierung gelöscht wurde
  • was der nächste Schritt sein sollte

Wenn die Überprüfung fehlschlägt, melde den Fehler und stoppe.

6. Grenze nach der Installation

Nach der Installation sind die nächsten Aktionen:

  1. Leite einen oder mehrere Plattformbäume aus der zielprojektlokalen Laufzeit ab:
node .harness/loom/sync.ts --provider claude
node .harness/loom/sync.ts --provider claude,codex,gemini
  1. Erstelle projektspezifische Paare mit /harness-pair-dev --add ...

harness-init selbst sollte kein Sync ausführen, Paare erstellen oder abgeleitete Plattformbäume verändern.

Bewertungskriterien

  • Install schreibt .harness/loom/ und .harness/cycle/ in das Zielprojekt.
  • Install kopiert zielprojektlokale hook.sh und sync.ts nach .harness/loom/.
  • Install erstellt kein .claude/, .codex/ oder .gemini/.
  • Standard-Wiederholung bewahrt .harness/cycle/ und aktualisiert .harness/loom/.
  • --force aktualisiert sowohl .harness/loom/ als auch .harness/cycle/.
  • Die Überprüfung wird anhand der Installationszusammenfassung beschrieben, nicht durch ad-hoc Shell-Inspektion.
  • Der Workflow nach der Installation verweist auf zielprojektlokales node .harness/loom/sync.ts --provider <list>.
  • Der Skill behandelt .template.md-Ausgaben konsequent als zielseitige Laufzeitartefakte, nicht als Factory-seitige Arbeitsdateien.

Tabus

  • Beschreibe die Installation so, dass .claude/ die Quelle der Wahrheit für die Laufzeit ist. Die kanonische Laufzeit-Staging-Umgebung ist .harness/loom/.
  • Weise die Ziel-Laufzeit an, Factory-Pfade wie plugins/harness-loom/... zu lesen.
  • Lasse die Installation .claude/, .codex/ oder .gemini/ erstellen oder ändern.
  • Mische Paar-Erstellung oder Plattformableitung in /harness-init.
  • Mache diesen Skill zu einer zeilenweisen Kopie von install.ts.

Referenzen

  • ${CLAUDE_SKILL_DIR}/scripts/install.ts — kanonische Installer-Implementierung
  • references/runtime/ — Ziel-Laufzeitvorlagen, die in .harness/loom/ gesät werden
  • ../harness-pair-dev/SKILL.md — Paar-Erstellung nach der Installation

Verwandte Skills