From byt8
Orchestrates full-stack feature development with hook-based automation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/byt8:full-stack-featureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. **AUTO-ADVANCE:** Nach Phasen 2–6 sofort nächste Phase starten — NICHT stoppen. _(Erzwungen durch Stop Hook: decision:block)_
status = "awaiting_approval", User fragen, STOPP. (UserPromptSubmit Hook injiziert Rollback-Regeln bei User-Antwort)Task(byt8:AGENT).workflow-state.json lesen. Agents explorieren und lesen Specs selbst. Bei Rollback-Entscheidungen: User fragen statt selbst untersuchen.Vier Hooks steuern den Workflow deterministisch:
wf_engine.sh): JSON decision:block erzwingt Auto-Advance. Claude KANN NICHT stoppen bei Phasen 2-6.wf_user_prompt.sh): Injiziert Workflow-Status und Rollback-Regeln in Claudes Kontext bei jedem User-Prompt.block_orchestrator_code_edit.sh): Blockiert Code-Edits durch den Orchestrator.block_orchestrator_explore.sh): Blockiert Task(Explore/general-purpose). Orchestrator MUSS an byt8:Agents delegieren.| Phase | Agent | Typ |
|---|---|---|
| 0 | byt8:architect-planner | APPROVAL |
| 1 | byt8:ui-designer | APPROVAL |
| 2 | byt8:api-architect | AUTO |
| 3 | byt8:postgresql-architect | AUTO |
| 4 | byt8:spring-boot-developer | AUTO |
| 5 | byt8:angular-frontend-developer | AUTO |
| 6 | byt8:test-engineer | AUTO |
| 7 | byt8:security-auditor | APPROVAL |
| 8 | byt8:code-reviewer | APPROVAL |
| 9 | Orchestrator direkt (Push & PR) | APPROVAL |
WIP-Commits werden automatisch vom SubagentStop Hook erstellt (Phasen 1, 3, 4, 5, 6 + Safety Net: Agent-basiert bei Hotfixes).
ERSTER Befehl bei jedem Skill-Start:
${CLAUDE_PLUGIN_ROOT}/scripts/wf_cleanup.sh
| Exit Code | Bedeutung | Aktion |
|---|---|---|
| 0 | OK (kein Workflow oder completed → aufgeräumt) | Weiter mit Schritt 2 |
| 1 | BLOCKED (aktiver Workflow gefunden) | STOPP! User entscheidet: fortsetzen oder abbrechen |
Warum explizit? Der SubagentStart Hook greift erst bei Task()-Aufrufen. Da der Startup mit Bash-Befehlen beginnt, muss Cleanup explizit passieren.
Safety Net: SubagentStart Hook räumt weiterhin bei status=completed auf — als Backup falls dieser Schritt übersprungen wird.
cat .workflow/workflow-state.json 2>/dev/null || echo "NEW"
status und currentPhase, handle entsprechend.cat CLAUDE.md 2>/dev/null | head -10 || echo "No CLAUDE.md"
# Workflow-Struktur erstellen
mkdir -p .workflow/logs .workflow/specs .workflow/recovery
grep -q "^\.workflow/" .gitignore 2>/dev/null || echo ".workflow/" >> .gitignore
git fetch --prune
git branch -r | grep -v HEAD | sed 's/origin\///' | head -10
Frage User:
STARTED_AT=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
cat > .workflow/workflow-state.json << EOF
{
"workflow": "full-stack-feature",
"status": "active",
"issue": { "number": ISSUE_NUM, "title": "ISSUE_TITLE", "url": "..." },
"branch": "feature/issue-ISSUE_NUM-...",
"fromBranch": "FROM_BRANCH",
"targetCoverage": COVERAGE,
"currentPhase": 0,
"startedAt": "$STARTED_AT",
"phases": {},
"context": {}
}
EOF
git checkout -b feature/issue-ISSUE_NUM-kurzer-name
Dann Phase 0 starten: Task(byt8:architect-planner, "Create Technical Specification for Issue #N: Title")
STOPP! Ändere currentPhase NICHT selbst!
context.technicalSpec.specFilestatus = "awaiting_approval"NIEMALS: currentPhase ändern bevor User approved hat!
Vor jedem Aufruf: Read(.workflow/workflow-state.json) → nur Pfade extrahieren, keine Spec-Dateien lesen.
| Phase | SPEC FILES im Prompt |
|---|---|
| 1 | technicalSpec.specFile |
| 2 | technicalSpec.specFile |
| 3 | technicalSpec.specFile, apiDesign.apiDesignFile |
| 4 | technicalSpec.specFile, apiDesign.apiDesignFile, migrations.databaseFile |
| 5 | technicalSpec.specFile, apiDesign.apiDesignFile + wireframes.paths |
| 6 | technicalSpec.specFile |
| 7 | technicalSpec.specFile |
| 8 | technicalSpec.specFile, apiDesign.apiDesignFile |
Task(byt8:[agent], "
Phase [N]: [Name] for Issue #[NUM]
## SPEC FILES (LIES DIESE ZUERST mit dem Read-Tool!)
- Technical Spec: [context.technicalSpec.specFile]
- [Weitere gemäß Dependency-Map]
## WORKFLOW CONTEXT
- Issue: #[NUM] - [TITLE]
- Target Coverage: [targetCoverage]%
## YOUR TASK
[Anweisungen]
")
Wenn eine Phase übersprungen wird (z.B. Backend-only Feature, keine DB-Änderungen):
phases[N].status = "skipped" + reason setzencontext.CONTEXT_KEY = { "skipped": true, "reason": "..." }Der Guard-Hook prüft sowohl phases[N].status als auch context.* Keys. Defense-in-Depth: beides setzen.
Beispiel für Backend-only Feature (Phasen 1-3 überspringen):
jq '
.phases["1"] = {"name":"ui-designer","status":"skipped","reason":"Backend-only"}
| .context.wireframes = {"skipped":true,"reason":"Backend-only"}
| .phases["2"] = {"name":"api-architect","status":"skipped","reason":"No API changes"}
| .context.apiDesign = {"skipped":true,"reason":"No API changes"}
| .phases["3"] = {"name":"postgresql-architect","status":"skipped","reason":"No DB changes"}
| .context.migrations = {"skipped":true,"reason":"No DB changes"}
' .workflow/workflow-state.json > tmp && mv tmp .workflow/workflow-state.json
User entscheidet nach Findings:
currentPhase = 8, status = "awaiting_approval"securityAudit, testResults.currentPhase = 9 + status = "awaiting_approval", User fragen: "PR erstellen?"(Status ist bereits awaiting_approval aus Phase 8 Approval)
fromBranch)context.* Keys# Status auf active + pushApproved setzen (Guard-Hook prüft!)
jq '.status = "active" | .pushApproved = true' .workflow/workflow-state.json > tmp && mv tmp .workflow/workflow-state.json
git push -u origin $BRANCH
gh pr create --base $INTO_BRANCH --title "feat(#N): Title" --body "$PR_BODY"
status = "completed"startedAt bis jetzt)User will Änderung an aktueller Phase → Task(AKTUELLER_AGENT, "Revise: FEEDBACK") → erneut Approval Gate.
Typische Situationen: User will bei Phase 7/8 noch UI-Änderungen, Backend-Fixes, oder Feature-Erweiterungen.
| Fix-Typ | Ziel | Agent |
|---|---|---|
| Spec / Architektur | Phase 0 | byt8:architect-planner |
| Wireframes / UI | Phase 1 | byt8:ui-designer |
| API Design | Phase 2 | byt8:api-architect |
| DB Migration | Phase 3 | byt8:postgresql-architect |
| Backend / Java | Phase 4 | byt8:spring-boot-developer |
| Frontend / Angular | Phase 5 | byt8:angular-frontend-developer |
| Tests / E2E | Phase 6 | byt8:test-engineer |
Ablauf — Reihenfolge ist PFLICHT:
currentPhase = Ziel-Phase setzen + downstream Context löschen:
jq '.currentPhase = ZIEL | .status = "active" | del(.context.securityAudit) | del(.context.testResults)' \
.workflow/workflow-state.json > tmp && mv tmp .workflow/workflow-state.json
Bei ZIEL ≤ 5: zusätzlich del(.context.frontendImpl)
Bei ZIEL ≤ 4: zusätzlich del(.context.backendImpl)
Bei ZIEL ≤ 3: zusätzlich del(.context.migrations)Task(byt8:AGENT, "Phase [N] (Hotfix): ## SPEC FILES [Pfade] ## ZU FIXENDE PUNKTE [Details] ## YOUR TASK Fixe NUR diese Punkte.")⛔ NIEMALS Agents aufrufen ohne vorher currentPhase zu setzen — sonst: keine WIP-Commits, Phase-Skip-Gefahr!
| Command | Funktion |
|---|---|
/byt8:wf-status | Status anzeigen |
/byt8:wf-pause | Pausieren |
/byt8:wf-resume | Fortsetzen |
/byt8:wf-retry-reset | Retry-Counter zurücksetzen |
/byt8:wf-skip | Phase überspringen (Notfall) |
npx claudepluginhub byteagenten/byteagenten-marketplace --plugin byt8Implements features from chat context or description via full agent workflow without tickets, boards, or status updates. Loads domain skills, plans, codes, tests, and opens PR.
Implements features using parallel subagents with scope control, reflection, and MCP servers for memory/context. Activates on implement/build/create requests in JS/TS projects.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.