From claude-team-toolkit
Convert XLSX test cases to Maestro YAML / Detox / Markdown + sync Azure DevOps Test Plans. Use when team has xlsx test cases needing runnable specs or ADO sync.
npx claudepluginhub tuannv14/claude-team-toolkit --plugin claude-team-toolkitThis skill is limited to using the following tools:
Keeps xlsx as **source of truth** for test cases (testers' familiar tool),
Prevents silent decimal mismatch bugs in EVM ERC-20 tokens via runtime decimals lookup, chain-aware caching, bridged-token handling, and normalization. For DeFi bots, dashboards using Python/Web3, TypeScript/ethers, Solidity.
Share bugs, ideas, or general feedback.
Keeps xlsx as source of truth for test cases (testers' familiar tool), generates runnable artifacts on demand, and syncs to Azure DevOps Test Plans.
Deps: anthropic-skills:xlsx (delegate parsing), jq, python3. ADO sync
uses /azure-devops skill (multi-profile).
Per-workbook schema at <xlsx-folder>/.testcase-schema.yml (committed):
sheet: "Test Cases" # or "*" for all sheets
header_row: 2
columns:
id: "TC ID" # required, unique
module: "Module"
title: "Title" # required
steps: "Steps" # multi-line cell
expected: "Expected Result"
priority: "Priority"
category: "Category" # smoke/regression/etc.
status: "Status" # New/Updated/Stable
parsing:
steps_separator: "newline" # or "numbered"
priority_map:
P0: high
P1: high
P2: medium
P3: low
If no schema file exists, prompt to infer from first sheet header row and write file for review.
parse <xlsx-path> → /tmp/xlsx-testcases-<hash>.jsonDelegates to anthropic-skills:xlsx for parsing. Cache key = SHA-256 of
xlsx mtime+size+schema content. Output array of testcase objects.
gen maestro <xlsx-path> [--out tests/maestro/] — Maestro YAMLFor each TC: tests/maestro/<id>-<slug>.yaml. Step translation heuristic:
| xlsx step pattern | Maestro action |
|---|---|
| "Open app" / "Launch" | - launchApp |
| "Tap [X]" | - tapOn: "X" |
| "Enter [X] in [field]" | - tapOn: "field" + - inputText: "X" |
| "Verify [X] visible" | - assertVisible: "X" |
Unmapped steps emit # UNMAPPED: comment and surface in run summary.
gen detox <xlsx-path> [--out e2e/] — Detox .test.tsSame flow as Maestro but JavaScript spec.
gen markdown <xlsx-path> — manual QA checklist## TC001 — Title [tags, priority]
**Precondition:** ...
**Steps:** 1. ... 2. ...
**Expected:** ...
[ ] Pass [ ] Fail [ ] Skip Notes: ___
sync ado <xlsx-path> [--plan <id>] [--dry-run]Sync to Azure DevOps Test Plans (uses /azure-devops skill auth):
TC ID<xlsx-folder>/.testcase-sync-state.json (committed) —
only sync TCs whose hash changed since last sync.PAT scope required: Test Plans (Read & Write) + Work Items (Read & Write).
--dry-run shows what would change without writing.
coverage <xlsx-path> --against <test-folder> — gap reportTotal TCs in xlsx: 142
Generated as Maestro: 98 (69%)
Synced to ADO: 120 (85%)
HIGH-priority untested TCs:
TC047 IAP Restore purchase across devices
TC089 Push Background notification handling
diff <xlsx-path> — what changed since last syncCompare current xlsx against .testcase-sync-state.json:
Added: 3 TCs Modified: 12 TCs Removed: 1 TC
anthropic-skills:xlsx, don't reinvent./tmp/, don't include verbatim in chat beyond
what user asked.--dry-run first; require ctt_confirm
before actual sync. Audit log records TC IDs only, not content..testcase-schema.yml and .testcase-sync-state.json are safe to commit
(no test data, only mapping + hashes)./xlsx-testcases gen maestro <xlsx> to scaffold runners.sync ado + coverage to identify gaps.