← Testkube SkillsCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Testkube Skills
Snapshot Sep 30, 2026 · 23:13 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "testworkflow-runner",
"description": "Run, monitor, and diagnose Testkube TestWorkflow executions. Use when a TestWorkflow has been authored and needs to be executed, or when a previous execution failed and needs diagnosis. Reports execution results and root causes — does NOT edit workflow YAML.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 229
},
{
"relative_path": "references/analysis-guide.md",
"size_in_bytes": 3720
},
{
"relative_path": "references/cli-reference.md",
"size_in_bytes": 4527
}
],
"skill_md_contents": "---\nname: testworkflow-runner\ndescription: \"Run, monitor, and diagnose Testkube TestWorkflow executions. Use when a TestWorkflow has been authored and needs to be executed, or when a previous execution failed and needs diagnosis. Reports execution results and root causes — does NOT edit workflow YAML.\"\n---\n\n# testworkflow-runner\n\nRun a TestWorkflow, read execution logs, and diagnose failures. This skill handles the execution lifecycle AFTER the\nworkflow YAML has been written and validated by `testworkflow-author`.\n\nThis skill does NOT edit workflow YAML. If the diagnosis indicates a workflow configuration problem (wrong image,\nmissing step, incorrect command), report it in the deliverable — the parent agent decides whether to re-invoke\n`testworkflow-author` with the fix.\n\n## The Core Loop\n\n1. **Review context** — check for context from previous agents (workflow file path, image chosen, install/run commands,\n known issues)\n2. **Create and run the workflow** — create the workflow and start an execution. Use a blocking run so the command\n returns only when the execution completes:\n ```bash\n testkube create testworkflow -f workflow.yaml\n testkube run testworkflow <name> -f\n ```\n The default file path is `workflow.yaml`; pass the actual path if the workflow was written to a different location.\n The `-f` flag streams output and blocks until the execution reaches a terminal state (passed, failed, aborted).\n3. **If failed, get logs** — use `--logs-only` to read just the execution logs. Filter by step or grep for error\n patterns:\n ```bash\n testkube get testworkflowexecution <execution-id> --logs-only\n ```\n4. **Get execution details** — for full status, step results, and duration:\n ```bash\n testkube get testworkflowexecution <execution-id>\n ```\n5. **Diagnose** — identify root cause using the Failure Patterns below.\n6. **Report your diagnosis** — include workflow name, execution ID, status, exit code, and root cause with a\n recommendation.\n\n## Rules\n\n1. **MUST read the full execution logs before diagnosing.** Never guess the failure cause from the status alone. The\n error message in the logs is the source of truth.\n2. **MUST report the EXACT error message from logs.** Copy the relevant error text verbatim — do not paraphrase or\n summarize it.\n3. **MUST check the exit code.** Exit code 127 = command not found (missing dependency or wrong PATH). Exit code 1 =\n test assertion failure. Exit code 137 = OOMKilled.\n4. **MUST NOT edit the workflow YAML.** Report what needs to change — the parent handles re-authoring.\n\n## CLI Commands\n\n| Command | Purpose |\n| ------------------------------------------------ | -------------------------------------------------------------------- |\n| `testkube create testworkflow -f <file>` | Create a workflow from a YAML file |\n| `testkube run testworkflow <name> -f` | Run a workflow, stream output, block until completion |\n| `testkube get testworkflowexecution <id>` | Get execution status, step results, duration, and artifact listing |\n| `testkube get testworkflowexecution <id> --logs-only` | Fetch execution logs (supports `--tail`, `--grep`, `--step`) |\n| `testkube download artifacts <id>` | Download artifacts from an execution |\n| `testkube download artifacts <id> --mask '.*\\.xml$'` | Download only JUnit XML artifacts |\n\nFull CLI reference: `references/cli-reference.md`.\n\n## Failure Patterns\n\n| Symptom | Exit Code | Root Cause | Recommendation |\n| ------------------------------------------------ | --------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------- |\n| `command not found` | 127 | Binary not on PATH — missing `npm ci`/install step, or using bare command instead of `npx` | Add install step, use `npx <tool>` |\n| `Executable doesn't exist at /ms-playwright/...` | 1 | Playwright image version doesn't match installed package version | Match image tag to lock file version |\n| `Please update docker image as well` | 1 | Playwright explicitly says image/package mismatch | Use the version it suggests |\n| `OOMKilled` | 137 | Container exceeded memory limit | Increase `resources.limits.memory` |\n| `ImagePullBackOff` / `ErrImagePull` | — | Image name wrong or registry unreachable | Verify image exists on registry |\n| `DeadlineExceeded` | — | Workflow or step timed out | Increase `activeDeadlineSeconds` |\n| `CrashLoopBackOff` | — | Container crashes on startup | Check `command`/`args` or image entrypoint |\n| Non-zero exit with test output | 1 | Test assertion failures (actual test bugs) | Tests ran correctly but found failures — this is expected behavior, report as test failure not config issue |\n\n## Interpreting Exit Codes\n\n- **Exit 0**: All tests passed\n- **Exit 1**: Test failures (assertions) OR general error\n- **Exit 127**: Command not found — the binary doesn't exist in PATH\n- **Exit 137**: OOMKilled (SIGKILL from kernel)\n- **Exit 143**: SIGTERM (timeout, graceful shutdown)\n\nWhen exit code is 127, the fix is ALWAYS about dependency installation or PATH — never about the test code itself.\n\n## Reference Index\n\n| Reference | When to Load | Status |\n| ------------------------------ | ------------------------------------------- | --------- |\n| `references/analysis-guide.md` | When needing detailed diagnostic procedures | Available |\n| `references/cli-reference.md` | When needing full CLI flags for run/get | Available |\n"
}SHA-256: fc733ddefd060046f816f062a8543b0b07ef4189ac281de6064fd2327d49a850