verify-upstream-config-examples
Detect drift between testagent's upstream config corpus and vendor docs; surface net-new examples as a draft PR.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Detect drift between testagent's upstream config corpus and vendor docs; surface net-new examples as a draft PR.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Drive cutting a new testagent release end-to-end: analyze the surface diff against the bump table in RELEASING.md, propose a version, draft three-bucket release notes, tag, watch CI, then publish curated notes.
Use when refreshing a vendor's section of COMPATIBILITY.md after an upstream release, when `task dumpcli:<vendor>` reports drift, when a contributor adds a flag or slash command not yet in the matrix, or for periodic coverage checks. Vendor is parsed from the trigger phrase. Triggers include "update claude compat", "research claude", "check claude coverage", "claude drift", "new claude version" — and the same patterns for "codex" and "cursor". Generic phrases ("compat drift", "sync compatibility") prompt for the vendor.
| name | verify-upstream-config-examples |
| description | Detect drift between testagent's upstream config corpus and vendor docs; surface net-new examples as a draft PR. |
| triggers | ["verify upstream config examples","check upstream config drift","verify config corpus"] |
Detects drift between the vendored corpus under testdata/upstream-examples/ and live vendor docs. Net-new examples that pass testagent <vendor> validate --strict are written to the corpus and surfaced as a draft PR.
| Phrase | Vendor arg |
|---|---|
| "verify upstream config examples" (no vendor named) | ask the user or default to all |
| "verify claude config corpus" / "check claude drift" | claude |
| "verify codex config corpus" / "check codex drift" | codex |
| "verify cursor config corpus" / "check cursor drift" | cursor |
| "verify upstream config examples all" | all (runs all three sequentially) |
Vendor must be claude, codex, cursor, or all. If ambiguous, ask: "Which vendor — claude, codex, cursor, or all?"
Per sources.md:
curl -sL https://code.claude.com/llms.txt — produces a flat list of doc URLs. Grep for lines containing hooks or mcp; curl each linked page (also markdown).curl -sL https://cursor.com/llms.txt — same shape. Linked pages under /docs/hooks and /docs/context/mcp.gh api repos/openai/codex/contents/README.md -H 'Accept: application/vnd.github.raw' — inline fenced blocks; no link-following needed.From each fetched page, extract all fenced code blocks of the relevant language:
claude and cursor: ```json blocks.codex: ```toml blocks.Use awk to detect ```json / ```toml openers and matching ``` closers. Produce one candidate file per block.
For each candidate block:
testdata/upstream-examples/<vendor>/.For each net-new or drifted block, run:
/tmp/testagent <vendor> validate --strict < <candidate-file>
testdata/upstream-examples/<vendor>/).update-compatibility follow-up item. Do NOT vendor the failing block. Include it in the ### Skipped — fail --strict section of the PR body.Before opening any PR, run:
gh pr list --search 'in:title "upstream-config drift detected (<vendor>)" state:open'
If a matching open PR exists, skip PR creation and report the existing PR URL.
If net-new passing fixtures were found:
testdata/upstream-examples/<vendor>/<slug>.{json,toml}..source sibling with:
url: <source-page-url>
verified: <YYYY-MM-DD>
testagent <vendor> validate --strict against every newly written fixture to confirm.chore/upstream-drift-<vendor>-<date>.chore(testdata): upstream-config drift detected (<vendor>).gh pr create --draft \
--title "chore(testdata): upstream-config drift detected (<vendor>)" \
--body "$(cat /tmp/drift-pr-body.md)"
## Upstream config drift detected — <vendor>
Net-new examples found in upstream docs that pass `testagent <vendor> validate --strict`. Adding to the corpus.
### Added
- `testdata/upstream-examples/<vendor>/<slug>.json` (from <source-url>)
### Drifted (existing fixture diverges from upstream)
- `testdata/upstream-examples/<vendor>/<existing>.json` — <description of change>
### Skipped — fail --strict
- N examples with <field> field (not in testagent's allowlist); tracked separately in `update-compatibility`.
🤖 Generated by `.github/workflows/upstream-drift.yml`
--strict. Surface it as an update-compatibility follow-up..claude/skills/verify-upstream-config-examples/
├── SKILL.md # this file
└── sources.md # per-vendor source URLs and extraction notes
The shell-script implementation lives at scripts/upstream-drift.sh (invoked by .github/workflows/upstream-drift.yml). The skill and the script must stay in sync.