guided-experience-service-parallel-tests
Use this when working in the guided-experience-service repository and the user wants to run all unit tests and integration tests in parallel. Prefer 2 parallel workers when subagents are explicitly authorized: one worker for the unit suite and one worker for the integration suite, each using 10 pyte
Install
mkdir -p .claude/skills/guided-experience-service-parallel-tests && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16924" && unzip -o skill.zip -d .claude/skills/guided-experience-service-parallel-tests && rm skill.zipInstalls to .claude/skills/guided-experience-service-parallel-tests
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use this when working in the guided-experience-service repository and the user wants to run all unit tests and integration tests in parallel. Prefer 2 parallel workers when subagents are explicitly authorized: one worker for the unit suite and one worker for the integration suite, each using 10 pytest workers. Run make install-splunk-app-deps immediately before the integration suite. After the parallel test runs complete, use repository-technical-analysis together with guided-experience-service-technical-analysis to review failures, suspicious errors, missing prerequisites, or likely root causes. Covers the repo-specific uv and pytest commands, when to prefer direct pytest over Makefile targets, optional Weaviate setup, and how to report results separately for unit and integration suites.About this skill
Guided Experience Service Parallel Tests
Use this skill for broad test execution in ../../../../guided-experience-service when the goal is to run both the unit and integration suites in parallel. Prefer 2 parallel workers when subagents are available and explicitly authorized by the user, then review any failures or suspicious errors with repository-technical-analysis plus guided-experience-service-technical-analysis.
When to Use
Use this skill when the user wants:
- both unit and integration suites run for
guided-experience-service - broad parallel validation in this repository
- follow-up failure analysis after broad test execution
When Not to Use
Do not use this skill when:
- the task only needs a narrow targeted test command
- the task is outside the
guided-experience-servicerepository - the user has not authorized subagents and broad parallelization is the main reason to invoke this skill
First Read
- Read
../../../../guided-experience-service/AGENTS.mdbefore running commands. - Run commands from the repository root:
../../../../guided-experience-service. - Use
uvfor Python commands and scripts. - If the user provides a local artifact such as
task_<issue>.md,review_mr_<MR>.md, oranalysis_mr_<MR>.md, read it first and reuse its repo context, assumptions, validation plan, and open questions before running broad test suites.
Workflow
- Start in
../../../../guided-experience-service. - Ensure dependencies are installed with
uv syncwhen needed. - If subagents are explicitly authorized, use 2 parallel workers:
- Worker 1 owns unit test execution only.
- Worker 2 owns integration test execution only.
- Run the unit suite with 10 pytest workers:
uv run pytest -v -m "not integration and not functional" -n 10
- Just before the integration suite, run:
make install-splunk-app-deps
- Run the integration suite with 10 pytest workers:
uv run pytest -v -m "integration and not skip_ci" -n 10
- Before running the integration suite, fail fast if
IAC_TOKENis not set. - Wait for both suites to finish.
- If the integration suite depends on production Weaviate behavior, source
cicd/scripts/set_weaviate_config.shbefore running the relevant commands. - If failures suggest extra local infrastructure is needed, use the repo Makefile helpers such as
make test-db-startandmake test-db-stop. - After both suites finish, use
repository-technical-analysistogether withguided-experience-service-technical-analysisto review any failing tests, suspicious errors, environment gaps, or likely root causes. - Report the raw test outcomes first, then the follow-up technical analysis.
- When rerunning similar broad test execution, preserve durable learned sections such as
Frequent Failure Clusters,Known Prerequisite Gaps,Fastest Reliable Suite Order, andFlaky or Low-Signal Checkswhen they still match current test output and environment state.
Parallel Worker Template
When subagents are allowed, use a 2-worker split like this:
Spawn 2 parallel worker agents with fork_context: true.
Worker 1:
- own unit test execution only
- run from ../../../../guided-experience-service
- run: uv run pytest -v -m "not integration and not functional" -n 10
- return: summary, failing tests, and validation run
Worker 2:
- own integration test execution only
- run from ../../../../guided-experience-service
- fail immediately with a clear error if IAC_TOKEN is unset
- run: make install-splunk-app-deps
- run: uv run pytest -v -m "integration and not skip_ci" -n 10
- source cicd/scripts/set_weaviate_config.sh first when needed
- return: summary, failing tests, and validation run
After both workers finish:
- use repository-technical-analysis plus guided-experience-service-technical-analysis to review failures or suspicious errors
- report raw test results separately from the follow-up analysis
Do not wait immediately after spawning. Wait after both workers have started or when results are needed.
Command Selection Rules
- Prefer the direct
uv run pytest ... -n 10commands above because the currentMakefiletest targets do not expose worker count. - Prefer 2 parallel workers over a single sequential run when subagents are explicitly authorized.
- Prefer repo targets such as
make test-db-startandmake test-db-stopfor database lifecycle instead of ad hoc docker commands. - Run
make install-splunk-app-depsimmediately before the integration suite. - For integration execution, check
IAC_TOKENfirst and stop with a clear error if it is missing. - After the unit and integration runs complete, use
repository-technical-analysiswithguided-experience-service-technical-analysisto analyze failures, suspicious stack traces, environment problems, and likely root causes. - Do not run functional tests unless the user asks for them; this skill is for unit and integration suites.
- When a suite, prerequisite step, or helper command proves flaky or low-signal, record it once in
Flaky or Low-Signal ChecksorKnown Prerequisite Gapswith the shortest useful explanation.
Validation
- Run the exact unit and integration commands documented by this skill unless the repo workflow has changed.
- Fail fast on missing prerequisites such as
IAC_TOKENbefore expensive integration execution. - Report raw suite outcomes separately from follow-up technical analysis.
- Prefer repo-native helpers for environment lifecycle when they exist.
Reporting
When summarizing results:
- State the exact commands run.
- Separate unit and integration outcomes.
- List failing tests or modules clearly.
- Call out missing environment or auth prerequisites explicitly.
- Add a separate technical-analysis section that summarizes likely root causes, failure groupings, and next debugging steps.
Outputs / Artifacts
This skill should provide:
- unit suite outcome
- integration suite outcome
- exact commands run
- missing prerequisite or environment notes
- follow-up technical analysis when failures occur
Artifact-Aware Behavior
When a local workflow artifact is provided:
- read it first for scope, validation intent, and known risks
- reuse its links, assumptions, and open questions when reporting failures
- still treat current test output as the source of truth for pass/fail state
- preserve the shared core sections from
../ARTIFACTS.mdwhen updating the same artifact or reporting back into it
This is additive only and does not replace the existing unit/integration test workflow.
Companion Skills
Common pairings:
repository-technical-analysisfor failure investigation after test executionguided-experience-service-technical-analysisfor repo-specific failure analysismulti-spawn-agentonly when subagents are explicitly authorized
Self-Improving Behavior
When rerunning broad unit and integration execution for the same repository state or failure family:
- read any existing task or analysis artifact first
- preserve durable learned sections such as
## Frequent Failure Clusters,## Known Prerequisite Gaps,## Fastest Reliable Suite Order, and## Flaky or Low-Signal Checkswhen they still match current output and environment state - refresh conclusions against the live unit output, integration output, dependency state, and environment checks before reusing them
- promote repeated confirmed observations into short operational heuristics, preferably phrased like
when suite X fails with Y, check Z first - demote, mark stale, or remove heuristics contradicted by new output or environment evidence
This keeps broad test-run artifacts useful across reruns without replacing the normal execution and follow-up analysis workflow.
Safety Notes
- Do not run functional tests unless the user asks for them.
- Do not treat missing prerequisites as flaky failures; report them explicitly.
- Keep unit and integration results separated in both execution and reporting.
Useful Repo Anchors
../../../../guided-experience-service/AGENTS.mdfor repo workflow rules../../../../guided-experience-service/Makefilefor test and database helper targets../../../../guided-experience-service/pyproject.tomlfor pytest markers and dev dependencies../../../../guided-experience-service/cicd/scripts/set_weaviate_config.shfor production Weaviate settings