一键导入
custom-test-process
Project-specific test process. Starts backend/vite servers, runs pytest, and verifies health endpoints for claudecode_webui.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Project-specific test process. Starts backend/vite servers, runs pytest, and verifies health endpoints for claudecode_webui.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a versioned release of claudecode_webui — bump version fields, update CHANGELOG.md, tag the commit, push, and create the GitHub Release.
Project-specific build process for the Builder workflow. Builds frontend assets for claudecode_webui.
Navigate to the Claude Code WebUI application, verify it loads, and optionally select a project and/or session by name. Use when starting any UI test, opening the app, verifying the app is loaded, switching projects, or selecting sessions.
Detect and respond to a permission prompt in the Claude Code WebUI. Use when approving or denying tool permissions, handling permission modals, responding to Claude asking for approval, or unblocking a paused session.
Create a new project in the Claude Code WebUI via the UI. Use when creating a project, adding a project, opening the new project modal, or testing project creation flow.
Delete a project via the Claude Code WebUI. Use when deleting a project, removing a project, testing project deletion, or cleaning up test projects.
| name | custom-test-process |
| description | Project-specific test process. Starts backend/vite servers, runs pytest, and verifies health endpoints for claudecode_webui. |
| allowed-tools | ["Bash","Skill"] |
This is a project-specific custom skill called by the Builder workflow to run the full test cycle. It handles starting servers, running tests, and verifying health endpoints specific to this project (claudecode_webui).
Generic workflow skills invoke this skill if it exists; if absent, the test step is skipped.
The Builder invokes this skill from its working directory (the worktree). Environment variables (ports) come from custom-environment-setup.
Environment from custom-environment-setup:
BACKEND_PORT: Backend server port (8000 + issue_number % 1000)VITE_PORT: Vite dev server port (5000 + issue_number % 1000)TEST_AUTH_TOKEN: Fixed auth token for test servers (default: test)
This skill owns the full test lifecycle in a single invocation:
CRITICAL: Unset the CLAUDECODE environment variable before starting the backend. The Claude Agent SDK includes an undocumented safety check that prevents it from running inside another Claude Code instance. Since the builder agent runs inside Claude Code, this env var is inherited by child processes. Our application launches its own Claude Code SDK instances, so if CLAUDECODE is set, those SDK sessions will halt prematurely.
env -u CLAUDECODE uv run python main.py --host 0.0.0.0 --debug-all --port ${BACKEND_PORT} --token ${TEST_AUTH_TOKEN:-test} &
Wait for server to be ready:
# Wait up to 30 seconds for backend
for i in $(seq 1 30); do
curl -s http://localhost:${BACKEND_PORT}/health > /dev/null 2>&1 && break
sleep 1
done
CRITICAL: Set VITE_BACKEND_PORT so the vite dev server proxies to the correct per-issue backend port instead of the default 8001:
cd frontend && VITE_BACKEND_PORT=${BACKEND_PORT} npm run dev -- --port ${VITE_PORT} &
The VITE_BACKEND_PORT environment variable is read by vite.config.js to configure the proxy target. Without this, the frontend would proxy requests to port 8001 (the default) instead of the issue-specific backend port.
uv run pytest src/tests/ -v
# Check backend health
curl -s http://localhost:${BACKEND_PORT}/health
# Check frontend (if started)
curl -s http://localhost:${VITE_PORT}
CRITICAL: Do NOT stop servers after testing. Leave them running for user review.
The custom-cleanup-process skill handles stopping servers later.
When reporting that servers are running, include the auth token in the URLs:
Backend: http://localhost:${BACKEND_PORT}/?token=${TEST_AUTH_TOKEN:-test}
Frontend: http://localhost:${VITE_PORT}/?token=${TEST_AUTH_TOKEN:-test}
This lets the user click the URL and authenticate automatically.
The Builder workflow calls this skill like:
Invoke custom-test-process skill
The skill uses port information from the environment (provided by custom-environment-setup).
It may use the process-manager skill internally for process management.
If this skill does not exist, the generic workflow skips the test step.