Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Deprecate one or more networks by removing entries from networks.json, foundry.toml, and deployment logs
.claude/skills/lifinance-deprecate-network/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 231% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 80% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 139% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 215% | 0% |
> Usage: /deprecate-network <network1> [network2] [network3] ...
This command completely removes a network (or multiple networks) from the codebase by:
config/networks.jsonfoundry.toml under [rpc_endpoints]foundry.toml under [etherscan]script/deploy/_targetState.json (removes both production and staging environments)deployments/ directory that match the network name patternbun update-whitelist-periphery/deprecate-network followed by one or more network names (space-separated)config/networks.jsonconfig/networks.jsonfoundry.tomlfoundry.tomlscript/deploy/_targetState.jsonbun update-whitelist-periphery to update the whitelist/deprecate-network fantom/deprecate-network fantom harmony evmosWhen /deprecate-network is invoked with network names:
config/networks.json to verify all specified networks existconfig/networks.json:"fantom": { ... })foundry.toml - RPC endpoints:foundry.toml[rpc_endpoints] section{network} = "${ETH_NODE_URI_{NETWORK}}" (case-insensitive matching)foundry.toml - Etherscan:[etherscan] sectiontoml {network} = { key = "...", url = "...", chain = "..." }
script/deploy/_targetState.json:"fantom": { ... })jq to remove the network: jq 'del(.["{network}"])' or equivalentdeployments/ directory matching:{network}.json{network}.staging.json{network}.diamond.json{network}.diamond.staging.jsonbun update-whitelist-periphery commandgrep -ri "fantom" --exclude-dir=node_modules --exclude-dir=.git --exclude-dir=out --exclude-dir=cache --exclude-dir=broadcast --exclude-dir=typechain --exclude-dir=lib)node_modules, .git, out, cache, broadcast, typechain, libconfig/*.json may intentionally keep network values for historical referencearchive/ directory are typically historical and may be keptFor a network named fantom, remove:
deployments/fantom.jsondeployments/fantom.staging.jsondeployments/fantom.diamond.jsondeployments/fantom.diamond.staging.jsonRPC Endpoints section ([rpc_endpoints]):
tomlfantom = "${ETH_NODE_URI_FANTOM}"
Etherscan section ([etherscan]):
tomlfantom = { key = "${MAINNET_ETHERSCAN_API_KEY}", url = "https://api.etherscan.io/v2/api?chainid=250", chain = "250" }
Target State file (script/deploy/_targetState.json):
json{ "fantom": { "production": { ... }, "staging": { ... } } }
The entire "fantom" entry (including both production and staging) will be removed.
Before executing, validate:
config/networks.json (warn if not found, but continue)config/networks.jsonconfig/networks.jsonfoundry.tomlThe command handles:
config/networks.json (warn but continue)foundry.toml (warn but continue)script/deploy/_targetState.json (skip silently, not an error)After the command completes, you must manually update the Product Target State spreadsheet:
config/networks.json - Network configuration (removes network entries)foundry.toml - Foundry configuration (removes RPC and etherscan entries)script/deploy/_targetState.json - Target state configuration (removes network entries for both production and staging)deployments/{network}*.json - Deployment log files (deletes matching files)bun update-whitelist-periphery commandbun update-whitelist-periphery after all network removals are completeconfig/*.json) may intentionally keep network values for historical reference - let user decideDeprecating networks: fantom, harmony
✓ Removed 'fantom' from config/networks.json
✓ Removed 'harmony' from config/networks.json
✓ Removed RPC endpoint for 'fantom' from foundry.toml
✓ Removed RPC endpoint for 'harmony' from foundry.toml
✓ Removed etherscan entry for 'fantom' from foundry.toml
✓ Removed etherscan entry for 'harmony' from foundry.toml
✓ Removed 'fantom' from script/deploy/_targetState.json
✓ Removed 'harmony' from script/deploy/_targetState.json
✓ Deleted deployments/fantom.json
✓ Deleted deployments/fantom.diamond.json
✓ Deleted deployments/harmony.json
✓ Deleted deployments/harmony.diamond.json
⚠ Warning: deployments/fantom.staging.json not found (skipped)
⚠ Warning: deployments/harmony.staging.json not found (skipped)
✓ Running bun update-whitelist-periphery...
✓ Whitelist updated successfully
Successfully deprecated 2 networks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ MANUAL STEP REQUIRED: Update Product Target Sheet
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Please manually update the Product Target State spreadsheet:
📊 https://docs.google.com/spreadsheets/d/1jX1wfFkSn1s19I_KzMA7vB1kfgGxXUv7kRqwUGJJLF4/edit#gid=0
Actions required:
- Move the "fantom" row to the deprecated section
- Move the "harmony" row to the deprecated section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Remaining Occurrences Review
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Found additional occurrences of deprecated networks in the codebase:
Network: fantom
📄 config/whitelist.json
Line 211: "aurora": [...]
Line 1880: "fantom": [...]
📄 config/permit2Proxy.json
Line 6: "fantom": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
📄 config/gaszip.json
Line 9: "fantom": "0x2a37D63EAdFe4b4682a3c28C1c2cD4F109Cc2762"
📄 script/multiNetworkExecution.sh
Line 2586: # local NETWORKS=("arbitrum" "aurora" "base" "blast" "bob" "bsc" "cronos" "gravity" "linea" "mainnet" "mantle" "mode" "polygon" "scroll" "taiko")
Network: harmony
📄 config/whitelist.json
Line 704: "harmony": [...]
📄 deployments/harmony.json
Line 1: { "DiamondCutFacet": "0x..." }
⚠️ Note: Some config files (e.g., config/*.json) may intentionally keep network values for historical reference.
Please review the above list and indicate which files/occurrences should be removed:
- Type the file paths you want to clean up
- Or say "none" if all occurrences should remain
- Or say "all" to remove all occurrences (use with caution)| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 15,313 | 1,569 | -90% | 1 | 1 | 0% | 1,095 | 3,622 | +231% | 0 | 0 | — |
case-01 | fail→fail | 4,197 | 3,175 | -24% | 1 | 1 | 0% | 322 | 3,869 | +1102% | 0 | 0 | — |
case-02 | fail→fail | 14,636 | 3,742 | -74% | 1 | 1 | 0% | 2,896 | 4,022 | +39% | 0 | 0 | — |
case-03 | fail→fail | 10,850 | 8,616 | -21% | 1 | 1 | 0% | 1,930 | 3,994 | +107% | 0 | 0 | — |
case-04 | pass→pass | 13,281 | 7,785 | -41% | 1 | 1 | 0% | 2,455 | 4,901 | +100% | 0 | 0 | — |
case-05 | pass→pass | 9,664 | 7,292 | -25% | 1 | 1 | 0% | 1,681 | 4,709 | +180% | 0 | 0 | — |
case-06 | pass→pass | 6,659 | 4,890 | -27% | 1 | 1 | 0% | 1,154 | 4,157 | +260% | 0 | 0 | — |
case-07 | pass→fail | 10,678 | 5,683 | -47% | 1 | 1 | 0% | 1,876 | 3,683 | +96% | 0 | 0 | — |
case-08 | fail→pass | 14,173 | 3,443 | -76% | 1 | 1 | 0% | 2,243 | 4,039 | +80% | 0 | 0 | — |
case-09 | fail→pass | 14,963 | 2,161 | -86% | 1 | 1 | 0% | 2,559 | 3,806 | +49% | 0 | 0 | — |
case-11 | fail→pass | 10,877 | 2,320 | -79% | 1 | 1 | 0% | 1,607 | 3,847 | +139% | 0 | 0 | — |
case-12 | fail→pass | 6,491 | 1,726 | -73% | 1 | 1 | 0% | 1,168 | 3,674 | +215% | 0 | 0 | — |
case-13 | fail→pass | 8,383 | 2,851 | -66% | 1 | 1 | 0% | 1,240 | 3,856 | +211% | 0 | 0 | — |
case-14 | pass→pass | 13,688 | 4,847 | -65% | 1 | 1 | 0% | 2,094 | 4,260 | +103% | 0 | 0 | — |
case-15 | fail→pass | 12,970 | 3,850 | -70% | 1 | 1 | 0% | 1,959 | 4,131 | +111% | 0 | 0 | — |
case-16 | pass→pass | 12,134 | 3,793 | -69% | 1 | 1 | 0% | 1,760 | 4,043 | +130% | 0 | 0 | — |
case-17 | pass→fail | 8,637 | 3,072 | -64% | 1 | 1 | 0% | 1,355 | 3,872 | +186% | 0 | 0 | — |
case-18 | pass→pass | 15,401 | 8,976 | -42% | 1 | 1 | 0% | 2,399 | 4,981 | +108% | 0 | 0 | — |
case-19 | fail→pass | 13,478 | 8,042 | -40% | 1 | 1 | 0% | 2,070 | 4,944 | +139% | 0 | 0 | — |
case-20 | pass→pass | 10,085 | 2,026 | -80% | 1 | 1 | 0% | 1,629 | 3,706 | +128% | 0 | 0 | — |
case-21 | fail→pass | 11,658 | 2,497 | -79% | 1 | 1 | 0% | 816 | 3,782 | +363% | 0 | 0 | — |
case-22 | pass→pass | 15,073 | 5,949 | -61% | 1 | 1 | 0% | 2,355 | 4,366 | +85% | 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, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 19 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
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.