ワンクリックで
acceptance-runbook
Provide concrete verification commands and manual acceptance steps.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Provide concrete verification commands and manual acceptance steps.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
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))