원클릭으로
spike-review
Spike-Ergebnis reviewen — Zusammenfassung anzeigen, Follow-Up-Tickets erstellen, Spike-Ticket abschliessen
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Spike-Ergebnis reviewen — Zusammenfassung anzeigen, Follow-Up-Tickets erstellen, Spike-Ticket abschliessen
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Neues Projekt im aktuellen Workspace verknüpfen — nur Projekt-ID in project.json schreiben
Board-Verbindung einrichten — via jsp_ Token oder Status prüfen
/just-ship-review — Branch lokal auschecken, builden, Dev-Server starten und testen
Just Ship installieren und Projekt konfigurieren — Stack erkennen, project.json befüllen, Board verbinden
Single source of truth for how the just-ship pipeline talks to the CEO. Defines the voice (Result-First, tables for lists of 3+, status icons, short active sentences, no inner monologue) and the five Core Templates (develop-complete, ship-complete, ticket-created, epic-created, phase-progress). Every user-facing output string produced by an agent, a skill, or a pipeline phase runs through this skill — never freeform prose. Triggers at the end of /develop, at the end of /ship, in Sidekick replies for ticket/epic creation, in /just-ship-status, and during phase-progress updates. Load whenever you are about to render a terminal block the CEO will read.
The operating system for decision-making in this team. ALWAYS load this skill. It defines what the human decides and what the AI expert team decides autonomously. Use on EVERY task, EVERY conversation, EVERY feature. This skill prevents the anti-pattern of asking the user technical, design, or implementation questions that an expert should answer. It is the single most important skill in the stack — without it, every other skill's quality is bottlenecked by the user being asked questions they shouldn't answer. Triggers on: literally everything. This is not optional. Load it first, always.
| applies_to | all-agents |
| name | spike-review |
| description | Spike-Ergebnis reviewen — Zusammenfassung anzeigen, Follow-Up-Tickets erstellen, Spike-Ticket abschliessen |
Reviewe ein abgeschlossenes Spike-Ticket: Spike-Dokument finden, Zusammenfassung anzeigen, Implementation Steps in Ticket-Entwuerfe umwandeln, und den Spike abschliessen.
Lies project.json fuer Pipeline-Config.
Pipeline (optional): Falls pipeline.workspace_id gesetzt → board-api.sh verwenden:
bash .claude/scripts/board-api.sh get "tickets/{N}"
bash .claude/scripts/board-api.sh post tickets '{"title": "...", "body": "..."}'
Credentials werden intern aufgelöst.
Falls keine Pipeline konfiguriert: Ticket-Status-Updates und Ticket-Erstellung ueberspringen, nur Zusammenfassung anzeigen.
Der Operator reviewed die Zusammenfassung, bestaetigt oder verwirft den Vorschlag, und entscheidet ueber Follow-Up-Tickets. Jeder Schritt wartet auf Bestaetigung.
Erkennung: Falls $ARGUMENTS das Wort --auto enthaelt, laeuft der Flow vollstaendig autonom. Alle Entwuerfe werden ohne Rueckfrage als Tickets erstellt, der Spike wird automatisch geschlossen.
$ARGUMENTS enthaelt die Ticket-Nummer (z.B. T-472, 472, oder T-472 --auto).
Guard: Falls kein Argument uebergeben → Fehlermeldung: Bitte eine Ticket-Nummer angeben: /spike-review T-{N}
Nummer extrahieren und validieren:
# Trim whitespace
ARG=$(echo "$ARGUMENTS" | xargs)
if [ -z "$ARG" ]; then
echo "Bitte eine Ticket-Nummer angeben: /spike-review T-{N}"
exit 1
fi
# Remove --auto flag if present
TICKET_ARG=$(echo "$ARG" | sed 's/ *--auto.*//')
AUTO_MODE=$(echo "$ARG" | grep -q "\-\-auto" && echo "true" || echo "false")
# Extract number, accept both T-472 and 472 format
TICKET_NUM=$(echo "$TICKET_ARG" | sed 's/^T-//' | grep -oE '^[0-9]+$')
if [ -z "$TICKET_NUM" ]; then
echo "Ungueltige Ticket-Nummer: $TICKET_ARG. Erwartet: T-472 oder 472"
exit 1
fi
Falls Pipeline konfiguriert — Ticket-Daten laden:
Board API (bevorzugt):
bash .claude/scripts/board-api.sh get "tickets/{N}"
Legacy Supabase MCP (Fallback):
SELECT * FROM public.tickets WHERE number = {N} AND workspace_id = '{pipeline.workspace_id}';
Ausgabe: ▶ Spike T-{N}: {title}
Suche in docs/spikes/ nach dem Spike-Dokument:
# Pattern 1: Ticket-Nummer im Dateinamen (z.B. 472-monitoring-solution.md, T-472-*.md)
find docs/spikes/ -name "*{N}*" -type f 2>/dev/null
# Pattern 2: Alle Dateien in docs/spikes/ durchsuchen nach Ticket-Referenz im Inhalt
grep -rl "T-{N}" docs/spikes/ 2>/dev/null
Mehrere Treffer: Den neuesten nehmen (nach Aenderungsdatum).
Kein Treffer: Fehlermeldung:
Kein Spike-Dokument fuer T-{N} gefunden.
Erwartet: docs/spikes/{N}-*.md oder docs/spikes/T-{N}-*.md
Alternativ: eine Datei in docs/spikes/ die "T-{N}" im Inhalt referenziert.
→ Stoppen.
Ausgabe: ✓ Spike-Dokument gefunden: {dateiname}
Lies das Spike-Dokument vollstaendig mit dem Read-Tool.
Erstelle eine kompakte Zusammenfassung:
## Spike-Review: T-{N} — {title}
**Dokument:** {dateiname}
**Status:** {status aus Dokument-Header, z.B. "Complete"}
### Kernfrage
{Was wurde untersucht — 1-2 Saetze}
### Ergebnis
{Die wichtigsten Findings als Bullet Points — max 5}
### Empfehlung
{Die empfohlene Loesung — 2-3 Saetze}
Falls das Dokument eine "Implementation Steps" oder "Implementation" Sektion enthaelt:
### Implementation Steps (aus Spike)
{Die Schritte woertlich aus dem Dokument}
Zeige die Zusammenfassung dem Operator an.
Falls das Spike-Dokument eine "Implementation Steps" oder "Implementation" Sektion enthaelt:
Fuer jeden Schritt einen Ticket-Entwurf erstellen:
## Context — Referenz auf den Spike: "Follow-up from Spike T-{N}: {spike-title}"## Problem — Was dieser Schritt addressiert## Desired Behavior — Was nach Abschluss anders ist## Acceptance Criteria — Ableitbar aus dem Step-Text, testbar formuliert## Out of Scope — Andere Implementation Steps die NICHT in diesem Ticket enthalten sindmedium (default, Operator kann aendern)["spike-followup", "{relevante-tags-aus-spike}"]backlogNummeriere die Entwuerfe: Draft 1/N, Draft 2/N, etc.
Zeige alle Entwuerfe kompakt an:
### Follow-Up-Tickets (aus Implementation Steps)
**Draft 1/{N}:** {Titel}
ACs: {Kurzform der Acceptance Criteria}
**Draft 2/{N}:** {Titel}
ACs: {Kurzform der Acceptance Criteria}
...
Falls keine Implementation Steps vorhanden: Ueberspringen, direkt zu Schritt 5.
{N} Follow-Up-Tickets vorbereitet. Wie weiter?
a) Alle erstellen und Spike abschliessen
b) Tickets anzeigen und einzeln bearbeiten
c) Spike abschliessen ohne Follow-Up-Tickets
d) Abbrechen (Spike bleibt offen)
Falls keine Implementation Steps vorhanden waren:
Keine Implementation Steps im Spike gefunden.
a) Spike abschliessen (Status: done)
b) Abbrechen (Spike bleibt offen)
--auto)Falls Implementation Steps vorhanden: Alle Tickets erstellen (Schritt 6) und Spike schliessen (Schritt 7) ohne Rueckfrage.
Falls keine Implementation Steps vorhanden: Spike trotzdem schliessen (Schritt 7) ohne Rueckfrage.
Falls Pipeline konfiguriert — Tickets via Board API oder Supabase erstellen:
Board API (bevorzugt):
bash .claude/scripts/board-api.sh post tickets '{
"title": "{ticket_title}",
"body": "{ticket_body_markdown}",
"priority": "medium",
"tags": ["spike-followup"],
"status": "backlog",
"project_id": "{pipeline.project_id}",
"parent_ticket_id": "{spike_ticket_id}"
}'
Legacy Supabase MCP (Fallback):
INSERT INTO public.tickets (title, body, priority, tags, status, workspace_id, project_id, parent_ticket_id)
VALUES (
'{title}',
'{body_markdown}',
'medium',
ARRAY['spike-followup'],
'backlog',
'{pipeline.workspace_id}',
(SELECT id FROM public.projects WHERE name = '{pipeline.project_name}' AND workspace_id = '{pipeline.workspace_id}'),
'{spike_ticket_id}'
)
RETURNING number, title;
Ausgabe pro erstelltem Ticket: ✓ T-{new_number}: {title}
Falls keine Pipeline konfiguriert: Ticket-Entwuerfe als Markdown ausgeben, User kann sie manuell erstellen.
Falls Pipeline konfiguriert:
Board API (bevorzugt):
bash .claude/scripts/board-api.sh patch "tickets/{N}" '{"status": "done"}'
Legacy Supabase MCP (Fallback):
UPDATE public.tickets SET status = 'done' WHERE number = {N} AND workspace_id = '{pipeline.workspace_id}' RETURNING number, title, status;
Ausgabe: ✓ Spike T-{N} abgeschlossen (Status: done)
Spike-Review abgeschlossen:
Spike: T-{N} — {title} (done)
Dokument: docs/spikes/{dateiname}
Follow-Up-Tickets: {anzahl} erstellt
→ Naechster Schritt: /develop um das erste Follow-Up-Ticket zu implementieren
Falls keine Tickets erstellt wurden:
Spike-Review abgeschlossen:
Spike: T-{N} — {title} (done)
Dokument: docs/spikes/{dateiname}
→ Keine Follow-Up-Tickets erstellt
finishing-a-development-branch aufrufen.env.local, ~/.just-ship/config.json) — IMMER board-api.sh verwenden, der Wrapper resolved Tier-für-Tier/develop starten nach dem Review