con un clic
acceptance-runbook
Provide concrete verification commands and manual acceptance steps.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Provide concrete verification commands and manual acceptance steps.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Convert source notes into claim-level evidence with confidence and limitations.
Verify source traceability, artifact completeness, and citation correctness before citation_qa gate.
Write an evidence-backed final research report from sources and the evidence matrix.
Review research method quality, source diversity, bias, and conclusion strength.
Convert a broad research request into subquestions, assumptions, and source criteria.
Design and execute a multi-round SearxNG/arXiv search strategy.
| name | Acceptance Runbook |
| description | Provide concrete verification commands and manual acceptance steps. |
| when-to-use | Use at QA gate time. |
| user-invocable | false |
| context | inline |
Produce a runnable acceptance runbook and use it to populate <project_root>/QA_REPORT.md.
Inputs:
GetTeamContext.Contract handling:
GetTeamContext.artifacts, verify whether the file exists on disk before marking it missing; then report the exact missing path.Runbook structure:
Setup
Required command matrix
python -m <name> must use an importable module/package name; a hyphenated product name is not valid unless packaging metadata creates a console entrypoint.command | head, command | tail, or similar pipelines unless the original command status is captured and reported.Integration smoke
Manual checks
Cleanup
Verdict
SubmitGateVerdict.If a required command cannot be run, mark the reason precisely and classify whether it blocks completion. Missing evidence for a contract-required command is a QA failure.
Embedded HTTP smoke helper:
For small HTTP API checks, you may copy this helper into the project root or run it inline with python3 - <<'PY' ... PY. Adapt endpoint paths and payloads to the actual interface contract. Do not rely on a separate helper file in the skill directory.
#!/usr/bin/env python3
"""Small stdlib HTTP smoke helper for QA runbooks.
Usage:
http_smoke.py GET http://localhost:8000/api/feedback 200
http_smoke.py POST http://localhost:8000/api/feedback 201 '{"author":"QA","message":"ok"}'
"""
from __future__ import annotations
import json
import sys
import urllib.error
import urllib.request
def main(argv: list[str]) -> int:
if len(argv) not in (4, 5):
print(__doc__.strip(), file=sys.stderr)
return 2
method, url, expected_raw = argv[1], argv[2], argv[3]
body = argv[4].encode("utf-8") if len(argv) == 5 else None
try:
expected = int(expected_raw)
except ValueError:
print(f"expected status must be an integer: {expected_raw}", file=sys.stderr)
return 2
headers = {}
if body is not None:
headers["Content-Type"] = "application/json"
request = urllib.request.Request(url, data=body, headers=headers, method=method.upper())
try:
with urllib.request.urlopen(request, timeout=10) as response:
status = response.status
payload = response.read().decode("utf-8", errors="replace")
except urllib.error.HTTPError as exc:
status = exc.code
payload = exc.read().decode("utf-8", errors="replace")
print(f"status={status}")
if payload:
try:
print(json.dumps(json.loads(payload), indent=2, ensure_ascii=False))
except json.JSONDecodeError:
print(payload[:2000])
if status != expected:
print(f"expected status {expected}, got {status}", file=sys.stderr)
return 1
return 0
if __name__ == "__main__":
raise SystemExit(main(sys.argv))