ワンクリックで
fullstack-worker
Builds features spanning both Go backend APIs and React frontend in a single coordinated effort
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Builds features spanning both Go backend APIs and React frontend in a single coordinated effort
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | fullstack-worker |
| description | Builds features spanning both Go backend APIs and React frontend in a single coordinated effort |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for features that require coordinated backend API + React UI changes in a single feature, where splitting would create incomplete intermediate states. Examples:
Read the feature description, preconditions, expectedBehavior, and verificationSteps. This feature spans backend and frontend — understand both sides before starting.
Read:
.factory/library/ for architectural contextBackend tests:
go test ./internal/<package> -run TestName -count=1Frontend tests:
cd internal/channels/dashboard/ui && npx playwright test tests/e2e/<file>.spec.tsBuild the Go backend following backend-worker conventions:
Verify backend works in isolation:
go test ./internal/<package> -v -count=1 — all passgo vet ./... — cleango build -o ./bin/openclawssy ./cmd/openclawssy — compilesBuild React components following frontend-worker conventions:
Verify frontend:
cd internal/channels/dashboard/ui && npx tsc --noEmit — cleancd internal/channels/dashboard/ui && npx vite build — succeedsgo build -o ./bin/openclawssy ./cmd/openclawssy./bin/openclawssy serve (or use Docker)interactiveChecks entrygo test ./... and cd internal/channels/dashboard/ui && npx playwright test.
If mission guidance explicitly allows non-interactive/manual-skip validation for the current feature, provide equivalent evidence-backed checks (targeted automated API/UI probes plus logs/screenshots/network artifacts) and document the substitution in interactiveChecks.
gofmt check{
"salientSummary": "Built the Delegation Policy Editor: backend PATCH endpoint for delegation config fields (mode, threshold, cooldown, auto_delegate) with validation + React page with form controls and save. All 8 Go tests and 4 Playwright tests pass; manually verified end-to-end that changing delegation mode via UI persists correctly.",
"whatWasImplemented": "Backend: Added delegation config validation in internal/config/config.go, new PATCH handler fields for delegation settings. Frontend: DelegationPolicyEditor.tsx page with mode selector, threshold slider, cooldown input, auto-delegate toggle. Zustand delegationStore. API client methods. 4 Playwright e2e tests.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{ "command": "go test ./internal/config -run TestDelegation -v -count=1", "exitCode": 0, "observation": "8 tests passed" },
{ "command": "go vet ./...", "exitCode": 0, "observation": "Clean" },
{ "command": "go build -o ./bin/openclawssy ./cmd/openclawssy", "exitCode": 0, "observation": "Build succeeded" },
{ "command": "cd internal/channels/dashboard/ui && npx playwright test tests/e2e/delegation.spec.ts", "exitCode": 0, "observation": "4 tests passed" },
{ "command": "go test ./...", "exitCode": 0, "observation": "All tests pass" }
],
"interactiveChecks": [
{ "action": "Opened /#/delegation, changed mode to 'approve_plan', clicked Save", "observed": "PATCH /api/admin/config sent with delegation fields, success toast shown" },
{ "action": "Refreshed page", "observed": "Mode shows 'approve_plan' — persisted correctly" },
{ "action": "Set threshold to -1, clicked Save", "observed": "Validation error: 'threshold must be >= 0'" }
]
},
"tests": {
"added": [
{
"file": "internal/config/config_test.go",
"cases": [
{ "name": "TestDelegationConfig_ValidModes", "verifies": "All 4 delegation modes accepted" },
{ "name": "TestDelegationConfig_InvalidMode", "verifies": "Unknown mode rejected with error" },
{ "name": "TestDelegationConfig_ThresholdBounds", "verifies": "Negative threshold rejected" }
]
},
{
"file": "internal/channels/dashboard/ui/tests/e2e/delegation.spec.ts",
"cases": [
{ "name": "renders delegation policy form", "verifies": "Page loads with current settings" },
{ "name": "saves mode change", "verifies": "Mode selection persists via API" },
{ "name": "validates threshold", "verifies": "Invalid threshold shows error" },
{ "name": "toggles auto-delegate", "verifies": "Toggle state persists" }
]
}
]
},
"discoveredIssues": []
}