Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Configure CI/CD pipeline for Alchemy-powered Web3 applications. Use when setting up automated testing with Hardhat forks, smart contract verification, or testnet deployment pipelines. Trigger: "alchemy CI", "alchemy GitHub Actions", "web3 CI/CD pipeline".
.claude/skills/jeremylongshore-alchemy-ci-integration/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -18% | 0% |
Gate Alchemy integration changes with deterministic unit, contract, fork, secret, and negative-path checks. This workflow produces a reviewable artifact and negative-path evidence before any live side effect.
CI should keep most provider behavior deterministic through fixtures and contract tests. A live read or pinned-chain fork is a separately labeled integration gate with a scoped non-production key, bounded usage, and an unavailable-provider policy. Pull-request testing never implies authorization to deploy or transact.
Use a least-privilege CI environment secret with no write or wallet-signing authority. Prevent fork-origin workflows from receiving repository secrets and scan logs, artifacts, bundles, source maps, and built assets for canaries.
alchemy-sdk imports and credential-bearing endpoint literals.Use Read, Glob, and Grep to inspect current documentation, configuration, code, fixtures, and evidence. Use Write and Edit only for approved repository artifacts. Skill invocation alone does not authorize network access, credentials, wallet addresses, customer data, plan changes, spend, key creation or rotation, webhook changes, deployment, replay, transaction construction, signing, broadcast, or deletion.
Repository/security owners approve secret-bearing CI contexts. Release owners approve protected deployment jobs. External fork pull requests never gain secrets solely because a maintainer runs tests.
Return the test-layer map, workflow/config change, secret and fork policy, deterministic fixtures, live-gate budget, negative-path receipts, required/advisory decision, and rollback. Mark assumptions, observations, source dates, environment-specific behavior, owners, and unresolved gaps explicitly.
alchemy-sdk or embeds an Alchemy endpoint credential in a source map.Exercise and record expected and observed results for:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | fail→pass | 11,265 | 5,702 | -49% | 1 | 1 | 0% | 2,380 | 1,806 | -24% | 0 | 0 | — |
case-04 | pass→pass | 9,433 | 6,566 | -30% | 1 | 1 | 0% | 2,078 | 2,228 | +7% | 0 | 0 | — |
case-05 | pass→pass | 11,013 | 11,543 | +5% | 1 | 1 | 0% | 2,389 | 3,396 | +42% | 0 | 0 | — |
case-06 | pass→pass | 8,641 | 5,672 | -34% | 1 | 1 | 0% | 1,929 | 1,933 | +0% | 0 | 0 | — |
case-07 | pass→fail | 13,784 | 8,801 | -36% | 1 | 1 | 0% | 2,601 | 2,318 | -11% | 0 | 0 | — |
case-01 | fail→pass | 12,104 | 9,598 | -21% | 1 | 1 | 0% | 2,853 | 3,059 | +7% | 0 | 0 | — |
case-02 | fail→fail | 18,370 | 11,732 | -36% | 1 | 1 | 0% | 4,204 | 3,374 | -20% | 0 | 0 | — |
case-03 | fail→fail | 15,415 | 17,117 | +11% | 1 | 1 | 0% | 3,399 | 4,838 | +42% | 0 | 0 | — |
case-08 | fail→fail | 10,484 | 8,380 | -20% | 1 | 1 | 0% | 1,997 | 2,281 | +14% | 0 | 0 | — |
case-09 | fail→pass | 11,472 | 7,057 | -38% | 1 | 1 | 0% | 2,203 | 2,128 | -3% | 0 | 0 | — |
case-10 | fail→pass | 8,814 | 2,335 | -74% | 1 | 1 | 0% | 1,713 | 1,111 | -35% | 0 | 0 | — |
case-11 | fail→pass | 9,019 | 4,413 | -51% | 1 | 1 | 0% | 1,852 | 1,522 | -18% | 0 | 0 | — |
case-12 | pass→pass | 11,345 | 6,027 | -47% | 1 | 1 | 0% | 1,984 | 1,772 | -11% | 0 | 0 | — |
case-14 | pass→pass | 10,576 | 4,445 | -58% | 1 | 1 | 0% | 1,908 | 1,467 | -23% | 0 | 0 | — |
case-15 | pass→pass | 3,108 | 1,567 | -50% | 1 | 1 | 0% | 663 | 978 | +48% | 0 | 0 | — |
case-16 | fail→pass | 10,023 | 6,064 | -39% | 1 | 1 | 0% | 1,824 | 1,786 | -2% | 0 | 0 | — |
case-17 | fail→pass | 6,798 | 1,768 | -74% | 1 | 1 | 0% | 1,287 | 976 | -24% | 0 | 0 | — |
case-18 | pass→pass | 4,434 | 1,805 | -59% | 1 | 1 | 0% | 761 | 934 | +23% | 0 | 0 | — |
case-19 | pass→pass | 4,478 | 1,357 | -70% | 1 | 1 | 0% | 763 | 900 | +18% | 0 | 0 | — |
case-20 | pass→pass | 9,245 | 4,615 | -50% | 1 | 1 | 0% | 1,807 | 1,528 | -15% | 0 | 0 | — |
case-21 | pass→pass | 3,253 | 2,249 | -31% | 1 | 1 | 0% | 542 | 1,120 | +107% | 0 | 0 | — |
case-22 | fail→fail | 4,736 | 5,766 | +22% | 1 | 1 | 0% | 921 | 1,798 | +95% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.