From df9fa70f765e2f22e7023acccbd043721e8443e5 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 14:51:44 +0000 Subject: [PATCH 01/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 362 ++++++++++++++++++------------------ 3 files changed, 183 insertions(+), 183 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index fe53194bc..7aff9a15f 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-05-19T11:46:33Z", + "generated": "2026-05-19T14:51:43Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index f70b13ae2..51119b5d4 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-05-19T11:46:33Z", + "last_checked": "2026-05-19T14:51:43Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index 99dc6717e..d4b9efd69 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,224 +1,234 @@ { - "generated": "2026-05-19T18:00:00Z", + "schema_version": "1", + "generated": "2026-05-19T14:51:43Z", + "summary": { + "total_candidates": 142, + "up_to_date": 34, + "stale": 28, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:00:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "onboard-polkadot-validator" @@ -226,137 +236,137 @@ "status": "up_to_date" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "create-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/get-started.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "up_to_date" + "status": "stale" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T14:30:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "set-up-parachain-template" @@ -364,103 +374,103 @@ "status": "up_to_date" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "retrieve-runtime-metadata" @@ -468,115 +478,115 @@ "status": "up_to_date" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "set-up-chopsticks-fork" @@ -584,7 +594,7 @@ "status": "up_to_date" }, "reference/tools/dedot.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "interact-with-chain-dedot" @@ -592,13 +602,13 @@ "status": "up_to_date" }, "reference/tools/light-clients.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" @@ -606,7 +616,7 @@ "status": "up_to_date" }, "reference/tools/omninode.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "run-parachain-node-omni-node" @@ -614,25 +624,25 @@ "status": "up_to_date" }, "reference/tools/papi.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "use-polkadot-js-api" @@ -640,13 +650,13 @@ "status": "up_to_date" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "interact-polkadot-node-py-substrate" @@ -654,13 +664,13 @@ "status": "up_to_date" }, "reference/tools/sidecar.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "interact-polkadot-node-subxt" @@ -668,13 +678,13 @@ "status": "up_to_date" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "spawn-test-network-zombienet" @@ -682,7 +692,7 @@ "status": "up_to_date" }, "smart-contracts/connect.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "connect-polkadot-hub-testnet" @@ -690,7 +700,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "build-dapp-viem-nextjs" @@ -698,15 +708,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-uniswap-v2-core-evm" @@ -714,7 +724,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" @@ -722,7 +732,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" @@ -730,7 +740,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" @@ -738,15 +748,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-basic-contract-remix" @@ -754,15 +764,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-erc20-token-remix" @@ -770,7 +780,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" @@ -778,7 +788,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-erc721-nft-remix" @@ -786,7 +796,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" @@ -794,23 +804,23 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T12:00:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "set-up-local-dev-node" @@ -818,7 +828,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "connect-remix-polkadot" @@ -826,67 +836,67 @@ "status": "up_to_date" }, "smart-contracts/explorers.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "connect-wallet-polkadot-hub" @@ -894,7 +904,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-contracts-ethers-js" @@ -902,7 +912,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-contracts-viem" @@ -910,7 +920,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "use-wagmi-polkadot-hub" @@ -918,7 +928,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-interact-contracts-web3js" @@ -926,7 +936,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "deploy-interact-contracts-web3py" @@ -934,13 +944,13 @@ "status": "up_to_date" }, "smart-contracts/overview.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" @@ -948,13 +958,13 @@ "status": "up_to_date" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-storage-precompile-remix" @@ -962,7 +972,7 @@ "status": "up_to_date" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-system-precompile-remix" @@ -970,22 +980,12 @@ "status": "up_to_date" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-05-19T08:40:20+00:00", + "last_edited": "2026-05-19T14:51:13+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-xcm-precompile-remix" ], "status": "up_to_date" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 0, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 62 } } From eecfac70ab3182330f4397af3dda170d63bc8585 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 14:58:57 +0000 Subject: [PATCH 02/40] chore: auto-generate/update skills --- agent_skills_config.json | 14 +++++++------- skill_coverage.json | 42 ++++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 66c432eae..d202ce2ef 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:fe346a7e88c1f046e27b9003e71f8343e66d85d2ed727d4625501fb0a3b5b4cb", - "generated": "2026-05-19T20:00:00Z", + "content_hash": "sha256:ec25b679f6bf8a874fcdf551c3ea522aff48ae345aecd2ad896f413147daa71b", + "generated": "2026-05-19T15:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -134,7 +134,7 @@ ] }, "title": "Create a Polkadot Account Programmatically", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -276,7 +276,7 @@ ] }, "title": "Query Account Information with SDKs", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -430,7 +430,7 @@ ] }, "title": "Query On-Chain State with SDKs", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -572,7 +572,7 @@ ] }, "title": "Call Runtime APIs with SDKs", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -764,7 +764,7 @@ ] }, "title": "Send Transactions with SDKs", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index d4b9efd69..8a147ef99 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,31 +1,21 @@ { - "schema_version": "1", - "generated": "2026-05-19T14:51:43Z", - "summary": { - "total_candidates": 142, - "up_to_date": 34, - "stale": 28, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-05-19T15:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -37,19 +27,19 @@ }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -99,11 +89,11 @@ }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -987,5 +977,15 @@ ], "status": "up_to_date" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 28, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 34 } } From 7315aee59726ad6903e34131684dc2d7770039aa Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 15:09:36 +0000 Subject: [PATCH 03/40] chore: auto-generate/update skills --- agent_skills_config.json | 89 +++++++++++++++++++++++++--------------- skill_coverage.json | 22 +++++----- 2 files changed, 67 insertions(+), 44 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index d202ce2ef..1e664cfd7 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:ec25b679f6bf8a874fcdf551c3ea522aff48ae345aecd2ad896f413147daa71b", - "generated": "2026-05-19T15:00:00Z", + "content_hash": "sha256:8f1981cd2254979c1eae6364cb7c1813e206a07541811685ce124cc9494a13c9", + "generated": "2026-05-19T20:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -1780,7 +1780,7 @@ ] }, "title": "Query On-Chain Data with Sidecar REST API", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -1926,7 +1926,7 @@ ] }, "title": "Estimate Transaction Fees with PAPI", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -1934,8 +1934,8 @@ "description": "Transfers assets cross-chain between Polkadot parachains using the ParaSpell XCM SDK with PAPI. Covers the full workflow: install the SDK, build an XCM transfer, dry-run for feasibility, verify existential deposit requirements, estimate fees, and submit against Paseo testnet. Use when you need to move tokens programmatically between parachains (e.g., Asset Hub to People Chain). Requires a funded Paseo testnet mnemonic. Trigger phrases: 'XCM transfer ParaSpell', 'cross-chain transfer Polkadot', 'transfer assets between parachains', 'send tokens XCM', 'ParaSpell SDK'.", "env_vars": [ { - "description": "Seed phrase (mnemonic or derivation path) for the sender account on Paseo Asset Hub. Must be funded with testnet PAS. Never commit to version control.", - "name": "SENDER_SEED", + "description": "SR25519 or Ed25519 seed phrase (mnemonic) for the sender account on Paseo Asset Hub. Must be funded with testnet PAS. Never commit to version control.", + "name": "SEED_PHRASE", "required": true } ], @@ -1964,14 +1964,14 @@ "examples": [ { "actions": [ - "Scaffold 'paraspell-xcm-transfer/' as an ESM project", - "Install @paraspell/sdk-pjs, @polkadot/api, keyring, dotenv", - "Create .env; ask user to fill MNEMONIC and DEST_ADDRESS without asking in chat", - "Create xcm-transfer.ts with the inline script", - "Verify sender has 2+ PAS at https://faucet.polkadot.io/", - "Run npx tsx xcm-transfer.ts" - ], - "result": "Dry-run passes, fee estimated, transaction finalized, PAS transferred cross-chain", + "Scaffold 'paraspell-transfer/' as an ESM project: mkdir paraspell-transfer && cd paraspell-transfer && npm init -y", + "Install @paraspell/sdk, polkadot-api, hdkd helpers, and dotenv", + "Create .env; ask user to fill SEED_PHRASE without asking in chat; add .gitignore", + "Fetch index.ts; add 'import dotenv/config' as first line; replace SEED_PHRASE placeholder with process.env.SEED_PHRASE", + "Verify sender has 10+ PAS at https://faucet.polkadot.io/", + "Run npx tsx index.ts to execute dryRunTransfer()" + ], + "result": "Dry-run passes, fee estimated, transaction finalized, PAS transferred cross-chain from Asset Hub to People Chain on Paseo testnet", "scenario": "Common scenario: transfer PAS from Asset Hub Paseo to People Chain Paseo", "user_says": "Transfer 1 PAS from Asset Hub to People Chain on Paseo testnet" }, @@ -1979,7 +1979,7 @@ "actions": [ "Check the existential deposit for the destination chain using the ParaSpell SDK", "Increase AMOUNT in the script above the existential deposit threshold", - "Re-run xcm-transfer.ts" + "Re-run index.ts" ], "result": "Dry-run passes once the transfer amount covers the destination existential deposit", "scenario": "Edge case: dry-run fails with existential deposit error", @@ -2005,7 +2005,7 @@ ] }, "primary_page": "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md", - "project_structure": "paraspell-transfer/\n├── index.ts\n└── package.json", + "project_structure": "paraspell-transfer/\n├── .env\n├── .gitignore\n├── index.ts\n└── package.json", "reference_code": { "base_path": ".snippets/code/chain-interactions/send-transactions/interoperability/transfer-assets-parachains", "branch": "master", @@ -2035,16 +2035,26 @@ "action": "Install dependencies", "commands": [ "npm install --save-dev @types/node tsx typescript", - "npm install --save @paraspell/sdk polkadot-api @polkadot-labs/hdkd-helpers @polkadot-labs/hdkd" + "npm install --save @paraspell/sdk polkadot-api @polkadot-labs/hdkd-helpers @polkadot-labs/hdkd dotenv" ], "description": "Install the ParaSpell SDK (PAPI variant), polkadot-api, @polkadot-labs/hdkd (key derivation), and TypeScript tooling.", "order": 2, "working_directory": "paraspell-transfer" }, { - "action": "Create the transfer script", - "description": "Fetch the reference file and save it as 'index.ts'. The script: (1) sets up PAPI client and connects to Paseo Asset Hub, (2) builds an XCM transfer of 10 PAS from Asset Hub to People Chain using Builder API, (3) dry-runs the transfer to confirm success before submitting, (4) verifies existential deposit requirements on the destination, (5) retrieves transfer info and fee estimates, (6) submits the transfer and waits for finalization. Replace INSERT_YOUR_SEED_PHRASE with your funded Paseo testnet seed phrase. For production, use an environment variable.", + "action": "Create .env and .gitignore", + "commands": [ + "echo 'SEED_PHRASE=' > .env", + "echo '.env' >> .gitignore" + ], + "description": "Create a '.env' file with an empty SEED_PHRASE placeholder, and a '.gitignore' that excludes it from version control. Stop and ask the user to edit the '.env' file directly with their funded Paseo testnet seed phrase. Do NOT ask for the seed phrase in chat. Wait for confirmation before proceeding to step 4.", "order": 3, + "working_directory": "paraspell-transfer" + }, + { + "action": "Fetch the transfer script and configure dotenv", + "description": "Fetch the reference file and save it as 'index.ts'. Make these two modifications to the fetched file: (1) Add `import 'dotenv/config';` as the very first line of the file. (2) Replace the line `const SEED_PHRASE = 'INSERT_YOUR_SEED_PHRASE';` with `const SEED_PHRASE = process.env.SEED_PHRASE || '';`. All other values (RECIPIENT_ADDRESS and SENDER_ADDRESS) are derived from the seed phrase automatically — no further substitutions needed.", + "order": 4, "reference_file": "index.ts", "working_directory": "paraspell-transfer" }, @@ -2055,7 +2065,7 @@ ], "description": "Run the script to execute the dry run first. Comment out functions selectively per the source page instructions: run dryRunTransfer() first, then verifyED(), then XcmTransferInfo(), then the final transfer() call. If dry-run fails, check the error before proceeding — common causes are insufficient balance or mismatched chain names.", "expected_output": "Dry run successful: { success: true, ... }", - "order": 4, + "order": 5, "working_directory": "paraspell-transfer" }, { @@ -2065,7 +2075,7 @@ ], "description": "Comment out dryRunTransfer(), uncomment verifyED(), run. Then comment out verifyED(), uncomment XcmTransferInfo(), run to see fee estimates and account balances.", "expected_output": "ED verification: { enough: true, ... }\nTransfer info: { xcmFee: ..., balance: ... }", - "order": 5, + "order": 6, "working_directory": "paraspell-transfer" }, { @@ -2075,7 +2085,7 @@ ], "description": "Comment out XcmTransferInfo(), uncomment transfer(), run. The transfer signs and submits the XCM transaction and waits for finalization. Check Paseo Asset Hub and People Chain accounts on Polkadot.js Apps to confirm the 10 PAS arrived.", "expected_output": "Transfer submitted: { txHash: 0x... }\nFinalized: 0x...", - "order": 6, + "order": 7, "working_directory": "paraspell-transfer" } ], @@ -2103,7 +2113,7 @@ ] }, "title": "Transfer Assets Between Parachains with ParaSpell XCM SDK", - "version": "1.1.1", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -2623,7 +2633,7 @@ ] }, "title": "Replay and Dry-Run XCMs Using Chopsticks", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -2634,7 +2644,7 @@ { "cause": "One or both Chopsticks forks are not running.", "pattern": "ECONNREFUSED ws://localhost:8000 or ws://localhost:8001", - "resolution": "Start each Chopsticks instance in a separate terminal. Run 'npx @acala-network/chopsticks --config=chopsticks-hub.yml' and 'npx @acala-network/chopsticks --config=chopsticks-people.yml'. Wait for 'Listening on port 8000/8001' before proceeding." + "resolution": "Start each Chopsticks instance in a separate terminal. Run `chopsticks --config=.chopsticks/paseo-people-chain.yml` first (port 8000), then `chopsticks --config=.chopsticks/paseo-asset-hub.yml` (port 8001). Wait for both 'Listening on port XXXX' messages before re-running the script." }, { "cause": "The chain runtime version does not implement the XcmPaymentApi runtime API at this method name.", @@ -2650,6 +2660,11 @@ "cause": "The XCM message structure passed to query_xcm_weight does not match the expected format for the chain runtime.", "pattern": "Fee estimate returns 0 or undefined for remote execution fee", "resolution": "Inspect the source page for the exact XCM instruction sequence expected by the destination chain. Verify that the MultiLocation structures use the correct XCM version (V3 vs V4) matching the chain runtime." + }, + { + "cause": "The Chopsticks config file contains `block: ${env.PASEO_ASSET_HUB_BLOCK_NUMBER}` or `block: ${env.PASEO_PEOPLE_CHAIN_BLOCK_NUMBER}` but the environment variable is not set, so Chopsticks receives a literal string instead of a block number.", + "pattern": "Error: invalid block number / Cannot parse '${env.PASEO_ASSET_HUB_BLOCK_NUMBER}'", + "resolution": "Set the required environment variables before starting Chopsticks: `export PASEO_ASSET_HUB_BLOCK_NUMBER=` and `export PASEO_PEOPLE_CHAIN_BLOCK_NUMBER=`. Alternatively, remove the `block:` line from each config file to fork the latest block." } ], "examples": [ @@ -2682,7 +2697,7 @@ "license": "CC-BY-4.0", "prerequisites": { "network": [ - "Internet connection to fork chain state from Polkadot Hub TestNet (paseo_asset_hub)", + "Internet connection to fork Polkadot Hub TestNet chain state (endpoint: wss://asset-hub-paseo-rpc.n.dwellir.com)", "Internet connection to fork People Chain TestNet (wss://people-paseo.rpc.amforc.com)" ], "runtime": [ @@ -2747,12 +2762,20 @@ "working_directory": "xcm-fee-estimation" }, { - "action": "Create Chopsticks configuration files", + "action": "Fetch and configure the Polkadot Hub Chopsticks config", "commands": [ "mkdir -p .chopsticks" ], - "description": "Create a '.chopsticks' directory and add two config files:\n\nFile 1 — '.chopsticks/paseo-asset-hub.yml':\n```yaml\nendpoint: wss://asset-hub-paseo.dotters.network\nport: 8000\n```\n\nFile 2 — '.chopsticks/paseo-people-chain.yml':\n```yaml\nendpoint: wss://people-paseo.rpc.amforc.com\nport: 8001\n```\n\nThese fork Polkadot Hub on port 8000 and People Chain on port 8001. The reference configs are available at the reference_code base_path as paseo-asset-hub.yml and paseo-people-chain.yml.", + "description": "Create a '.chopsticks' directory. Fetch the reference file and save it as '.chopsticks/paseo-asset-hub.yml'. After saving, add `port: 8001` as a new line to the file — the TypeScript script connects to Polkadot Hub on port 8001. The `block:` field in the config reads the `PASEO_ASSET_HUB_BLOCK_NUMBER` environment variable. Set it in your shell to a recent Polkadot Hub block number before starting Chopsticks (e.g. `export PASEO_ASSET_HUB_BLOCK_NUMBER=9080000`), or remove the `block:` line entirely to fork the latest block.", "order": 4, + "reference_file": "paseo-asset-hub.yml", + "working_directory": "xcm-fee-estimation" + }, + { + "action": "Fetch the People Chain Chopsticks config", + "description": "Fetch the reference file and save it as '.chopsticks/paseo-people-chain.yml'. This config does not specify a port, so Chopsticks uses its default port 8000 — the TypeScript script connects to People Chain on port 8000. The `block:` field reads `PASEO_PEOPLE_CHAIN_BLOCK_NUMBER` from the environment. Set it in your shell to a recent People Chain block number before starting Chopsticks (e.g. `export PASEO_PEOPLE_CHAIN_BLOCK_NUMBER=1200000`), or remove the `block:` line entirely to fork the latest block.", + "order": 5, + "reference_file": "paseo-people-chain.yml", "working_directory": "xcm-fee-estimation" }, { @@ -2761,9 +2784,9 @@ "chopsticks --config=.chopsticks/paseo-people-chain.yml", "chopsticks --config=.chopsticks/paseo-asset-hub.yml" ], - "description": "Start each Chopsticks instance in a separate terminal. The first forks People Chain on port 8001; the second forks Polkadot Hub on port 8000. Both must be running before proceeding. The first run downloads several MB of state.", - "expected_output": "Listening on port 8001\nListening on port 8000", - "order": 5, + "description": "Start each Chopsticks instance in a separate terminal. Start People Chain FIRST: `chopsticks --config=.chopsticks/paseo-people-chain.yml` (defaults to port 8000, which the TypeScript script expects for People Chain). Start Polkadot Hub SECOND: `chopsticks --config=.chopsticks/paseo-asset-hub.yml` (uses port 8001 set in step 4, which the TypeScript script expects for Polkadot Hub). Wait for both instances to print their 'Listening on port XXXX' message before proceeding. Keep both terminals running throughout the remaining steps. If block number env vars are not set, set them before launching: `export PASEO_ASSET_HUB_BLOCK_NUMBER=` and `export PASEO_PEOPLE_CHAIN_BLOCK_NUMBER=` using recent block heights from the respective networks, or remove the `block:` lines from the config files to fork the latest block.", + "expected_output": "Listening on port 8000\nListening on port 8001", + "order": 6, "working_directory": "xcm-fee-estimation" }, { @@ -2773,7 +2796,7 @@ ], "description": "Execute the script while both Chopsticks forks are running. The output shows all three fee components and their total. The sum is the total fee budget needed for the XCM BuyExecution instruction. If an XcmPaymentApi method is not available, check the source page for the correct API method names for your chain runtime version.", "expected_output": "Local execution fee: ...\nDelivery fee: ...\nRemote execution fee: ...\nTotal fee: ...", - "order": 6, + "order": 7, "working_directory": "xcm-fee-estimation" } ], @@ -2801,7 +2824,7 @@ ] }, "title": "Estimate XCM Fees for Asset Teleport", - "version": "1.1.1", + "version": "1.2.0", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 8a147ef99..e00f2d95a 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-05-19T15:00:00Z", + "generated": "2026-05-19T20:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -19,11 +19,11 @@ }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -43,27 +43,27 @@ }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -73,11 +73,11 @@ }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { "last_edited": "2026-05-19T14:51:13+00:00", From 97b59aab4d1e6b23444c0938874d19b718b97680 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 15:15:45 +0000 Subject: [PATCH 04/40] chore: auto-generate/update skills --- agent_skills_config.json | 14 +++++++------- skill_coverage.json | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 1e664cfd7..852aa70bd 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:8f1981cd2254979c1eae6364cb7c1813e206a07541811685ce124cc9494a13c9", - "generated": "2026-05-19T20:00:00Z", + "content_hash": "sha256:0d3c227e341b8ebfbc1896ef230dcb2f1bdf971ea4f8d9f27f7b8f04a63c9837", + "generated": "2026-05-19T21:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -2266,7 +2266,7 @@ ] }, "title": "Pay Transaction Fees with an Alternative Token", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -2418,7 +2418,7 @@ ] }, "title": "Run a Parachain RPC Node", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -3134,7 +3134,7 @@ ] }, "title": "Run an RPC Node for Polkadot Hub", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -3291,7 +3291,7 @@ ] }, "title": "Set Up a Polkadot Validator Node", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -9221,7 +9221,7 @@ ] }, "title": "Store and Retrieve Data on the Bulletin Chain", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index e00f2d95a..71c9f1bc6 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-05-19T20:00:00Z", + "generated": "2026-05-19T21:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -81,11 +81,11 @@ }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -97,11 +97,11 @@ }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -135,19 +135,19 @@ }, "node-infrastructure/run-a-node/parachain-rpc.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -175,11 +175,11 @@ }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:00:00Z", + "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 28, + "stale": 13, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 34 + "up_to_date": 49 } } From bafd9bf7857984468b3d85ff976feadffc8b4938 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 15:27:41 +0000 Subject: [PATCH 05/40] chore: auto-generate/update skills --- agent_skills_config.json | 74 +++++++++++++++++++++++++--------------- skill_candidates.json | 10 +++--- skill_coverage.json | 24 ++++++------- 3 files changed, 64 insertions(+), 44 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 852aa70bd..0bb962e47 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:0d3c227e341b8ebfbc1896ef230dcb2f1bdf971ea4f8d9f27f7b8f04a63c9837", - "generated": "2026-05-19T21:00:00Z", + "content_hash": "sha256:60a64e33eff75b5f6d4b8dee3edb0b684603e782a003bf7ce587ff8bcd97e266", + "generated": "2026-05-19T21:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -833,6 +833,7 @@ ] }, "primary_page": "parachains/install-polkadot-sdk.md", + "project_structure": "polkadot-sdk/\n└── target/\n └── release/\n ├── polkadot\n ├── polkadot-parachain\n ├── polkadot-omni-node\n └── substrate-node", "reference_code": { "base_path": "", "files": [], @@ -844,7 +845,7 @@ "steps": [ { "action": "Install OS-level system dependencies", - "description": "Install the packages required to compile the Polkadot SDK. Run the command block for your OS:\n\nmacOS: First install Homebrew if missing (/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)\"), then run: brew install protobuf openssl cmake\n\nUbuntu or Debian: sudo apt install --assume-yes git clang curl libssl-dev llvm libclang-dev libudev-dev make protobuf-compiler\n\nArch Linux: pacman -Syu --needed --noconfirm curl git clang make protobuf\n\nFedora: sudo dnf update && sudo dnf install clang curl git openssl-devel make protobuf-compiler\n\nOpenSUSE: sudo zypper install clang curl git openssl-devel llvm-devel libudev-devel make protobuf\n\nWindows WSL (Ubuntu): open the WSL Ubuntu terminal, then run: sudo apt install --assume-yes git clang curl libssl-dev llvm libclang-dev libudev-dev make protobuf-compiler", + "description": "Install the packages required to compile the Polkadot SDK. Run the command block for your OS:\n\nmacOS: First run `xcode-select --install` to install command line tools (if not already installed), then install Homebrew if missing (/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)\"), then run: brew install protobuf openssl cmake\n\nUbuntu or Debian: sudo apt install --assume-yes git clang curl libssl-dev llvm libclang-dev libudev-dev make protobuf-compiler\n\nArch Linux: pacman -Syu --needed --noconfirm curl git clang make protobuf\n\nFedora: sudo dnf update && sudo dnf install clang curl git openssl-devel make protobuf-compiler\n\nOpenSUSE: sudo zypper install clang curl git openssl-devel llvm-devel libudev-devel make protobuf\n\nWindows WSL (Ubuntu): open the WSL Ubuntu terminal, then run: sudo apt install --assume-yes git clang curl libssl-dev llvm libclang-dev libudev-dev make protobuf-compiler", "order": 1, "working_directory": "." }, @@ -894,12 +895,23 @@ { "action": "Verify the build", "commands": [ + "ls target/release", "./target/release/polkadot --version" ], - "description": "Confirm the polkadot binary runs and prints its version. If you see version output without errors, the development environment is correctly configured and ready for Polkadot SDK work. Save this version string — needed when matching binary versions in parachain template setup.", + "description": "Verify the build by listing the release binaries and checking the polkadot binary version. You should see binaries including: polkadot (relay chain node), polkadot-parachain (parachain collator), polkadot-omni-node (omni node for running parachains), and substrate-node (kitchensink node with many pre-configured pallets). The polkadot version command should print version info similar to polkadot 1.x.x-xxxxxxx.", "expected_output": "polkadot 1.x.x-xxxxxxx", "order": 6, "working_directory": "polkadot-sdk" + }, + { + "action": "Optional: run the kitchensink node in dev mode", + "commands": [ + "./target/release/substrate-node --dev" + ], + "description": "The substrate-node (kitchensink) comes pre-configured with many pallets and is useful for exploring Polkadot SDK capabilities. Run it in development mode with --dev to start a single-node chain with pre-configured accounts (Alice, Bob, etc.) and automatic block production. The node is accessible at ws://localhost:9944. To stop it, press Control-C. This step is optional — skip it if you only need the SDK compiled.", + "expected_output": "Idle (0 peers), best: #N finalized #N", + "order": 7, + "working_directory": "polkadot-sdk" } ], "supplementary_context": { @@ -920,7 +932,7 @@ ] }, "title": "Install the Polkadot SDK", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -4624,7 +4636,7 @@ "commands": [ "touch mock.rs" ], - "description": "Create the empty mock.rs file. Then open src/lib.rs and insert the following two lines immediately after the 'pub use pallet::*;' line:\n\n```rust\n#[cfg(test)]\nmod mock;\n```\n\nThe #[cfg(test)] attribute ensures this module is only compiled when running tests, keeping it out of production builds.", + "description": "Navigate to the pallet source directory: `cd pallets/pallet-custom/src`. Create the empty mock.rs file. Then open src/lib.rs and insert the following two lines immediately after the 'pub use pallet::*;' line:\n\n```rust\n#[cfg(test)]\nmod mock;\n```\n\nThe #[cfg(test)] attribute ensures this module is only compiled during testing, keeping it out of production builds.", "order": 3, "working_directory": "polkadot-sdk-parachain-template/pallets/pallet-custom/src" }, @@ -4658,13 +4670,13 @@ { "relevance": "Prerequisite: the custom counter pallet that this mock runtime is written for.", "slug": "parachains-customize-runtime-pallet-development-create-a-pallet", - "title": "Create a Custom Pallet", + "title": "Make a Custom Pallet", "url": "https://docs.polkadot.com/parachains/customize-runtime/pallet-development/create-a-pallet.md" } ] }, "title": "Set Up a Mock Runtime for Pallet Unit Testing", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -4783,13 +4795,13 @@ }, { "action": "Write error condition and access control tests", - "description": "Append these tests to src/tests.rs:\n\n```rust\n#[test]\nfn increment_fails_on_overflow() — uses new_test_ext_with_counter(u32::MAX), asserts assert_noop!(increment(signed(1), 1), Error::::Overflow). assert_noop! verifies both the error AND that no storage was modified.\n\n#[test]\nfn decrement_fails_on_underflow() — uses new_test_ext_with_counter(10), asserts noop on decrement(signed(1), 11) with Error::Underflow.\n\n#[test]\nfn set_counter_value_requires_root() — uses new_test_ext(), asserts noop on set_counter_value(signed(alice), 100) with DispatchError::BadOrigin, then asserts ok with RuntimeOrigin::root().\n\n#[test]\nfn increment_respects_max_value() — uses new_test_ext_with_counter(950), asserts noop on increment(signed(1), 51) with Error::CounterMaxValueExceeded, then asserts ok on increment of 50.\n```", + "description": "Append these tests to src/tests.rs:\n\n```rust\n#[test]\nfn increment_fails_on_overflow() — uses new_test_ext_with_counter(u32::MAX), asserts assert_noop!(increment(signed(1), 1), Error::::Overflow). assert_noop! verifies both the error AND that no storage was modified.\n\n#[test]\nfn decrement_fails_on_underflow() — uses new_test_ext_with_counter(10), asserts noop on decrement(signed(1), 11) with Error::Underflow.\n\n#[test]\nfn set_counter_value_requires_root() — uses new_test_ext(), asserts noop on set_counter_value(signed(alice), 100) with DispatchError::BadOrigin, then asserts ok with RuntimeOrigin::root().\n\n#[test]\nfn increment_respects_max_value() — uses new_test_ext_with_counter(950), asserts noop on increment(signed(1), 51) with Error::CounterMaxValueExceeded, then asserts ok on increment of 50.\n\n#[test]\nfn set_counter_value_respects_max_value() — uses new_test_ext(), asserts noop on set_counter_value(root, 1001) with Error::CounterMaxValueExceeded, then asserts ok on set_counter_value(root, 1000) and verifies CounterValue is 1000.\n```", "order": 6, "working_directory": "polkadot-sdk-parachain-template/pallets/pallet-custom/src" }, { "action": "Write genesis configuration and interaction tracking tests", - "description": "Append these final tests to src/tests.rs:\n\n```rust\n#[test]\nfn genesis_config_works() — uses new_test_ext_with_interactions(42, vec![(1, 5), (2, 10)]), asserts CounterValue is 42, UserInteractions for account 1 is 5, for account 2 is 10.\n\n#[test]\nfn increment_tracks_multiple_interactions() — calls increment three times on same account, asserts UserInteractions count is 3.\n\n#[test]\nfn different_users_tracked_separately() — account 1 increments twice (total interactions: 2), account 2 decrements once (interactions: 1); asserts each account tracked independently.\n```", + "description": "Append these final tests to src/tests.rs:\n\n```rust\n#[test]\nfn genesis_config_works() — uses new_test_ext_with_interactions(42, vec![(1, 5), (2, 10)]), asserts CounterValue is 42, UserInteractions for account 1 is 5, for account 2 is 10.\n\n#[test]\nfn increment_tracks_multiple_interactions() — calls increment three times on same account, asserts UserInteractions count is 3.\n\n#[test]\nfn different_users_tracked_separately() — account 1 increments twice (total interactions: 2), account 2 decrements once (interactions: 1); asserts each account tracked independently with CounterValue of 15 (10+10-5).\n\n#[test]\nfn decrement_tracks_multiple_interactions() — uses new_test_ext_with_counter(100), account 3 decrements twice (10, then 20), asserts CounterValue is 70, UserInteractions for account 3 is 2.\n\n#[test]\nfn mixed_increment_and_decrement_works() — uses new_test_ext_with_counter(50), account 4 increments by 25 (→75), decrements by 15 (→60), increments by 10 (→70), asserts final CounterValue is 70 and UserInteractions for account 4 is 3.\n```", "order": 7, "working_directory": "polkadot-sdk-parachain-template/pallets/pallet-custom/src" }, @@ -4798,7 +4810,7 @@ "commands": [ "cargo test --package pallet-custom" ], - "description": "Run all tests. Expected output shows 15 passing tests: 13 pallet tests plus 2 auto-generated mock tests. If fewer appear, verify every function has #[test]. If an event test fails with 'left: []', confirm System::set_block_number(1) is the first call inside the execute_with closure.", + "description": "Run all tests. Expected output shows 15 passing tests: 13 pallet tests plus 2 auto-generated mock tests (mock::__construct_runtime_integrity_test::runtime_integrity_tests and mock::test_genesis_config_builds). If an event test fails with 'left: []', confirm System::set_block_number(1) is the first call inside the execute_with closure.", "expected_output": "test result: ok. 15 passed; 0 failed; 0 ignored", "order": 8, "working_directory": "polkadot-sdk-parachain-template/pallets/pallet-custom" @@ -4822,7 +4834,7 @@ ] }, "title": "Write Unit Tests for a FRAME Pallet", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -4982,14 +4994,17 @@ "commands": [ "cargo install frame-omni-bencher --locked" ], - "description": "Install via cargo, or download a pre-built binary from the Polkadot SDK releases page. Replace VERSION with the SDK version tag used by the parachain template (e.g., polkadot-stable2412):\nmacOS: curl -L -o frame-omni-bencher https://github.com/paritytech/polkadot-sdk/releases/download/VERSION/frame-omni-bencher-aarch64-apple-darwin && chmod +x frame-omni-bencher && sudo mv frame-omni-bencher /usr/local/bin/\nUbuntu: curl -L -o frame-omni-bencher https://github.com/paritytech/polkadot-sdk/releases/download/VERSION/frame-omni-bencher && chmod +x frame-omni-bencher && sudo mv frame-omni-bencher /usr/local/bin/", + "description": "frame-omni-bencher is the official Polkadot SDK benchmarking tool. Install it using one of the following methods:\n\n**Option A — Pre-built binary (recommended for macOS and Ubuntu):**\n\nmacOS:\n```bash\ncurl -L -o frame-omni-bencher https://github.com/paritytech/polkadot-sdk/releases/download/$(polkadot --version | grep -o 'polkadot-[0-9a-f]*')/frame-omni-bencher-aarch64-apple-darwin\nchmod +x frame-omni-bencher\nsudo mv frame-omni-bencher /usr/local/bin/\n```\n\nUbuntu:\n```bash\ncurl -L -o frame-omni-bencher https://github.com/paritytech/polkadot-sdk/releases/download/$(polkadot --version | grep -o 'polkadot-[0-9a-f]*')/frame-omni-bencher\nchmod +x frame-omni-bencher\nsudo mv frame-omni-bencher /usr/local/bin/\n```\n\n**Option B — Build from source:**\n```bash\ncargo install frame-omni-bencher --locked\n```\n\nUse Option B if pre-built binaries are not available for your OS or architecture. After installation, verify with: `frame-omni-bencher --version`.", "expected_output": "Installed package `frame-omni-bencher`", "order": 10, "working_directory": "polkadot-sdk-parachain-template" }, { "action": "Create the weight Handlebars template file", - "description": "Create the file `./pallets/pallet-custom/frame-weight-template.hbs` with the following content. This is the canonical Substrate weight template (a Handlebars template used by `frame-omni-bencher` to render the generated `weights.rs`). Save this exact content — needed in step 10:\n\n```handlebars\n{{header}}\n//! Autogenerated weights for `{{pallet}}`\n//!\n//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}}\n//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: `{{cmd.repeat}}`, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}`\n//! WORST CASE MAP SIZE: `{{cmd.worst_case_map_values}}`\n//! HOSTNAME: `{{hostname}}`, CPU: `{{cpuname}}`\n//! WASM-EXECUTION: `{{cmd.wasm_execution}}`, CHAIN: `{{cmd.chain}}`, DB CACHE: `{{cmd.db_cache}}`\n\n// Executed Command:\n{{#each args as |arg|}}\n// {{arg}}\n{{/each}}\n\n#![cfg_attr(rustfmt, rustfmt_skip)]\n#![allow(unused_parens)]\n#![allow(unused_imports)]\n#![allow(missing_docs)]\n\nuse frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};\nuse core::marker::PhantomData;\n\n/// Weight functions needed for `{{pallet}}`.\npub trait WeightInfo {\n\t{{#each benchmarks as |benchmark|}}\n\tfn {{benchmark.name~}}\n\t(\n\t\t{{~#each benchmark.components as |c| ~}}\n\t\t{{c.name}}: u32, {{/each~}}\n\t) -> Weight;\n\t{{/each}}\n}\n\n/// Weights for `{{pallet}}` using the Substrate node and recommended hardware.\npub struct SubstrateWeight(PhantomData);\n{{#if (or (eq pallet \"frame_system\") (eq pallet \"frame_system_extensions\"))}}\nimpl WeightInfo for SubstrateWeight {\n{{else}}\nimpl WeightInfo for SubstrateWeight {\n{{/if}}\n\t{{#each benchmarks as |benchmark|}}\n\t{{#each benchmark.comments as |comment|}}\n\t/// {{comment}}\n\t{{/each}}\n\t{{#each benchmark.component_ranges as |range|}}\n\t/// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`.\n\t{{/each}}\n\tfn {{benchmark.name~}}\n\t(\n\t\t{{~#each benchmark.components as |c| ~}}\n\t\t{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}\n\t) -> Weight {\n\t\t// Proof Size summary in bytes:\n\t\t// Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`\n\t\t// Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`\n\t\t// Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds.\n\t\tWeight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}})\n\t\t\t{{#each benchmark.component_weight as |cw|}}\n\t\t\t// Standard Error: {{underscore cw.error}}\n\t\t\t.saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into()))\n\t\t\t{{/each}}\n\t\t\t{{#if (ne benchmark.base_reads \"0\")}}\n\t\t\t.saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}}_u64))\n\t\t\t{{/if}}\n\t\t\t{{#each benchmark.component_reads as |cr|}}\n\t\t\t.saturating_add(T::DbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into())))\n\t\t\t{{/each}}\n\t\t\t{{#if (ne benchmark.base_writes \"0\")}}\n\t\t\t.saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}}_u64))\n\t\t\t{{/if}}\n\t\t\t{{#each benchmark.component_writes as |cw|}}\n\t\t\t.saturating_add(T::DbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into())))\n\t\t\t{{/each}}\n\t\t\t{{#each benchmark.component_calculated_proof_size as |cp|}}\n\t\t\t.saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into()))\n\t\t\t{{/each}}\n\t}\n\t{{/each}}\n}\n\n// For backwards compatibility and tests.\nimpl WeightInfo for () {\n\t{{#each benchmarks as |benchmark|}}\n\t{{#each benchmark.comments as |comment|}}\n\t/// {{comment}}\n\t{{/each}}\n\t{{#each benchmark.component_ranges as |range|}}\n\t/// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`.\n\t{{/each}}\n\tfn {{benchmark.name~}}\n\t(\n\t\t{{~#each benchmark.components as |c| ~}}\n\t\t{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}\n\t) -> Weight {\n\t\t// Proof Size summary in bytes:\n\t\t// Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`\n\t\t// Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}`\n\t\t// Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds.\n\t\tWeight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}})\n\t\t\t{{#each benchmark.component_weight as |cw|}}\n\t\t\t// Standard Error: {{underscore cw.error}}\n\t\t\t.saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into()))\n\t\t\t{{/each}}\n\t\t\t{{#if (ne benchmark.base_reads \"0\")}}\n\t\t\t.saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}}_u64))\n\t\t\t{{/if}}\n\t\t\t{{#each benchmark.component_reads as |cr|}}\n\t\t\t.saturating_add(RocksDbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into())))\n\t\t\t{{/each}}\n\t\t\t{{#if (ne benchmark.base_writes \"0\")}}\n\t\t\t.saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}}_u64))\n\t\t\t{{/if}}\n\t\t\t{{#each benchmark.component_writes as |cw|}}\n\t\t\t.saturating_add(RocksDbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into())))\n\t\t\t{{/each}}\n\t\t\t{{#each benchmark.component_calculated_proof_size as |cp|}}\n\t\t\t.saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into()))\n\t\t\t{{/each}}\n\t}\n\t{{/each}}\n}\n```\n\n**Note on versioning:** This template content is taken from `paritytech/polkadot-sdk` at tag `polkadot-stable2412`. The template format is stable across SDK versions — you should not need to update it for routine SDK bumps. If `frame-omni-bencher` reports a template-version mismatch (rare, only on major SDK breaking changes), fetch the latest from `https://github.com/paritytech/polkadot-sdk/blob/master/substrate/.maintain/frame-weight-template.hbs` and update this skill.", + "commands": [ + "curl -L https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/tags//substrate/.maintain/frame-weight-template.hbs --output ./pallets/pallet-custom/frame-weight-template.hbs" + ], + "description": "Download the official Polkadot SDK weight template. Replace `` with the specific Polkadot SDK release tag matching your runtime (e.g., `polkadot-stable2412-2`). Check the template download URL in the docs at https://docs.polkadot.com/parachains/customize-runtime/pallet-development/benchmark-pallet/ for the exact version.\n\n```bash\ncurl -L https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/tags//substrate/.maintain/frame-weight-template.hbs \\\n--output ./pallets/pallet-custom/frame-weight-template.hbs\n```\n\nThe weight template is a Handlebars file that transforms raw benchmark data into a formatted Rust source file following Polkadot SDK conventions.", "order": 11, "working_directory": "polkadot-sdk-parachain-template" }, @@ -5005,7 +5020,7 @@ }, { "action": "Update runtime config to use generated weights", - "description": "Open runtime/src/configs/mod.rs and update the pallet Config to use measured weights instead of ():\n\n```rust\nimpl pallet_custom::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type CounterMaxValue = ConstU32<1000>;\n type WeightInfo = pallet_custom::weights::SubstrateWeight;\n}\n```\n\nThen rebuild for production without the benchmarks flag:\ncargo build --release", + "description": "After running benchmarks, weights.rs is generated with measured weights. Follow these steps to integrate them:\n\n1. The generated weights.rs includes a SubstrateWeight struct. The file structure looks like:\n\n```rust\npub trait WeightInfo {\n fn set_counter_value() -> Weight;\n fn increment() -> Weight;\n fn decrement() -> Weight;\n}\n\npub struct SubstrateWeight(PhantomData);\nimpl WeightInfo for SubstrateWeight {\n fn set_counter_value() -> Weight {\n Weight::from_parts(8_234_000, 0)\n .saturating_add(T::DbWeight::get().reads(1))\n .saturating_add(T::DbWeight::get().writes(1))\n }\n // ... increment and decrement similarly\n}\n```\n\n2. Update runtime/src/configs/mod.rs to use the measured weights instead of the () placeholder:\n\n```rust\nimpl pallet_custom::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type CounterMaxValue = ConstU32<1000>;\n type WeightInfo = pallet_custom::weights::SubstrateWeight;\n}\n```\n\nThe actual weight values will vary based on your hardware. The DbWeight accounts for database read/write operations. Now users' transactions will be charged using accurate measured weights.", "order": 13, "working_directory": "polkadot-sdk-parachain-template" } @@ -5028,7 +5043,7 @@ ] }, "title": "Benchmark a FRAME Pallet and Generate Weight Files", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -9226,7 +9241,7 @@ }, { "chain_role": "isolated", - "description": "Clones the polkavm-hardhat-examples repo, compiles Uniswap V2 Factory and Pair contracts to the Polkadot Virtual Machine (PVM) using the Hardhat Polkadot plugin and resolc compiler, and deploys to Polkadot Hub TestNet. Use when deploying a DEX AMM factory on Polkadot Hub with PVM bytecode. Requires testnet PAS tokens. Trigger phrases: 'deploy Uniswap V2 PVM', 'UniswapV2Factory PVM Polkadot', 'deploy AMM Polkadot Hub PVM', 'polkavm-hardhat-examples uniswap'.", + "description": "Clones the polkavm-hardhat-examples repo (hardhat-polkadot-evm branch), compiles Uniswap V2 Factory, ERC20, and Pair contracts using standard Hardhat, tests them on a local dev node, and deploys to Polkadot Hub TestNet. Use when deploying a DEX AMM factory on Polkadot Hub. Requires testnet PAS tokens. Trigger phrases: 'deploy Uniswap V2 Polkadot', 'UniswapV2Factory Polkadot Hub', 'deploy AMM Polkadot Hub', 'polkavm-hardhat-examples uniswap'.", "env_vars": [ { "description": "0x-prefixed EVM private key for the account deploying to Polkadot Hub TestNet (passetHub network). Must be funded with testnet PAS. Do NOT ask user to paste key in chat — they must edit .env directly.", @@ -9250,11 +9265,6 @@ "pattern": "Error: AH_PRIV_KEY is undefined / invalid private key", "resolution": "Verify .env exists in uniswap-v2-polkadot/ and contains AH_PRIV_KEY=0x. The config uses require('dotenv').config() automatically." }, - { - "cause": "Some documentation examples use --network polkadotHubTestNet but the hardhat.config.js defines the network as passetHub.", - "pattern": "HardhatError: Cannot find network 'polkadotHubTestNet' / unknown network", - "resolution": "Use --network passetHub (not polkadotHubTestNet). The correct network name defined in hardhat.config.js is passetHub." - }, { "cause": "The resolc compiler is not installed or not accessible.", "pattern": "Compilation error: resolc not found / PVM compiler unavailable", @@ -9321,9 +9331,10 @@ "action": "Clone the polkavm-hardhat-examples repository", "commands": [ "git clone https://github.com/polkadot-developers/polkavm-hardhat-examples.git", + "git -C polkavm-hardhat-examples checkout hardhat-polkadot-evm", "cd polkavm-hardhat-examples/uniswap-v2-polkadot" ], - "description": "Clone the repository and navigate to the Uniswap V2 project. The hardhat.config.js already uses dotenv (require('dotenv').config()) and process.env variables — no Hardhat vars conversion needed.", + "description": "Clone the repository, checkout the hardhat-polkadot-evm branch, and navigate to the Uniswap V2 project. Note: the hardhat.config.js in this branch uses the standard Hardhat toolbox (@nomicfoundation/hardhat-toolbox) — the PVM plugin is not active on this branch. The config already uses dotenv (require('dotenv').config()) and process.env variables.", "order": 1, "working_directory": "." }, @@ -9355,14 +9366,23 @@ "order": 4, "working_directory": "polkavm-hardhat-examples/uniswap-v2-polkadot" }, + { + "action": "Test contracts on the local dev node", + "commands": [ + "npx hardhat test --network localNode" + ], + "description": "Run the provided test suite against a local revive-dev-node. Before running this step, ensure you have a local Polkadot dev node running (see https://docs.polkadot.com/smart-contracts/dev-environments/local-dev-node/ for setup). The LOCAL_PRIV_KEY in .env must be set to a local dev account key (e.g., Alice's dev key: 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a). The tests cover pair creation, liquidity addition, and swap scenarios.", + "order": 5, + "working_directory": "polkavm-hardhat-examples/uniswap-v2-polkadot" + }, { "action": "Deploy to Polkadot Hub TestNet", "commands": [ - "npx hardhat run scripts/deploy.js --network passetHub" + "npx hardhat run scripts/deploy.js --network polkadotHubTestNet" ], - "description": "Deploy UniswapV2ERC20, UniswapV2Factory, and UniswapV2Pair to Polkadot Hub TestNet via the passetHub network config. The script outputs the deployed addresses — save them, especially the Factory address, which is needed for creating liquidity pairs.\n\nNote: The documentation shows `--network polkadotHubTestNet` but the actual network name in hardhat.config.js is `passetHub`.", + "description": "Deploy UniswapV2ERC20, UniswapV2Factory, and UniswapV2Pair to Polkadot Hub TestNet via the polkadotHubTestNet network config. The script outputs the deployed addresses — save them, especially the Factory address, which is needed for creating liquidity pairs.\n\nNote: The documentation shows `--network polkadotHubTestNet` but the actual network name in hardhat.config.js is `polkadotHubTestNet`.", "expected_output": "Factory deployed to : 0x...", - "order": 5, + "order": 6, "working_directory": "polkavm-hardhat-examples/uniswap-v2-polkadot" } ], @@ -9384,7 +9404,7 @@ ] }, "title": "Deploy Uniswap V2 Core on Polkadot Hub (PVM)", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { diff --git a/skill_candidates.json b/skill_candidates.json index 6f421b395..3ab08c5fa 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -489,7 +489,7 @@ "title": "Register a Local Asset on Polkadot Hub" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-05-19T21:30:00Z", "category": "tutorial", "notes": "Multi-OS installation guide (macOS, Linux, Windows WSL) for the Polkadot SDK. Numbered steps throughout, multiple CLI commands (brew, apt, rustup, cargo build), and verification steps with expected output. Cookbook CI badge present (K4). Self-contained from scratch — covers all dependency installation and SDK build. Optional kitchensink explore step uses Polkadot.js Apps GUI but does not affect the primary installation workflow (S1 still fires). Serves as prerequisite for most parachain development skills (create-frame-pallet, set-up-the-parachain-template, etc.).", "priority": "high", @@ -1041,7 +1041,7 @@ "title": "Create a Custom FRAME Pallet" }, { - "built_at": "2026-04-21T20:30:00Z", + "built_at": "2026-05-19T21:30:00Z", "category": "tutorial", "notes": "Tutorial for creating a minimal mock runtime (mock.rs) using construct_runtime! and #[derive_impl] for isolated pallet testing: create mock module, configure frame_system and pallet Config traits, set up genesis storage helpers. K1=0 — requires completed create-frame-pallet (counter pallet in pallets/pallet-custom). Code uses MkDocs snippet includes but complete reference available in collapsible (K2=4). All CLI steps are programmatic (S1=4). Cookbook CI badge present. Part of pallet development series alongside create-frame-pallet, unit-test-frame-pallet, and benchmark-frame-pallet.", "priority": "high", @@ -1075,7 +1075,7 @@ "title": "Set Up a Mock Runtime for Pallet Unit Testing" }, { - "built_at": "2026-04-21T20:30:00Z", + "built_at": "2026-05-19T21:30:00Z", "category": "tutorial", "notes": "Tutorial for writing comprehensive pallet unit tests using FRAME macros (assert_ok!, assert_noop!, System::assert_last_event!): create tests.rs, test basic operations, error conditions, access control, event emission, and genesis configuration. Inline Rust test code is fully shown (no snippet includes; K2=4). K1=0 — requires create-frame-pallet and set-up-pallet-mock-runtime. All steps are CLI/programmatic (S1=4). Cookbook CI badge present. Final step before benchmarking in the pallet development series.", "priority": "high", @@ -1109,7 +1109,7 @@ "title": "Write Unit Tests for a FRAME Pallet" }, { - "built_at": "2026-04-21T20:30:00Z", + "built_at": "2026-05-19T21:30:00Z", "category": "tutorial", "notes": "Tutorial covering the full benchmarking workflow: create benchmarking.rs module, define WeightInfo trait, annotate extrinsics, enable runtime-benchmarks Cargo feature, build WASM runtime with benchmarks, install frame-omni-bencher, download weight template, execute benchmarks, and integrate generated weights.rs into production runtime. K1=0 — requires a working parachain template and pallet (e.g., from create-frame-pallet series), but page explicitly supports substitution with any pallet. R2 fires for CLI flag descriptions (--steps, --repeat, --heap-pages, --wasm-execution). Cookbook CI badge present.", "priority": "high", @@ -2693,7 +2693,7 @@ "title": "Store and Retrieve Data on the Bulletin Chain" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-05-19T21:30:00Z", "category": "tutorial", "notes": "PVM variant using polkavm-hardhat-examples repo. K1 awarded for the deploy-to-TestNet workflow, which is standalone; the local-node testing step references the Local Dev Node guide but the deployment outcome is achievable without it. K4 awarded — polkavm-hardhat-examples is listed in context.md.", "priority": "high", diff --git a/skill_coverage.json b/skill_coverage.json index 71c9f1bc6..db6fddca9 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -261,11 +261,11 @@ }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -277,19 +277,19 @@ }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/get-started.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -299,11 +299,11 @@ }, "parachains/install-polkadot-sdk.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "stale" + "status": "up_to_date" }, "parachains/integrations/indexers.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -699,11 +699,11 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 13, + "stale": 8, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 49 + "up_to_date": 54 } } From 3a057a84bb457de8bcda5941ffe41d9ad909b711 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 15:39:29 +0000 Subject: [PATCH 06/40] chore: auto-generate/update skills --- agent_skills_config.json | 131 +++++++++++++++++++-------------------- skill_coverage.json | 22 +++---- 2 files changed, 76 insertions(+), 77 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 0bb962e47..dee4b7824 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,5 +1,5 @@ { - "content_hash": "sha256:60a64e33eff75b5f6d4b8dee3edb0b684603e782a003bf7ce587ff8bcd97e266", + "content_hash": "sha256:b167c591346ca56feb66be77ba1bcea6aab5c53b60d4f95c4f52fea3528d8595", "generated": "2026-05-19T21:30:00Z", "outputs": { "public_root": "/ai/", @@ -1042,7 +1042,7 @@ "mkdir hardhat-deployment && cd hardhat-deployment", "npm init -y" ], - "description": "Create a new directory named 'hardhat-deployment' and initialize a Node.js project. Do NOT run npx hardhat init at this stage — interactive init is non-deterministic across Hardhat versions. All project files will be fetched from the reference repository in subsequent steps.", + "description": "Create a new directory named 'hardhat-deployment' and initialize a Node.js project. Note: The docs page suggests `npx hardhat@^2.27.0 init` but that creates a Hardhat v2 project structure incompatible with the Hardhat v3 reference config file's plugin syntax. This skill scaffolds a Hardhat 3 project manually to match the reference config file. Do NOT run npx hardhat init at this stage — interactive init is non-deterministic across Hardhat versions. All project files will be fetched from the reference repository in subsequent steps.", "order": 1, "working_directory": "." }, @@ -1136,7 +1136,7 @@ ] }, "title": "Deploy a Basic Smart Contract with Hardhat", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -6724,19 +6724,19 @@ }, { "action": "Add the pallet dependency to runtime/Cargo.toml", - "description": "Open runtime/Cargo.toml and add pallet-utility (or your target pallet) to the [dependencies] section. Use the same version and features pattern as existing pallets:\n\n```toml\n[dependencies]\n...\npallet-utility = { version = \"\", default-features = false }\n```\n\nAlso add pallet-utility to the std features list so it compiles correctly for native (non-WASM) targets:\n\n```toml\n[features]\nstd = [\n ...\n \"pallet-utility/std\",\n]\n```\n\nReplace with the version you identified in step 1. After editing, run: cargo check -p runtime 2>&1 | head -20 — the output should not show dependency resolution errors.", + "description": "Open runtime/Cargo.toml. The Polkadot SDK uses a monorepo structure where pallets are included as features of the polkadot-sdk dependency, not as separate crates. Locate the polkadot-sdk entry in [dependencies] and add \"pallet-utility\" to its features array:\n\n```toml\npolkadot-sdk = { workspace = true, features = [\n \"pallet-utility\",\n \"cumulus-pallet-aura-ext\",\n # ... other existing features\n], default-features = false }\n```\n\nThe std feature is already covered by the existing \"polkadot-sdk/std\" entry in the [features] std array — no separate line is needed for pallet-utility. Verify: run `cargo check -p runtime 2>&1 | head -20` — there should be no dependency resolution errors.", "order": 4, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Implement the pallet's Config trait in runtime/src/lib.rs", - "description": "Open runtime/src/lib.rs. Add the Config implementation for the pallet. For pallet-utility, add:\n\n```rust\nimpl pallet_utility::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type RuntimeCall = RuntimeCall;\n type PalletsOrigin = OriginCaller;\n type WeightInfo = pallet_utility::weights::SubstrateWeight;\n}\n```\n\nFor other pallets, refer to the pallet's documentation or source for required Config fields. Each required associated type must be specified — the Rust compiler will list missing types if any are omitted. Place this impl block near other pallet Config impls for consistency.", + "action": "Implement the pallet's Config trait in runtime/src/configs/mod.rs", + "description": "Open runtime/src/configs/mod.rs. Add the Config implementation for pallet-utility at the end of the file:\n\n```rust\nimpl pallet_utility::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type RuntimeCall = RuntimeCall;\n type PalletsOrigin = OriginCaller;\n type WeightInfo = pallet_utility::weights::SubstrateWeight;\n}\n```\n\nPlace this impl block at the end of the file, after other pallet Config impls. All required associated types must be specified — the Rust compiler will list missing types if any are omitted.", "order": 5, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Register the pallet in construct_runtime!", - "description": "Find the construct_runtime! macro invocation in runtime/src/lib.rs (typically near the bottom of the file). Add the new pallet entry following the existing pattern:\n\n```rust\nconstruct_runtime!(\n pub enum Runtime where\n Block = Block,\n NodeBlock = opaque::Block,\n UncheckedExtrinsic = UncheckedExtrinsic\n {\n // ... existing pallets ...\n Utility: pallet_utility,\n }\n);\n```\n\nThe name before the colon (Utility) is the on-chain pallet name used in storage keys and extrinsic prefixes — choose carefully as it cannot be changed without a migration. Save the file.", + "action": "Register the pallet in the runtime construct", + "description": "Find the #[frame_support::runtime] macro block in runtime/src/lib.rs (usually near the bottom of the file). Add the Utility pallet entry with a unique pallet_index number that is not already used:\n\n```rust\n#[frame_support::runtime]\nmod runtime {\n #[runtime::runtime]\n #[runtime::derive(\n RuntimeCall,\n RuntimeEvent,\n RuntimeError,\n RuntimeOrigin,\n RuntimeFreezeReason,\n RuntimeHoldReason,\n RuntimeSlashReason,\n RuntimeLockId,\n RuntimeViewFunction\n )]\n pub struct Runtime;\n\n // ... existing pallets ...\n\n #[runtime::pallet_index(50)]\n pub type Utility = pallet_utility;\n}\n```\n\nChoose a pallet_index value (e.g., 50) that is not used by any other pallet in the runtime. The name Utility becomes the on-chain pallet identifier — it cannot be changed without a storage migration.", "order": 6, "working_directory": "polkadot-sdk-parachain-template" }, @@ -6790,7 +6790,7 @@ ] }, "title": "Add an Existing Pallet to a Parachain Runtime", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -6818,10 +6818,10 @@ { "actions": [ "Verify pallet-collective has the I: 'static = () generic — confirm it is instantiable", - "Add pallet-collective to runtime/Cargo.toml with default-features = false and add to std features", - "Implement pallet_collective::Config as TechnicalCommitteeInstance with committee-appropriate parameters", - "Implement pallet_collective::Config as CouncilInstance with council-appropriate parameters", - "Add TechnicalCommittee: pallet_collective:: and Council: pallet_collective:: to construct_runtime!", + "Add pallet-collective as a feature of the polkadot-sdk dependency in runtime/Cargo.toml", + "Implement pallet_collective::Config as TechnicalCommittee with committee-appropriate parameters in runtime/src/configs/mod.rs", + "Implement pallet_collective::Config as Council with council-appropriate parameters in runtime/src/configs/mod.rs", + "Add TechnicalCommittee and Council entries to the #[frame_support::runtime] macro block in runtime/src/lib.rs", "Run cargo build --release", "Start node in --dev mode and verify both 'technicalCommittee' and 'council' appear in Polkadot.js Apps" ], @@ -6894,25 +6894,25 @@ }, { "action": "Add pallet dependencies to runtime/Cargo.toml", - "description": "Open runtime/Cargo.toml. A single pallet crate covers all instances — add it once:\n\n```toml\n[dependencies]\n...\npallet-collective = { version = \"\", default-features = false }\npallet-membership = { version = \"\", default-features = false }\n```\n\nReplace `` with the version matching your other SDK pallets (check existing entries). Add both to the std feature list:\n\n```toml\n[features]\nstd = [\n ...\n \"pallet-collective/std\",\n \"pallet-membership/std\",\n]\n```\n\nVerify: `cargo check -p runtime 2>&1 | head -20`", + "description": "Open runtime/Cargo.toml. Add pallet-collective as a feature of the polkadot-sdk dependency (a single crate entry covers all instances):\n\n```toml\npolkadot-sdk = { workspace = true, features = [\n \"pallet-collective\",\n \"pallet-membership\",\n # ... other existing features\n], default-features = false }\n```\n\nThe std feature is already covered by the existing \"polkadot-sdk/std\" entry — no separate lines needed. Verify: `cargo check -p runtime 2>&1 | head -20`", "order": 4, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Implement Config for TechnicalCommittee", - "description": "Open runtime/src/lib.rs. Add the first instance's Config implementation. For pallet-collective as TechnicalCommittee:\n\n```rust\ntype TechnicalCommitteeInstance = pallet_collective::Instance1;\n\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = ConstU32<5>;\n type MaxProposals = ConstU32<100>;\n type MaxMembers = ConstU32<100>;\n type DefaultVote = pallet_collective::PrimeDefaultVote;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type SetMembersOrigin = EnsureRoot;\n type MaxProposalWeight = BlockWeights;\n}\n```\n\nSubstitute `ConstU32` values with the desired governance parameters.", + "action": "Implement Config for TechnicalCommittee in runtime/src/configs/mod.rs", + "description": "Open runtime/src/configs/mod.rs. Add the first instance's Config implementation. The pallet-collective Config now includes additional fields for proposal management and governance control:\n\n```rust\n/// Configure the Technical Committee collective\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = ConstU32<5>;\n type MaxProposals = ConstU32<100>;\n type MaxMembers = ConstU32<100>;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = ConstU64<{ u64::MAX / 2 }>;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n\nKey fields: DefaultVote uses MoreThanMajorityThenPrimeDefaultVote (majority with prime member tiebreaker); MaxProposalWeight caps proposal computational weight; DisapproveOrigin and KillOrigin control who can reject/kill proposals.", "order": 5, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Implement Config for Council", - "description": "Add the second instance's Config implementation immediately after the first:\n\n```rust\ntype CouncilInstance = pallet_collective::Instance2;\n\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = ConstU32<7>;\n type MaxProposals = ConstU32<50>;\n type MaxMembers = ConstU32<20>;\n type DefaultVote = pallet_collective::PrimeDefaultVote;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type SetMembersOrigin = EnsureRoot;\n type MaxProposalWeight = BlockWeights;\n}\n```\n\nThe instances share the same pallet code but maintain completely independent storage — `MotionDuration`, `MaxProposals`, and `MaxMembers` can differ per instance.", + "action": "Implement Config for Council in runtime/src/configs/mod.rs", + "description": "Add the second instance's Config immediately after the first in runtime/src/configs/mod.rs:\n\n```rust\n/// Configure the Council collective\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = ConstU32<7>;\n type MaxProposals = ConstU32<50>;\n type MaxMembers = ConstU32<20>;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = ConstU64<{ u64::MAX / 2 }>;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n\nBoth instances share the same pallet code but maintain completely independent storage. MotionDuration, MaxProposals, and MaxMembers can differ per instance.", "order": 6, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Register both instances in construct_runtime!", - "description": "Find `construct_runtime!` in runtime/src/lib.rs and add both instances with unique names:\n\n```rust\nconstruct_runtime!(\n pub enum Runtime where ... {\n // ... existing pallets ...\n TechnicalCommittee: pallet_collective::,\n Council: pallet_collective::,\n }\n);\n```\n\nThe names `TechnicalCommittee` and `Council` become the on-chain pallet identifiers for storage and extrinsics — choose carefully as renaming requires a migration. The `::` and `::` syntax tells the macro which Instance type alias to bind to each pallet entry.", + "action": "Register both instances in the runtime construct", + "description": "Find the #[frame_support::runtime] macro block in runtime/src/lib.rs and add both instances with unique pallet_index values:\n\n```rust\n#[frame_support::runtime]\nmod runtime {\n // ... existing pallets ...\n\n #[runtime::pallet_index(50)]\n pub type TechnicalCommittee = pallet_collective;\n\n #[runtime::pallet_index(51)]\n pub type Council = pallet_collective;\n}\n```\n\nChoose pallet_index values (e.g., 50 and 51) not used by any other pallet. The names TechnicalCommittee and Council become the on-chain pallet identifiers for storage and extrinsics — choose carefully as renaming requires a migration.", "order": 7, "working_directory": "polkadot-sdk-parachain-template" }, @@ -6960,7 +6960,7 @@ ] }, "title": "Configure Multiple Instances of a Pallet in a Runtime", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -6971,12 +6971,12 @@ { "cause": "ConstU32 is not imported in runtime/src/lib.rs.", "pattern": "error[E0412]: cannot find type `ConstU32` in this scope", - "resolution": "Add to the use statement at the top of runtime/src/lib.rs: use frame_support::traits::ConstU32; (or verify it is already imported via frame_support::prelude::*). The parachain template runtime usually imports it — search for existing ConstU32 usages to confirm." + "resolution": "The pallet name is now `pallet_custom` and the Config implementation is in `runtime/src/configs/mod.rs`. Add to the use statement at the top of that file: use frame_support::traits::ConstU32; (or verify it is already imported via frame_support::prelude::*). The parachain template runtime usually imports it — search for existing ConstU32 usages to confirm." }, { "cause": "The impl pallet_counter::Config for Runtime block is missing or has a missing associated type.", - "pattern": "error[E0277]: the trait `pallet_counter::Config` is not implemented", - "resolution": "Ensure the impl block is in runtime/src/lib.rs and all required types are specified. The Rust compiler lists each missing associated type — add them one by one." + "pattern": "error[E0277]: the trait `pallet_custom::Config` is not implemented", + "resolution": "Ensure the impl block is in runtime/src/configs/mod.rs and all required types are specified. The Rust compiler lists each missing associated type — add them one by one." }, { "cause": "The path in runtime/Cargo.toml does not match the actual pallet directory location.", @@ -6985,20 +6985,19 @@ }, { "cause": "The counter has reached MaxValue (100 by default).", - "pattern": "CounterOverflow error when submitting increment", - "resolution": "Decrement first to free up space, or increase MaxValue in the runtime Config (type MaxValue = ConstU32<1000>;) and rebuild. This behavior is by design — the error confirms the overflow protection is working." + "pattern": "CounterMaxValueExceeded error when submitting increment", + "resolution": "Decrement first, or increase CounterMaxValue in the runtime Config (type CounterMaxValue = ConstU32<1000>;) and rebuild. This behavior is by design — the error confirms the overflow protection is working." } ], "examples": [ { "actions": [ - "Create pallets/counter/src/ directory and lib.rs file", - "Write Cargo.toml with frame-support, frame-system, parity-scale-codec, and scale-info dependencies", - "Add pallet-counter to workspace root Cargo.toml members", - "Implement the pallet in lib.rs: Config trait, StorageValue, Event enum, Error enum, and two call extrinsics (increment/decrement) with overflow/underflow protection", - "Add pallet-counter path dependency to runtime/Cargo.toml", - "Implement pallet_counter::Config for Runtime with MaxValue = ConstU32<100>", - "Add Counter: pallet_counter to construct_runtime!", + "Create pallets/pallet-custom/ using cargo new --lib pallet-custom inside the pallets/ directory", + "Write Cargo.toml with workspace inheritance and the unified frame dependency", + "Implement the pallet in pallets/pallet-custom/src/lib.rs: Config trait with CounterMaxValue, StorageValue, Event enum, Error enum (Overflow/Underflow/CounterMaxValueExceeded), and two call extrinsics (increment/decrement)", + "Add pallet-custom path dependency to runtime/Cargo.toml", + "Implement pallet_custom::Config for Runtime with CounterMaxValue = ConstU32<100> in runtime/src/configs/mod.rs", + "Add Counter: pallet_custom to the #[frame_support::runtime] macro block in runtime/src/lib.rs", "Run cargo build --release", "Start node in --dev mode; submit increment extrinsic via Polkadot.js Apps; verify CounterValue storage" ], @@ -7032,7 +7031,7 @@ ] }, "primary_page": "parachains/customize-runtime/pallet-development/create-a-pallet.md", - "project_structure": "polkadot-sdk-parachain-template/\n├── pallets/\n│ └── counter/\n│ ├── Cargo.toml\n│ └── src/\n│ └── lib.rs\n├── runtime/\n│ ├── Cargo.toml (modified)\n│ └── src/\n│ └── lib.rs (modified)\n└── Cargo.toml (modified)", + "project_structure": "polkadot-sdk-parachain-template/\n├── pallets/\n│ └── pallet-custom/\n│ ├── Cargo.toml\n│ └── src/\n│ └── lib.rs\n├── runtime/\n│ ├── Cargo.toml (modified)\n│ └── src/\n│ ├── configs/\n│ │ └── mod.rs (modified)\n│ └── lib.rs (modified)\n└── Cargo.toml (modified)", "reference_code": { "base_path": "", "branch": "", @@ -7062,36 +7061,37 @@ "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Create the pallet directory and Cargo.toml", + "action": "Create the pallet project with cargo new", "commands": [ - "mkdir -p pallets/counter/src", - "touch pallets/counter/src/lib.rs" + "cd pallets", + "cargo new --lib pallet-custom", + "cd pallet-custom" ], - "description": "Create the pallet directory structure inside the parachain template workspace. The pallet name (counter) becomes the crate name. Create pallets/counter/Cargo.toml with the following content, replacing with the version matching your other workspace pallets:\n\n```toml\n[package]\nname = \"pallet-counter\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\ncodec = { package = \"parity-scale-codec\", version = \"3\", default-features = false, features = [\"derive\"] }\nscale-info = { version = \"2\", default-features = false, features = [\"derive\"] }\nframe-support = { version = \"\", default-features = false }\nframe-system = { version = \"\", default-features = false }\nframe-benchmarking = { version = \"\", default-features = false, optional = true }\n\n[features]\ndefault = [\"std\"]\nstd = [\n \"codec/std\",\n \"scale-info/std\",\n \"frame-support/std\",\n \"frame-system/std\",\n]\nruntime-benchmarks = [\"frame-benchmarking/runtime-benchmarks\"]\n```\n\nAlso add pallet-counter to the workspace's root Cargo.toml members list:\nmembers = [\n ...\n \"pallets/counter\",\n]", + "description": "Navigate to the pallets directory inside the parachain template and create a new Rust library project. The template already includes `pallets/*` in the workspace members of the root Cargo.toml, so `pallet-custom` is automatically part of the workspace.\n\nAfter running `cargo new --lib pallet-custom`, open `pallets/pallet-custom/Cargo.toml` and replace its contents entirely with the following, which uses workspace inheritance to maintain consistent dependency versions:\n\n```toml\n[package]\nname = \"pallet-custom\"\ndescription = \"A custom counter pallet for demonstration purposes.\"\nversion = \"0.1.0\"\nlicense = \"Unlicense\"\nauthors.workspace = true\nhomepage.workspace = true\nrepository.workspace = true\nedition.workspace = true\npublish = false\n\n[package.metadata.docs.rs]\ntargets = [\"x86_64-unknown-linux-gnu\"]\n\n[dependencies]\ncodec = { features = [\"derive\"], workspace = true }\nscale-info = { features = [\"derive\"], workspace = true }\nframe = { features = [\"experimental\", \"runtime\"], workspace = true }\n\n[features]\ndefault = [\"std\"]\nstd = [\n \"codec/std\",\n \"scale-info/std\",\n \"frame/std\",\n]\n```\n\nThe `frame` dependency provides the unified FRAME SDK entry point — it includes frame-support, frame-system, and all necessary macros.", "order": 3, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Implement the pallet in pallets/counter/src/lib.rs", - "description": "Write the pallet implementation in pallets/counter/src/lib.rs. A minimal counter pallet contains:\n\n#![cfg_attr(not(feature = \"std\"), no_std)]\n\npub use pallet::*;\n\n```rust\n#[frame_support::pallet]\npub mod pallet {\n use frame_support::pallet_prelude::*;\n use frame_system::pallet_prelude::*;\n\n #[pallet::pallet]\n pub struct Pallet(_);\n\n #[pallet::config]\n pub trait Config: frame_system::Config {\n type RuntimeEvent: From> + IsType<::RuntimeEvent>;\n #[pallet::constant]\n type MaxValue: Get;\n }\n```\n\n #[pallet::storage]\n pub type CounterValue = StorageValue<_, u32, ValueQuery>;\n\n```rust\n #[pallet::event]\n #[pallet::generate_deposit(pub(super) fn deposit_event)]\n pub enum Event {\n CounterIncremented { new_value: u32 },\n CounterDecremented { new_value: u32 },\n }\n\n #[pallet::error]\n pub enum Error {\n CounterOverflow,\n CounterUnderflow,\n }\n\n #[pallet::call]\n impl Pallet {\n #[pallet::call_index(0)]\n #[pallet::weight(10_000)]\n pub fn increment(origin: OriginFor) -> DispatchResult {\n ensure_signed(origin)?;\n let val = CounterValue::::get();\n let new_val = val.checked_add(1).ok_or(Error::::CounterOverflow)?;\n ensure!(new_val <= T::MaxValue::get(), Error::::CounterOverflow);\n CounterValue::::put(new_val);\n Self::deposit_event(Event::CounterIncremented { new_value: new_val });\n Ok(())\n }\n\n #[pallet::call_index(1)]\n #[pallet::weight(10_000)]\n pub fn decrement(origin: OriginFor) -> DispatchResult {\n ensure_signed(origin)?;\n let val = CounterValue::::get();\n let new_val = val.checked_sub(1).ok_or(Error::::CounterUnderflow)?;\n CounterValue::::put(new_val);\n Self::deposit_event(Event::CounterDecremented { new_value: new_val });\n Ok(())\n }\n }\n}\n```\n\nThe MaxValue constant bounds the counter to prevent overflow. checked_add/checked_sub replace panicking arithmetic.", + "action": "Implement the pallet in pallets/pallet-custom/src/lib.rs", + "description": "Open pallets/pallet-custom/src/lib.rs and delete all existing content. Implement the counter pallet using the unified `frame` import:\n\n```rust\n#![cfg_attr(not(feature = \"std\"), no_std)]\n\nextern crate alloc;\n\npub use pallet::*;\n\n#[frame::pallet]\npub mod pallet {\n use alloc::vec::Vec;\n use frame::prelude::*;\n\n #[pallet::pallet]\n pub struct Pallet(_);\n\n #[pallet::config]\n pub trait Config: frame_system::Config {\n type RuntimeEvent: From> + IsType<::RuntimeEvent>;\n\n #[pallet::constant]\n type CounterMaxValue: Get;\n }\n\n #[pallet::event]\n #[pallet::generate_deposit(pub(super) fn deposit_event)]\n pub enum Event {\n CounterIncremented { new_value: u32, who: T::AccountId },\n CounterDecremented { new_value: u32, who: T::AccountId },\n }\n\n #[pallet::error]\n pub enum Error {\n Overflow,\n Underflow,\n CounterMaxValueExceeded,\n }\n\n #[pallet::storage]\n pub type CounterValue = StorageValue<_, u32, ValueQuery>;\n\n #[pallet::call]\n impl Pallet {\n #[pallet::call_index(0)]\n #[pallet::weight(10_000)]\n pub fn increment(origin: OriginFor) -> DispatchResult {\n let who = ensure_signed(origin)?;\n CounterValue::::try_mutate(|val| {\n let new_val = val.checked_add(1).ok_or(Error::::Overflow)?;\n ensure!(new_val <= T::CounterMaxValue::get(), Error::::CounterMaxValueExceeded);\n *val = new_val;\n Self::deposit_event(Event::CounterIncremented { new_value: new_val, who });\n Ok(())\n })\n }\n\n #[pallet::call_index(1)]\n #[pallet::weight(10_000)]\n pub fn decrement(origin: OriginFor) -> DispatchResult {\n let who = ensure_signed(origin)?;\n CounterValue::::try_mutate(|val| {\n let new_val = val.checked_sub(1).ok_or(Error::::Underflow)?;\n *val = new_val;\n Self::deposit_event(Event::CounterDecremented { new_value: new_val, who });\n Ok(())\n })\n }\n }\n}\n```\n\nKey differences from older FRAME patterns: uses `#[frame::pallet]` macro (not `#[frame_support::pallet]`), `use frame::prelude::*`, the constant is named `CounterMaxValue`, and errors are `Overflow`/`Underflow`/`CounterMaxValueExceeded`. The `extern crate alloc` is required because the pallet uses `no_std` and needs `Vec` for genesis.", "order": 4, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Add pallet-counter to runtime/Cargo.toml", - "description": "Open runtime/Cargo.toml and add pallet-counter as a workspace dependency:\n\n```toml\n[dependencies]\n...\npallet-counter = { path = \"../pallets/counter\", default-features = false }\n\nAdd to the std feature list:\n[features]\nstd = [\n ...\n \"pallet-counter/std\",\n]\n```\n\nNote: path = \"../pallets/counter\" is a relative path from the runtime/ directory to the pallet directory.", + "action": "Add pallet-custom to runtime/Cargo.toml", + "description": "Open runtime/Cargo.toml and add pallet-custom as a path dependency:\n\n```toml\n[dependencies]\n...\npallet-custom = { path = \"../pallets/pallet-custom\", default-features = false }\n```\n\nAdd it to the std feature list:\n```toml\n[features]\nstd = [\n ...\n \"pallet-custom/std\",\n]\n```\n\nNote: path = \"../pallets/pallet-custom\" is relative from the runtime/ directory to the pallet directory.", "order": 5, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Implement pallet_counter::Config in runtime/src/lib.rs", - "description": "Open runtime/src/lib.rs. Add the Config implementation for the counter pallet:\n\n```rust\nimpl pallet_counter::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type MaxValue = ConstU32<100>;\n}\n```\n\nConstU32<100> sets the MaxValue constant to 100 — adjust as needed. ConstU32 is from frame_support::traits and is already imported in the parachain template runtime.", + "action": "Implement pallet_custom::Config in runtime/src/configs/mod.rs", + "description": "Open runtime/src/configs/mod.rs. Add the Config implementation for the custom pallet at the end of the file:\n\n```rust\nimpl pallet_custom::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type CounterMaxValue = ConstU32<100>;\n}\n```\n\nThe constant name is CounterMaxValue (matching the pallet's Config trait). ConstU32<100> sets the upper bound to 100 — adjust as needed. ConstU32 is from frame_support::traits and is already available in the parachain template runtime.", "order": 6, "working_directory": "polkadot-sdk-parachain-template" }, { - "action": "Register the pallet in construct_runtime!", - "description": "Find construct_runtime! in runtime/src/lib.rs and add the counter pallet:\n\n```rust\nconstruct_runtime!(\n pub enum Runtime where ... {\n // ... existing pallets ...\n Counter: pallet_counter,\n }\n);\n```\n\nThe name Counter is the on-chain pallet identifier. Save the file.", + "action": "Register the pallet in the runtime construct", + "description": "Find the #[frame_support::runtime] macro block in runtime/src/lib.rs and add the Counter pallet:\n\n```rust\n#[frame_support::runtime]\nmod runtime {\n // ... existing pallets ...\n\n #[runtime::pallet_index(50)]\n pub type Counter = pallet_custom;\n}\n```\n\nChoose a pallet_index value not used by any existing pallet. The name Counter is the on-chain pallet identifier used in storage keys and extrinsic prefixes.", "order": 7, "working_directory": "polkadot-sdk-parachain-template" }, @@ -7137,7 +7137,7 @@ ] }, "title": "Create a Custom FRAME Pallet", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -8826,7 +8826,7 @@ ] }, "primary_page": "parachains/launch-a-parachain/deploy-to-polkadot.md", - "project_structure": "parachain-template/\n├── chain_spec.json\n├── chain_spec_raw.json\n├── genesis_wasm\n├── genesis_state\n└── node-key.dat", + "project_structure": "parachain-template/\n├── plain_chain_spec.json\n├── raw_chain_spec.json\n├── para-wasm\n├── para-state\n└── data/\n └── chains/\n └── custom/\n └── network/\n └── secret_ed25519", "reference_code": { "base_path": "", "files": [], @@ -8864,35 +8864,35 @@ { "action": "Build the plain chain spec", "commands": [ - "chain-spec-builder create --relay-chain paseo --para-id INSERT_PARA_ID --runtime ./target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm named-preset development" + "chain-spec-builder --chain-spec-path ./plain_chain_spec.json create --relay-chain paseo --para-id INSERT_PARA_ID --runtime target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm named-preset local_testnet" ], - "description": "Replace INSERT_PARA_ID with the value of PARA_ID from step 2 (e.g., 2000). This produces 'chain_spec.json'. Then open 'chain_spec.json' and make these edits: (1) Set the 'id' field to a unique string (e.g., 'my-parachain-paseo'). (2) Insert AURA_KEY and GRANDPA_KEY (from step 3) into the 'aura' and 'grandpa' genesis sections. (3) Confirm 'para_id' equals PARA_ID. Save the file.", + "description": "Replace INSERT_PARA_ID with the value of PARA_ID from step 2 (e.g., 2000). This produces 'plain_chain_spec.json'. Then open 'plain_chain_spec.json' and make these edits: (1) Set the 'id' field to a unique string (e.g., 'my-parachain-paseo'). (2) Insert AURA_KEY and GRANDPA_KEY (from step 3) into the 'aura' and 'grandpa' genesis sections. (3) Confirm 'para_id' equals PARA_ID. Use the named-preset local_testnet. Save the file.", "order": 4, "working_directory": "parachain-template" }, { "action": "Build the raw chain spec", "commands": [ - "polkadot-omni-node build-spec --chain chain_spec.json --raw > chain_spec_raw.json" + "chain-spec-builder --chain-spec-path ./raw_chain_spec.json convert-to-raw plain_chain_spec.json" ], - "description": "Converts the human-readable chain spec to SCALE-encoded raw format. Verify 'chain_spec_raw.json' was created and is non-empty.", - "expected_output": "chain_spec_raw.json created (non-empty JSON file)", + "description": "Converts plain_chain_spec.json to SCALE-encoded raw format and writes the result to raw_chain_spec.json. Verify 'raw_chain_spec.json' was created and is non-empty.", + "expected_output": "raw_chain_spec.json created (non-empty JSON file)", "order": 5, "working_directory": "parachain-template" }, { "action": "Export genesis wasm and state", "commands": [ - "polkadot-omni-node export-genesis-wasm --chain chain_spec_raw.json genesis_wasm", - "polkadot-omni-node export-genesis-state --chain chain_spec_raw.json genesis_state" + "polkadot-omni-node export-genesis-wasm --chain raw_chain_spec.json para-wasm", + "polkadot-omni-node export-genesis-head --chain raw_chain_spec.json para-state" ], - "description": "Produces 'genesis_wasm' (runtime Wasm bytecode) and 'genesis_state' (initial chain state). Both files are required for the on-chain registration in step 7.", + "description": "Produces 'para-wasm' (runtime Wasm bytecode) and 'para-state' (initial chain state, using the export-genesis-head subcommand). Both files are required for the on-chain registration in step 7. Note: export-genesis-state has been renamed to export-genesis-head in recent versions of polkadot-omni-node.", "order": 6, "working_directory": "parachain-template" }, { "action": "Register the parathread on-chain", - "description": "Delegate to the user: In Polkadot.js Apps (connected to Paseo), navigate to Network > Parachains > Parathreads. Find your reserved PARA_ID and click 'Register'. In the modal, upload 'genesis_wasm' for 'Genesis WASM' and 'genesis_state' for 'Initial state'. Submit and sign. After finalization, the status changes from 'Reserved' to 'Onboarding'. Registration takes effect at the next epoch (up to 600 blocks on Paseo).", + "description": "Delegate to the user: In Polkadot.js Apps (connected to Paseo), navigate to Network > Parachains > Parathreads. Find your reserved PARA_ID and click 'Register'. In the modal, upload 'para-wasm' for 'Genesis WASM' and 'para-state' for 'Initial state'. Submit and sign. After finalization, the status changes from 'Reserved' to 'Onboarding'. Registration takes effect at the next epoch (up to 600 blocks on Paseo).", "expected_output": "Parathread status changes to 'Onboarding' in the Parathreads tab", "interactive": true, "order": 7, @@ -8901,29 +8901,28 @@ { "action": "Generate a P2P node key for the collator", "commands": [ - "polkadot-omni-node generate-node-key --file node-key.dat" + "polkadot-omni-node key generate-node-key --base-path data --chain raw_chain_spec.json" ], - "description": "Writes a P2P node key to 'node-key.dat' and prints the peer ID to stdout. Save the peer ID as NODE_PEER_ID. Keep 'node-key.dat' secure — losing it changes the peer ID on next restart.", + "description": "Generates a P2P node key stored at ./data/chains/custom/network/secret_ed25519. The peer ID is printed to stdout — record it as NODE_PEER_ID. Keep the key file secure — losing it changes the peer ID on next restart.", "order": 8, "working_directory": "parachain-template" }, { "action": "Start the collator node", "commands": [ - "./target/release/parachain-template-node --collator --chain chain_spec_raw.json --node-key-file node-key.dat --port 30333 --rpc-port 9944 --rpc-methods=Unsafe -- --chain paseo --sync warp" + "polkadot-omni-node --collator --chain raw_chain_spec.json --base-path data --port 40333 --rpc-port 8845 --force-authoring --node-key-file ./data/chains/custom/network/secret_ed25519 -- --sync warp --chain paseo --port 50343 --rpc-port 9988" ], - "description": "The '--' separator splits collator arguments from the embedded relay chain (Paseo) arguments. '--sync warp' enables fast warp sync for Paseo. The collator first syncs the relay chain (several minutes). Wait for log messages containing 'Parachain synced' before inserting session keys in step 10.", + "description": "The '--' separator splits collator arguments from the embedded relay chain (Paseo) arguments. --rpc-port 8845 is for the collator RPC; --rpc-port 9988 is for the embedded relay chain. --sync warp enables fast warp sync for Paseo. --force-authoring enables block production. --rpc-methods=Unsafe is no longer needed as a startup flag. The collator first syncs the relay chain (several minutes). Wait for log messages containing 'Parachain synced' before inserting session keys in step 10.", "order": 9, "working_directory": "parachain-template" }, { "action": "Insert session keys into the collator keystore", "commands": [ - "curl -s -X POST http://localhost:9944 -H 'Content-Type: application/json' --data '{\"jsonrpc\":\"2.0\",\"method\":\"author_insertKey\",\"params\":[\"aura\",\"INSERT_AURA_SEED_PHRASE\",\"INSERT_AURA_PUBLIC_KEY_HEX\"],\"id\":1}'", - "curl -s -X POST http://localhost:9944 -H 'Content-Type: application/json' --data '{\"jsonrpc\":\"2.0\",\"method\":\"author_insertKey\",\"params\":[\"gran\",\"INSERT_GRANDPA_SEED_PHRASE\",\"INSERT_GRANDPA_PUBLIC_KEY_HEX\"],\"id\":1}'" + "curl -H \"Content-Type: application/json\" --data '{\"jsonrpc\":\"2.0\",\"method\":\"author_insertKey\",\"params\":[\"aura\",\"INSERT_SECRET_PHRASE\",\"INSERT_PUBLIC_KEY_HEX_FORMAT\"],\"id\":1}' http://localhost:8845" ], - "description": "Make these substitutions before running: INSERT_AURA_SEED_PHRASE -> SR25519 seed phrase from step 3; INSERT_AURA_PUBLIC_KEY_HEX -> SR25519 Account ID (0x-prefixed) from step 3; INSERT_GRANDPA_SEED_PHRASE -> ED25519 seed phrase from step 3; INSERT_GRANDPA_PUBLIC_KEY_HEX -> ED25519 Account ID (0x-prefixed) from step 3. Each successful command returns: {\"jsonrpc\":\"2.0\",\"result\":null,\"id\":1}. Do NOT include these commands in chat history — they contain seed phrases. Run them directly in the server terminal.", - "expected_output": "{\"jsonrpc\":\"2.0\",\"result\":null,\"id\":1} for each key insertion", + "description": "Only the Aura (SR25519) key needs to be inserted. Replace INSERT_SECRET_PHRASE with the SR25519 seed phrase from step 3, and INSERT_PUBLIC_KEY_HEX_FORMAT with the SR25519 Account ID (0x-prefixed). The RPC port is now 8845. A successful command returns: {\"jsonrpc\":\"2.0\",\"result\":null,\"id\":1}. Do NOT include this command in chat history — it contains a seed phrase. Run it directly in the server terminal.", + "expected_output": "{\"jsonrpc\":\"2.0\",\"result\":null,\"id\":1}", "order": 10, "working_directory": "." } @@ -8952,7 +8951,7 @@ ] }, "title": "Deploy a Parachain to the Polkadot TestNet (Paseo)", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index db6fddca9..1cc659f3d 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-05-19T21:00:00Z", + "generated": "2026-05-19T21:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -239,19 +239,19 @@ }, "parachains/customize-runtime/add-existing-pallets.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/add-pallet-instances.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -269,11 +269,11 @@ }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "create-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -343,11 +343,11 @@ }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T14:30:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/launch-a-parachain/obtain-coretime.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -739,11 +739,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-05-19T14:51:13+00:00", From 068ccda69f3fc3f554eccb9c2344c6c4eda7ddd5 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 15:48:20 +0000 Subject: [PATCH 07/40] chore: auto-generate/update skills --- agent_skills_config.json | 39 +++++++++++++++++++++++++++++++-------- skill_candidates.json | 8 ++++---- skill_coverage.json | 18 +++++++++--------- 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index dee4b7824..a721645ba 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:b167c591346ca56feb66be77ba1bcea6aab5c53b60d4f95c4f52fea3528d8595", - "generated": "2026-05-19T21:30:00Z", + "content_hash": "sha256:3d406376984a08683679ce1243d050c6d117b2f2913347dbc68fbc8e230ef470", + "generated": "2026-05-19T22:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -1217,6 +1217,7 @@ ] }, "primary_page": "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md", + "project_structure": "erc20-hardhat/\n├── artifacts/\n│ └── contracts/\n│ └── MyToken.sol/\n│ └── MyToken.json\n├── contracts/\n│ └── MyToken.sol\n├── ignition/\n│ ├── deployments/\n│ └── modules/\n│ └── MyToken.ts\n├── test/\n│ └── MyToken.test.ts\n├── .env\n├── .gitignore\n├── hardhat.config.ts\n└── package.json", "reference_code": { "base_path": "", "files": [], @@ -1242,7 +1243,7 @@ "npm i", "npm install dotenv" ], - "description": "Install all template dependencies from package.json, then additionally install dotenv. dotenv is needed to replace Hardhat's interactive vars system (which cannot be used in agent shells) with a .env-based private key approach.", + "description": "Install all template dependencies from `package.json`, then additionally install `dotenv`. The docs page only runs `npm i`; the extra `npm install dotenv` step is required here because the next step converts the Hardhat `vars` system (which requires interactive shell input) to dotenv-based key loading.", "order": 2, "working_directory": "revm-hardhat-examples/erc20-hardhat" }, @@ -1258,7 +1259,7 @@ }, { "action": "Convert hardhat.config.ts to use dotenv and add gas configuration", - "description": "Open hardhat.config.ts and apply all of the following modifications:\n(1) Add 'import \"dotenv/config\";' as the very first line of the file.\n(2) Replace 'vars.has(\"TESTNET_PRIVATE_KEY\") ? [vars.get(\"TESTNET_PRIVATE_KEY\")] : []' with '[process.env.TESTNET_PRIVATE_KEY as string]'.\n(3) Remove the 'import { HardhatUserConfig, vars } from \"hardhat/config\";' line and replace with 'import type { HardhatUserConfig } from \"hardhat/config\";'.\n(4) In the polkadotTestnet network block, add 'gasPrice: 5000000000000,' (5000 gwei — 5x the TestNet 1000 gwei base fee).\n(5) Add 'evmVersion: \"cancun\"' inside the solidity settings block — required because the template uses OpenZeppelin Contracts v5.4.0+ which uses the mcopy opcode from the Cancun EVM upgrade.\n(6) Confirm ignition.requiredConfirmations is 1 (not 0).\nSave the file.", + "description": "Open `hardhat.config.ts` and apply ALL of the following modifications:\n\n(1) Add `import \"dotenv/config\";` as the very first line of the file.\n(2) Replace `import { HardhatUserConfig, vars } from \"hardhat/config\";` with `import type { HardhatUserConfig } from \"hardhat/config\";`.\n(3) Replace `vars.has(\"TESTNET_PRIVATE_KEY\") ? [vars.get(\"TESTNET_PRIVATE_KEY\")] : []` with `[process.env.TESTNET_PRIVATE_KEY as string]`.\n(4) In the `polkadotTestnet` network block, add `chainId: 420420417,` and `gasPrice: 5000000000000,` (5000 gwei — 5× the TestNet 1000 gwei base fee). The original config does not include these values; both are required for Ignition to target the correct chain and avoid stuck transactions.\n(5) Add `evmVersion: \"cancun\"` inside `solidity.settings`: `solidity: { version: \"0.8.28\", settings: { optimizer: { enabled: true, runs: 200 }, evmVersion: \"cancun\" } }`. Preserve the existing `optimizer` block — it is already in the template. The `evmVersion` addition is required because the template uses OpenZeppelin Contracts v5.4.0+ which uses the `mcopy` opcode from the Cancun EVM upgrade.\n(6) Add `ignition: { requiredConfirmations: 1 }` at the top level of the config object (the original config omits this field; without it, Ignition may misinterpret pending transactions as dropped on TestNet).\n(7) Preserve the existing `mocha: { timeout: 40000 }` block.\n\nSave the file.", "order": 4, "working_directory": "revm-hardhat-examples/erc20-hardhat" }, @@ -1312,7 +1313,7 @@ ] }, "title": "Deploy an ERC-20 Token Using Hardhat", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -1397,6 +1398,7 @@ ] }, "primary_page": "smart-contracts/dev-environments/hardhat-polkadot.md", + "project_structure": "hardhat-pvm-example/\n├── artifacts/\n│ └── contracts/\n│ └── MyToken.sol/\n│ └── MyToken.json\n├── contracts/\n│ └── MyToken.sol\n├── ignition/\n│ └── modules/\n│ └── MyToken.js\n├── test/\n│ └── MyToken.test.js\n├── .env\n├── .gitignore\n├── hardhat.config.ts\n└── package.json", "reference_code": { "base_path": "", "branch": "", @@ -1460,7 +1462,7 @@ }, { "action": "Configure hardhat.config.ts for TestNet", - "description": "The init wizard generated a hardhat.config.ts in the project root. Modify it to apply all of the following changes:\n(1) Add 'import \"dotenv/config\";' as the very first line of the file.\n(2) Replace any vars.get('PRIVATE_KEY') with process.env.PRIVATE_KEY as string.\n(3) Remove any 'import { vars } from \"hardhat/config\";' line if present.\n(4) Ensure the polkadotTestnet network block contains: url: 'https://services.polkadothub-rpc.com/testnet', chainId: 420420417, and accounts: [process.env.PRIVATE_KEY as string].\n(5) Add 'gasPrice: 5000000000000,' to the polkadotTestnet block (5000 gwei — 5x the 1000 gwei TestNet base fee).\n(6) Set or confirm 'ignition: { requiredConfirmations: 1 }' in the top-level config object.\nSave the file.", + "description": "The init wizard generated a `hardhat.config.ts` in the project root. Modify it to apply all of the following changes:\n\n(1) Add `import \"dotenv/config\";` as the very first line of the file.\n(2) Replace any `vars.get('PRIVATE_KEY')` with `process.env.PRIVATE_KEY as string`. Remove any `import { vars } from \"hardhat/config\";` if present.\n(3) Ensure the `polkadotTestnet` network block contains: `url: 'https://services.polkadothub-rpc.com/testnet'`, `chainId: 420420417`, and `accounts: [process.env.PRIVATE_KEY as string]`.\n(4) Add `gasPrice: 5000000000000,` to the `polkadotTestnet` block (5000 gwei — 5× the 1000 gwei TestNet base fee).\n(5) Set or confirm `ignition: { requiredConfirmations: 1 }` in the top-level config object.\n\nSave the file.", "order": 6, "working_directory": "hardhat-pvm-example" }, @@ -1493,7 +1495,7 @@ ] }, "title": "Set Up Hardhat with the Polkadot Plugin (PVM)", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -1552,6 +1554,17 @@ "result": "Project loads private key from .env; works in agent shells and CI without interactive prompts", "scenario": "Edge case: existing project uses Hardhat vars and breaks in CI or agent shell", "user_says": "My Hardhat config uses vars.get and it fails with 'vars is not defined'" + }, + { + "actions": [ + "Install @nomicfoundation/hardhat-verify@^2.0.0", + "Add import '@nomicfoundation/hardhat-verify' to hardhat.config.ts", + "Add etherscan config block for Blockscout or Routescan to hardhat.config.ts", + "Run npx hardhat verify --network polkadotTestnet INSERT_CONTRACT_ADDRESS" + ], + "result": "Contract source code verified and published on the chosen block explorer", + "scenario": "Edge case: add contract verification to an existing project", + "user_says": "How do I verify my deployed contract on Polkadot Hub with Hardhat?" } ], "id": "set-up-hardhat-evm", @@ -1567,6 +1580,7 @@ ] }, "primary_page": "smart-contracts/dev-environments/hardhat.md", + "project_structure": "hardhat-example/\n├── contracts/\n├── ignition/\n│ └── modules/\n├── test/\n├── .env\n├── .gitignore\n├── hardhat.config.ts\n└── package.json", "reference_code": { "base_path": "", "branch": "", @@ -1624,6 +1638,15 @@ "description": "Create hardhat.config.ts in the project root with the following content:\n\n```typescript\nimport type { HardhatUserConfig } from \"hardhat/config\";\nimport \"@nomicfoundation/hardhat-toolbox\";\nimport \"dotenv/config\";\n\nconst config: HardhatUserConfig = {\n solidity: \"0.8.28\",\n networks: {\n polkadotTestnet: {\n url: \"https://services.polkadothub-rpc.com/testnet\",\n chainId: 420420417,\n accounts: [process.env.PRIVATE_KEY as string],\n gasPrice: 5000000000000,\n },\n },\n ignition: {\n requiredConfirmations: 1,\n },\n};\n\nexport default config;\n```\n\nDo NOT use vars.get() or vars.has() from Hardhat's configuration variables system — it requires interactive shell input which agents cannot provide. The config above loads PRIVATE_KEY from .env via dotenv and sets gasPrice to 5000 gwei (5x the 1000 gwei TestNet base fee) to prevent stuck deployment transactions.", "order": 5, "working_directory": "hardhat-example" + }, + { + "action": "Optionally configure contract verification", + "commands": [ + "npm install --save-dev @nomicfoundation/hardhat-verify@^2.0.0" + ], + "description": "To verify deployed contracts on a block explorer, install the verification plugin and extend `hardhat.config.ts`.\n\nInstall the plugin:\n\n```bash\nnpm install --save-dev @nomicfoundation/hardhat-verify@^2.0.0\n```\n\nUse `@nomicfoundation/hardhat-verify@^2.0.0` for Hardhat 2.x compatibility.\n\nAdd the import to the top of `hardhat.config.ts`:\n\n```typescript\nimport \"@nomicfoundation/hardhat-verify\";\n```\n\nThen add an `etherscan` block to the config object. Choose Blockscout (no API key required) or Routescan:\n\n**Blockscout:**\n```typescript\netherscan: {\n apiKey: { polkadotTestnet: 'no-api-key-needed' },\n customChains: [{\n network: 'polkadotTestnet',\n chainId: 420420417,\n urls: {\n apiURL: 'https://blockscout-testnet.polkadot.io/api',\n browserURL: 'https://blockscout-testnet.polkadot.io/',\n },\n }],\n},\n```\n\n**Routescan:**\n```typescript\netherscan: {\n apiKey: { polkadotTestnet: 'verifyContract' },\n customChains: [{\n network: 'polkadotTestnet',\n chainId: 420420417,\n urls: {\n apiURL: 'https://api.routescan.io/v2/network/testnet/evm/420420417/etherscan',\n browserURL: 'https://polkadot.testnet.routescan.io/',\n },\n }],\n},\n```\n\nAfter deploying a contract, verify it with:\n\n```bash\nnpx hardhat verify --network polkadotTestnet INSERT_CONTRACT_ADDRESS\n```\n\nReplace `INSERT_CONTRACT_ADDRESS` with the deployed contract address. For contracts with constructor arguments, append the arguments:\n\n```bash\nnpx hardhat verify --network polkadotTestnet INSERT_CONTRACT_ADDRESS \"arg1\" \"arg2\"\n```", + "order": 6, + "working_directory": "hardhat-example" } ], "supplementary_context": { @@ -1644,7 +1667,7 @@ ] }, "title": "Set Up Hardhat for Polkadot Hub (EVM)", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { diff --git a/skill_candidates.json b/skill_candidates.json index 3ab08c5fa..3f0b1725e 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -2011,7 +2011,7 @@ "title": "Deploy a Basic Smart Contract with Remix IDE" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-05-19T22:00:00Z", "category": "tutorial", "notes": "Complete end-to-end tutorial: clone template, compile, test, deploy to Polkadot Hub TestNet. Reference repo revm-hardhat-examples confirmed in context. P3 not fired — tutorial uses a cloned template repo rather than instructing the reader to create files from scratch. CI badge confirms recipe is tested in polkadot-cookbook.", "priority": "high", @@ -2172,7 +2172,7 @@ "title": "Use Foundry with Polkadot Hub" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-05-19T22:00:00Z", "category": "tutorial", "notes": "Complete workflow: initialize project, compile Solidity to PVM bytecode via resolc, test locally with a Substrate node, and deploy to TestNet. Has an explicit prerequisites section, numbered steps throughout, and clear outcome language ('You should see JSON files containing the contract ABIs and bytecodes'). Backed by polkadot-cookbook CI. PVM variant using @parity/hardhat-polkadot — mirrors the EVM skill but targets PolkaVM runtime. P3 not fired: the init wizard creates project files; no explicit file-creation code block on the page.", "priority": "high", @@ -2205,7 +2205,7 @@ "title": "Set Up Hardhat with the Polkadot Plugin (PVM)" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-05-19T22:00:00Z", "category": "tutorial", "notes": "Covers Hardhat project initialization, network configuration for Polkadot Hub TestNet (full hardhat.config.ts file shown — P3 fires), and contract verification with Blockscout or Routescan. Self-contained setup workflow with explicit prerequisites and outcome language. Backed by polkadot-cookbook CI. Standard EVM variant with no PVM/resolc dependency.", "priority": "high", @@ -2868,7 +2868,7 @@ "title": "Deploy Uniswap V3 Periphery with EVM on Polkadot Hub" } ], - "generated": "2026-05-15T16:00:00Z", + "generated": "2026-05-19T22:00:00Z", "not_applicable": [ { "category": "not_applicable", diff --git a/skill_coverage.json b/skill_coverage.json index 1cc659f3d..528f3059b 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-05-19T21:30:00Z", + "generated": "2026-05-19T22:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -755,11 +755,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -795,19 +795,19 @@ }, "smart-contracts/dev-environments/hardhat-polkadot.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat.md": { "last_edited": "2026-05-19T14:51:13+00:00", - "last_scanned": "2026-05-19T12:00:00Z", + "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/local-dev-node.md": { "last_edited": "2026-05-19T14:51:13+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 8, + "stale": 0, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 54 + "up_to_date": 62 } } From b9901cd1d0bbe5e1fd0005b87062b63f4dc2716f Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 20:08:00 +0000 Subject: [PATCH 08/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 4 +- skill_coverage.json | 344 ++++++++++++++++++------------------ 3 files changed, 175 insertions(+), 175 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index 7aff9a15f..f633d421a 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-05-19T14:51:43Z", + "generated": "2026-05-27T20:07:59Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index 51119b5d4..6574fee7d 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-05-19T14:51:43Z", + "last_checked": "2026-05-27T20:07:59Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" @@ -12,7 +12,7 @@ }, "polkadot-cookbook": { "branch": "master", - "last_checked_commit": "8a5f73878efe1b1f67fb18b0dd715f3ea04f231e" + "last_checked_commit": "00811f9b238048e9ba7ca9d3c384865c33fc13ee" }, "polkavm-hardhat-examples": { "branch": "master", diff --git a/skill_coverage.json b/skill_coverage.json index 528f3059b..c2bf7d002 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,24 +1,34 @@ { - "generated": "2026-05-19T22:00:00Z", + "schema_version": "1", + "generated": "2026-05-27T20:07:59Z", + "summary": { + "total_candidates": 142, + "up_to_date": 43, + "stale": 19, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "query-chain-data-sidecar-rest" @@ -26,23 +36,23 @@ "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "calculate-transaction-fees-papi" @@ -50,7 +60,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" @@ -58,7 +68,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "estimate-xcm-fees-teleport" @@ -66,13 +76,13 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" @@ -80,7 +90,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "pay-fees-alternative-token" @@ -88,15 +98,15 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" @@ -104,37 +114,37 @@ "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "run-parachain-rpc-node" @@ -142,7 +152,7 @@ "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" @@ -150,31 +160,31 @@ "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "set-up-polkadot-validator-node" @@ -182,43 +192,43 @@ "status": "up_to_date" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "onboard-polkadot-validator" @@ -226,19 +236,19 @@ "status": "up_to_date" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "add-existing-pallet-to-runtime" @@ -246,7 +256,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "configure-multiple-pallet-instances" @@ -254,13 +264,13 @@ "status": "up_to_date" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "benchmark-frame-pallet" @@ -268,7 +278,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "create-frame-pallet" @@ -276,7 +286,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "set-up-pallet-mock-runtime" @@ -284,7 +294,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "unit-test-frame-pallet" @@ -292,13 +302,13 @@ "status": "up_to_date" }, "parachains/get-started.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "install-polkadot-sdk" @@ -306,43 +316,43 @@ "status": "up_to_date" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" @@ -350,331 +360,331 @@ "status": "up_to_date" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "set-up-parachain-template" ], - "status": "up_to_date" + "status": "stale" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "up_to_date" + "status": "stale" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/dedot.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/light-clients.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/omninode.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/papi.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/sidecar.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:30:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "spawn-test-network-zombienet" @@ -682,7 +692,7 @@ "status": "up_to_date" }, "smart-contracts/connect.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "connect-polkadot-hub-testnet" @@ -690,7 +700,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "build-dapp-viem-nextjs" @@ -698,7 +708,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" @@ -706,23 +716,23 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" @@ -730,15 +740,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-basic-contract-hardhat" @@ -746,7 +756,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-basic-contract-remix" @@ -754,7 +764,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "deploy-erc20-token-hardhat" @@ -762,15 +772,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" @@ -778,7 +788,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-erc721-nft-remix" @@ -786,7 +796,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" @@ -794,7 +804,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "set-up-hardhat-pvm" @@ -802,7 +812,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "set-up-hardhat-evm" @@ -810,7 +820,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "set-up-local-dev-node" @@ -818,7 +828,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "connect-remix-polkadot" @@ -826,67 +836,67 @@ "status": "up_to_date" }, "smart-contracts/explorers.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "connect-wallet-polkadot-hub" @@ -894,7 +904,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-contracts-ethers-js" @@ -902,15 +912,15 @@ "status": "up_to_date" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T15:00:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "use-wagmi-polkadot-hub" @@ -918,7 +928,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-interact-contracts-web3js" @@ -926,7 +936,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "deploy-interact-contracts-web3py" @@ -934,13 +944,13 @@ "status": "up_to_date" }, "smart-contracts/overview.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" @@ -948,13 +958,13 @@ "status": "up_to_date" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-storage-precompile-remix" @@ -962,7 +972,7 @@ "status": "up_to_date" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-system-precompile-remix" @@ -970,22 +980,12 @@ "status": "up_to_date" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-05-19T14:51:13+00:00", + "last_edited": "2026-05-19T15:48:20+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-xcm-precompile-remix" ], "status": "up_to_date" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 0, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 62 } } From d4466633e77b2bf5a75ef03797306f6979031158 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 20:13:21 +0000 Subject: [PATCH 09/40] chore: auto-generate/update skills --- agent_skills_config.json | 40 ++++++++++++++++---------------- skill_coverage.json | 50 ++++++++++++++++++++-------------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index a721645ba..91c4dd0bf 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:3d406376984a08683679ce1243d050c6d117b2f2913347dbc68fbc8e230ef470", - "generated": "2026-05-19T22:00:00Z", + "content_hash": "sha256:48473ed0268b1ad43e3dc30fd6536aff2cac742dc2482bfd3c52f0cd1b241a34", + "generated": "2026-05-27T20:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -134,7 +134,7 @@ ] }, "title": "Create a Polkadot Account Programmatically", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -276,7 +276,7 @@ ] }, "title": "Query Account Information with SDKs", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -430,7 +430,7 @@ ] }, "title": "Query On-Chain State with SDKs", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -572,7 +572,7 @@ ] }, "title": "Call Runtime APIs with SDKs", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -764,7 +764,7 @@ ] }, "title": "Send Transactions with SDKs", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -2892,7 +2892,7 @@ { "actions": [ "Confirm Rust toolchain with wasm32 target is installed (install-polkadot-sdk skill if not)", - "Clone polkadot-sdk-parachain-template from GitHub", + "Clone parachain-template from GitHub", "Run cargo build --release in the cloned directory (allow 20-60 minutes)", "Verify with ./target/release/parachain-template-node --version", "Start in dev mode with ./target/release/parachain-template-node --dev to confirm it works" @@ -2924,7 +2924,7 @@ ] }, "primary_page": "parachains/launch-a-parachain/set-up-the-parachain-template.md", - "project_structure": "polkadot-sdk-parachain-template/\n├── node/\n├── pallets/\n│ └── template/\n├── runtime/\n├── Cargo.toml\n└── Cargo.lock", + "project_structure": "parachain-template/\n├── node/\n├── pallets/\n│ └── template/\n├── runtime/\n├── Cargo.toml\n├── Cargo.lock\n└── README.md", "reference_code": { "base_path": "", "branch": "", @@ -2938,10 +2938,10 @@ { "action": "Clone the Polkadot SDK Parachain Template", "commands": [ - "git clone https://github.com/paritytech/polkadot-sdk-parachain-template.git", - "cd polkadot-sdk-parachain-template" + "git clone https://github.com/paritytech/polkadot-sdk-parachain-template.git parachain-template", + "cd parachain-template" ], - "description": "Clone the official Polkadot SDK Parachain Template repository. The template contains a minimal parachain runtime with Aura consensus, standard FRAME pallets, and Cumulus integration for relay chain connectivity. It includes both a node binary and a runtime Wasm blob.", + "description": "Clone the official Polkadot SDK Parachain Template repository into a directory named 'parachain-template'. The template contains a minimal parachain runtime with Aura consensus, standard FRAME pallets, and Cumulus integration for relay chain connectivity.", "order": 1, "working_directory": "." }, @@ -2949,17 +2949,17 @@ "action": "Review the template directory structure", "description": "Familiarize yourself with the key directories before building: 'node/' contains the node binary crate (CLI, RPC, service); 'runtime/' contains the parachain runtime (pallets, weights, Wasm); 'pallets/' contains a sample custom pallet. The 'Cargo.toml' at the root defines the workspace. No files need to be created or modified for the initial setup — the default configuration targets a local development network.", "order": 2, - "working_directory": "polkadot-sdk-parachain-template" + "working_directory": "parachain-template" }, { "action": "Build the parachain node in release mode", "commands": [ - "cargo build --release" + "cargo build --release --locked" ], - "description": "Compile the parachain node and runtime in release mode. This step is time-consuming (20-60 minutes on first build) because it compiles the entire Polkadot SDK dependency tree. Subsequent builds use the Rust incremental cache and are significantly faster. If compilation fails with 'linker not found', install the build-essential package (Linux) or Xcode command line tools (macOS). On low-memory machines (less than 8 GB RAM), reduce parallel jobs: CARGO_BUILD_JOBS=2 cargo build --release.", + "description": "Compile the parachain node and runtime in release mode with locked dependencies. This step is time-consuming (20-60 minutes on first build) because it compiles the entire Polkadot SDK dependency tree. Subsequent builds use the Rust incremental cache and are significantly faster. The '--locked' flag ensures exact dependency versions from Cargo.lock are used. If compilation fails with 'linker not found', install build-essential (Linux: `sudo apt install build-essential clang`) or Xcode command line tools (macOS: `xcode-select --install`). On low-memory machines (less than 8 GB RAM), reduce parallel jobs: `CARGO_BUILD_JOBS=2 cargo build --release --locked`.", "expected_output": "Compiling parachain-template-node v0.1.0\n...\nFinished release [optimized] target(s)", "order": 3, - "working_directory": "polkadot-sdk-parachain-template" + "working_directory": "parachain-template" }, { "action": "Verify the binary was produced", @@ -2969,7 +2969,7 @@ "description": "Confirm the binary exists and reports its version. If the command fails with 'No such file or directory', the build did not complete successfully — review the cargo build output for compilation errors.", "expected_output": "parachain-template-node 0.1.0-...", "order": 4, - "working_directory": "polkadot-sdk-parachain-template" + "working_directory": "parachain-template" }, { "action": "Run the node in local development mode", @@ -2979,7 +2979,7 @@ "description": "Start the node in development mode. In --dev mode the node runs as a single collator without a relay chain connection, using a local chain spec and instant block production. This verifies the binary works correctly. The node will not produce blocks in this mode without a connected relay chain — the 'Idle' output is expected. Press Ctrl+C to stop. The next step in the parachain launch series covers connecting to a relay chain.", "expected_output": "Running in --dev mode\n...\nIdle (0 peers)", "order": 5, - "working_directory": "polkadot-sdk-parachain-template" + "working_directory": "parachain-template" } ], "supplementary_context": { @@ -3006,7 +3006,7 @@ ] }, "title": "Set Up the Polkadot SDK Parachain Template", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -7279,7 +7279,7 @@ ] }, "title": "Retrieve Polkadot Runtime Metadata", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index c2bf7d002..dea2a5cbd 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,31 +1,21 @@ { - "schema_version": "1", - "generated": "2026-05-27T20:07:59Z", - "summary": { - "total_candidates": 142, - "up_to_date": 43, - "stale": 19, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-05-27T20:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "create-polkadot-account" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "query-account-info-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -37,19 +27,19 @@ }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -99,11 +89,11 @@ }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "send-transactions-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -367,11 +357,11 @@ }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "set-up-parachain-template" ], - "status": "stale" + "status": "up_to_date" }, "parachains/runtime-maintenance/coretime-renewal.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -471,11 +461,11 @@ }, "reference/parachains/chain-data.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "stale" + "status": "up_to_date" }, "reference/parachains/consensus/async-backing.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -987,5 +977,15 @@ ], "status": "up_to_date" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 12, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 50 } } From ae10e96430ca72cb019c28c92943ce394a0c1e3a Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 20:24:30 +0000 Subject: [PATCH 10/40] chore: auto-generate/update skills --- agent_skills_config.json | 34 +++++++++++++++++++++++----------- skill_candidates.json | 14 +++++++------- skill_coverage.json | 34 +++++++++++++++++----------------- 3 files changed, 47 insertions(+), 35 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 91c4dd0bf..ed7ddf498 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:48473ed0268b1ad43e3dc30fd6536aff2cac742dc2482bfd3c52f0cd1b241a34", - "generated": "2026-05-27T20:30:00Z", + "content_hash": "ff27bbe7c12a064ba00fab795b77e88e4536dc5840311078181dd616f7c68694", + "generated": "2026-05-27T21:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -3588,7 +3588,7 @@ ] }, "title": "Set Up and Use Chopsticks for Chain Forking", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -3726,7 +3726,7 @@ ] }, "title": "Set Up End-to-End Testing with Moonwall", - "version": "1.0.1", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -5279,7 +5279,7 @@ ] }, "primary_page": "reference/tools/dedot.md", - "project_structure": "dedot-example/\n├── main.ts\n├── send-tx.ts\n└── package.json", + "project_structure": "dedot-example/\n├── main.ts\n├── send-tx.ts\n├── watch-events.ts\n└── package.json", "reference_code": { "base_path": ".snippets/code/reference/tools/dedot", "branch": "master", @@ -5291,6 +5291,10 @@ { "description": "Signs and submits a Balances.transfer extrinsic using a @polkadot/keyring keypair; demonstrates the full signTx flow", "path": "sign-and-send-tx-with-keyring.ts" + }, + { + "description": "Demonstrates watching for on-chain events using the client.events...watch() subscription pattern (system.NewAccount as example).", + "path": "watch-on-chain-events.ts" } ], "repo": "polkadot-developers/polkadot-docs" @@ -5348,6 +5352,13 @@ "order": 6, "reference_file": "sign-and-send-tx-with-keyring.ts", "working_directory": "dedot-example" + }, + { + "action": "Watch on-chain events", + "description": "Fetch the reference file `watch-on-chain-events.ts` and save it as `watch-events.ts`. The file demonstrates the event-watching pattern using `client.events.system.NewAccount.watch()`:\n\n```typescript\nconst unsub = await client.events.system.NewAccount.watch((events) => {\n console.log('New Account Created', events);\n});\n```\n\nIntegrate this in `main.ts` by adding it after the client connects and before `client.disconnect()`. Replace `system.NewAccount` with any `.` to watch a different event. Call `unsub()` to unsubscribe when done.", + "order": 7, + "reference_file": "watch-on-chain-events.ts", + "working_directory": "dedot-example" } ], "supplementary_context": { @@ -5368,7 +5379,7 @@ ] }, "title": "Interact with Polkadot Chains Using Dedot", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -5429,6 +5440,7 @@ ] }, "primary_page": "reference/tools/omninode.md", + "project_structure": "./\n└── chain_spec.json", "reference_code": { "base_path": "", "files": [], @@ -5440,7 +5452,7 @@ "steps": [ { "action": "Install polkadot-omni-node", - "description": "Download the pre-built binary for your platform from the Polkadot SDK releases page: https://github.com/paritytech/polkadot-sdk/releases\n\nFind the latest stable release tag (e.g., polkadot-stable2409-2 or similar). Look for the asset named:\n- macOS Apple Silicon: polkadot-omni-node-aarch64-apple-darwin\n- macOS Intel: polkadot-omni-node-x86_64-apple-darwin\n- Linux x86_64: polkadot-omni-node (no suffix)\n\nReplace INSERT_RELEASE_TAG with the full tag name (e.g., polkadot-stable2409-2):\n\nFor macOS:\n```\ncurl -L -o polkadot-omni-node https://github.com/paritytech/polkadot-sdk/releases/download/INSERT_RELEASE_TAG/polkadot-omni-node-aarch64-apple-darwin\nchmod +x polkadot-omni-node\nsudo mv polkadot-omni-node /usr/local/bin/\n```\n\nFor Ubuntu/Linux:\n```\ncurl -L -o polkadot-omni-node https://github.com/paritytech/polkadot-sdk/releases/download/INSERT_RELEASE_TAG/polkadot-omni-node\nchmod +x polkadot-omni-node\nsudo mv polkadot-omni-node /usr/local/bin/\n```\n\nAlternatively, install from source (requires Rust — see prerequisites). Replace INSERT_VERSION with the crate version listed on https://crates.io/crates/polkadot-omni-node:\n```\ncargo install --locked polkadot-omni-node@INSERT_VERSION\n```", + "description": "Download the pre-built binary for your platform from the Polkadot SDK releases page: https://github.com/paritytech/polkadot-sdk/releases\n\nFind the latest stable release tag (e.g., polkadot-stable2603). Look for the asset named:\n- macOS Apple Silicon: polkadot-omni-node-aarch64-apple-darwin\n- macOS Intel: polkadot-omni-node-x86_64-apple-darwin\n- Linux x86_64: polkadot-omni-node (no suffix)\n\nReplace INSERT_RELEASE_TAG with the full tag name (e.g., polkadot-stable2603):\n\nFor macOS:\n```\ncurl -L -o polkadot-omni-node https://github.com/paritytech/polkadot-sdk/releases/download/INSERT_RELEASE_TAG/polkadot-omni-node-aarch64-apple-darwin\nchmod +x polkadot-omni-node\nsudo mv polkadot-omni-node /usr/local/bin/\n```\n\nFor Ubuntu/Linux:\n```\ncurl -L -o polkadot-omni-node https://github.com/paritytech/polkadot-sdk/releases/download/INSERT_RELEASE_TAG/polkadot-omni-node\nchmod +x polkadot-omni-node\nsudo mv polkadot-omni-node /usr/local/bin/\n```\n\nAlternatively, install from source (requires Rust — see prerequisites). Replace INSERT_VERSION with the crate version (current: 0.14.0):\n```\ncargo install --locked polkadot-omni-node@INSERT_VERSION\n```", "order": 1, "working_directory": "." }, @@ -5485,7 +5497,7 @@ ] }, "title": "Run a Parachain Node with Polkadot Omni Node", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -5631,7 +5643,7 @@ ] }, "title": "Interact with a Polkadot Node Using Python Substrate Interface", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -5784,7 +5796,7 @@ ] }, "title": "Interact with a Polkadot Node Using Subxt (Rust)", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -7432,7 +7444,7 @@ ] }, "title": "Query and Transact on Polkadot Chains with the Polkadot.js API", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { diff --git a/skill_candidates.json b/skill_candidates.json index 3f0b1725e..81e68ae42 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -1499,7 +1499,7 @@ "title": "Retrieve Runtime Metadata" }, { - "built_at": "2026-04-21T19:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "tutorial", "notes": "Full end-to-end workflow: install, configure, fork a live chain, interact via JS API, replay blocks, and test XCM. Verifiable outcome ('you will see output indicating the RPC is listening'). Also contains a rich WebSocket API reference section (R1+R2+R3=12) that co-exists with the procedural content, but procedural score dominates at 20.", "priority": "high", @@ -1535,7 +1535,7 @@ "title": "Set Up and Use Chopsticks for Chain Forking" }, { - "built_at": "2026-05-19T15:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "guide", "notes": "Covers installation through reading on-chain data, querying storage, calling runtime APIs, and signing/sending transactions. No explicit prerequisites section (K3 absent) and no numbered ordered steps (P1 absent), so guide rather than tutorial. Category is ambiguous with reference (procedural=10, reference=8, diff=2); guide wins by Rule 3. High priority because the workflow is self-contained, code is complete, and the Dedot client is a first-class alternative to Polkadot.js in the ecosystem.", "priority": "high", @@ -1572,7 +1572,7 @@ "title": "Interact with Polkadot Chains Using Dedot" }, { - "built_at": "2026-04-21T19:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "guide", "notes": "Sequential workflow: install, initialize config via wizard, write a test suite, run tests. Verifiable outcome ('The test runner will output detailed results'). P1 absent because main flow lacks explicit numbered lists (wizard prompts are bullets, not ordered steps), putting procedural at 14 (below 15 threshold for tutorial). High priority due to self-contained workflow with prerequisites section, complete runnable code, and deterministic CLI-based execution.", "priority": "high", @@ -1605,7 +1605,7 @@ "title": "Set Up End-to-End Testing with Moonwall" }, { - "built_at": "2026-05-19T15:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "tutorial", "notes": "Complete tutorial: install binary (macOS/Ubuntu/cargo), obtain chain spec via numbered steps, launch a full node, interact with it. Verifiable outcome ('You should see the installed version number' and node sync logs). Includes runtime compatibility requirements with Rust code examples. K3 absent (no explicit prerequisites section), K4 absent (no reference repo for the tutorial itself).", "priority": "high", @@ -1676,7 +1676,7 @@ "title": "Interact with a Polkadot Chain Using Polkadart" }, { - "built_at": "2026-05-19T15:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "guide", "notes": "Covers installation, dynamic API generation, creating an API instance, reading chain constants/state, and sending transactions. Rubric yields priority=high (score=18) but overridden to medium: page carries a prominent maintenance-mode warning directing new projects to Dedot or PAPI. Building an agent skill around a deprecated library has limited value. Ambiguous guide/reference (procedural=11, reference=8, diff=3).", "priority": "medium", @@ -1745,7 +1745,7 @@ "title": "Bootstrap Parachain Development with Pop CLI" }, { - "built_at": "2026-05-19T15:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "guide", "notes": "Walks through installing the library, connecting to a node, reading chain state (account balance), and submitting a balance transfer — all CLI/SDK steps with no GUI dependencies. No explicit 'you should see' outcome language prevents P4 from firing. K2 not awarded because actual code lives in --8<-- snippet includes whose content is not visible in the page source.", "priority": "high", @@ -1776,7 +1776,7 @@ "title": "Interact with a Polkadot Node Using Python Substrate Interface" }, { - "built_at": "2026-05-19T15:30:00Z", + "built_at": "2026-05-27T21:00:00Z", "category": "tutorial", "notes": "Numbered installation steps (install CLI, add core deps), Rust/TOML files to create, and verifiable outcome language ('your Cargo.toml should look like this'). Covers the full workflow from prerequisites through reading chain constants/state and submitting a signed transaction. K2 not awarded due to INSERT_* placeholders (INSERT_NODE_URL, INSERT_ADDRESS, INSERT_SECRET_PHRASE) and unresolved {{dependencies.crates.*}} template variables.", "priority": "high", diff --git a/skill_coverage.json b/skill_coverage.json index dea2a5cbd..e402c5ed0 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-05-27T20:30:00Z", + "generated": "2026-05-27T21:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -577,19 +577,19 @@ }, "reference/tools/chopsticks.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/dedot.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/light-clients.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -599,19 +599,19 @@ }, "reference/tools/moonwall.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/omninode.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/papi.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -633,11 +633,11 @@ }, "reference/tools/polkadot-js-api.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/pop-cli.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -647,11 +647,11 @@ }, "reference/tools/py-substrate-interface.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/sidecar.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -661,11 +661,11 @@ }, "reference/tools/subxt.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:30:00Z", + "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/xcm-tools.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 12, + "stale": 5, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 50 + "up_to_date": 57 } } From a546774b9e5eeda4abc52b3f9731efe277e34479 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 20:34:00 +0000 Subject: [PATCH 11/40] chore: auto-generate/update skills --- agent_skills_config.json | 14 +++++++------- skill_coverage.json | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index ed7ddf498..2cd814936 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "ff27bbe7c12a064ba00fab795b77e88e4536dc5840311078181dd616f7c68694", - "generated": "2026-05-27T21:00:00Z", + "content_hash": "5e74dcca5c6ad87f629556a6c1016d655144e9f5700b2263fbde5171248ee0d7", + "generated": "2026-05-27T21:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -4085,7 +4085,7 @@ ] }, "title": "Deploy an ERC-20 Token Using Remix IDE", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -4557,7 +4557,7 @@ ] }, "title": "Deploy Contracts to Polkadot Hub with Viem", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -9608,7 +9608,7 @@ ] }, "title": "Deploy Uniswap V2 Core on Polkadot Hub (EVM)", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -9778,7 +9778,7 @@ ] }, "title": "Deploy Uniswap V2 Periphery (Router) on Polkadot Hub (EVM)", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -10132,7 +10132,7 @@ ] }, "title": "Deploy Uniswap V3 Periphery on Polkadot Hub (EVM)", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" } ] diff --git a/skill_coverage.json b/skill_coverage.json index e402c5ed0..8c1a46322 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-05-27T21:00:00Z", + "generated": "2026-05-27T21:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -707,19 +707,19 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -731,11 +731,11 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -763,11 +763,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -903,11 +903,11 @@ }, "smart-contracts/libraries/viem.md": { "last_edited": "2026-05-19T15:48:20+00:00", - "last_scanned": "2026-05-19T15:00:00Z", + "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { "last_edited": "2026-05-19T15:48:20+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 5, + "stale": 0, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 57 + "up_to_date": 62 } } From 27ac76be569adf2c990f77bb9ea4d820aa375212 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:08:47 +0000 Subject: [PATCH 12/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 406 ++++++++++++++++++------------------ 3 files changed, 205 insertions(+), 205 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index f633d421a..6dd86ee67 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-05-27T20:07:59Z", + "generated": "2026-06-02T05:08:46Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index 6574fee7d..ef01c1975 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-05-27T20:07:59Z", + "last_checked": "2026-06-02T05:08:46Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index 8c1a46322..03fb38a8f 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,582 +1,592 @@ { - "generated": "2026-05-27T21:30:00Z", + "schema_version": "1", + "generated": "2026-06-02T05:08:46Z", + "summary": { + "total_candidates": 142, + "up_to_date": 12, + "stale": 50, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "create-polkadot-account" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "query-account-info-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "send-transactions-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:00:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "create-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/get-started.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "up_to_date" + "status": "stale" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "set-up-parachain-template" ], - "status": "up_to_date" + "status": "stale" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T20:30:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "up_to_date" + "status": "stale" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "set-up-chopsticks-fork" @@ -584,7 +594,7 @@ "status": "up_to_date" }, "reference/tools/dedot.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-with-chain-dedot" @@ -592,13 +602,13 @@ "status": "up_to_date" }, "reference/tools/light-clients.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" @@ -606,7 +616,7 @@ "status": "up_to_date" }, "reference/tools/omninode.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "run-parachain-node-omni-node" @@ -614,25 +624,25 @@ "status": "up_to_date" }, "reference/tools/papi.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "use-polkadot-js-api" @@ -640,13 +650,13 @@ "status": "up_to_date" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-polkadot-node-py-substrate" @@ -654,13 +664,13 @@ "status": "up_to_date" }, "reference/tools/sidecar.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-polkadot-node-subxt" @@ -668,45 +678,45 @@ "status": "up_to_date" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "spawn-test-network-zombienet" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/connect.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "connect-polkadot-hub-testnet" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "build-dapp-viem-nextjs" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v2-core-evm" @@ -714,7 +724,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" @@ -722,15 +732,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" @@ -738,31 +748,31 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T21:30:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-erc20-token-remix" @@ -770,139 +780,139 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T22:00:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "set-up-local-dev-node" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T18:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/explorers.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "connect-wallet-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-contracts-ethers-js" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-contracts-viem" @@ -910,82 +920,72 @@ "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "use-wagmi-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T16:00:00Z", "skills": [ "deploy-interact-contracts-web3js" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "deploy-interact-contracts-web3py" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/overview.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-storage-precompile-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-system-precompile-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-05-19T15:48:20+00:00", + "last_edited": "2026-05-27T20:34:00+00:00", "last_scanned": "2026-05-19T20:00:00Z", "skills": [ "interact-xcm-precompile-remix" ], - "status": "up_to_date" + "status": "stale" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 0, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 62 } } From 87d88ec511ddefed3252102e41110045707baee8 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:16:02 +0000 Subject: [PATCH 13/40] chore: auto-generate/update skills --- agent_skills_config.json | 18 +++++++-------- skill_coverage.json | 50 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 2cd814936..c89855119 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "5e74dcca5c6ad87f629556a6c1016d655144e9f5700b2263fbde5171248ee0d7", - "generated": "2026-05-27T21:30:00Z", + "content_hash": "sha256:3af2bbdf1a6823afec6028cab46b45f4bf7f6b10d0dbaabc4a616ddf05d6fc33", + "generated": "2026-06-02T00:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -134,7 +134,7 @@ ] }, "title": "Create a Polkadot Account Programmatically", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -276,7 +276,7 @@ ] }, "title": "Query Account Information with SDKs", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -430,7 +430,7 @@ ] }, "title": "Query On-Chain State with SDKs", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -572,7 +572,7 @@ ] }, "title": "Call Runtime APIs with SDKs", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -1815,7 +1815,7 @@ ] }, "title": "Query On-Chain Data with Sidecar REST API", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -1961,7 +1961,7 @@ ] }, "title": "Estimate Transaction Fees with PAPI", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -2668,7 +2668,7 @@ ] }, "title": "Replay and Dry-Run XCMs Using Chopsticks", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 03fb38a8f..d215707f5 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,71 +1,61 @@ { - "schema_version": "1", - "generated": "2026-06-02T05:08:46Z", - "summary": { - "total_candidates": 142, - "up_to_date": 12, - "stale": 50, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-06-02T00:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -987,5 +977,15 @@ ], "status": "stale" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 43, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 19 } } From 760e46fa644dc894c8bf455cc5011997638a4b6c Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:26:46 +0000 Subject: [PATCH 14/40] chore: auto-generate/update skills --- agent_skills_config.json | 10 +++++----- skill_coverage.json | 32 ++++++++++++++++---------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index c89855119..1df859ba2 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:3af2bbdf1a6823afec6028cab46b45f4bf7f6b10d0dbaabc4a616ddf05d6fc33", - "generated": "2026-06-02T00:00:00Z", + "content_hash": "sha256:0d578c27008d532c3bd5f4fe98b2f6aa949072e9c19dbd768f7a282b3585c9fa", + "generated": "2026-06-02T10:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -9037,7 +9037,7 @@ "license": "CC-BY-4.0", "prerequisites": { "network": [ - "Internet access to Polkadot Hub TestNet RPC: https://services.polkadothub-rpc.com/testnet (alt: https://eth-rpc-testnet.polkadot.io/)", + "Internet access to Polkadot Hub TestNet RPC: https://eth-rpc-testnet.polkadot.io/ (Parity) or https://services.polkadothub-rpc.com/testnet/ (OpsLayer)", "Internet access to the PAS faucet: https://faucet.polkadot.io/" ], "wallet": [ @@ -9056,7 +9056,7 @@ "steps": [ { "action": "Select the target network and note its parameters", - "description": "Choose the network to configure. Reference parameters:\n\n**Polkadot Hub TestNet** (for development):\n- Chain ID: `420420417`\n- RPC: `https://services.polkadothub-rpc.com/testnet` (alt: `https://eth-rpc-testnet.polkadot.io/`)\n- Currency: PAS (18 decimals)\n- Block explorer: https://blockscout.passet-hub.parity-testnet.parity.io/\n\n**Polkadot Hub MainNet** (uses real DOT — use TestNet for development):\n- Chain ID: `420420419`\n- RPC: `https://eth-rpc.polkadot.io/`\n- Currency: DOT (10 decimals)\n\n**Kusama Hub** (canary network):\n- Chain ID: `420420418`\n- RPC: `https://eth-rpc-kusama.polkadot.io/`\n- Currency: KSM\n\nFor smart contract development, use Polkadot Hub TestNet (chain ID 420420417).", + "description": "Choose the network to configure. Reference parameters:\n\n**Polkadot Hub TestNet** (for development):\n- Chain ID: `420420417`\n- RPC (Parity): `https://eth-rpc-testnet.polkadot.io/`\n- RPC (OpsLayer): `https://services.polkadothub-rpc.com/testnet/`\n- WSS: `wss://asset-hub-paseo-rpc.n.dwellir.com`\n- Currency: PAS (18 decimals)\n- Block explorer (Blockscout): https://blockscout-testnet.polkadot.io/\n- Block explorer (Routescan): https://polkadot.testnet.routescan.io/\n\n**Polkadot Hub MainNet** (uses real DOT — use TestNet for development):\n- Chain ID: `420420419`\n- RPC (Parity): `https://eth-rpc.polkadot.io/`\n- RPC (OpsLayer): `https://services.polkadothub-rpc.com/mainnet/`\n- WSS: `wss://polkadot-asset-hub-rpc.polkadot.io`\n- Currency: DOT (10 decimals)\n\n**Kusama Hub** (canary network):\n- Chain ID: `420420418`\n- RPC (Parity): `https://eth-rpc-kusama.polkadot.io/`\n- WSS: `wss://kusama-asset-hub-rpc.polkadot.io`\n- Currency: KSM\n- Block explorer: https://blockscout-kusama.polkadot.io/\n\nFor smart contract development, use Polkadot Hub TestNet (chain ID 420420417).", "order": 1, "working_directory": "." }, @@ -9097,7 +9097,7 @@ ] }, "title": "Connect to Polkadot Hub Networks and Get Test Tokens", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index d215707f5..0ed05a7d3 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -89,11 +89,11 @@ }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -683,11 +683,11 @@ }, "smart-contracts/connect.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "connect-polkadot-hub-testnet" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -739,11 +739,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -755,11 +755,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T22:00:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -795,27 +795,27 @@ }, "smart-contracts/dev-environments/hardhat-polkadot.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T22:00:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T22:00:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/local-dev-node.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-local-dev-node" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/remix.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 43, + "stale": 36, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 19 + "up_to_date": 26 } } From 13511ce469fb852913d1084557e237e3c3aaa016 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:35:41 +0000 Subject: [PATCH 15/40] chore: auto-generate/update skills --- agent_skills_config.json | 27 ++++++++++++++------------- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 1df859ba2..c7d47942b 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:0d578c27008d532c3bd5f4fe98b2f6aa949072e9c19dbd768f7a282b3585c9fa", - "generated": "2026-06-02T10:00:00Z", + "content_hash": "sha256:ab1607333c2f425815e324acc2426c685bf9c4c606ac68e5ae8102ce394876cb", + "generated": "2026-06-02T12:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -4313,7 +4313,7 @@ ] }, "title": "Deploy Contracts to Polkadot Hub with Ethers.js", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -6001,7 +6001,7 @@ ] }, "title": "Deploy an ERC-721 NFT Using Hardhat", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -6082,9 +6082,10 @@ "steps": [ { "action": "Open Remix IDE and create the contract file", - "description": "Delegate to the user:\n(1) Navigate to https://remix.ethereum.org in your web browser.\n(2) Under the 'contracts' folder, click 'Create new file' and name it 'MyNFT.sol'.\n(3) Paste the following ERC-721 contract code:\n\n```solidity\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract MyNFT is ERC721, Ownable {\n uint256 private _nextTokenId;\n\n constructor(\n address initialOwner\n ) ERC721(\"MyToken\", \"MTK\") Ownable(initialOwner) {}\n\n function safeMint(address to) public onlyOwner {\n uint256 tokenId = _nextTokenId++;\n _safeMint(to, tokenId);\n }\n}\n```\n\nWait for the user to confirm the file has been created and the code pasted.\n\nTip: You can also generate a custom contract at https://wizard.openzeppelin.com/polkadot — paste the generated code instead if you want additional features.", + "description": "Fetch the reference file `MyNFT.sol`. It contains a minimal ERC-721 contract (ERC721 + Ownable) with a `safeMint(address to)` function and no URI storage extension.\n\nDelegate to the user:\n(1) Navigate to https://remix.ethereum.org in your web browser.\n(2) Under the 'contracts' folder, click 'Create new file' and name it 'MyNFT.sol'.\n(3) Paste the fetched contract code into the editor.\n\nWait for the user to confirm the file has been created and the code pasted.\n\nTip: You can also generate a custom contract at https://wizard.openzeppelin.com/polkadot — paste the generated code instead if you want additional features.", "interactive": true, "order": 1, + "reference_file": "MyNFT.sol", "working_directory": "." }, { @@ -6127,7 +6128,7 @@ ] }, "title": "Deploy an ERC-721 NFT Using Remix IDE", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -6313,7 +6314,7 @@ ] }, "title": "Use Foundry with Polkadot Hub", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -7575,7 +7576,7 @@ ] }, "title": "Deploy a Basic Smart Contract with Remix IDE", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -7689,7 +7690,7 @@ ] }, "title": "Connect Remix IDE to Polkadot Hub", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -9214,9 +9215,9 @@ { "action": "Install dependencies", "commands": [ - "npm install polkadot-api @polkadot-labs/hdkd @polkadot-labs/hdkd-helpers multiformats" + "npm install polkadot-api @polkadot-labs/hdkd @polkadot-labs/hdkd-helpers multiformats dotenv" ], - "description": "Install polkadot-api (typed chain client), hdkd and hdkd-helpers (key derivation), and multiformats (CID decoding).", + "description": "Install polkadot-api (typed chain client), hdkd and hdkd-helpers (key derivation), multiformats (CID decoding), and dotenv for secure mnemonic handling.", "order": 3, "working_directory": "bulletin-store-example" }, @@ -9242,7 +9243,7 @@ }, { "action": "Create store-data.ts", - "description": "Fetch the reference file and save as store-data.ts. The script uses a dev phrase by default. Modify to use your authorized account's mnemonic: replace the DEV_PHRASE usage with your actual mnemonic. Replace 'INSERT_IMAGE_PATH' with the path to the file you want to store (ask the user for this path before running). Save the file.", + "description": "Fetch the reference file and save as `store-data.ts`. Then apply these substitutions:\n\n1. Add `import 'dotenv/config';` as the very first line of the file.\n\n2. Replace the line:\n `const miniSecret = entropyToMiniSecret(mnemonicToEntropy(DEV_PHRASE));`\n with:\n `const miniSecret = entropyToMiniSecret(mnemonicToEntropy(process.env.MNEMONIC));`\n\n3. Remove `DEV_PHRASE` from the import on line 6 (from `@polkadot-labs/hdkd-helpers`). After the change, the import should read:\n `import { entropyToMiniSecret, mnemonicToEntropy } from '@polkadot-labs/hdkd-helpers';`\n\n4. Replace `'INSERT_IMAGE_PATH'` with the path to the file you want to store (ask the user for this path before running). For example: `'./my-image.png'`.\n\nSave the file. This completes the mnemonic wiring — the `MNEMONIC` value from your `.env` file will be used automatically when the script runs.", "order": 6, "reference_file": "store-data.ts", "working_directory": "bulletin-store-example" @@ -9270,7 +9271,7 @@ ] }, "title": "Store and Retrieve Data on the Bulletin Chain", - "version": "1.0.3", + "version": "1.1.0", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 0ed05a7d3..a2333b798 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-02T00:00:00Z", + "generated": "2026-06-02T12:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -97,11 +97,11 @@ }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -747,11 +747,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -771,27 +771,27 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/foundry.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -819,11 +819,11 @@ }, "smart-contracts/dev-environments/remix.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/explorers.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -895,11 +895,11 @@ }, "smart-contracts/libraries/ethers-js.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-contracts-ethers-js" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/viem.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 36, + "stale": 29, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 26 + "up_to_date": 33 } } From c4967fc2679c9a388e683e73c443118c7ada3c13 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:42:26 +0000 Subject: [PATCH 16/40] chore: auto-generate/update skills --- agent_skills_config.json | 16 ++++++++-------- skill_coverage.json | 32 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index c7d47942b..9f21a1eed 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,5 +1,5 @@ { - "content_hash": "sha256:ab1607333c2f425815e324acc2426c685bf9c4c606ac68e5ae8102ce394876cb", + "content_hash": "sha256:8d87a8898edc25798d38654d7e56f497821d9073d936ff9463d454c41e7d954a", "generated": "2026-06-02T12:00:00Z", "outputs": { "public_root": "/ai/", @@ -932,7 +932,7 @@ ] }, "title": "Install the Polkadot SDK", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -3326,7 +3326,7 @@ ] }, "title": "Set Up a Polkadot Validator Node", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -3437,7 +3437,7 @@ ] }, "title": "Validate Polkadot Validator Requirements", - "version": "1.0.0", + "version": "1.0.1", "workflow_pattern": "domain-intelligence" }, { @@ -5066,7 +5066,7 @@ ] }, "title": "Benchmark a FRAME Pallet and Generate Weight Files", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -6461,7 +6461,7 @@ ] }, "title": "Spawn and Test a Parachain Network with Zombienet", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -7995,7 +7995,7 @@ ] }, "title": "Build a Wagmi dApp Connected to Polkadot Hub", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { @@ -9949,7 +9949,7 @@ ] }, "title": "Deploy Uniswap V3 Core on Polkadot Hub (EVM)", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index a2333b798..355e9825d 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -175,11 +175,11 @@ }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -219,11 +219,11 @@ }, "node-infrastructure/run-a-validator/requirements.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T18:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -261,11 +261,11 @@ }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -299,11 +299,11 @@ }, "parachains/install-polkadot-sdk.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "stale" + "status": "up_to_date" }, "parachains/integrations/indexers.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -675,11 +675,11 @@ }, "reference/tools/zombienet.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "spawn-test-network-zombienet" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/connect.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -723,11 +723,11 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -911,11 +911,11 @@ }, "smart-contracts/libraries/wagmi.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "use-wagmi-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/web3-js.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 29, + "stale": 22, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 33 + "up_to_date": 40 } } From bba85e39b030e8f9be4279e8c81d13e256001b0b Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:49:22 +0000 Subject: [PATCH 17/40] chore: auto-generate/update skills --- agent_skills_config.json | 16 ++++++++-------- skill_candidates.json | 14 +++++++------- skill_coverage.json | 32 ++++++++++++++++---------------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 9f21a1eed..b488b06c0 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,5 +1,5 @@ { - "content_hash": "sha256:8d87a8898edc25798d38654d7e56f497821d9073d936ff9463d454c41e7d954a", + "content_hash": "sha256:2d3fd92ae0551676b689c70b462614217f102d74fa4a0c88345e401b253333fd", "generated": "2026-06-02T12:00:00Z", "outputs": { "public_root": "/ai/", @@ -2148,7 +2148,7 @@ ] }, "title": "Transfer Assets Between Parachains with ParaSpell XCM SDK", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -2301,7 +2301,7 @@ ] }, "title": "Pay Transaction Fees with an Alternative Token", - "version": "1.1.2", + "version": "1.1.3", "workflow_pattern": "sequential" }, { @@ -2453,7 +2453,7 @@ ] }, "title": "Run a Parachain RPC Node", - "version": "1.1.2", + "version": "1.1.3", "workflow_pattern": "sequential" }, { @@ -3169,7 +3169,7 @@ ] }, "title": "Run an RPC Node for Polkadot Hub", - "version": "1.1.2", + "version": "1.1.3", "workflow_pattern": "sequential" }, { @@ -3935,7 +3935,7 @@ ] }, "title": "Build a Zero-to-Hero Smart Contract DApp with Viem and Next.js", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -6653,7 +6653,7 @@ ] }, "title": "Deploy and Interact with Smart Contracts Using Web3.js", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -9439,7 +9439,7 @@ ] }, "title": "Deploy Uniswap V2 Core on Polkadot Hub (PVM)", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { diff --git a/skill_candidates.json b/skill_candidates.json index 81e68ae42..fd469e5ff 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -299,7 +299,7 @@ "title": "Bridge Assets from Ethereum to Polkadot via Snowbridge" }, { - "built_at": "2026-04-21T18:30:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "Covers full XCM transfer workflow using ParaSpell SDK: build transaction, dry-run, verify existential deposit, get fee estimates, and submit. Uses Paseo testnet with faucet tokens. Self-contained. No cookbook badge.", "priority": "high", @@ -332,7 +332,7 @@ "title": "Transfer Assets Between Parachains with ParaSpell XCM SDK" }, { - "built_at": "2026-04-21T18:30:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "Demonstrates paying DOT transfer fees in USDT using PAPI, Polkadot.js, or Subxt against a Chopsticks local fork (Alice dev account — no real tokens needed). Self-contained. No cookbook badge.", "priority": "high", @@ -587,7 +587,7 @@ "title": "Run a Block-Producing Collator for a System Parachain" }, { - "built_at": "2026-04-21T18:30:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "Comprehensive setup guide for any parachain RPC node (archive or pruned) via Docker or systemd. Uses People Chain as example; substitution table provided for other system parachains. Covers snapshot download, binary install, service config, and sync verification. Node/validator setup shape.", "priority": "high", @@ -620,7 +620,7 @@ "title": "Run a Parachain RPC Node" }, { - "built_at": "2026-04-21T19:00:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "Setup guide for Polkadot Hub RPC node (archive or pruned) via Docker or systemd, plus optional Ethereum RPC adapter (eth-rpc) for EVM compatibility. Includes snapshot download, service config, and sync verification. CLI flags reference table (R2) is supplementary. Node/validator setup shape.", "priority": "high", @@ -1880,7 +1880,7 @@ "title": "Connect to Polkadot Hub and Get Test Tokens" }, { - "built_at": "2026-04-21T20:00:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "End-to-end tutorial covering Hardhat contract creation and deployment plus a full Next.js/Viem dApp with wallet connect, read, and write components. All steps are on one page (K1 = 5). Reference repo revm-hardhat-examples is listed in context.md (K4 = 3). K2 = 0 due to INSERT_PRIVATE_KEY_HERE placeholder in .env. The CONTRACT_ADDRESS TODO comment in contract.ts is a developer note, not a blocking placeholder. Workflow is predominantly CLI-driven (S1 = 4); MetaMask interactions are the end-product being built, not tutorial build steps.", "priority": "high", @@ -2457,7 +2457,7 @@ "title": "Use Wagmi to Interact with Smart Contracts on Polkadot Hub" }, { - "built_at": "2026-04-21T21:30:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "Complete end-to-end tutorial: project init, provider setup, Solidity compilation, contract deployment, and interaction — all via CLI Node.js scripts. Explicit prerequisites section (K3) and fully CLI-driven workflow (S1). Priority score hits the high threshold at 18. Note: the page carries a sunset warning for Web3.js and recommends Ethers.js or Viem instead; a skill built from this page should include that deprecation notice.", "priority": "high", @@ -2693,7 +2693,7 @@ "title": "Store and Retrieve Data on the Bulletin Chain" }, { - "built_at": "2026-05-19T21:30:00Z", + "built_at": "2026-06-02T12:00:00Z", "category": "tutorial", "notes": "PVM variant using polkavm-hardhat-examples repo. K1 awarded for the deploy-to-TestNet workflow, which is standalone; the local-node testing step references the Local Dev Node guide but the deployment outcome is achievable without it. K4 awarded — polkavm-hardhat-examples is listed in context.md.", "priority": "high", diff --git a/skill_coverage.json b/skill_coverage.json index 355e9825d..a0bdb209d 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -73,19 +73,19 @@ }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -135,19 +135,19 @@ }, "node-infrastructure/run-a-node/parachain-rpc.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -691,19 +691,19 @@ }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "build-dapp-viem-nextjs" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -919,11 +919,11 @@ }, "smart-contracts/libraries/web3-js.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T16:00:00Z", + "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-interact-contracts-web3js" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/web3-py.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 22, + "stale": 15, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 40 + "up_to_date": 47 } } From 7aed04e9b2c4d9773ec81551b39b44b3bebda90e Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 05:59:27 +0000 Subject: [PATCH 18/40] chore: auto-generate/update skills --- agent_skills_config.json | 110 +++++++++++++++++++++++++-------------- skill_coverage.json | 34 ++++++------ 2 files changed, 88 insertions(+), 56 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index b488b06c0..5406a0647 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:2d3fd92ae0551676b689c70b462614217f102d74fa4a0c88345e401b253333fd", - "generated": "2026-06-02T12:00:00Z", + "content_hash": "sha256:ab6faf503d754189d8f335ce81754e742dbccbe43c904f0a7933bf2c94263565", + "generated": "2026-06-02T14:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -2859,53 +2859,65 @@ ] }, "title": "Estimate XCM Fees for Asset Teleport", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { "chain_role": "isolated", - "description": "Clones the Polkadot SDK Parachain Template, compiles it in release mode, and runs a local development node to verify the build and environment. Use as the first step in the parachain launch workflow before registering on Paseo testnet or a local relay chain. Requires the Polkadot SDK build environment from the install-polkadot-sdk skill. The template provides a minimal parachain runtime with Aura consensus, FRAME pallets, and a pre-configured Cumulus integration. Trigger phrases: 'parachain template', 'set up parachain Polkadot SDK', 'clone parachain template', 'build parachain template', 'Polkadot SDK parachain starter'. First step in the three-page parachain launch series.", + "description": "Clones the Polkadot SDK Parachain Template, installs the chain-spec-builder and polkadot-omni-node utilities, compiles the runtime in release mode, generates a development chain specification, and launches the node locally using polkadot-omni-node. Use as the first step in the parachain launch workflow before registering on Paseo testnet. Requires the Polkadot SDK build environment from the install-polkadot-sdk skill. Trigger phrases: 'parachain template', 'set up parachain Polkadot SDK', 'clone parachain template', 'build parachain template', 'polkadot-omni-node', 'chain-spec-builder parachain', 'Polkadot SDK parachain starter'.", "env_vars": [], "error_patterns": [ { "cause": "The wasm32-unknown-unknown target is not installed in the Rust toolchain.", "pattern": "error[E0463]: can't find crate for 'std' / wasm32 target missing", - "resolution": "Run: rustup target add wasm32-unknown-unknown. If using a specific toolchain version, prefix with rustup target add wasm32-unknown-unknown --toolchain stable." + "resolution": "Run: `rustup target add wasm32-unknown-unknown`. If using a specific toolchain version, prefix with `--toolchain stable`." }, { "cause": "C/C++ build tools are not installed on the system.", "pattern": "error: linking with 'cc' failed / linker not found", - "resolution": "On Ubuntu/Debian: sudo apt install build-essential clang. On macOS: xcode-select --install. Then re-run cargo build --release." + "resolution": "On Ubuntu/Debian: `sudo apt install build-essential clang`. On macOS: `xcode-select --install`. Then re-run `cargo build --release`." }, { "cause": "Insufficient RAM for parallel Rust compilation — cargo uses one thread per CPU core by default.", "pattern": "Killed / process killed during compilation / OOM", - "resolution": "Reduce parallel compilation jobs: CARGO_BUILD_JOBS=2 cargo build --release. Consider adding swap space on Linux: sudo fallocate -l 4G /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile." + "resolution": "Reduce parallel compilation jobs: `CARGO_BUILD_JOBS=2 cargo build --release`. Consider adding swap space on Linux: `sudo fallocate -l 4G /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile`." }, { "cause": "Cargo.lock is out of sync with the current Polkadot SDK release pinned in Cargo.toml.", "pattern": "error: package 'polkadot-sdk' not found / version mismatch in Cargo.lock", - "resolution": "Run cargo update to refresh the lock file to the latest compatible versions, then retry cargo build --release." + "resolution": "Run `cargo update` to refresh the lock file, then retry `cargo build --release`." + }, + { + "cause": "chain-spec-builder was not installed or is not in PATH.", + "pattern": "chain-spec-builder: command not found", + "resolution": "Run `cargo install --locked staging-chain-spec-builder`. Verify it's in PATH with `which chain-spec-builder`." + }, + { + "cause": "polkadot-omni-node was not installed or is not in PATH.", + "pattern": "polkadot-omni-node: command not found", + "resolution": "Run `cargo install --locked polkadot-omni-node`. Verify it's in PATH with `which polkadot-omni-node`." } ], "examples": [ { "actions": [ "Confirm Rust toolchain with wasm32 target is installed (install-polkadot-sdk skill if not)", + "Install chain-spec-builder and polkadot-omni-node via cargo install", "Clone parachain-template from GitHub", - "Run cargo build --release in the cloned directory (allow 20-60 minutes)", - "Verify with ./target/release/parachain-template-node --version", - "Start in dev mode with ./target/release/parachain-template-node --dev to confirm it works" + "Run cargo build --release --locked in the cloned directory (allow 20-60 minutes)", + "Verify Wasm blob exists at ./target/release/wbuild/parachain-template-runtime/", + "Generate chain_spec.json with chain-spec-builder", + "Start node with polkadot-omni-node --chain ./chain_spec.json --dev" ], - "result": "Template node built and running in dev mode; environment confirmed ready for the next parachain launch step", + "result": "Parachain template node built and running in dev mode; chain spec generated; environment confirmed ready for the next parachain launch step", "scenario": "Common scenario: first-time parachain developer setting up the template", "user_says": "How do I get the Polkadot SDK Parachain Template running on my machine?" }, { "actions": [ "Set CARGO_BUILD_JOBS=2 to limit parallel compilation threads", - "Add at least 4 GB of swap space: sudo fallocate -l 4G /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile", - "Re-run CARGO_BUILD_JOBS=2 cargo build --release" + "Add at least 4 GB of swap space: `sudo fallocate -l 4G /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile`", + "Re-run `CARGO_BUILD_JOBS=2 cargo build --release --locked`" ], "result": "Build completes successfully with reduced memory pressure from limited parallel jobs", "scenario": "Edge case: build is killed due to out-of-memory on a low-spec machine", @@ -2919,12 +2931,12 @@ "runtime": [ "Rust toolchain with wasm32-unknown-unknown target — complete the install-polkadot-sdk skill first", "Git", - "Disk: at least 5 GB free for the build artifacts", + "Disk: at least 5 GB free for build artifacts", "RAM: 8 GB minimum; 16 GB recommended for parallel compilation" ] }, "primary_page": "parachains/launch-a-parachain/set-up-the-parachain-template.md", - "project_structure": "parachain-template/\n├── node/\n├── pallets/\n│ └── template/\n├── runtime/\n├── Cargo.toml\n├── Cargo.lock\n└── README.md", + "project_structure": "parachain-template/\n├── node/\n├── pallets/\n│ └── template/\n├── runtime/\n├── target/\n│ └── release/\n│ └── wbuild/\n│ └── parachain-template-runtime/\n│ └── parachain_template_runtime.compact.compressed.wasm\n├── chain_spec.json\n├── Cargo.toml\n├── Cargo.lock\n└── README.md", "reference_code": { "base_path": "", "branch": "", @@ -2935,50 +2947,70 @@ "parachains/launch-a-parachain/set-up-the-parachain-template.md" ], "steps": [ + { + "action": "Install chain-spec-builder and polkadot-omni-node", + "commands": [ + "cargo install --locked staging-chain-spec-builder", + "cargo install --locked polkadot-omni-node" + ], + "description": "Install the two Polkadot SDK utility tools required to generate a chain specification and run your parachain node. The `cargo install` path is OS-agnostic and builds from source using the version pinned in the official crates.io registry. Alternatively, download pre-built binaries from the Polkadot SDK GitHub release page at https://github.com/paritytech/polkadot-sdk/releases — choose the tag matching the parachain template's SDK version pin. On macOS (Apple Silicon) use the `aarch64-apple-darwin` suffix; on Ubuntu/Linux use the unsuffixed binary. After downloading: `chmod +x chain-spec-builder polkadot-omni-node && sudo mv chain-spec-builder polkadot-omni-node /usr/local/bin/`.", + "order": 1, + "working_directory": "." + }, { "action": "Clone the Polkadot SDK Parachain Template", "commands": [ "git clone https://github.com/paritytech/polkadot-sdk-parachain-template.git parachain-template", "cd parachain-template" ], - "description": "Clone the official Polkadot SDK Parachain Template repository into a directory named 'parachain-template'. The template contains a minimal parachain runtime with Aura consensus, standard FRAME pallets, and Cumulus integration for relay chain connectivity.", - "order": 1, + "description": "Clone the official Polkadot SDK Parachain Template into a directory named 'parachain-template'. The template contains a minimal parachain runtime with Aura consensus, standard FRAME pallets, and Cumulus integration for relay chain connectivity.", + "order": 2, "working_directory": "." }, { "action": "Review the template directory structure", "description": "Familiarize yourself with the key directories before building: 'node/' contains the node binary crate (CLI, RPC, service); 'runtime/' contains the parachain runtime (pallets, weights, Wasm); 'pallets/' contains a sample custom pallet. The 'Cargo.toml' at the root defines the workspace. No files need to be created or modified for the initial setup — the default configuration targets a local development network.", - "order": 2, + "order": 3, "working_directory": "parachain-template" }, { - "action": "Build the parachain node in release mode", + "action": "Compile the parachain runtime in release mode", "commands": [ "cargo build --release --locked" ], - "description": "Compile the parachain node and runtime in release mode with locked dependencies. This step is time-consuming (20-60 minutes on first build) because it compiles the entire Polkadot SDK dependency tree. Subsequent builds use the Rust incremental cache and are significantly faster. The '--locked' flag ensures exact dependency versions from Cargo.lock are used. If compilation fails with 'linker not found', install build-essential (Linux: `sudo apt install build-essential clang`) or Xcode command line tools (macOS: `xcode-select --install`). On low-memory machines (less than 8 GB RAM), reduce parallel jobs: `CARGO_BUILD_JOBS=2 cargo build --release --locked`.", - "expected_output": "Compiling parachain-template-node v0.1.0\n...\nFinished release [optimized] target(s)", - "order": 3, + "description": "Compile the parachain runtime in release mode with locked dependencies. This step is time-consuming (20-60 minutes on first build) because it compiles the entire Polkadot SDK dependency tree. Subsequent builds use the Rust incremental cache and are significantly faster. The '--locked' flag ensures exact dependency versions from Cargo.lock are used. If compilation fails with 'linker not found', install build-essential (Linux: `sudo apt install build-essential clang`) or Xcode command line tools (macOS: `xcode-select --install`). On low-memory machines (less than 8 GB RAM), reduce parallel jobs: `CARGO_BUILD_JOBS=2 cargo build --release --locked`.", + "expected_output": "Finished release [optimized] target(s)", + "order": 4, "working_directory": "parachain-template" }, { - "action": "Verify the binary was produced", + "action": "Verify the compiled Wasm runtime blob", "commands": [ - "./target/release/parachain-template-node --version" + "ls -la ./target/release/wbuild/parachain-template-runtime/" ], - "description": "Confirm the binary exists and reports its version. If the command fails with 'No such file or directory', the build did not complete successfully — review the cargo build output for compilation errors.", - "expected_output": "parachain-template-node 0.1.0-...", - "order": 4, + "description": "Confirm the Wasm runtime blob was produced at `./target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm`. If the file is absent, the build did not complete successfully — review the `cargo build` output for compilation errors.", + "expected_output": "parachain_template_runtime.compact.compressed.wasm", + "order": 5, "working_directory": "parachain-template" }, { - "action": "Run the node in local development mode", + "action": "Generate the development chain specification", "commands": [ - "./target/release/parachain-template-node --dev" + "chain-spec-builder create -t development --relay-chain paseo --para-id 1000 --runtime ./target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm named-preset development" ], - "description": "Start the node in development mode. In --dev mode the node runs as a single collator without a relay chain connection, using a local chain spec and instant block production. This verifies the binary works correctly. The node will not produce blocks in this mode without a connected relay chain — the 'Idle' output is expected. Press Ctrl+C to stop. The next step in the parachain launch series covers connecting to a relay chain.", - "expected_output": "Running in --dev mode\n...\nIdle (0 peers)", - "order": 5, + "description": "Use `chain-spec-builder` to create a development chain specification for your parachain. `-t development` selects the development chain type. `--relay-chain paseo` specifies Paseo as the relay chain. `--para-id 1000` sets the parachain ID for local development. `named-preset development` selects the development genesis preset. This creates a `chain_spec.json` file in the current directory.", + "expected_output": "Wrote chain spec to chain_spec.json", + "order": 6, + "working_directory": "parachain-template" + }, + { + "action": "Start the node in development mode with polkadot-omni-node", + "commands": [ + "polkadot-omni-node --chain ./chain_spec.json --dev" + ], + "description": "Launch the parachain using `polkadot-omni-node` with the generated chain spec. The `--dev` flag starts the node without a relay chain connection, enables instant block finality, and purges all state on stop — giving a clean working state each restart. Verify the node is running by watching for increasing `finalized` block numbers in the log output. Press Ctrl+C to stop. The node is accessible at `ws://localhost:9944` for Polkadot.js Apps connections.", + "expected_output": "Running in --dev mode\n...\nfinalized #1", + "order": 7, "working_directory": "parachain-template" } ], @@ -3006,7 +3038,7 @@ ] }, "title": "Set Up the Polkadot SDK Parachain Template", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -4699,7 +4731,7 @@ ] }, "title": "Set Up a Mock Runtime for Pallet Unit Testing", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -4857,7 +4889,7 @@ ] }, "title": "Write Unit Tests for a FRAME Pallet", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -6826,7 +6858,7 @@ ] }, "title": "Add an Existing Pallet to a Parachain Runtime", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -6996,7 +7028,7 @@ ] }, "title": "Configure Multiple Instances of a Pallet in a Runtime", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -7173,7 +7205,7 @@ ] }, "title": "Create a Custom FRAME Pallet", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index a0bdb209d..de2f6108e 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-02T12:00:00Z", + "generated": "2026-06-02T14:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -59,11 +59,11 @@ }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -239,19 +239,19 @@ }, "parachains/customize-runtime/add-existing-pallets.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/add-pallet-instances.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -269,27 +269,27 @@ }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "create-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/get-started.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -357,11 +357,11 @@ }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-parachain-template" ], - "status": "stale" + "status": "up_to_date" }, "parachains/runtime-maintenance/coretime-renewal.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 15, + "stale": 8, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 47 + "up_to_date": 54 } } From 44dbea50c85043b45a2611d81369a06838f7f564 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 06:09:36 +0000 Subject: [PATCH 19/40] chore: auto-generate/update skills --- agent_skills_config.json | 24 ++++++++++++------------ skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 5406a0647..51f2febbd 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:ab6faf503d754189d8f335ce81754e742dbccbe43c904f0a7933bf2c94263565", - "generated": "2026-06-02T14:00:00Z", + "content_hash": "sha256:5b6eacc98f5fc204f45df8883904330d24337c9978750ee1ecdd1e5d41b83c7f", + "generated": "2026-06-02T15:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -7324,7 +7324,7 @@ ] }, "title": "Retrieve Polkadot Runtime Metadata", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -7815,7 +7815,7 @@ }, { "action": "Alternative: Add Polkadot Hub TestNet to Talisman", - "description": "If the user prefers Talisman instead of MetaMask, instruct them: Open the Talisman extension and click on the Talisman icon in the browser toolbar. Click the 'More' button. Click 'Manage Networks'. Click the '+ Add network' button. Fill in the following details:\n- RPC URL: https://services.polkadothub-rpc.com/testnet\n- Chain ID: 420420417\n- Currency symbol: PAS\nClick Save. Polkadot Hub TestNet will now appear in the Talisman network list.", + "description": "If the user prefers Talisman instead of MetaMask, instruct them through these six steps: (1) Install the Talisman extension from https://talisman.xyz/download and complete the setup wizard. (2) Click the Talisman icon in the browser toolbar, then click the 'More' button. (3) Click the 'Manage Networks' button. (4) Click the '+ Add network' button. (5) Fill in the network form with these exact values and click Save:\n- RPC URL: https://services.polkadothub-rpc.com/testnet\n- Chain ID: 420420417\n- Currency symbol: PAS\n(6) Polkadot Hub TestNet will now appear in the Talisman network list. After selecting the network, Talisman automatically configures the necessary RPC URL and chain ID.", "order": 5, "working_directory": "." } @@ -7844,7 +7844,7 @@ ] }, "title": "Connect a Wallet to Polkadot Hub", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -8204,7 +8204,7 @@ ] }, "title": "Deploy and Interact with Smart Contracts on Polkadot Hub Using Web3.py", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -8288,7 +8288,7 @@ "steps": [ { "action": "Identify the ERC-20 precompile address for your asset", - "description": "The ERC-20 precompile addresses are deterministic based on asset ID. Well-known Trust-Backed Assets on Polkadot Hub MainNet:\n- USDt (asset ID 1984): `0x000007C000000000000000000000000001200000`\n- USDC (asset ID 1337): `0x0000053900000000000000000000000001200000`\n\nAddress formula for Trust-Backed Assets: `0x` + assetId (8 hex digits, zero-padded) + 24 zero digits + `01200000`.\n\nFor Foreign Assets, use suffix `02200000` with the foreign asset index (not the XCM Location). For Pool Assets, use suffix `03200000`. Load https://docs.polkadot.com/smart-contracts/precompiles/erc20.md for the address converter and complete reference. Note the address you intend to use — it is required in step 4.", + "description": "The ERC-20 precompile addresses are deterministic based on asset ID. Well-known Trust-Backed Assets on Polkadot Hub MainNet:\n- USDt (asset ID 1984): `0x000007C000000000000000000000000001200000`\n- USDC (asset ID 1337): `0x0000053900000000000000000000000001200000`\n\nAddress formula for Trust-Backed Assets: `0x` + assetId (8 hex digits, zero-padded) + 24 zero digits + `01200000`.\n\nFor Foreign Assets, use suffix `02200000` with the foreign asset index (not the XCM Location). To look up a Foreign Asset's index: (1) Open Polkadot.js Apps and connect to Polkadot Hub. (2) Navigate to Developer > Chain state. (3) Select the 'foreignAssets' module and the 'asset' storage method. (4) Click the '+' button to query all entries. (5) The integer key displayed next to each result is the foreign asset index — use it in the address formula with suffix `02200000`.\n\nFor Pool Assets, use suffix `03200000`. The source page at https://docs.polkadot.com/smart-contracts/precompiles/erc20.md includes an HTML address converter widget. Note the address you intend to use — it is required in step 4.", "order": 1, "working_directory": "." }, @@ -8354,7 +8354,7 @@ ] }, "title": "Interact with the ERC-20 Precompile on Polkadot Hub via Remix", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -8505,7 +8505,7 @@ ] }, "title": "Interact with the Storage Precompile on Polkadot Hub via Remix", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -8659,12 +8659,12 @@ ] }, "title": "Interact with the System Precompile on Polkadot Hub via Remix", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { "chain_role": "isolated", - "description": "Guides you through creating an IXcm Solidity interface in Remix, loading the XCM precompile at 0x00000000000000000000000000000000000a0000, and calling weighMessage, execute, and send functions. Use when you need to test XCM message dispatch from a smart contract, estimate XCM execution weight, or send cross-chain messages from Polkadot Hub via Solidity. All interaction is browser-based using Remix IDE with MetaMask. The source page includes an example SCALE-encoded XCM message for testing weighMessage. Trigger phrases: 'XCM precompile', 'send XCM from contract', 'weighMessage', 'xcm execute', 'cross-chain from Solidity', 'IXcm interface'. Output: XCM weight estimates and on-chain transaction receipts.", + "description": "Guides you through creating an IXcm Solidity interface in Remix, loading the XCM precompile at 0x00000000000000000000000000000000000a0000, and calling weighMessage, execute, and send functions. Also covers invoking the XCM precompile via cross-contract calls from Hardhat. Use when you need to test XCM message dispatch from a smart contract, estimate XCM execution weight, send cross-chain messages from Polkadot Hub via Solidity, or call the precompile from another contract. All browser-based interaction uses Remix IDE with MetaMask. The source page includes an example SCALE-encoded XCM message for testing weighMessage. Trigger phrases: 'XCM precompile', 'send XCM from contract', 'weighMessage', 'xcm execute', 'cross-chain from Solidity', 'IXcm interface', 'cross contract xcm'. Output: XCM weight estimates and on-chain transaction receipts.", "env_vars": [], "error_patterns": [ { @@ -8816,7 +8816,7 @@ ] }, "title": "Interact with the XCM Precompile via Remix IDE", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index de2f6108e..ada796f2f 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-02T14:00:00Z", + "generated": "2026-06-02T15:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -461,11 +461,11 @@ }, "reference/parachains/chain-data.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-27T20:30:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "stale" + "status": "up_to_date" }, "reference/parachains/consensus/async-backing.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -887,11 +887,11 @@ }, "smart-contracts/integrations/wallets.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "connect-wallet-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/ethers-js.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -927,11 +927,11 @@ }, "smart-contracts/libraries/web3-py.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "deploy-interact-contracts-web3py" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/overview.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -941,11 +941,11 @@ }, "smart-contracts/precompiles/erc20.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/precompiles/eth-native.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -955,37 +955,37 @@ }, "smart-contracts/precompiles/storage.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-storage-precompile-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/precompiles/system.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-system-precompile-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/precompiles/xcm.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T20:00:00Z", + "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], - "status": "stale" + "status": "up_to_date" } }, "schema_version": "1", "summary": { "blocked": 23, "not_applicable": 12, - "stale": 8, + "stale": 1, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 54 + "up_to_date": 61 } } From 2f7f5d79bc1e10fce95169dc6a2ad4619201a2c2 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 06:15:47 +0000 Subject: [PATCH 20/40] chore: auto-generate/update skills --- agent_skills_config.json | 22 +++++++++++----------- skill_coverage.json | 10 +++++----- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 51f2febbd..a14aadaa8 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:5b6eacc98f5fc204f45df8883904330d24337c9978750ee1ecdd1e5d41b83c7f", - "generated": "2026-06-02T15:30:00Z", + "content_hash": "sha256:4f3af0762a5ef8e59cc8af91de31a06c4d1a609df178661d5c99f5b6dc1ccd3a", + "generated": "2026-06-02T16:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -8840,9 +8840,9 @@ "resolution": "Verify the Parathreads tab shows 'Onboarding' for PARA_ID. Confirm chain_spec_raw.json contains the correct para_id. Registration takes up to one epoch (600 blocks on Paseo)." }, { - "cause": "The collator was started without '--rpc-methods=Unsafe'.", - "pattern": "author_insertKey: 'Method not found'", - "resolution": "Stop the collator, add '--rpc-methods=Unsafe' to the startup command, and restart. Never expose unsafe RPC methods to external network interfaces." + "cause": "Session key insertion attempted before the collator is fully started, or using the wrong RPC port (relay chain port instead of collator port).", + "pattern": "author_insertKey: curl: Connection refused or 'Method not found'", + "resolution": "Ensure the collator is running and syncing (look for log: 'Parachain synced'). Use port 8845 for the collator RPC (not port 9988, which is the embedded relay chain RPC). Note: `--rpc-methods=Unsafe` is no longer required for author_insertKey — the method is available by default." } ], "examples": [ @@ -8906,7 +8906,7 @@ "steps": [ { "action": "Obtain PAS tokens from the faucet", - "description": "Delegate to the user: Open https://faucet.polkadot.io/, select the 'Paseo' network, paste your SS58 account address, and submit. The faucet delivers 500 PAS per request. Verify the balance in Polkadot.js Apps before proceeding.", + "description": "Delegate to the user: Open https://faucet.polkadot.io/, select the 'Paseo' network, paste your SS58 account address, and submit. The faucet delivers 5000 PAS tokens per request. Verify the balance in Polkadot.js Apps before proceeding.", "interactive": true, "order": 1, "working_directory": "." @@ -8922,10 +8922,10 @@ { "action": "Generate collator session keys using subkey (Docker)", "commands": [ - "docker run --rm -it parity/subkey generate --scheme sr25519", - "docker run --rm -it parity/subkey generate --scheme ed25519" + "docker run -it parity/subkey:latest generate --scheme sr25519", + "docker run -it parity/subkey:latest generate --scheme sr25519" ], - "description": "Run both commands. The first produces an SR25519 key (used for Aura block production); the second produces an ED25519 key (used for GRANDPA finality). Record both seed phrases and Account IDs securely. Never share the seed phrases. Save SR25519 Account ID as AURA_KEY and ED25519 Account ID as GRANDPA_KEY.", + "description": "Run the command twice: the first run produces the account key (used to manage funds and interact with the network — never store this on the collator filesystem); the second run produces the session key (stored in the parachain keystore for Aura block production — treat as a hot wallet and rotate regularly). Both keys are SR25519. Record all seed phrases and Account IDs securely. Save the first Account ID as ACCOUNT_KEY_SS58 and the second as SESSION_KEY_SS58. Session keys are inserted into the collator keystore in step 10.", "order": 3, "working_directory": "." }, @@ -8934,7 +8934,7 @@ "commands": [ "chain-spec-builder --chain-spec-path ./plain_chain_spec.json create --relay-chain paseo --para-id INSERT_PARA_ID --runtime target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm named-preset local_testnet" ], - "description": "Replace INSERT_PARA_ID with the value of PARA_ID from step 2 (e.g., 2000). This produces 'plain_chain_spec.json'. Then open 'plain_chain_spec.json' and make these edits: (1) Set the 'id' field to a unique string (e.g., 'my-parachain-paseo'). (2) Insert AURA_KEY and GRANDPA_KEY (from step 3) into the 'aura' and 'grandpa' genesis sections. (3) Confirm 'para_id' equals PARA_ID. Use the named-preset local_testnet. Save the file.", + "description": "Replace INSERT_PARA_ID with the value of PARA_ID from step 2 (e.g., 4508). This produces 'plain_chain_spec.json'. Then open 'plain_chain_spec.json' and make ALL of these edits:\n\n- `name`, `id`, and `protocolId` → set to unique values for your parachain (e.g., `\"id\": \"my-parachain-paseo\"`).\n- `para_id` and `parachainInfo.parachainId` → set to PARA_ID as a number without quotes (e.g., `4508`).\n- `balances` → list initial account balances in SS58 format.\n- `collatorSelection.invulnerables` → list the account key SS58 addresses (ACCOUNT_KEY_SS58 from step 3).\n- `session.keys` → list the session key SS58 addresses (SESSION_KEY_SS58 from step 3) with the `aura` scheme.\n- `sudo` → set the account that will have sudo access.\n\nSave the file after all edits are applied.", "order": 4, "working_directory": "parachain-template" }, @@ -9019,7 +9019,7 @@ ] }, "title": "Deploy a Parachain to the Polkadot TestNet (Paseo)", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index ada796f2f..1e1014eab 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-02T15:30:00Z", + "generated": "2026-06-02T16:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -343,11 +343,11 @@ }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { "last_edited": "2026-05-27T20:34:00+00:00", - "last_scanned": "2026-05-19T21:30:00Z", + "last_scanned": "2026-06-02T16:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/launch-a-parachain/obtain-coretime.md": { "last_edited": "2026-05-27T20:34:00+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 1, + "stale": 0, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 61 + "up_to_date": 62 } } From 3405da893e825cd164f0e9fdd63dd3e22f57f8d4 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:06:33 +0000 Subject: [PATCH 21/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 344 ++++++++++++++++++------------------ 3 files changed, 174 insertions(+), 174 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index 6dd86ee67..075d36748 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-06-02T05:08:46Z", + "generated": "2026-06-03T17:06:33Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index ef01c1975..ea92a0578 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-06-02T05:08:46Z", + "last_checked": "2026-06-03T17:06:33Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index 1e1014eab..cde5e5e36 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,64 +1,74 @@ { - "generated": "2026-06-02T16:00:00Z", + "schema_version": "1", + "generated": "2026-06-03T17:06:33Z", + "summary": { + "total_candidates": 142, + "up_to_date": 43, + "stale": 19, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T00:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "estimate-xcm-fees-teleport" @@ -66,13 +76,13 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" @@ -80,7 +90,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "pay-fees-alternative-token" @@ -88,7 +98,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "send-transactions-sdks" @@ -96,7 +106,7 @@ "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" @@ -104,37 +114,37 @@ "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "run-parachain-rpc-node" @@ -142,7 +152,7 @@ "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" @@ -150,31 +160,31 @@ "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-polkadot-validator-node" @@ -182,43 +192,43 @@ "status": "up_to_date" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "onboard-polkadot-validator" @@ -226,19 +236,19 @@ "status": "up_to_date" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "add-existing-pallet-to-runtime" @@ -246,7 +256,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "configure-multiple-pallet-instances" @@ -254,13 +264,13 @@ "status": "up_to_date" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "benchmark-frame-pallet" @@ -268,7 +278,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "create-frame-pallet" @@ -276,7 +286,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-pallet-mock-runtime" @@ -284,7 +294,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "unit-test-frame-pallet" @@ -292,13 +302,13 @@ "status": "up_to_date" }, "parachains/get-started.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "install-polkadot-sdk" @@ -306,43 +316,43 @@ "status": "up_to_date" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T16:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" @@ -350,13 +360,13 @@ "status": "up_to_date" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-parachain-template" @@ -364,103 +374,103 @@ "status": "up_to_date" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "retrieve-runtime-metadata" @@ -468,213 +478,213 @@ "status": "up_to_date" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/dedot.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/light-clients.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/omninode.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/papi.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/sidecar.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:00:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "spawn-test-network-zombienet" @@ -682,7 +692,7 @@ "status": "up_to_date" }, "smart-contracts/connect.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "connect-polkadot-hub-testnet" @@ -690,7 +700,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "build-dapp-viem-nextjs" @@ -698,7 +708,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" @@ -706,23 +716,23 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" @@ -730,15 +740,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-basic-contract-hardhat" @@ -746,7 +756,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-basic-contract-remix" @@ -754,7 +764,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-erc20-token-hardhat" @@ -762,15 +772,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" @@ -778,7 +788,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-remix" @@ -786,7 +796,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" @@ -794,7 +804,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-pvm" @@ -802,7 +812,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-evm" @@ -810,7 +820,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-local-dev-node" @@ -818,7 +828,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "connect-remix-polkadot" @@ -826,67 +836,67 @@ "status": "up_to_date" }, "smart-contracts/explorers.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "connect-wallet-polkadot-hub" @@ -894,7 +904,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-contracts-ethers-js" @@ -902,15 +912,15 @@ "status": "up_to_date" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-05-27T21:30:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "use-wagmi-polkadot-hub" @@ -918,7 +928,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-interact-contracts-web3js" @@ -926,7 +936,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "deploy-interact-contracts-web3py" @@ -934,13 +944,13 @@ "status": "up_to_date" }, "smart-contracts/overview.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" @@ -948,13 +958,13 @@ "status": "up_to_date" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-storage-precompile-remix" @@ -962,7 +972,7 @@ "status": "up_to_date" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-system-precompile-remix" @@ -970,22 +980,12 @@ "status": "up_to_date" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-05-27T20:34:00+00:00", + "last_edited": "2026-06-02T06:15:47+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], "status": "up_to_date" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 0, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 62 } } From 9b0de3d8fb07bda805889264b89a1e09e13e1a41 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:11:14 +0000 Subject: [PATCH 22/40] chore: auto-generate/update skills --- agent_skills_config.json | 18 +++++++-------- skill_coverage.json | 50 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index a14aadaa8..31aa0a61e 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:4f3af0762a5ef8e59cc8af91de31a06c4d1a609df178661d5c99f5b6dc1ccd3a", - "generated": "2026-06-02T16:00:00Z", + "content_hash": "sha256:ae9be4dca94ce41f435d7b4bed13b5fca2ce8ca84b3a3f5d93da9c1edc2810aa", + "generated": "2026-06-03T18:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -134,7 +134,7 @@ ] }, "title": "Create a Polkadot Account Programmatically", - "version": "1.0.5", + "version": "1.0.6", "workflow_pattern": "sequential" }, { @@ -276,7 +276,7 @@ ] }, "title": "Query Account Information with SDKs", - "version": "1.0.5", + "version": "1.0.6", "workflow_pattern": "sequential" }, { @@ -430,7 +430,7 @@ ] }, "title": "Query On-Chain State with SDKs", - "version": "1.0.5", + "version": "1.0.6", "workflow_pattern": "sequential" }, { @@ -572,7 +572,7 @@ ] }, "title": "Call Runtime APIs with SDKs", - "version": "1.0.5", + "version": "1.0.6", "workflow_pattern": "sequential" }, { @@ -1815,7 +1815,7 @@ ] }, "title": "Query On-Chain Data with Sidecar REST API", - "version": "1.1.2", + "version": "1.1.3", "workflow_pattern": "sequential" }, { @@ -1961,7 +1961,7 @@ ] }, "title": "Estimate Transaction Fees with PAPI", - "version": "1.1.2", + "version": "1.1.3", "workflow_pattern": "sequential" }, { @@ -2668,7 +2668,7 @@ ] }, "title": "Replay and Dry-Run XCMs Using Chopsticks", - "version": "1.1.2", + "version": "1.1.3", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index cde5e5e36..ff5b13b4f 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,71 +1,61 @@ { - "schema_version": "1", - "generated": "2026-06-03T17:06:33Z", - "summary": { - "total_candidates": 142, - "up_to_date": 43, - "stale": 19, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-06-03T18:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-06-02T00:00:00Z", + "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -987,5 +977,15 @@ ], "status": "up_to_date" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 12, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 50 } } From a9cc209cab21653db1ed4e5b57c4a41673ef0a96 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:19:54 +0000 Subject: [PATCH 23/40] chore: auto-generate/update skills --- agent_skills_config.json | 27 ++++++++++++++------------- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 31aa0a61e..ee425fa66 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:ae9be4dca94ce41f435d7b4bed13b5fca2ce8ca84b3a3f5d93da9c1edc2810aa", - "generated": "2026-06-03T18:00:00Z", + "content_hash": "sha256:f60ebeaaeff27766b54860753b9cb950965ac82fdc203afc81c04c7b163fad53", + "generated": "2026-06-03T18:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -3620,7 +3620,7 @@ ] }, "title": "Set Up and Use Chopsticks for Chain Forking", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -3758,7 +3758,7 @@ ] }, "title": "Set Up End-to-End Testing with Moonwall", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -5317,11 +5317,11 @@ "branch": "master", "files": [ { - "description": "DedotClient initialization via WsProvider against a Polkadot Hub WebSocket endpoint, typed against PolkadotApi from @dedot/chaintypes", + "description": "DedotClient initialization via WsProvider against Polkadot mainnet (wss://rpc.polkadot.io), typed against PolkadotApi from @dedot/chaintypes", "path": "client-initialization-via-ws.ts" }, { - "description": "Signs and submits a Balances.transfer extrinsic using a @polkadot/keyring keypair; demonstrates the full signTx flow", + "description": "Signs and submits a Balances.transferKeepAlive extrinsic using @polkadot/keyring; uses //Alice dev path by default — replace with real account URI/mnemonic for testnet/mainnet", "path": "sign-and-send-tx-with-keyring.ts" }, { @@ -5357,7 +5357,7 @@ }, { "action": "Fetch the DedotClient initialization script", - "description": "Fetch the reference file `client-initialization-via-ws.ts` and save it as `main.ts`. Then make these substitutions:\n(1) Replace `INSERT_ADDRESS` with the SS58 address you'll query.\n(2) Replace `wss://rpc.polkadot.io` with the target chain's WebSocket endpoint if needed.\n\nThe script connects via `WsProvider` and uses `PolkadotApi` (from `@dedot/chaintypes`) as the ChainApi interface for type safety. If you target a different chain, replace `PolkadotApi` with the appropriate ChainApi (e.g. `KusamaApi`) or omit it to fall back to `SubstrateApi`.", + "description": "Fetch the reference file `client-initialization-via-ws.ts` and save it as `main.ts`. Then make this substitution:\n- Replace `'wss://rpc.polkadot.io'` with the target chain's WebSocket endpoint if needed.\n\nThe script connects via `WsProvider` and uses `PolkadotApi` (from `@dedot/chaintypes`) as the ChainApi interface for type safety. If you target a different chain, replace `PolkadotApi` with the appropriate ChainApi (e.g. `KusamaApi`) or omit it to fall back to `SubstrateApi`.", "order": 3, "reference_file": "client-initialization-via-ws.ts", "working_directory": "dedot-example" @@ -5380,7 +5380,7 @@ }, { "action": "Sign and send a transaction", - "description": "Fetch the reference file `sign-and-send-tx-with-keyring.ts` and save it as `send-tx.ts`. The pattern uses `@polkadot/keyring` for signing. Make these substitutions:\n(1) Replace `INSERT_DEST_ADDRESS` with the recipient SS58 address.\n(2) Replace `2_000_000_000_000n` with the desired amount in planck (1 DOT = 10^10 planck).\n\nThen install the signer dependency:\n\n```bash\nnpm install @polkadot/keyring @polkadot/util-crypto\n```\n\nRun with `npx tsx send-tx.ts`. The script will print the transaction hash on inclusion.", + "description": "Fetch the reference file `sign-and-send-tx-with-keyring.ts` and save it as `send-tx.ts`. The file uses `@polkadot/keyring` for signing. Make these substitutions:\n(1) Replace `'INSERT_DEST_ADDRESS'` with the recipient SS58 address.\n(2) Replace `2_000_000_000_000n` with the desired amount in planck (1 DOT = 10^10 planck).\n(3) Replace `'//Alice'` in `keyring.addFromUri('//Alice')` with the signing account's URI or mnemonic. `//Alice` is a dev-only path — it has no real tokens on TestNet or mainnet. Store the mnemonic in a `.env` file as `SEED_PHRASE=...`, add `.env` to `.gitignore`, and load it via `process.env.SEED_PHRASE`. Stop and ask the user to fill in `.env` before proceeding — do NOT ask for the mnemonic in chat.\n\nThen install the signer dependency:\n\n```bash\nnpm install @polkadot/keyring @polkadot/util-crypto\n```\n\nRun with `npx tsx send-tx.ts`. The script will print the transaction hash on inclusion.", "order": 6, "reference_file": "sign-and-send-tx-with-keyring.ts", "working_directory": "dedot-example" @@ -5411,7 +5411,7 @@ ] }, "title": "Interact with Polkadot Chains Using Dedot", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -5475,6 +5475,7 @@ "project_structure": "./\n└── chain_spec.json", "reference_code": { "base_path": "", + "branch": "", "files": [], "repo": "none" }, @@ -5529,7 +5530,7 @@ ] }, "title": "Run a Parachain Node with Polkadot Omni Node", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -5675,7 +5676,7 @@ ] }, "title": "Interact with a Polkadot Node Using Python Substrate Interface", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -5828,7 +5829,7 @@ ] }, "title": "Interact with a Polkadot Node Using Subxt (Rust)", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -7477,7 +7478,7 @@ ] }, "title": "Query and Transact on Polkadot Chains with the Polkadot.js API", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index ff5b13b4f..6cd2e7b1f 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-03T18:00:00Z", + "generated": "2026-06-03T18:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -577,19 +577,19 @@ }, "reference/tools/chopsticks.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/dedot.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/light-clients.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -599,19 +599,19 @@ }, "reference/tools/moonwall.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/omninode.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/papi.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -633,11 +633,11 @@ }, "reference/tools/polkadot-js-api.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/pop-cli.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -647,11 +647,11 @@ }, "reference/tools/py-substrate-interface.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/sidecar.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -661,11 +661,11 @@ }, "reference/tools/subxt.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:00:00Z", + "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/xcm-tools.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 12, + "stale": 5, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 50 + "up_to_date": 57 } } From c7d4f9b6c1884074c6a7e967177598053b9083da Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:29:13 +0000 Subject: [PATCH 24/40] chore: auto-generate/update skills --- agent_skills_config.json | 58 ++++++++++++++++++++-------------------- skill_candidates.json | 10 +++---- skill_coverage.json | 26 +++++++++--------- 3 files changed, 47 insertions(+), 47 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index ee425fa66..bbb758dad 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:f60ebeaaeff27766b54860753b9cb950965ac82fdc203afc81c04c7b163fad53", - "generated": "2026-06-03T18:30:00Z", + "content_hash": "sha256:00b956cb390bf0986f3820590862be29e952ecb49a9468beabd00f2c7850a081", + "generated": "2026-06-03T19:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -4057,7 +4057,7 @@ "steps": [ { "action": "Fetch the ERC-20 contract source", - "description": "Fetch the reference file `contracts/MyToken.sol` and display its contents to the user. This is an OpenZeppelin ERC-20 contract (MyToken) with a configurable name, symbol, and mint function. The user will paste this into Remix IDE in the next step.", + "description": "Fetch the reference file `contracts/MyToken.sol` and display its contents to the user. This is an OpenZeppelin ERC-20 contract (MyToken) with a configurable name, symbol, and mint function. The user will paste this into Remix IDE in the next step. Alternatively, the user can generate a custom contract using the OpenZeppelin Contracts Wizard for Polkadot at https://wizard.openzeppelin.com/polkadot.", "order": 1, "reference_file": "contracts/MyToken.sol", "working_directory": "." @@ -4070,7 +4070,7 @@ }, { "action": "Configure the Solidity compiler in Remix", - "description": "Click the 'Solidity compiler' tab (shield icon) in the left sidebar. Set the following:\n- Compiler version: select 0.8.20 or higher (match the pragma in the contract source)\n- EVM version: select 'cancun' from the Advanced Configuration dropdown — required for OpenZeppelin v5.4.0+ (mcopy opcode)\nClick 'Compile MyToken.sol'. A green checkmark indicates success. If compilation fails with 'Unknown key', verify the EVM version is set to 'cancun'.", + "description": "Click the 'Solidity compiler' tab (shield icon) in the left sidebar. Select the Solidity compiler version matching the pragma in the contract source (0.8.20 or higher), then click 'Compile MyToken.sol'. A green checkmark indicates success.\n\nNote: If the contract uses OpenZeppelin v5.4.0 or later, compilation may fail with an invalid opcode error unless EVM version is set to 'cancun' in Advanced Configuration.", "order": 3, "working_directory": "." }, @@ -4117,7 +4117,7 @@ ] }, "title": "Deploy an ERC-20 Token Using Remix IDE", - "version": "1.1.1", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -4426,7 +4426,7 @@ ] }, "primary_page": "smart-contracts/libraries/viem.md", - "project_structure": "viem-deploy/\n├── abis/\n├── artifacts/\n├── contracts/\n│ └── Storage.sol\n├── src/\n│ ├── chainConfig.ts\n│ ├── compile.ts\n│ ├── createClient.ts\n│ ├── createWallet.ts\n│ ├── deploy.ts\n│ └── interact.ts\n├── .env\n├── .gitignore\n└── package.json", + "project_structure": "viem-project/\n├── abis/\n├── artifacts/\n├── contracts/\n│ └── Storage.sol\n├── src/\n│ ├── chainConfig.ts\n│ ├── compile.ts\n│ ├── createClient.ts\n│ ├── createWallet.ts\n│ ├── deploy.ts\n│ └── interact.ts\n├── .env\n├── .gitignore\n└── package.json", "reference_code": { "base_path": ".snippets/code/smart-contracts/libraries/viem", "branch": "master", @@ -4469,11 +4469,11 @@ { "action": "Create the project directory and initialize", "commands": [ - "mkdir viem-deploy && cd viem-deploy", + "mkdir viem-project && cd viem-project", "npm init -y && npm pkg set type=module", "mkdir -p src contracts abis artifacts" ], - "description": "Create and initialize an ESM Node.js project in a new `viem-deploy` directory. ESM is required for Viem v2. Pre-create the canonical layout directories (`src/`, `contracts/`, `abis/`, `artifacts/`) — the reference scripts assume this layout for relative paths.", + "description": "Create and initialize an ESM Node.js project in a new `viem-project` directory. ESM is required for Viem v2. Pre-create the canonical layout directories (`src/`, `contracts/`, `abis/`, `artifacts/`) — the reference scripts assume this layout for relative paths.", "order": 1, "working_directory": "." }, @@ -4481,11 +4481,11 @@ "action": "Install dependencies", "commands": [ "npm install viem dotenv", - "npm install --save-dev solc typescript tsx @types/node" + "npm install --save-dev typescript ts-node @types/node" ], - "description": "Install viem (v2), dotenv for credential management, solc for Solidity compilation, and TypeScript tooling.", + "description": "Install viem (v2), dotenv for credential management, solc for Solidity compilation, and TypeScript tooling (ts-node for execution).", "order": 2, - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Create .env file and .gitignore", @@ -4495,74 +4495,74 @@ ], "description": "Create .env with an empty PRIVATE_KEY placeholder. Stop and ask the user to edit .env directly by adding PRIVATE_KEY=0x. Do NOT ask for the key in chat. Wait for confirmation before continuing.", "order": 3, - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the chain configuration", "description": "Fetch the reference file `chainConfig.ts` and save it as `src/chainConfig.ts`. Verify or substitute:\n(1) Chain ID is `420420417`.\n(2) RPC URL is `https://services.polkadothub-rpc.com/testnet`.\n(3) Replace any `INSERT_RPC_URL`, `INSERT_CHAIN_ID`, `INSERT_CHAIN_NAME`, `INSERT_NETWORK_NAME`, `INSERT_CHAIN_DECIMALS`, `INSERT_CURRENCY_NAME`, `INSERT_CURRENCY_SYMBOL` placeholders.\n\n**Important:** the same set of placeholders also appears in `createClient.ts` (step 6) and `createWallet.ts` (step 7) — apply the same substitutions consistently in all three files.", "order": 4, "reference_file": "chainConfig.ts", - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the Storage.sol contract", "description": "Fetch the reference file `Storage.sol` and save it as `contracts/Storage.sol`. The contract has a `storedNumber` public state variable and a `setNumber(uint256 _newNumber)` setter. No substitutions needed.", "order": 5, "reference_file": "Storage.sol", - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the public client setup", "description": "Fetch the reference file `createClient.ts` and save it as `src/createClient.ts`. **Apply the same `INSERT_*` substitutions you applied to chainConfig.ts** (the file declares the chain locally and has the same 8 placeholders). Constructs a viem `PublicClient` against the Polkadot Hub TestNet chain definition; used for reads and tx receipts.", "order": 6, "reference_file": "createClient.ts", - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the wallet client setup", "description": "Fetch the reference file `createWallet.ts` and save it as `src/createWallet.ts`. **Apply the same `INSERT_*` substitutions you applied to chainConfig.ts** (this file also declares the chain locally and has 9 placeholders — including a duplicate RPC URL for the `public.http` rpcUrls entry). Add `import \"dotenv/config\";` as the first line; the client reads `PRIVATE_KEY` from env.", "order": 7, "reference_file": "createWallet.ts", - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the compilation script", "description": "Fetch the reference file `compile.ts` and save it as `src/compile.ts`. The script invokes `solc` against `contracts/Storage.sol` and writes ABI + bytecode artifacts to `abis/` and `artifacts/`.", "order": 8, "reference_file": "compile.ts", - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Compile the Solidity contract", "commands": [ - "npx tsx src/compile.ts" + "npx ts-node src/compile.ts" ], "description": "Run the compile script. Verify that `abis/Storage.json` and `artifacts/Storage.bin` (or equivalent) exist before deploying.", "order": 9, - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the deployment script", "description": "Fetch the reference file `deploy.ts` and save it as `src/deploy.ts`. Apply these substitutions:\n(1) Add `import \"dotenv/config\";` as the very first line.\n(2) Replace `INSERT_PRIVATE_KEY` with `process.env.PRIVATE_KEY as \\`0x${string}\\``.\n\nThe script reads chain config and RPC endpoint from `createClient.ts` and `createWallet.ts` (already substituted in steps 6-7). It reads artifacts from `../abis` and `../artifacts` relative to the script location, which resolves correctly when the script is in `src/`.", "order": 10, "reference_file": "deploy.ts", - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Deploy the contract to Polkadot Hub TestNet", "commands": [ - "npx tsx src/deploy.ts" + "npx ts-node src/deploy.ts" ], "description": "Run the deployment script. Save the deployed contract address from the output.\n\nIf the transaction fails with `insufficient funds`: visit https://faucet.polkadot.io/ and fund the deployer account.\nIf the transaction fails with `fee cap too low` or similar gas errors: add a `gasPrice` override in `deploy.ts` (e.g. `gasPrice: parseGwei('5000')`).", "order": 11, - "working_directory": "viem-deploy" + "working_directory": "viem-project" }, { "action": "Fetch the interaction script and interact with the deployed contract", - "description": "Fetch the reference file `interact.ts` and save it as `src/interact.ts`. Replace `INSERT_CONTRACT_ADDRESS` with the deployed address from the previous step and `INSERT_PRIVATE_KEY` with `` process.env.PRIVATE_KEY as `0x${string}` ``. Run it with `npx tsx src/interact.ts`. Verify the value returned by reading `storedNumber` changes after calling `setNumber(value)`.", + "description": "Fetch the reference file `interact.ts` and save it as `src/interact.ts`. Replace `INSERT_CONTRACT_ADDRESS` with the deployed address from the previous step and `INSERT_PRIVATE_KEY` with `` process.env.PRIVATE_KEY as `0x${string}` ``. Run it with `npx ts-node src/interact.ts`. Verify the value returned by reading `storedNumber` changes after calling `setNumber(value)`.", "order": 12, "reference_file": "interact.ts", - "working_directory": "viem-deploy" + "working_directory": "viem-project" } ], "supplementary_context": { @@ -4589,7 +4589,7 @@ ] }, "title": "Deploy Contracts to Polkadot Hub with Viem", - "version": "1.0.3", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -9642,7 +9642,7 @@ ] }, "title": "Deploy Uniswap V2 Core on Polkadot Hub (EVM)", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -9812,7 +9812,7 @@ ] }, "title": "Deploy Uniswap V2 Periphery (Router) on Polkadot Hub (EVM)", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -10116,7 +10116,7 @@ }, { "action": "Convert hardhat.config.ts to use dotenv and add gas configuration", - "description": "Modify hardhat.config.ts with all of the following changes:\n1. Add `import 'dotenv/config';` as the very first line.\n2. Change `import { HardhatUserConfig, vars } from \"hardhat/config\";` to `import { HardhatUserConfig } from \"hardhat/config\";`.\n3. In the polkadotTestnet network block, replace `accounts: vars.has(\"TESTNET_PRIVATE_KEY\") ? [vars.get(\"TESTNET_PRIVATE_KEY\")] : []` with `accounts: process.env.TESTNET_PRIVATE_KEY ? [process.env.TESTNET_PRIVATE_KEY] : []`.\n4. In the polkadotTestnet network block, add `gasPrice: 5000000000000,` (5000 gwei — 5x the TestNet base fee).\n5. Confirm `ignition.requiredConfirmations` is 1 (already set).\n6. Preserve `bytecodeHash: \"none\"` in the Solidity compiler settings — required so the compiled UniswapV3Pool bytecode hash matches the hardcoded POOL_INIT_CODE_HASH in PoolAddress.sol, enabling correct CREATE2 pool address derivation.\n7. Preserve `allowUnlimitedContractSize: true` for the hardhat network — several Periphery contracts exceed the 24KB EIP-170 limit and require this for local testing.\nSave the file.", + "description": "Modify hardhat.config.ts with all of the following changes:\n1. Add `import 'dotenv/config';` as the very first line.\n2. Change `import { HardhatUserConfig, vars } from \"hardhat/config\";` to `import { HardhatUserConfig } from \"hardhat/config\";`.\n3. In the polkadotTestnet network block, replace `accounts: vars.has(\"TESTNET_PRIVATE_KEY\") ? [vars.get(\"TESTNET_PRIVATE_KEY\")] : []` with `accounts: process.env.TESTNET_PRIVATE_KEY ? [process.env.TESTNET_PRIVATE_KEY] : []`.\n4. In the polkadotTestnet network block, add `gasPrice: 5000000000000,` (5000 gwei — 5x the TestNet base fee).\n5. Confirm `ignition.requiredConfirmations` is 1 (already set).\n6. Preserve `bytecodeHash: \"none\"` in the Solidity compiler settings — required so the compiled UniswapV3Pool bytecode hash matches the hardcoded POOL_INIT_CODE_HASH in PoolAddress.sol, enabling correct CREATE2 pool address derivation.\n7. Preserve `allowUnlimitedContractSize: true` for the hardhat network — several Periphery contracts exceed the 24KB EIP-170 limit and require this for local testing.\nSave the file.\n8. For the localNode network, the reference config sets gasPrice: 50000000000 (50 gwei) — this matches the gas price reported by the local Polkadot development node. Preserve this setting if present.", "order": 4, "working_directory": "revm-hardhat-examples/uniswap-v3-periphery-hardhat" }, @@ -10166,7 +10166,7 @@ ] }, "title": "Deploy Uniswap V3 Periphery on Polkadot Hub (EVM)", - "version": "1.0.2", + "version": "1.1.0", "workflow_pattern": "sequential" } ] diff --git a/skill_candidates.json b/skill_candidates.json index fd469e5ff..7ed3970e8 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -2044,7 +2044,7 @@ "title": "Deploy an ERC-20 Token Using Hardhat" }, { - "built_at": "2026-04-21T20:00:00Z", + "built_at": "2026-06-03T19:00:00Z", "category": "tutorial", "notes": "Complete browser-based tutorial: create contract in Remix, compile, deploy, and mint via MetaMask. No CLI commands (P2 not fired). S1 not fired — workflow is GUI-driven (Remix IDE + MetaMask); a skill agent would require browser automation. Contract code sourced from revm-hardhat-examples (K4 awarded).", "priority": "high", @@ -2397,7 +2397,7 @@ "title": "Deploy Contracts to Polkadot Hub with Ethers.js" }, { - "built_at": "2026-04-21T20:00:00Z", + "built_at": "2026-06-03T19:00:00Z", "category": "guide", "notes": "End-to-end TypeScript guide using viem: project init, chain config, wallet client, compilation, deployment, and contract interaction. No explicit numbered steps (P1=0) so scores as guide rather than tutorial despite full workflow coverage. Self-contained with prerequisites listed. INSERT_* placeholders for RPC URL, chain ID, and private key require substitution (K2=0). Companion to deploy-contracts-ethers-js.", "priority": "high", @@ -2728,7 +2728,7 @@ "title": "Deploy Uniswap V2 Core on Polkadot Hub (PVM)" }, { - "built_at": "2026-05-15T15:30:00Z", + "built_at": "2026-06-03T19:00:00Z", "category": "tutorial", "notes": "EVM variant using revm-hardhat-examples repo and standard Hardhat + TypeScript; no PVM compiler plugin. P3 not awarded — key management is via `npx hardhat vars set` CLI, no file to write. K4 awarded — revm-hardhat-examples is listed in context.md. Testing step references Local Dev Node guide but TestNet deployment is self-contained.", "priority": "high", @@ -2762,7 +2762,7 @@ "title": "Deploy Uniswap V2 Core on Polkadot Hub (EVM)" }, { - "built_at": "2026-05-15T15:30:00Z", + "built_at": "2026-06-03T19:00:00Z", "category": "tutorial", "notes": "Deploys WETH9, UniswapV2Factory, and UniswapV2Router02 via Hardhat Ignition. The V2 Core Solidity dependency is a local file reference resolved automatically by npm install from the same cloned repo — no separately deployed Core contracts are needed. K1 awarded as self-contained; the editorial prerequisite 'complete Core tutorial first' is educational context, not a technical blocker for deployment. K4 awarded — revm-hardhat-examples is listed in context.md.", "priority": "high", @@ -2831,7 +2831,7 @@ "title": "Deploy Uniswap V3 Core with EVM on Polkadot Hub" }, { - "built_at": "2026-05-15T16:00:00Z", + "built_at": "2026-06-03T19:00:00Z", "category": "tutorial", "notes": "Full deploy+test workflow for SwapRouter and NonfungiblePositionManager. The 'complete V3 Core tutorial' prereq is a code dependency resolved automatically via local npm file reference in the cloned monorepo; the Ignition module deploys Factory+WETH9+SwapRouter+NFPM in one shot, making this self-contained. Pinned to commit 96696ad15c3cf01b9168a71ad5114f27c34a8726 with docs.test.ts confirming CI-tested code.", "priority": "high", diff --git a/skill_coverage.json b/skill_coverage.json index 6cd2e7b1f..ff4f07763 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-03T18:30:00Z", + "generated": "2026-06-03T19:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -707,19 +707,19 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:30:00Z", + "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:30:00Z", + "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -731,11 +731,11 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:30:00Z", + "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -763,11 +763,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:30:00Z", + "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -903,11 +903,11 @@ }, "smart-contracts/libraries/viem.md": { "last_edited": "2026-06-02T06:15:47+00:00", - "last_scanned": "2026-05-27T21:30:00Z", + "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { "last_edited": "2026-06-02T06:15:47+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 5, + "stale": 0, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 57 + "up_to_date": 62 } } From 1e3ac5f421fa4d31374a1cb2b920f539a8f84b14 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:07:00 +0000 Subject: [PATCH 25/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 392 ++++++++++++++++++------------------ 3 files changed, 198 insertions(+), 198 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index 075d36748..ba2d47226 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-06-03T17:06:33Z", + "generated": "2026-06-04T16:07:00Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index ea92a0578..38ca5cbd4 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-06-03T17:06:33Z", + "last_checked": "2026-06-04T16:07:00Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index ff4f07763..b2ef1ce52 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,8 +1,18 @@ { - "generated": "2026-06-03T19:00:00Z", + "schema_version": "1", + "generated": "2026-06-04T16:07:00Z", + "summary": { + "total_candidates": 142, + "up_to_date": 19, + "stale": 43, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "create-polkadot-account" @@ -10,7 +20,7 @@ "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-account-info-sdks" @@ -18,7 +28,7 @@ "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-chain-data-sidecar-rest" @@ -26,7 +36,7 @@ "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-chain-state-sdks" @@ -34,7 +44,7 @@ "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "call-runtime-apis-sdks" @@ -42,7 +52,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "calculate-transaction-fees-papi" @@ -50,7 +60,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" @@ -58,525 +68,525 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "create-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/get-started.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "up_to_date" + "status": "stale" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T16:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-parachain-template" ], - "status": "up_to_date" + "status": "stale" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "up_to_date" + "status": "stale" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "set-up-chopsticks-fork" @@ -584,7 +594,7 @@ "status": "up_to_date" }, "reference/tools/dedot.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-with-chain-dedot" @@ -592,13 +602,13 @@ "status": "up_to_date" }, "reference/tools/light-clients.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "set-up-e2e-testing-moonwall" @@ -606,7 +616,7 @@ "status": "up_to_date" }, "reference/tools/omninode.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "run-parachain-node-omni-node" @@ -614,25 +624,25 @@ "status": "up_to_date" }, "reference/tools/papi.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "use-polkadot-js-api" @@ -640,13 +650,13 @@ "status": "up_to_date" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-polkadot-node-py-substrate" @@ -654,13 +664,13 @@ "status": "up_to_date" }, "reference/tools/sidecar.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-polkadot-node-subxt" @@ -668,45 +678,45 @@ "status": "up_to_date" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "spawn-test-network-zombienet" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/connect.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "connect-polkadot-hub-testnet" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "build-dapp-viem-nextjs" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v2-core-evm" @@ -714,7 +724,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" @@ -722,15 +732,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" @@ -738,31 +748,31 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-erc20-token-remix" @@ -770,139 +780,139 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-local-dev-node" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/explorers.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "connect-wallet-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-contracts-ethers-js" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-contracts-viem" @@ -910,82 +920,72 @@ "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "use-wagmi-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-interact-contracts-web3js" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "deploy-interact-contracts-web3py" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/overview.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-storage-precompile-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-system-precompile-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-06-02T06:15:47+00:00", + "last_edited": "2026-06-03T17:29:13+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], - "status": "up_to_date" + "status": "stale" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 0, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 62 } } From 172e63aab4480179c4a7599e5f5685b8ef051faa Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:12:28 +0000 Subject: [PATCH 26/40] chore: auto-generate/update skills --- agent_skills_config.json | 18 +++++++-------- skill_coverage.json | 50 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index bbb758dad..d443041da 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:00b956cb390bf0986f3820590862be29e952ecb49a9468beabd00f2c7850a081", - "generated": "2026-06-03T19:00:00Z", + "content_hash": "sha256:23ec02fb2c4b5efe8602e37b1b7f6b592e1d6d21b1bca3375c5f1b039810cde6", + "generated": "2026-06-04T00:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -764,7 +764,7 @@ ] }, "title": "Send Transactions with SDKs", - "version": "1.0.5", + "version": "1.0.6", "workflow_pattern": "sequential" }, { @@ -2148,7 +2148,7 @@ ] }, "title": "Transfer Assets Between Parachains with ParaSpell XCM SDK", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { @@ -2301,7 +2301,7 @@ ] }, "title": "Pay Transaction Fees with an Alternative Token", - "version": "1.1.3", + "version": "1.1.4", "workflow_pattern": "sequential" }, { @@ -2453,7 +2453,7 @@ ] }, "title": "Run a Parachain RPC Node", - "version": "1.1.3", + "version": "1.1.4", "workflow_pattern": "sequential" }, { @@ -2859,7 +2859,7 @@ ] }, "title": "Estimate XCM Fees for Asset Teleport", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { @@ -3201,7 +3201,7 @@ ] }, "title": "Run an RPC Node for Polkadot Hub", - "version": "1.1.3", + "version": "1.1.4", "workflow_pattern": "sequential" }, { @@ -9304,7 +9304,7 @@ ] }, "title": "Store and Retrieve Data on the Bulletin Chain", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index b2ef1ce52..36b857b04 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,15 +1,5 @@ { - "schema_version": "1", - "generated": "2026-06-04T16:07:00Z", - "summary": { - "total_candidates": 142, - "up_to_date": 19, - "stale": 43, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-06-04T00:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-03T17:29:13+00:00", @@ -69,11 +59,11 @@ }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { "last_edited": "2026-06-03T17:29:13+00:00", @@ -83,35 +73,35 @@ }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { "last_edited": "2026-06-03T17:29:13+00:00", @@ -145,19 +135,19 @@ }, "node-infrastructure/run-a-node/parachain-rpc.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { "last_edited": "2026-06-03T17:29:13+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { "last_edited": "2026-06-03T17:29:13+00:00", @@ -987,5 +977,15 @@ ], "status": "stale" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 36, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 26 } } From a5b9e38dd4ab810370c9fa0705145dba46786858 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:14:02 +0000 Subject: [PATCH 27/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 358 ++++++++++++++++++------------------ 3 files changed, 181 insertions(+), 181 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index ba2d47226..aca25bc99 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-06-04T16:07:00Z", + "generated": "2026-06-04T16:14:02Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index 38ca5cbd4..546dafba8 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-06-04T16:07:00Z", + "last_checked": "2026-06-04T16:14:02Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index 36b857b04..e79a60c44 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,180 +1,190 @@ { - "generated": "2026-06-04T00:00:00Z", + "schema_version": "1", + "generated": "2026-06-04T16:14:02Z", + "summary": { + "total_candidates": 142, + "up_to_date": 0, + "stale": 62, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-04T00:00:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-polkadot-validator-node" @@ -182,43 +192,43 @@ "status": "stale" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "onboard-polkadot-validator" @@ -226,19 +236,19 @@ "status": "stale" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "add-existing-pallet-to-runtime" @@ -246,7 +256,7 @@ "status": "stale" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "configure-multiple-pallet-instances" @@ -254,13 +264,13 @@ "status": "stale" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "benchmark-frame-pallet" @@ -268,7 +278,7 @@ "status": "stale" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "create-frame-pallet" @@ -276,7 +286,7 @@ "status": "stale" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-pallet-mock-runtime" @@ -284,7 +294,7 @@ "status": "stale" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "unit-test-frame-pallet" @@ -292,13 +302,13 @@ "status": "stale" }, "parachains/get-started.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "install-polkadot-sdk" @@ -306,43 +316,43 @@ "status": "stale" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T16:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" @@ -350,13 +360,13 @@ "status": "stale" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T14:00:00Z", "skills": [ "set-up-parachain-template" @@ -364,103 +374,103 @@ "status": "stale" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "retrieve-runtime-metadata" @@ -468,213 +478,213 @@ "status": "stale" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/dedot.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/light-clients.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/omninode.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/papi.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/sidecar.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T18:30:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "spawn-test-network-zombienet" @@ -682,7 +692,7 @@ "status": "stale" }, "smart-contracts/connect.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "connect-polkadot-hub-testnet" @@ -690,7 +700,7 @@ "status": "stale" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "build-dapp-viem-nextjs" @@ -698,7 +708,7 @@ "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" @@ -706,23 +716,23 @@ "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-uniswap-v3-core-evm" @@ -730,15 +740,15 @@ "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-basic-contract-hardhat" @@ -746,7 +756,7 @@ "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-basic-contract-remix" @@ -754,7 +764,7 @@ "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "deploy-erc20-token-hardhat" @@ -762,15 +772,15 @@ "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" @@ -778,7 +788,7 @@ "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-erc721-nft-remix" @@ -786,7 +796,7 @@ "status": "stale" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" @@ -794,7 +804,7 @@ "status": "stale" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-pvm" @@ -802,7 +812,7 @@ "status": "stale" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-hardhat-evm" @@ -810,7 +820,7 @@ "status": "stale" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T10:00:00Z", "skills": [ "set-up-local-dev-node" @@ -818,7 +828,7 @@ "status": "stale" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "connect-remix-polkadot" @@ -826,67 +836,67 @@ "status": "stale" }, "smart-contracts/explorers.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "connect-wallet-polkadot-hub" @@ -894,7 +904,7 @@ "status": "stale" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-contracts-ethers-js" @@ -902,15 +912,15 @@ "status": "stale" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-03T19:00:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "use-wagmi-polkadot-hub" @@ -918,7 +928,7 @@ "status": "stale" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T12:00:00Z", "skills": [ "deploy-interact-contracts-web3js" @@ -926,7 +936,7 @@ "status": "stale" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "deploy-interact-contracts-web3py" @@ -934,13 +944,13 @@ "status": "stale" }, "smart-contracts/overview.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" @@ -948,13 +958,13 @@ "status": "stale" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-storage-precompile-remix" @@ -962,7 +972,7 @@ "status": "stale" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-system-precompile-remix" @@ -970,22 +980,12 @@ "status": "stale" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-06-03T17:29:13+00:00", + "last_edited": "2026-06-04T16:12:28+00:00", "last_scanned": "2026-06-02T15:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], "status": "stale" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 36, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 26 } } From 304a62b194ed3da3e430c9ad2ef7608423662f3f Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:19:03 +0000 Subject: [PATCH 28/40] chore: auto-generate/update skills --- skill_coverage.json | 50 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/skill_coverage.json b/skill_coverage.json index e79a60c44..f73f8913d 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,71 +1,61 @@ { - "schema_version": "1", - "generated": "2026-06-04T16:14:02Z", - "summary": { - "total_candidates": 142, - "up_to_date": 0, - "stale": 62, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-06-04T18:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:00:00Z", + "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -987,5 +977,15 @@ ], "status": "stale" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 55, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 7 } } From f491f05a65fdc8574ef6d575e1333cc57f537456 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:25:29 +0000 Subject: [PATCH 29/40] chore: auto-generate/update skills --- agent_skills_config.json | 19 ++++++++++--------- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index d443041da..9a2ad0140 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:23ec02fb2c4b5efe8602e37b1b7f6b592e1d6d21b1bca3375c5f1b039810cde6", - "generated": "2026-06-04T00:00:00Z", + "content_hash": "sha256:24ba54e8dfec90fe912478bcfc1f190b9a1113b9c3e35c4632deee95d828b40a", + "generated": "2026-06-04T18:15:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -932,7 +932,7 @@ ] }, "title": "Install the Polkadot SDK", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -1136,7 +1136,7 @@ ] }, "title": "Deploy a Basic Smart Contract with Hardhat", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -1313,7 +1313,7 @@ ] }, "title": "Deploy an ERC-20 Token Using Hardhat", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -1495,7 +1495,7 @@ ] }, "title": "Set Up Hardhat with the Polkadot Plugin (PVM)", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -1667,7 +1667,7 @@ ] }, "title": "Set Up Hardhat for Polkadot Hub (EVM)", - "version": "1.1.0", + "version": "1.1.1", "workflow_pattern": "sequential" }, { @@ -5166,6 +5166,7 @@ "wallet": [] }, "primary_page": "smart-contracts/dev-environments/local-dev-node.md", + "project_structure": "polkadot-sdk/\n└── target/\n └── release/\n ├── revive-dev-node\n └── eth-rpc", "reference_code": { "base_path": "", "branch": "", @@ -5245,7 +5246,7 @@ ] }, "title": "Set Up a Local Development Node", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -9131,7 +9132,7 @@ ] }, "title": "Connect to Polkadot Hub Networks and Get Test Tokens", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index f73f8913d..8f5650b6a 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T18:00:00Z", + "generated": "2026-06-04T18:15:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -299,11 +299,11 @@ }, "parachains/install-polkadot-sdk.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "stale" + "status": "up_to_date" }, "parachains/integrations/indexers.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -683,11 +683,11 @@ }, "smart-contracts/connect.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "connect-polkadot-hub-testnet" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -739,11 +739,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -755,11 +755,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -795,27 +795,27 @@ }, "smart-contracts/dev-environments/hardhat-polkadot.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/local-dev-node.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T10:00:00Z", + "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-local-dev-node" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 55, + "stale": 48, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 7 + "up_to_date": 14 } } From 52ee3bbd28f91fa725a81962038b122973e9c409 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:37:10 +0000 Subject: [PATCH 30/40] chore: auto-generate/update skills --- agent_skills_config.json | 2 +- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 9a2ad0140..5ceb58df8 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { "content_hash": "sha256:24ba54e8dfec90fe912478bcfc1f190b9a1113b9c3e35c4632deee95d828b40a", - "generated": "2026-06-04T18:15:00Z", + "generated": "2026-06-04T18:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" diff --git a/skill_coverage.json b/skill_coverage.json index 8f5650b6a..080b6c7d8 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T18:15:00Z", + "generated": "2026-06-04T18:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -59,11 +59,11 @@ }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -73,27 +73,27 @@ }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "send-transactions-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -135,19 +135,19 @@ }, "node-infrastructure/run-a-node/parachain-rpc.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -175,11 +175,11 @@ }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 48, + "stale": 41, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 14 + "up_to_date": 21 } } From f78b3421dfd45a7713557c212134ff0cbb7c3e1f Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:49:36 +0000 Subject: [PATCH 31/40] chore: auto-generate/update skills --- agent_skills_config.json | 30 +++++++++++++++--------------- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 5ceb58df8..f6138a722 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:24ba54e8dfec90fe912478bcfc1f190b9a1113b9c3e35c4632deee95d828b40a", - "generated": "2026-06-04T18:30:00Z", + "content_hash": "sha256:48e9f1be44f0476b5e095e53a06967f82faa943dd750f5f652e67f9698ad2e78", + "generated": "2026-06-04T18:45:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -3620,7 +3620,7 @@ ] }, "title": "Set Up and Use Chopsticks for Chain Forking", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -3967,7 +3967,7 @@ ] }, "title": "Build a Zero-to-Hero Smart Contract DApp with Viem and Next.js", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -4480,10 +4480,10 @@ { "action": "Install dependencies", "commands": [ - "npm install viem dotenv", + "npm install viem solc dotenv", "npm install --save-dev typescript ts-node @types/node" ], - "description": "Install viem (v2), dotenv for credential management, solc for Solidity compilation, and TypeScript tooling (ts-node for execution).", + "description": "Install viem (Ethereum client library), solc (Solidity compiler — required by compile.ts), dotenv (credential management), and TypeScript tooling (ts-node for execution).", "order": 2, "working_directory": "viem-project" }, @@ -4589,7 +4589,7 @@ ] }, "title": "Deploy Contracts to Polkadot Hub with Viem", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -5412,7 +5412,7 @@ ] }, "title": "Interact with Polkadot Chains Using Dedot", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -6495,7 +6495,7 @@ ] }, "title": "Spawn and Test a Parachain Network with Zombienet", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "sequential" }, { @@ -7944,9 +7944,9 @@ { "action": "Install Wagmi v3 and peer dependencies", "commands": [ - "npm install wagmi viem@2.x @tanstack/react-query" + "npm install wagmi@3 viem @tanstack/react-query" ], - "description": "Install wagmi (React hooks for Ethereum), viem v2 (low-level EVM transport), and @tanstack/react-query (required peer dependency for Wagmi v3 data-fetching hooks).", + "description": "Install wagmi@3 (React hooks for Ethereum), viem (low-level EVM transport), and @tanstack/react-query (required peer dependency for Wagmi v3 data-fetching hooks). Note: in Wagmi v3, useAccount has been renamed to useConnection.", "order": 2, "working_directory": "wagmi-dapp" }, @@ -7964,7 +7964,7 @@ }, { "action": "Add wallet connection component", - "description": "Create src/components/ConnectWallet.tsx with the following content:\n\n```typescript\n'use client';\nimport { useAccount, useConnect, useDisconnect } from 'wagmi';\n\nexport function ConnectWallet() {\n const { address, isConnected } = useAccount();\n const { connect, connectors } = useConnect();\n const { disconnect } = useDisconnect();\n\n if (isConnected) {\n return (\n
\n

Connected: {address}

\n \n
\n );\n }\n\n return (\n
\n {connectors.map((connector) => (\n \n ))}\n
\n );\n}\n```\n\nThis renders a connect/disconnect button using the injected (MetaMask) connector.", + "description": "Create src/components/ConnectWallet.tsx with the following content:\n\n```typescript\n'use client';\nimport { useConnection, useConnect, useDisconnect } from 'wagmi';\nimport { injected } from 'wagmi/connectors';\n\nexport function ConnectWallet() {\n const { address, isConnected } = useConnection();\n const { connect } = useConnect();\n const { disconnect } = useDisconnect();\n\n if (isConnected) {\n return (\n
\n

Connected: {address}

\n \n
\n );\n }\n\n return (\n
\n \n
\n );\n}\n```\n\nThis renders a connect/disconnect button using the injected (MetaMask) connector. Wagmi v3 renamed `useAccount` to `useConnection` — use `useConnection` for all account state.", "order": 5, "working_directory": "wagmi-dapp" }, @@ -7982,7 +7982,7 @@ }, { "action": "Add Storage contract write interaction using useWriteContract", - "description": "Create `src/components/StorageWrite.tsx` to send a `store(uint256)` transaction to the same contract used in step 7:\n\n```typescript\n'use client';\nimport { useWriteContract, useAccount } from 'wagmi';\nimport { polkadotHubTestnet } from '../wagmi';\nimport { useState } from 'react';\n\nconst STORAGE_ABI = [\n {\n inputs: [{ internalType: 'uint256', name: 'num', type: 'uint256' }],\n name: 'store',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const;\n\nconst CONTRACT_ADDRESS = '0xc01Ee7f10EA4aF4673cFff62710E1D7792aBa8f3' as `0x${string}`;\n\nexport function StorageWrite() {\n const { isConnected } = useAccount();\n const { writeContract, isPending, isSuccess } = useWriteContract();\n const [value, setValue] = useState('');\n\n const handleStore = () => {\n writeContract({\n address: CONTRACT_ADDRESS,\n abi: STORAGE_ABI,\n functionName: 'store',\n args: [BigInt(value)],\n chainId: polkadotHubTestnet.id,\n });\n };\n\n if (!isConnected) return

Connect your wallet to write.

;\n\n return (\n
\n setValue(e.target.value)} placeholder='Enter number' />\n \n {isSuccess &&

Transaction submitted!

}\n
\n );\n}\n```\n\nSame address as step 6. This step requires a connected wallet (from step 3's `ConnectWallet`) and PAS tokens for the transaction fee — get tokens from .", + "description": "Create `src/components/StorageWrite.tsx` to send a `setNumber(uint256)` transaction to the same contract used in step 7:\n\n```typescript\n'use client';\nimport { useWriteContract, useConnection } from 'wagmi';\nimport { useState } from 'react';\n\nconst STORAGE_ABI = [\n {\n inputs: [{ internalType: 'uint256', name: '_newNumber', type: 'uint256' }],\n name: 'setNumber',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const;\n\nconst CONTRACT_ADDRESS = '0xc01Ee7f10EA4aF4673cFff62710E1D7792aBa8f3' as `0x${string}`;\n\nexport function StorageWrite() {\n const { isConnected } = useConnection();\n const { writeContract, isPending, isSuccess } = useWriteContract();\n const [value, setValue] = useState('');\n\n const handleSetNumber = () => {\n writeContract({\n address: CONTRACT_ADDRESS,\n abi: STORAGE_ABI,\n functionName: 'setNumber',\n args: [BigInt(value)],\n });\n };\n\n if (!isConnected) return

Connect your wallet to write.

;\n\n return (\n
\n setValue(e.target.value)} placeholder='Enter number' />\n \n {isSuccess &&

Transaction submitted!

}\n
\n );\n}\n```\n\nSame address as step 7 (`0xc01Ee7f10EA4aF4673cFff62710E1D7792aBa8f3`). Requires a connected wallet (from step 5) and PAS tokens for the transaction fee — get tokens from https://faucet.polkadot.io/.", "order": 8, "working_directory": "wagmi-dapp" }, @@ -8029,7 +8029,7 @@ ] }, "title": "Build a Wagmi dApp Connected to Polkadot Hub", - "version": "1.0.2", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -8356,7 +8356,7 @@ ] }, "title": "Interact with the ERC-20 Precompile on Polkadot Hub via Remix", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 080b6c7d8..43c9d1093 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T18:30:00Z", + "generated": "2026-06-04T18:45:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -577,19 +577,19 @@ }, "reference/tools/chopsticks.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/dedot.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/light-clients.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -675,11 +675,11 @@ }, "reference/tools/zombienet.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "spawn-test-network-zombienet" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/connect.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -691,11 +691,11 @@ }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "build-dapp-viem-nextjs" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -903,19 +903,19 @@ }, "smart-contracts/libraries/viem.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T19:00:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "use-wagmi-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/web3-js.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -941,11 +941,11 @@ }, "smart-contracts/precompiles/erc20.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/precompiles/eth-native.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 41, + "stale": 34, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 21 + "up_to_date": 28 } } From 1fff4f5adfda0d624178463e516d8ac0c061fe0c Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:58:01 +0000 Subject: [PATCH 32/40] chore: auto-generate/update skills --- agent_skills_config.json | 40 ++++++++++++++++++++-------------------- skill_coverage.json | 28 ++++++++++++++-------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index f6138a722..f3a729f16 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:48e9f1be44f0476b5e095e53a06967f82faa943dd750f5f652e67f9698ad2e78", - "generated": "2026-06-04T18:45:00Z", + "content_hash": "sha256:93df384fbdb76168bae912012a4c301701905879af5a514446c8227b15672940", + "generated": "2026-06-04T17:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -3446,7 +3446,7 @@ }, { "action": "Evaluate operational readiness and risk", - "description": "Before proceeding to node setup, confirm readiness on the following:\n\n**System administration skills:** Validators must troubleshoot and maintain node infrastructure. Unplanned downtime or misconfiguration can trigger slashing.\n\n**Security:** Review https://docs.polkadot.com/node-infrastructure/run-a-validator/operational-tasks/general-management/#secure-your-validator for required security hardening before exposing a validator node.\n\n**Start on Kusama:** If new to validation, start on Kusama (canary network, uses KSM) before Polkadot. Kusama has the same validator rules but lower financial stakes. Throughout the validator guides, look for 'Adjustments for Kusama' callouts.\n\n**Slashing risk:** Any DOT you bond is at risk if your validator fails or misbehaves. If you are uncertain about maintaining reliable uptime, consider nominating your DOT to a trusted existing validator instead.", + "description": "Before proceeding to node setup, confirm readiness on the following:\n\n**System administration skills:** Validators must troubleshoot and maintain node infrastructure. Unplanned downtime or misconfiguration can trigger slashing.\n\n**Security:** Review https://docs.polkadot.com/node-infrastructure/run-a-validator/operational-tasks/general-management/#secure-your-validator for required security hardening before exposing a validator node.\n\n**VPS acceptable use policies:** Different VPS providers have varying acceptable use policies. Some (e.g., Digital Ocean) require explicit permission for cryptocurrency-related activities. Review your provider's terms before deploying to avoid account suspension or server shutdown.\n\n**Start on Kusama:** If new to validation, start on Kusama (canary network, uses KSM) before Polkadot. Kusama has the same validator rules but lower financial stakes. Throughout the validator guides, look for 'Adjustments for Kusama' callouts.\n\n**Slashing risk:** Any DOT you bond is at risk if your validator fails or misbehaves. If you are uncertain about maintaining reliable uptime, consider nominating your DOT to a trusted existing validator instead.", "order": 4, "working_directory": "." } @@ -3469,7 +3469,7 @@ ] }, "title": "Validate Polkadot Validator Requirements", - "version": "1.0.1", + "version": "1.0.2", "workflow_pattern": "domain-intelligence" }, { @@ -5002,7 +5002,7 @@ "commands": [ "touch weights.rs" ], - "description": "Create pallets/pallet-custom/src/weights.rs with a WeightInfo trait and () placeholder implementation:\n\n```rust\npub trait WeightInfo {\n fn set_counter_value() -> frame::prelude::Weight;\n fn increment() -> frame::prelude::Weight;\n fn decrement() -> frame::prelude::Weight;\n}\n\nimpl WeightInfo for () {\n fn set_counter_value() -> frame::prelude::Weight { frame::prelude::Weight::from_parts(10_000, 0) }\n fn increment() -> frame::prelude::Weight { frame::prelude::Weight::from_parts(15_000, 0) }\n fn decrement() -> frame::prelude::Weight { frame::prelude::Weight::from_parts(15_000, 0) }\n}\n```\n\nThe () impl is used in tests; benchmark-generated values will replace this file in the final step.", + "description": "Create `pallets/pallet-custom/src/weights.rs` with a `WeightInfo` trait and `()` placeholder implementation. The `weights` module must be nested inside the `#[frame::pallet] pub mod pallet` block:\n\n```rust\n#[frame::pallet]\npub mod pallet {\n use frame::prelude::*;\n pub use weights::WeightInfo;\n\n pub mod weights {\n use frame::prelude::*;\n\n pub trait WeightInfo {\n fn set_counter_value() -> Weight;\n fn increment() -> Weight;\n fn decrement() -> Weight;\n }\n\n impl WeightInfo for () {\n fn set_counter_value() -> Weight {\n Weight::from_parts(10_000, 0)\n }\n fn increment() -> Weight {\n Weight::from_parts(15_000, 0)\n }\n fn decrement() -> Weight {\n Weight::from_parts(15_000, 0)\n }\n }\n }\n\n // ... rest of pallet\n}\n```\n\nThe `WeightInfo for ()` implementation provides placeholder weights for development. The `pub use weights::WeightInfo;` re-export makes `WeightInfo` accessible at the pallet level. If you are using a different pallet, update the `weights` module to use your pallet's function names. The benchmark-generated `weights.rs` will replace this placeholder file in the final step.", "order": 4, "working_directory": "polkadot-sdk-parachain-template/pallets/pallet-custom/src" }, @@ -5098,7 +5098,7 @@ ] }, "title": "Benchmark a FRAME Pallet and Generate Weight Files", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -5835,7 +5835,7 @@ }, { "chain_role": "isolated", - "description": "Scaffolds a Hardhat project, creates an ERC-721 NFT contract using OpenZeppelin, and deploys it to Polkadot Hub TestNet via Hardhat Ignition. Use when deploying an NFT smart contract with a local CLI toolchain. Key capabilities: manual Hardhat project scaffold (no interactive init), OpenZeppelin ERC-721 contract, dotenv private key handling, evmVersion: cancun for OpenZeppelin v5+, explicit gasPrice to prevent 'priority too low' errors, requiredConfirmations: 1 to prevent Ignition false-drops on TestNet. Trigger phrases: 'deploy NFT Hardhat Polkadot', 'ERC-721 Hardhat', 'mint NFT Polkadot Hub Hardhat'. Output: NFT contract address on Polkadot Hub TestNet. Do NOT use for browser/Remix-based deployment — use deploy-erc721-nft-remix instead.", + "description": "Scaffolds a Hardhat project, creates an ERC-721 NFT contract using OpenZeppelin, and deploys it to Polkadot Hub TestNet via Hardhat Ignition. Use when deploying an NFT smart contract with a local CLI toolchain. Key capabilities: manual Hardhat project scaffold (no interactive init), OpenZeppelin ERC-721 contract (also generatable via https://wizard.openzeppelin.com/polkadot), dotenv private key handling, evmVersion: cancun for OpenZeppelin v5+, explicit gasPrice to prevent 'priority too low' errors, requiredConfirmations: 1 to prevent Ignition false-drops on TestNet. Trigger phrases: 'deploy NFT Hardhat Polkadot', 'ERC-721 Hardhat', 'mint NFT Polkadot Hub Hardhat'. Output: NFT contract address on Polkadot Hub TestNet. Do NOT use for browser/Remix-based deployment — use deploy-erc721-nft-remix instead.", "env_vars": [ { "description": "0x-prefixed EVM private key for the deployer account. Stored in .env — never commit to version control.", @@ -6035,7 +6035,7 @@ ] }, "title": "Deploy an ERC-721 NFT Using Hardhat", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { @@ -6116,7 +6116,7 @@ "steps": [ { "action": "Open Remix IDE and create the contract file", - "description": "Fetch the reference file `MyNFT.sol`. It contains a minimal ERC-721 contract (ERC721 + Ownable) with a `safeMint(address to)` function and no URI storage extension.\n\nDelegate to the user:\n(1) Navigate to https://remix.ethereum.org in your web browser.\n(2) Under the 'contracts' folder, click 'Create new file' and name it 'MyNFT.sol'.\n(3) Paste the fetched contract code into the editor.\n\nWait for the user to confirm the file has been created and the code pasted.\n\nTip: You can also generate a custom contract at https://wizard.openzeppelin.com/polkadot — paste the generated code instead if you want additional features.", + "description": "Fetch the reference file `MyNFT.sol`. It contains a minimal ERC-721 contract (ERC721 + Ownable) with a `safeMint(address to)` function and no URI storage extension.\n\nDelegate to the user:\n1. Navigate to https://remix.ethereum.org in your web browser.\n2. Under the `contracts` folder, select the **Create new file** button and name your contract `MyNFT.sol`.\n3. Paste the fetched contract code into the editor.\n\nWait for the user to confirm the file has been created and the code pasted.\n\nTip: You can also generate a custom contract at https://wizard.openzeppelin.com/polkadot — paste the generated code instead if you want additional features (supply cap, royalties, etc.).", "interactive": true, "order": 1, "reference_file": "MyNFT.sol", @@ -6131,7 +6131,7 @@ }, { "action": "Connect MetaMask to Polkadot Hub TestNet", - "description": "Delegate to the user:\n(1) Click 'Deploy & Run Transactions' in the left panel.\n(2) In the 'Environment' dropdown, hover over 'browser extension' and select 'Injected Provider - MetaMask'.\n(3) Approve the MetaMask connection popup.\n(4) Confirm MetaMask is on Polkadot Hub TestNet (chain ID 420420417). If not, add it via MetaMask Settings > Networks with RPC https://services.polkadothub-rpc.com/testnet. Confirm the funded account is visible.", + "description": "Delegate to the user:\n1. Select **Deploy & Run Transactions** from the left panel.\n2. Ensure MetaMask is connected to Polkadot Hub TestNet (chain ID 420420417), then select the **Environment** dropdown and select **Injected Provider - MetaMask**.\n3. Configure the contract parameters by entering the address that will own the deployed NFT contract.\n4. Select the **Deploy** button to initiate the deployment.\n5. Approve the transaction in MetaMask when prompted.\n\nOnce successfully deployed, the terminal displays the transaction details including the contract address and deployment transaction hash, and your contract appears in **Deployed Contracts**.", "interactive": true, "order": 3, "working_directory": "." @@ -6162,7 +6162,7 @@ ] }, "title": "Deploy an ERC-721 NFT Using Remix IDE", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -6313,13 +6313,13 @@ }, { "action": "Verify the contract on the block explorer", - "description": "Replace INSERT_CONTRACT_ADDRESS with the address from step 6.\n\nBlockscout:\n```bash\nforge verify-contract INSERT_CONTRACT_ADDRESS src/Counter.sol:Counter --chain polkadot-testnet\n```\n\nRoutescan:\n```bash\nforge verify-contract INSERT_CONTRACT_ADDRESS src/Counter.sol:Counter --verifier-url 'https://api.routescan.io/v2/network/testnet/evm/420420417/etherscan' --etherscan-api-key 'verifyContract' --chain polkadot-testnet\n```\n\nExpected output: 'Response: OK' and a URL to the verified contract.", + "description": "Replace `INSERT_CONTRACT_ADDRESS` with the address from step 6.\n\n**Blockscout (no API key required):**\n```bash\nforge verify-contract INSERT_CONTRACT_ADDRESS \\\n src/Counter.sol:Counter \\\n --chain polkadot-testnet\n```\n\n**Routescan:**\n```bash\nforge verify-contract INSERT_CONTRACT_ADDRESS \\\n src/Counter.sol:Counter \\\n --verifier-url 'https://api.routescan.io/v2/network/testnet/evm/420420417/etherscan' \\\n --etherscan-api-key 'verifyContract' \\\n --chain polkadot-testnet\n```\n\nExpected output: `Response: OK` and a URL to the verified contract.\n\n**For contracts with constructor arguments**, append:\n```bash\n--constructor-args $(cast abi-encode \"constructor(uint256,address)\" 42 INSERT_DEPLOYER_ADDRESS)\n```\n\nReplace `INSERT_DEPLOYER_ADDRESS` with the deployer wallet address used in step 6.", "order": 7, "working_directory": "my-foundry-project" }, { "action": "Interact with the contract using Cast", - "description": "Replace INSERT_CONTRACT_ADDRESS and INSERT_ACCOUNT_ADDRESS with actual values.\n\nRead from contract:\n```bash\ncast call INSERT_CONTRACT_ADDRESS 'number()(uint256)' --chain polkadot-testnet\n```\n\nWrite to contract:\n```bash\ncast send INSERT_CONTRACT_ADDRESS 'setNumber(uint256)' 42 --chain polkadot-testnet --private-key $PRIVATE_KEY\n```\n\nCheck balance:\n```bash\ncast balance INSERT_ACCOUNT_ADDRESS --chain polkadot-testnet\n```", + "description": "Replace `INSERT_CONTRACT_ADDRESS` and `INSERT_ACCOUNT_ADDRESS` with actual values.\n\n**Read from contract:**\n```bash\ncast call INSERT_CONTRACT_ADDRESS 'number()(uint256)' --chain polkadot-testnet\n```\n\n**Write to contract:**\n```bash\ncast send INSERT_CONTRACT_ADDRESS 'setNumber(uint256)' 42 --chain polkadot-testnet --private-key $PRIVATE_KEY\n```\n\n**Check balance:**\n```bash\ncast balance INSERT_ACCOUNT_ADDRESS --chain polkadot-testnet\n```\n\n**Forge Scripts (for more complex interactions):** For programmatic contract interaction, create scripts in the `script/` directory using Solidity. These scripts can read and write contract state and are invoked with `forge script script/YourScript.s.sol --chain polkadot-testnet`.", "order": 8, "working_directory": "my-foundry-project" }, @@ -6348,7 +6348,7 @@ ] }, "title": "Use Foundry with Polkadot Hub", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { @@ -7566,20 +7566,20 @@ }, { "action": "Open Remix IDE and locate Storage.sol", - "description": "Instruct the user: Open https://remix.ethereum.org in the browser. In the left file explorer panel, expand the 'contracts/' folder. Click on 'Storage.sol' to open it in the editor. This is the default Remix sample contract — no code changes are needed.", + "description": "Instruct the user: Open https://remix.ethereum.org in the browser. Wait for the default workspace to load. In the left file explorer panel, expand the `contracts/` folder and locate `Storage.sol` — this is the default Remix sample contract. Click on `Storage.sol` to open it in the editor. No code changes are needed.", "order": 2, "working_directory": "." }, { "action": "Compile Storage.sol in Remix", - "description": "Instruct the user: Click the Solidity Compiler icon in the left sidebar. Click the blue 'Compile Storage.sol' button. Wait for the green checkmark indicating successful compilation. If there are errors, verify Storage.sol is selected and the compiler version is 0.8.x or higher.", + "description": "Instruct the user:\n1. Select the **Solidity Compiler** plugin from the left panel.\n2. Select the **Compile Storage.sol** button.\n\nThe **Solidity Compiler** icon will display a green checkmark once the contract compiles successfully. If any issues arise, errors and warnings appear in the terminal panel at the bottom of the screen. Verify the contract is open and the compiler version is 0.8.x or higher.", "expected_output": "Green checkmark on the Solidity Compiler sidebar icon; no errors shown.", "order": 3, "working_directory": "." }, { "action": "Deploy to Polkadot Hub TestNet via MetaMask", - "description": "Instruct the user: Click the Deploy and Run Transactions icon in the left sidebar. In the Environment dropdown, select 'Injected Provider - MetaMask'. MetaMask will prompt for permission — click Connect. Confirm the Account field shows your MetaMask address and the network shows Polkadot Hub TestNet (chain ID 420420417). Click the orange 'Deploy' button. MetaMask will open a transaction confirmation — click Confirm. Wait for the transaction to be mined (typically 15-30 seconds on TestNet).", + "description": "Instruct the user:\n1. Select **Deploy & Run Transactions** from the left panel.\n2. Ensure MetaMask is connected to Polkadot Hub TestNet (chain ID 420420417), then select the **Environment** dropdown and select **Injected Provider - MetaMask**.\n3. Select the **Deploy** button to initiate the deployment.\n\nWhen prompted, approve the transaction in MetaMask. After deployment succeeds, the terminal displays the contract address and transaction hash, and the contract appears in **Deployed Contracts**.", "expected_output": "Deployed contract appears in the 'Deployed Contracts' section at the bottom of the Deploy panel.", "order": 4, "working_directory": "." @@ -7610,7 +7610,7 @@ ] }, "title": "Deploy a Basic Smart Contract with Remix IDE", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { @@ -7682,7 +7682,7 @@ "steps": [ { "action": "Open Remix IDE", - "description": "Instruct the user: Open https://remix.ethereum.org in the browser. Wait for the IDE to fully load (the file explorer appears on the left). Ensure MetaMask is unlocked and set to Polkadot Hub TestNet before proceeding.\n\nThe Remix interface has three main areas:\n- **Plugin panel** (left sidebar): icons for file explorer, search, Solidity compiler, Deploy & run transactions, debugger, and Git.\n- **Editor panel** (center): where you write and modify Solidity files.\n- **Terminal** (bottom): shows compiler logs, deployment events, transactions, and console.log output.", + "description": "Instruct the user: Open https://remix.ethereum.org in the browser. Wait for the IDE to fully load (the file explorer appears on the left). Ensure MetaMask is unlocked and set to Polkadot Hub TestNet before proceeding.\n\nThe Remix interface has three main areas:\n- **Editor panel** (center): The main coding area where you write and modify Solidity files. Supports syntax highlighting, auto-completion, and linting.\n- **Terminal** (bottom): Shows logs from the compiler, deployment events, transactions, and console.log output.\n- **Plugin panel** (left sidebar): Icons for each preloaded plugin, the plugin manager, and settings. Key plugins include:\n - **File explorer**: Displays your workspace. Create, open, rename, and organize Solidity files.\n - **File search**: Quick search tool for finding symbols, functions, or text within project files.\n - **Solidity compiler**: Compile contracts, select compiler versions, enable optimizations, view errors.\n - **Deploy & run transactions**: Deploy contracts, choose environment, send transactions, call functions.\n - **Debugger**: Step through transaction execution line-by-line; inspect variables, stack, storage slots.\n - **Git**: Basic Git version control — initialize repos, view diffs, commit changes, browse history.", "order": 1, "working_directory": "." }, @@ -7724,7 +7724,7 @@ ] }, "title": "Connect Remix IDE to Polkadot Hub", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 43c9d1093..3ffbd4617 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -219,11 +219,11 @@ }, "node-infrastructure/run-a-validator/requirements.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "stale" + "status": "current" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -261,11 +261,11 @@ }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "stale" + "status": "current" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -747,11 +747,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "stale" + "status": "current" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -771,27 +771,27 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "stale" + "status": "current" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "stale" + "status": "current" }, "smart-contracts/dev-environments/foundry.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "stale" + "status": "current" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -819,11 +819,11 @@ }, "smart-contracts/dev-environments/remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "stale" + "status": "current" }, "smart-contracts/explorers.md": { "last_edited": "2026-06-04T16:12:28+00:00", From ec8d180e1947d1afdbfbf1777e3f7ee115f99938 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:06:09 +0000 Subject: [PATCH 33/40] chore: auto-generate/update skills --- agent_skills_config.json | 18 +++++++++--------- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index f3a729f16..edd7f7616 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:93df384fbdb76168bae912012a4c301701905879af5a514446c8227b15672940", - "generated": "2026-06-04T17:00:00Z", + "content_hash": "sha256:c62b611fbfbd4dbc30b5731a71daa440a5c95b3d83e7528f2700e09bbbecda1a", + "generated": "2026-06-04T19:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -3038,7 +3038,7 @@ ] }, "title": "Set Up the Polkadot SDK Parachain Template", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -3758,7 +3758,7 @@ ] }, "title": "Set Up End-to-End Testing with Moonwall", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -4731,7 +4731,7 @@ ] }, "title": "Set Up a Mock Runtime for Pallet Unit Testing", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -4889,7 +4889,7 @@ ] }, "title": "Write Unit Tests for a FRAME Pallet", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -5531,7 +5531,7 @@ ] }, "title": "Run a Parachain Node with Polkadot Omni Node", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -5677,7 +5677,7 @@ ] }, "title": "Interact with a Polkadot Node Using Python Substrate Interface", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -5830,7 +5830,7 @@ ] }, "title": "Interact with a Polkadot Node Using Subxt (Rust)", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 3ffbd4617..872da51b5 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T18:45:00Z", + "generated": "2026-06-04T19:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -277,19 +277,19 @@ }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/get-started.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -357,11 +357,11 @@ }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-parachain-template" ], - "status": "stale" + "status": "up_to_date" }, "parachains/runtime-maintenance/coretime-renewal.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -599,19 +599,19 @@ }, "reference/tools/moonwall.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/omninode.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/papi.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -647,11 +647,11 @@ }, "reference/tools/py-substrate-interface.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/sidecar.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -661,11 +661,11 @@ }, "reference/tools/subxt.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/xcm-tools.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 34, + "stale": 20, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 28 + "up_to_date": 35 } } From f0a30a3418d195adbd5708f7d4528885cc6cd1e7 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:14:05 +0000 Subject: [PATCH 34/40] chore: auto-generate/update skills --- agent_skills_config.json | 18 +++++++++--------- skill_candidates.json | 14 +++++++------- skill_coverage.json | 34 +++++++++++++++++----------------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index edd7f7616..e952f28a2 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:c62b611fbfbd4dbc30b5731a71daa440a5c95b3d83e7528f2700e09bbbecda1a", - "generated": "2026-06-04T19:00:00Z", + "content_hash": "sha256:c39e05efecdf6eb495f77b13deb24d87871a29f0db7ab3f24c11586e993c48c6", + "generated": "2026-06-04T19:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -4117,7 +4117,7 @@ ] }, "title": "Deploy an ERC-20 Token Using Remix IDE", - "version": "1.2.0", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -4345,7 +4345,7 @@ ] }, "title": "Deploy Contracts to Polkadot Hub with Ethers.js", - "version": "1.1.1", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -9473,7 +9473,7 @@ ] }, "title": "Deploy Uniswap V2 Core on Polkadot Hub (PVM)", - "version": "1.0.3", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -9643,7 +9643,7 @@ ] }, "title": "Deploy Uniswap V2 Core on Polkadot Hub (EVM)", - "version": "1.0.3", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -9813,7 +9813,7 @@ ] }, "title": "Deploy Uniswap V2 Periphery (Router) on Polkadot Hub (EVM)", - "version": "1.0.3", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -9983,7 +9983,7 @@ ] }, "title": "Deploy Uniswap V3 Core on Polkadot Hub (EVM)", - "version": "1.0.2", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -10167,7 +10167,7 @@ ] }, "title": "Deploy Uniswap V3 Periphery on Polkadot Hub (EVM)", - "version": "1.1.0", + "version": "1.2.0", "workflow_pattern": "sequential" } ] diff --git a/skill_candidates.json b/skill_candidates.json index 7ed3970e8..7ef629d25 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -2044,7 +2044,7 @@ "title": "Deploy an ERC-20 Token Using Hardhat" }, { - "built_at": "2026-06-03T19:00:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "Complete browser-based tutorial: create contract in Remix, compile, deploy, and mint via MetaMask. No CLI commands (P2 not fired). S1 not fired — workflow is GUI-driven (Remix IDE + MetaMask); a skill agent would require browser automation. Contract code sourced from revm-hardhat-examples (K4 awarded).", "priority": "high", @@ -2364,7 +2364,7 @@ "title": "Connect a Wallet to Polkadot Hub" }, { - "built_at": "2026-04-21T20:00:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "Complete tutorial: project setup, Solidity compilation, deployment, and contract interaction via Ethers.js. Explicit numbered steps in the deploy section (P1). Self-contained with prerequisites listed. Code via --8<-- includes from polkadot-cookbook (K4). INSERT_* placeholders for RPC URL, chain ID, and mnemonic require substitution (K2=0).", "priority": "high", @@ -2693,7 +2693,7 @@ "title": "Store and Retrieve Data on the Bulletin Chain" }, { - "built_at": "2026-06-02T12:00:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "PVM variant using polkavm-hardhat-examples repo. K1 awarded for the deploy-to-TestNet workflow, which is standalone; the local-node testing step references the Local Dev Node guide but the deployment outcome is achievable without it. K4 awarded — polkavm-hardhat-examples is listed in context.md.", "priority": "high", @@ -2728,7 +2728,7 @@ "title": "Deploy Uniswap V2 Core on Polkadot Hub (PVM)" }, { - "built_at": "2026-06-03T19:00:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "EVM variant using revm-hardhat-examples repo and standard Hardhat + TypeScript; no PVM compiler plugin. P3 not awarded — key management is via `npx hardhat vars set` CLI, no file to write. K4 awarded — revm-hardhat-examples is listed in context.md. Testing step references Local Dev Node guide but TestNet deployment is self-contained.", "priority": "high", @@ -2762,7 +2762,7 @@ "title": "Deploy Uniswap V2 Core on Polkadot Hub (EVM)" }, { - "built_at": "2026-06-03T19:00:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "Deploys WETH9, UniswapV2Factory, and UniswapV2Router02 via Hardhat Ignition. The V2 Core Solidity dependency is a local file reference resolved automatically by npm install from the same cloned repo — no separately deployed Core contracts are needed. K1 awarded as self-contained; the editorial prerequisite 'complete Core tutorial first' is educational context, not a technical blocker for deployment. K4 awarded — revm-hardhat-examples is listed in context.md.", "priority": "high", @@ -2796,7 +2796,7 @@ "title": "Deploy Uniswap V2 Periphery (Router) on Polkadot Hub (EVM)" }, { - "built_at": "2026-05-15T15:30:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "K1=0: test step references external Local Development Node guide; deployment workflow itself is self-contained. K4=3: revm-hardhat-examples repo with pinned commit (3ff28ae). No P3: reader clones the repo, not creates files.", "priority": "high", @@ -2831,7 +2831,7 @@ "title": "Deploy Uniswap V3 Core with EVM on Polkadot Hub" }, { - "built_at": "2026-06-03T19:00:00Z", + "built_at": "2026-06-04T19:30:00Z", "category": "tutorial", "notes": "Full deploy+test workflow for SwapRouter and NonfungiblePositionManager. The 'complete V3 Core tutorial' prereq is a code dependency resolved automatically via local npm file reference in the cloned monorepo; the Ignition module deploys Factory+WETH9+SwapRouter+NFPM in one shot, making this self-contained. Pinned to commit 96696ad15c3cf01b9168a71ad5114f27c34a8726 with docs.test.ts confirming CI-tested code.", "priority": "high", diff --git a/skill_coverage.json b/skill_coverage.json index 872da51b5..ed1584e76 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T19:00:00Z", + "generated": "2026-06-04T19:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -699,43 +699,43 @@ }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T19:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T19:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v3-core-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T19:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -763,11 +763,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T19:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -895,11 +895,11 @@ }, "smart-contracts/libraries/ethers-js.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-contracts-ethers-js" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/viem.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 20, + "stale": 13, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 35 + "up_to_date": 42 } } From 0ebe8198ec31d8bd80553a9b4c0f67077337334c Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:23:01 +0000 Subject: [PATCH 35/40] chore: auto-generate/update skills --- agent_skills_config.json | 26 +++++++++++++++----------- skill_coverage.json | 34 +++++++++++++++++----------------- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index e952f28a2..3c13815cf 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:c39e05efecdf6eb495f77b13deb24d87871a29f0db7ab3f24c11586e993c48c6", - "generated": "2026-06-04T19:30:00Z", + "content_hash": "sha256:bb44c94b85787f64bac858add7c0d52305d79560beedbce52402d3d2a6f1b7ae", + "generated": "2026-06-04T20:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -6754,7 +6754,7 @@ ] }, "primary_page": "parachains/customize-runtime/add-existing-pallets.md", - "project_structure": "polkadot-sdk-parachain-template/\n└── runtime/\n ├── Cargo.toml (modified)\n └── src/\n └── lib.rs (modified)", + "project_structure": "polkadot-sdk-parachain-template/\n└── runtime/\n ├── Cargo.toml (modified)\n └── src/\n ├── configs/\n │ └── mod.rs (modified)\n └── lib.rs (modified)", "reference_code": { "base_path": "", "branch": "", @@ -6860,7 +6860,7 @@ ] }, "title": "Add an Existing Pallet to a Parachain Runtime", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -6927,7 +6927,7 @@ ] }, "primary_page": "parachains/customize-runtime/add-pallet-instances.md", - "project_structure": "polkadot-sdk-parachain-template/\n└── runtime/\n ├── Cargo.toml (modified)\n └── src/\n └── lib.rs (modified)", + "project_structure": "polkadot-sdk-parachain-template/\n└── runtime/\n ├── Cargo.toml (modified)\n └── src/\n ├── configs/\n │ └── mod.rs (modified)\n └── lib.rs (modified)", "reference_code": { "base_path": "", "branch": "", @@ -7030,7 +7030,7 @@ ] }, "title": "Configure Multiple Instances of a Pallet in a Runtime", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -7207,7 +7207,7 @@ ] }, "title": "Create a Custom FRAME Pallet", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -7266,8 +7266,10 @@ ] }, "primary_page": "reference/parachains/chain-data.md", + "project_structure": "./\n└── spec.json", "reference_code": { "base_path": "", + "branch": "", "files": [], "repo": "none" }, @@ -7326,7 +7328,7 @@ ] }, "title": "Retrieve Polkadot Runtime Metadata", - "version": "1.1.2", + "version": "1.2.0", "workflow_pattern": "sequential" }, { @@ -7405,6 +7407,7 @@ "project_structure": "polkadot-api-demo/\n├── query.ts\n├── transfer.ts\n├── .env\n├── .gitignore\n└── package.json", "reference_code": { "base_path": "", + "branch": "", "files": [], "repo": "none" }, @@ -7479,7 +7482,7 @@ ] }, "title": "Query and Transact on Polkadot Chains with the Polkadot.js API", - "version": "1.3.0", + "version": "1.3.1", "workflow_pattern": "sequential" }, { @@ -8899,6 +8902,7 @@ "project_structure": "parachain-template/\n├── plain_chain_spec.json\n├── raw_chain_spec.json\n├── para-wasm\n├── para-state\n└── data/\n └── chains/\n └── custom/\n └── network/\n └── secret_ed25519", "reference_code": { "base_path": "", + "branch": "", "files": [], "repo": "none" }, @@ -9021,7 +9025,7 @@ ] }, "title": "Deploy a Parachain to the Polkadot TestNet (Paseo)", - "version": "1.2.0", + "version": "1.2.1", "workflow_pattern": "sequential" }, { @@ -9305,7 +9309,7 @@ ] }, "title": "Store and Retrieve Data on the Bulletin Chain", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index ed1584e76..08122bd20 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T19:30:00Z", + "generated": "2026-06-04T20:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -97,11 +97,11 @@ }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-04T00:00:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -239,19 +239,19 @@ }, "parachains/customize-runtime/add-existing-pallets.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/add-pallet-instances.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -269,11 +269,11 @@ }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T14:00:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "create-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -343,11 +343,11 @@ }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T16:00:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/launch-a-parachain/obtain-coretime.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -461,11 +461,11 @@ }, "reference/parachains/chain-data.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "stale" + "status": "up_to_date" }, "reference/parachains/consensus/async-backing.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -633,11 +633,11 @@ }, "reference/tools/polkadot-js-api.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-03T18:30:00Z", + "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "stale" + "status": "up_to_date" }, "reference/tools/pop-cli.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -982,10 +982,10 @@ "summary": { "blocked": 23, "not_applicable": 12, - "stale": 13, + "stale": 6, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 42 + "up_to_date": 49 } } From 0f220ddfd074dc65fd5b4597b955b51a7d381bbe Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:35:22 +0000 Subject: [PATCH 36/40] chore: auto-generate/update skills --- agent_skills_config.json | 16 ++++++++-------- skill_coverage.json | 30 +++++++++++++++--------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 3c13815cf..d92914847 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:bb44c94b85787f64bac858add7c0d52305d79560beedbce52402d3d2a6f1b7ae", - "generated": "2026-06-04T20:00:00Z", + "content_hash": "sha256:f64fcc9b8f54557edeea2d846718b4f8f78191768beda90917b98c35946efe81", + "generated": "2026-06-04T20:30:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -6687,7 +6687,7 @@ ] }, "title": "Deploy and Interact with Smart Contracts Using Web3.js", - "version": "1.0.3", + "version": "1.0.4", "workflow_pattern": "sequential" }, { @@ -7849,7 +7849,7 @@ ] }, "title": "Connect a Wallet to Polkadot Hub", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { @@ -8209,7 +8209,7 @@ ] }, "title": "Deploy and Interact with Smart Contracts on Polkadot Hub Using Web3.py", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -8510,7 +8510,7 @@ ] }, "title": "Interact with the Storage Precompile on Polkadot Hub via Remix", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -8664,7 +8664,7 @@ ] }, "title": "Interact with the System Precompile on Polkadot Hub via Remix", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { @@ -8821,7 +8821,7 @@ ] }, "title": "Interact with the XCM Precompile via Remix IDE", - "version": "1.1.1", + "version": "1.1.2", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index 08122bd20..011cf55bc 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,5 +1,5 @@ { - "generated": "2026-06-04T20:00:00Z", + "generated": "2026-06-04T20:30:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -887,11 +887,11 @@ }, "smart-contracts/integrations/wallets.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "connect-wallet-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/ethers-js.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -919,19 +919,19 @@ }, "smart-contracts/libraries/web3-js.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T12:00:00Z", + "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "deploy-interact-contracts-web3js" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/libraries/web3-py.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "deploy-interact-contracts-web3py" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/overview.md": { "last_edited": "2026-06-04T16:12:28+00:00", @@ -955,37 +955,37 @@ }, "smart-contracts/precompiles/storage.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-storage-precompile-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/precompiles/system.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-system-precompile-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/precompiles/xcm.md": { "last_edited": "2026-06-04T16:12:28+00:00", - "last_scanned": "2026-06-02T15:30:00Z", + "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], - "status": "stale" + "status": "up_to_date" } }, "schema_version": "1", "summary": { "blocked": 23, "not_applicable": 12, - "stale": 6, + "stale": 0, "supplementary": 45, "total_candidates": 142, "uncovered": 0, - "up_to_date": 49 + "up_to_date": 55 } } From ff9f4b2111091463c957d17a016cb48c101820a2 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 13:57:23 +0000 Subject: [PATCH 37/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 320 ++++++++++++++++++------------------ 3 files changed, 162 insertions(+), 162 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index aca25bc99..cd9142f63 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-06-04T16:14:02Z", + "generated": "2026-06-05T13:57:22Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index 546dafba8..0f4d9fd51 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-06-04T16:14:02Z", + "last_checked": "2026-06-05T13:57:22Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index 011cf55bc..b2ee01a70 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,8 +1,18 @@ { - "generated": "2026-06-04T20:30:00Z", + "schema_version": "1", + "generated": "2026-06-05T13:57:22Z", + "summary": { + "total_candidates": 142, + "up_to_date": 55, + "stale": 7, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "create-polkadot-account" @@ -10,7 +20,7 @@ "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-account-info-sdks" @@ -18,7 +28,7 @@ "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-chain-data-sidecar-rest" @@ -26,7 +36,7 @@ "status": "up_to_date" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-chain-state-sdks" @@ -34,7 +44,7 @@ "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "call-runtime-apis-sdks" @@ -42,7 +52,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "calculate-transaction-fees-papi" @@ -50,7 +60,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" @@ -58,7 +68,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "estimate-xcm-fees-teleport" @@ -66,13 +76,13 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "transfer-assets-parachains-paraspell" @@ -80,7 +90,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "pay-fees-alternative-token" @@ -88,7 +98,7 @@ "status": "up_to_date" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "send-transactions-sdks" @@ -96,7 +106,7 @@ "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" @@ -104,37 +114,37 @@ "status": "up_to_date" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "run-parachain-rpc-node" @@ -142,7 +152,7 @@ "status": "up_to_date" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "run-polkadot-hub-rpc-node" @@ -150,31 +160,31 @@ "status": "up_to_date" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "set-up-polkadot-validator-node" @@ -182,63 +192,63 @@ "status": "up_to_date" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "current" + "status": "stale" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "add-existing-pallet-to-runtime" @@ -246,7 +256,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "configure-multiple-pallet-instances" @@ -254,21 +264,21 @@ "status": "up_to_date" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "current" + "status": "stale" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "create-frame-pallet" @@ -276,7 +286,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-pallet-mock-runtime" @@ -284,7 +294,7 @@ "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "unit-test-frame-pallet" @@ -292,13 +302,13 @@ "status": "up_to_date" }, "parachains/get-started.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "install-polkadot-sdk" @@ -306,43 +316,43 @@ "status": "up_to_date" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" @@ -350,13 +360,13 @@ "status": "up_to_date" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-parachain-template" @@ -364,103 +374,103 @@ "status": "up_to_date" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "retrieve-runtime-metadata" @@ -468,115 +478,115 @@ "status": "up_to_date" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "set-up-chopsticks-fork" @@ -584,7 +594,7 @@ "status": "up_to_date" }, "reference/tools/dedot.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "interact-with-chain-dedot" @@ -592,13 +602,13 @@ "status": "up_to_date" }, "reference/tools/light-clients.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" @@ -606,7 +616,7 @@ "status": "up_to_date" }, "reference/tools/omninode.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "run-parachain-node-omni-node" @@ -614,25 +624,25 @@ "status": "up_to_date" }, "reference/tools/papi.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "use-polkadot-js-api" @@ -640,13 +650,13 @@ "status": "up_to_date" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "interact-polkadot-node-py-substrate" @@ -654,13 +664,13 @@ "status": "up_to_date" }, "reference/tools/sidecar.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "interact-polkadot-node-subxt" @@ -668,13 +678,13 @@ "status": "up_to_date" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "spawn-test-network-zombienet" @@ -682,7 +692,7 @@ "status": "up_to_date" }, "smart-contracts/connect.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "connect-polkadot-hub-testnet" @@ -690,7 +700,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "build-dapp-viem-nextjs" @@ -698,7 +708,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" @@ -706,7 +716,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-core-evm" @@ -714,7 +724,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" @@ -722,7 +732,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v3-core-evm" @@ -730,7 +740,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" @@ -738,7 +748,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "deploy-basic-contract-hardhat" @@ -746,15 +756,15 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "current" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "deploy-erc20-token-hardhat" @@ -762,7 +772,7 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-erc20-token-remix" @@ -770,31 +780,31 @@ "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "current" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "current" + "status": "stale" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "current" + "status": "stale" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-hardhat-pvm" @@ -802,7 +812,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-hardhat-evm" @@ -810,7 +820,7 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-local-dev-node" @@ -818,75 +828,75 @@ "status": "up_to_date" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T17:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "current" + "status": "stale" }, "smart-contracts/explorers.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "connect-wallet-polkadot-hub" @@ -894,7 +904,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-contracts-ethers-js" @@ -902,7 +912,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "deploy-contracts-viem" @@ -910,7 +920,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "use-wagmi-polkadot-hub" @@ -918,7 +928,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "deploy-interact-contracts-web3js" @@ -926,7 +936,7 @@ "status": "up_to_date" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "deploy-interact-contracts-web3py" @@ -934,13 +944,13 @@ "status": "up_to_date" }, "smart-contracts/overview.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" @@ -948,13 +958,13 @@ "status": "up_to_date" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-storage-precompile-remix" @@ -962,7 +972,7 @@ "status": "up_to_date" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-system-precompile-remix" @@ -970,22 +980,12 @@ "status": "up_to_date" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-06-04T16:12:28+00:00", + "last_edited": "2026-06-04T17:35:22+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], "status": "up_to_date" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 0, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 55 } } From b2025cc3f09b3e5ddd5b282f62fc5da4ca59c629 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 14:05:04 +0000 Subject: [PATCH 38/40] chore: auto-generate/update skills --- agent_skills_config.json | 26 +++++++++++----------- skill_coverage.json | 48 ++++++++++++++++++++-------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index d92914847..139d80dc6 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:f64fcc9b8f54557edeea2d846718b4f8f78191768beda90917b98c35946efe81", - "generated": "2026-06-04T20:30:00Z", + "content_hash": "sha256:6f810e8a2ba0680f554db8f718a40ee99262c926fde23deda7350502f36bd48a", + "generated": "2026-06-05T14:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -3428,7 +3428,7 @@ "steps": [ { "action": "Verify hardware meets minimum requirements", - "description": "Confirm the machine meets or exceeds all Polkadot validator hardware minimums:\n\n**CPU:** x86-64 compatible, 8 physical cores at 3.4 GHz or higher. Recommended processors: Intel Ice Lake or newer (Xeon or Core), AMD Zen3 or newer (EPYC or Ryzen). Disable simultaneous multithreading (Intel Hyper-Threading or AMD SMT). Single-threaded performance is prioritized over core count.\n\n**Storage:** NVMe SSD, minimum 2 TB. Storage requirements grow as the chain grows — check https://stakeworld.github.io/docs/dbsize for current estimates. Prioritize low latency over throughput. Avoid VPS providers that use NVMe-over-TCP (appears local but underperforms).\n\n**Memory:** 32 GB DDR4 ECC.\n\n**Network:** Symmetric 500 Mbit/s minimum.\n\nTested VPS families: GCP c2/c2d, AWS c6id, OVH (budget option if specs are met), Digital Ocean Premium Droplets, Vultr high-bandwidth plans, Akamai Cloud (Linode), Scaleway high-performance instances, OnFinality (blockchain-specialized). Always benchmark the VPS before committing — some providers overprovision shared hosts.", + "description": "Confirm the machine meets or exceeds all Polkadot validator hardware minimums:\n\n**CPU:** x86-64 compatible, 8 physical cores at 3.4 GHz or higher. Recommended processors: Intel Ice Lake or newer (Xeon or Core), AMD Zen3 or newer (EPYC or Ryzen). Disable simultaneous multithreading (Intel Hyper-Threading or AMD SMT). Single-threaded performance is prioritized over core count.\n\n**Storage:** NVMe SSD, minimum 2 TB. Storage requirements grow as the chain grows — check https://stakeworld.github.io/docs/dbsize for current estimates. Prioritize low latency over throughput. Avoid VPS providers that use NVMe-over-TCP (appears local but underperforms).\n\n**Memory:** 32 GB DDR4 ECC.\n\n**Network:** Symmetric 500 Mbit/s minimum.\n\nTested VPS families: GCP c2/c2d, AWS c6id, OVH (budget option if specs are met), Digital Ocean Premium Droplets, Vultr high-bandwidth plans, Akamai Cloud (Linode), Scaleway high-performance instances, OnFinality (blockchain-specialized). Always benchmark the VPS before committing — some providers overprovision shared hosts.\n\n**Acceptable use policies:** Some VPS providers have varying acceptable use policies for cryptocurrency-related activities. For example, Digital Ocean requires explicit permission and defines unauthorized mining as network abuse. Review your provider's terms before deploying to avoid account suspension or server shutdown.", "order": 1, "working_directory": "." }, @@ -3469,7 +3469,7 @@ ] }, "title": "Validate Polkadot Validator Requirements", - "version": "1.0.2", + "version": "1.0.3", "workflow_pattern": "domain-intelligence" }, { @@ -5059,7 +5059,7 @@ "commands": [ "curl -L https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/tags//substrate/.maintain/frame-weight-template.hbs --output ./pallets/pallet-custom/frame-weight-template.hbs" ], - "description": "Download the official Polkadot SDK weight template. Replace `` with the specific Polkadot SDK release tag matching your runtime (e.g., `polkadot-stable2412-2`). Check the template download URL in the docs at https://docs.polkadot.com/parachains/customize-runtime/pallet-development/benchmark-pallet/ for the exact version.\n\n```bash\ncurl -L https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/tags//substrate/.maintain/frame-weight-template.hbs \\\n--output ./pallets/pallet-custom/frame-weight-template.hbs\n```\n\nThe weight template is a Handlebars file that transforms raw benchmark data into a formatted Rust source file following Polkadot SDK conventions.", + "description": "Download the official Polkadot SDK weight template. Check the Polkadot SDK release page (https://github.com/paritytech/polkadot-sdk/releases) for the latest stable tag. Replace `` with the tag matching your runtime (e.g., `polkadot-stable2412-2`). The docs page at https://docs.polkadot.com/parachains/customize-runtime/pallet-development/benchmark-pallet/ shows the version variable that resolves to the current recommended tag.\n\n```bash\ncurl -L https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/tags//substrate/.maintain/frame-weight-template.hbs \\\n--output ./pallets/pallet-custom/frame-weight-template.hbs\n```\n\nThe weight template is a Handlebars file that transforms raw benchmark data into a formatted Rust source file following Polkadot SDK conventions.", "order": 11, "working_directory": "polkadot-sdk-parachain-template" }, @@ -5098,7 +5098,7 @@ ] }, "title": "Benchmark a FRAME Pallet and Generate Weight Files", - "version": "1.0.4", + "version": "1.1.0", "workflow_pattern": "sequential" }, { @@ -6035,7 +6035,7 @@ ] }, "title": "Deploy an ERC-721 NFT Using Hardhat", - "version": "1.2.2", + "version": "1.2.3", "workflow_pattern": "sequential" }, { @@ -6162,12 +6162,12 @@ ] }, "title": "Deploy an ERC-721 NFT Using Remix IDE", - "version": "1.3.1", + "version": "1.3.2", "workflow_pattern": "sequential" }, { "chain_role": "isolated", - "description": "Installs the Foundry nightly build (required for native Polkadot chain support), initializes a Forge project, configures foundry.toml for Polkadot Hub TestNet, deploys a contract via forge create, verifies it on Blockscout or Routescan, interacts with it using cast, and runs Solidity tests with forge test. Use when building or deploying Solidity contracts on Polkadot Hub with the Foundry toolkit. Trigger phrases: 'Foundry Polkadot', 'forge deploy', 'forge create Polkadot', 'cast call Polkadot Hub', 'forge test Polkadot'. Requires Foundry nightly — stable release lacks Polkadot chain definitions.", + "description": "Installs the Foundry nightly build (required for native Polkadot chain support), initializes a Forge project, configures foundry.toml for Polkadot Hub TestNet, deploys a contract via forge create, verifies it on Blockscout or Routescan, interacts with it using cast, and runs Solidity tests with forge test. Use when building or deploying Solidity contracts on Polkadot Hub with the Foundry toolkit. Trigger phrases: 'Foundry Polkadot', 'forge deploy', 'forge create Polkadot', 'cast call Polkadot Hub', 'forge test Polkadot'. Requires Foundry nightly — stable release lacks Polkadot chain definitions. Supports polkadot-testnet (chain ID 420420417), polkadot (420420419), and kusama (420420418) as built-in named chains.", "env_vars": [ { "description": "0x-prefixed EVM private key for the deployer account. Loaded via 'source .env' into the shell session. Must be funded with testnet PAS. Never commit to version control.", @@ -6277,7 +6277,7 @@ }, { "action": "Configure foundry.toml for Polkadot Hub TestNet", - "description": "Replace the contents of 'foundry.toml' with the following. Choose Blockscout (no API key) or Routescan:\n\nBlockscout:\n```toml\n[profile.default]\nsrc = \"src\"\nout = \"out\"\nlibs = [\"lib\"]\nsolc_version = \"0.8.28\"\n\n[etherscan]\npolkadot-testnet = { key = \"\", url = \"https://blockscout-testnet.polkadot.io/api?\" }\n```\n\nRoutescan:\n```toml\n[profile.default]\nsrc = \"src\"\nout = \"out\"\nlibs = [\"lib\"]\nsolc_version = \"0.8.28\"\n\n[etherscan]\npolkadot-testnet = { key = \"verifyContract\", url = \"https://api.routescan.io/v2/network/testnet/evm/420420417/etherscan\" }\n```\n\nWith this config, use `--chain polkadot-testnet` in commands without specifying the RPC URL explicitly.", + "description": "Replace the contents of 'foundry.toml' with the following. Choose Blockscout (no API key) or Routescan:\n\nBlockscout:\n```toml\n[profile.default]\nsrc = \"src\"\nout = \"out\"\nlibs = [\"lib\"]\nsolc_version = \"0.8.28\"\n\n[etherscan]\npolkadot-testnet = { key = \"\", url = \"https://blockscout-testnet.polkadot.io/api?\" }\n```\n\nRoutescan:\n```toml\n[profile.default]\nsrc = \"src\"\nout = \"out\"\nlibs = [\"lib\"]\nsolc_version = \"0.8.28\"\n\n[etherscan]\npolkadot-testnet = { key = \"verifyContract\", url = \"https://api.routescan.io/v2/network/testnet/evm/420420417/etherscan\" }\n```\n\nWith this config, use `--chain polkadot-testnet` in commands without specifying the RPC URL explicitly.\n\n**Available networks with built-in RPC endpoints:**\n\n| Network | Chain Flag | Built-in RPC Endpoint | Chain ID |\n|---|---|---|---|\n| Polkadot TestNet | `--chain polkadot-testnet` | `https://services.polkadothub-rpc.com/testnet` | 420420417 |\n| Polkadot | `--chain polkadot` | `https://services.polkadothub-rpc.com/mainnet` | 420420419 |\n| Kusama | `--chain kusama` | `https://kusama-asset-hub-eth-rpc.polkadot.io` | 420420418 |", "order": 3, "working_directory": "my-foundry-project" }, @@ -6348,7 +6348,7 @@ ] }, "title": "Use Foundry with Polkadot Hub", - "version": "1.2.2", + "version": "1.3.0", "workflow_pattern": "sequential" }, { @@ -7613,7 +7613,7 @@ ] }, "title": "Deploy a Basic Smart Contract with Remix IDE", - "version": "1.2.2", + "version": "1.2.3", "workflow_pattern": "sequential" }, { @@ -7727,7 +7727,7 @@ ] }, "title": "Connect Remix IDE to Polkadot Hub", - "version": "1.2.2", + "version": "1.2.3", "workflow_pattern": "sequential" }, { diff --git a/skill_coverage.json b/skill_coverage.json index b2ee01a70..8508f9097 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,15 +1,5 @@ { - "schema_version": "1", "generated": "2026-06-05T13:57:22Z", - "summary": { - "total_candidates": 142, - "up_to_date": 55, - "stale": 7, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-04T17:35:22+00:00", @@ -229,11 +219,11 @@ }, "node-infrastructure/run-a-validator/requirements.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "stale" + "status": "up_to_date" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { "last_edited": "2026-06-04T17:35:22+00:00", @@ -271,11 +261,11 @@ }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "stale" + "status": "up_to_date" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { "last_edited": "2026-06-04T17:35:22+00:00", @@ -757,11 +747,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { "last_edited": "2026-06-04T17:35:22+00:00", @@ -781,27 +771,27 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/foundry.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { "last_edited": "2026-06-04T17:35:22+00:00", @@ -829,11 +819,11 @@ }, "smart-contracts/dev-environments/remix.md": { "last_edited": "2026-06-04T17:35:22+00:00", - "last_scanned": "2026-06-04T17:00:00Z", + "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/explorers.md": { "last_edited": "2026-06-04T17:35:22+00:00", @@ -987,5 +977,15 @@ ], "status": "up_to_date" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 7, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 55 } } From 3e4e2070786680e88f754e9b74161372adfa1638 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 18:50:08 +0000 Subject: [PATCH 39/40] chore: refresh skill coverage and alerts --- ref_repo_change_alerts.json | 2 +- repo_state.json | 2 +- skill_coverage.json | 430 ++++++++++++++++++------------------ 3 files changed, 217 insertions(+), 217 deletions(-) diff --git a/ref_repo_change_alerts.json b/ref_repo_change_alerts.json index cd9142f63..4dfb7f292 100644 --- a/ref_repo_change_alerts.json +++ b/ref_repo_change_alerts.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "generated": "2026-06-05T13:57:22Z", + "generated": "2026-06-05T18:50:07Z", "summary": { "reference_changes": 0, "skills_affected": 0 diff --git a/repo_state.json b/repo_state.json index 0f4d9fd51..ab2035e9c 100644 --- a/repo_state.json +++ b/repo_state.json @@ -1,6 +1,6 @@ { "schema_version": "1", - "last_checked": "2026-06-05T13:57:22Z", + "last_checked": "2026-06-05T18:50:07Z", "docs_repo": { "branch": "master", "last_checked_commit": "cc6c24ebf10e1e4e620ad152ae9af9e3d19aa6ae" diff --git a/skill_coverage.json b/skill_coverage.json index 8508f9097..8482db4a3 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,991 +1,991 @@ { - "generated": "2026-06-05T13:57:22Z", + "schema_version": "1", + "generated": "2026-06-05T18:50:07Z", + "summary": { + "total_candidates": 142, + "up_to_date": 0, + "stale": 62, + "uncovered": 0, + "blocked": 23, + "not_applicable": 12, + "supplementary": 45 + }, "pages": { "chain-interactions/accounts/create-account.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/accounts/query-accounts.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-rest.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-chain-data-sidecar-rest" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/query-sdks.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/query-data/runtime-api-calls.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "calculate-transaction-fees-papi" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/debug-and-preview-xcms.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:00:00Z", "skills": [ "replay-dry-run-xcm-chopsticks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/estimate-xcm-fees.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "estimate-xcm-fees-teleport" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/interoperability/transfer-assets-into-polkadot.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/send-transactions/interoperability/transfer-assets-parachains.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "transfer-assets-parachains-paraspell" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/pay-fees-with-different-tokens.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "pay-fees-alternative-token" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/send-transactions/with-sdks.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "send-transactions-sdks" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/store-data/bulletin-chain.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "store-retrieve-data-bulletin-chain" ], - "status": "up_to_date" + "status": "stale" }, "chain-interactions/token-operations/convert-assets.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-foreign-asset.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "chain-interactions/token-operations/register-local-asset.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "get-support.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "node-infrastructure/run-a-collator.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T19:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/parachain-rpc.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "run-parachain-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/polkadot-hub-rpc.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "run-polkadot-hub-rpc-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-node/relay-chain/bootnode.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/full-node.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:00:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-node/relay-chain/secure-wss.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/key-management.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:30:00Z", "skills": [ "set-up-polkadot-validator-node" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/onboarding-and-offboarding/stop-validating.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/general-management.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T20:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/operational-tasks/pause-validating.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/staking-operator-proxy.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/operational-tasks/upgrade-your-node.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "node-infrastructure/run-a-validator/requirements.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "onboard-polkadot-validator" ], - "status": "up_to_date" + "status": "stale" }, "node-infrastructure/run-a-validator/staking-mechanics/offenses-and-slashes.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "node-infrastructure/run-a-validator/staking-mechanics/rewards.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/add-existing-pallets.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "add-existing-pallet-to-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-pallet-instances.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "configure-multiple-pallet-instances" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/add-smart-contract-functionality.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/customize-runtime/pallet-development/benchmark-pallet.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "benchmark-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/create-a-pallet.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "create-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/mock-runtime.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-pallet-mock-runtime" ], - "status": "up_to_date" + "status": "stale" }, "parachains/customize-runtime/pallet-development/pallet-testing.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "unit-test-frame-pallet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/get-started.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/install-polkadot-sdk.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "up_to_date" + "status": "stale" }, "parachains/integrations/indexers.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/oracles.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/integrations/wallets.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "parachains/interoperability/channels-between-parachains.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/channels-with-system-parachains.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/interoperability/get-started.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/launch-a-parachain/deploy-to-polkadot.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "deploy-parachain-to-polkadot-testnet" ], - "status": "up_to_date" + "status": "stale" }, "parachains/launch-a-parachain/obtain-coretime.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:30:00Z", "skills": [], "status": "blocked" }, "parachains/launch-a-parachain/set-up-the-parachain-template.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-parachain-template" ], - "status": "up_to_date" + "status": "stale" }, "parachains/runtime-maintenance/coretime-renewal.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/runtime-upgrades.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "parachains/runtime-maintenance/storage-migrations.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "parachains/runtime-maintenance/unlock-parachains.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "parachains/testing/fork-a-parachain.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T19:30:00Z", "skills": [], "status": "blocked" }, "parachains/testing/run-a-parachain-network.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "policies/ai-chatbot-policy.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/cookie-policy.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/privacy-policy.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "policies/terms-of-use.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/glossary.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/governance/origins-tracks.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/accounts.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/blocks.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/fees.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/blocks-transactions-fees/transactions.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/chain-data.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "retrieve-runtime-metadata" ], - "status": "up_to_date" + "status": "stale" }, "reference/parachains/consensus/async-backing.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/elastic-scaling.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/consensus/inclusion-pipeline.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/cryptography.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/data-encoding.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/interoperability.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/networks.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/node-and-runtime.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/parachains/randomness.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/assets.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/bridging.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/collectives-and-daos.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/agile-coretime.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/pos-consensus.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/consensus-and-security/relay-chain.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/data-storage.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/people-and-identity.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/polkadot-hub/smart-contracts.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/chopsticks.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "set-up-chopsticks-fork" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/dedot.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "interact-with-chain-dedot" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/light-clients.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/moonwall.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "set-up-e2e-testing-moonwall" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/omninode.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "run-parachain-node-omni-node" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/papi.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/paraspell.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/polkadart.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T21:00:00Z", "skills": [], "status": "blocked" }, "reference/tools/polkadot-js-api.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:00:00Z", "skills": [ "use-polkadot-js-api" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/pop-cli.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T22:30:00Z", "skills": [], "status": "blocked" }, "reference/tools/py-substrate-interface.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "interact-polkadot-node-py-substrate" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/sidecar.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "reference/tools/subxt.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:00:00Z", "skills": [ "interact-polkadot-node-subxt" ], - "status": "up_to_date" + "status": "stale" }, "reference/tools/xcm-tools.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "reference/tools/zombienet.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "spawn-test-network-zombienet" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/connect.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "connect-polkadot-hub-testnet" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/dapps/zero-to-hero.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "build-dapp-viem-nextjs" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2-pvm.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-core-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/core-v2.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v2/periphery-v2.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v2-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v3-core-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-uniswap-v3-periphery-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "deploy-basic-contract-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-hardhat.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "deploy-erc20-token-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-erc20-token-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-hardhat.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "deploy-erc721-nft-hardhat" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/cookbook/smart-contracts/deploy-nft/nft-remix.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "deploy-erc721-nft-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/foundry.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "set-up-foundry-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat-polkadot.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-hardhat-pvm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/hardhat.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-hardhat-evm" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/local-dev-node.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:15:00Z", "skills": [ "set-up-local-dev-node" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/dev-environments/remix.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-05T14:00:00Z", "skills": [ "connect-remix-polkadot" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/explorers.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/faucet.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-04-21T23:59:00Z", "skills": [], "status": "blocked" }, "smart-contracts/for-eth-devs/accounts.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/blocks-transactions-fees.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/contract-deployment.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/dual-vm-stack.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/evm-vs-pvm.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/gas-model.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/for-eth-devs/json-rpc-apis.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/get-started.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/integrations/wallets.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "connect-wallet-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/ethers-js.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T19:30:00Z", "skills": [ "deploy-contracts-ethers-js" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/viem.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "deploy-contracts-viem" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/wagmi.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "use-wagmi-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/web3-js.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "deploy-interact-contracts-web3js" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/libraries/web3-py.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "deploy-interact-contracts-web3py" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/overview.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "not_applicable" }, "smart-contracts/precompiles/erc20.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T18:45:00Z", "skills": [ "interact-erc20-precompile-polkadot-hub" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/eth-native.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": null, "skills": [], "status": "supplementary" }, "smart-contracts/precompiles/storage.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-storage-precompile-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/system.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-system-precompile-remix" ], - "status": "up_to_date" + "status": "stale" }, "smart-contracts/precompiles/xcm.md": { - "last_edited": "2026-06-04T17:35:22+00:00", + "last_edited": "2026-06-05T14:05:04+00:00", "last_scanned": "2026-06-04T20:30:00Z", "skills": [ "interact-xcm-precompile-remix" ], - "status": "up_to_date" + "status": "stale" } - }, - "schema_version": "1", - "summary": { - "blocked": 23, - "not_applicable": 12, - "stale": 7, - "supplementary": 45, - "total_candidates": 142, - "uncovered": 0, - "up_to_date": 55 } } From 097ef51a8c7f127504cc947157b26dc826c868d9 Mon Sep 17 00:00:00 2001 From: "skill-bot[bot]" <3408791+skill-bot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 19:01:39 +0000 Subject: [PATCH 40/40] chore: auto-generate/update skills --- agent_skills_config.json | 18 +++++++-------- skill_candidates.json | 14 +++++------ skill_coverage.json | 50 ++++++++++++++++++++-------------------- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/agent_skills_config.json b/agent_skills_config.json index 139d80dc6..173f285a6 100644 --- a/agent_skills_config.json +++ b/agent_skills_config.json @@ -1,6 +1,6 @@ { - "content_hash": "sha256:6f810e8a2ba0680f554db8f718a40ee99262c926fde23deda7350502f36bd48a", - "generated": "2026-06-05T14:00:00Z", + "content_hash": "sha256:d7118077899d648b195e020bec31a9de26f4fcfb174a17c40d515f099f53123d", + "generated": "2026-06-05T19:00:00Z", "outputs": { "public_root": "/ai/", "skills_dir": "skills" @@ -134,7 +134,7 @@ ] }, "title": "Create a Polkadot Account Programmatically", - "version": "1.0.6", + "version": "1.0.7", "workflow_pattern": "sequential" }, { @@ -276,7 +276,7 @@ ] }, "title": "Query Account Information with SDKs", - "version": "1.0.6", + "version": "1.0.7", "workflow_pattern": "sequential" }, { @@ -430,7 +430,7 @@ ] }, "title": "Query On-Chain State with SDKs", - "version": "1.0.6", + "version": "1.0.7", "workflow_pattern": "sequential" }, { @@ -572,7 +572,7 @@ ] }, "title": "Call Runtime APIs with SDKs", - "version": "1.0.6", + "version": "1.0.7", "workflow_pattern": "sequential" }, { @@ -764,7 +764,7 @@ ] }, "title": "Send Transactions with SDKs", - "version": "1.0.6", + "version": "1.0.7", "workflow_pattern": "sequential" }, { @@ -932,7 +932,7 @@ ] }, "title": "Install the Polkadot SDK", - "version": "1.0.4", + "version": "1.0.5", "workflow_pattern": "sequential" }, { @@ -1136,7 +1136,7 @@ ] }, "title": "Deploy a Basic Smart Contract with Hardhat", - "version": "1.2.1", + "version": "1.2.2", "workflow_pattern": "sequential" }, { diff --git a/skill_candidates.json b/skill_candidates.json index 7ef629d25..f2ccfceec 100644 --- a/skill_candidates.json +++ b/skill_candidates.json @@ -1,7 +1,7 @@ { "candidates": [ { - "built_at": "2026-04-21T17:00:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Complete, multi-language tutorial (TypeScript, Python, Rust) covering account key generation. Fully self-contained with cookbook-tested code. All three language variants could become one skill or three; one skill covering the PAPI/TypeScript path is recommended.", "priority": "high", @@ -35,7 +35,7 @@ "title": "Create a Polkadot Account Programmatically" }, { - "built_at": "2026-04-21T17:00:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Multi-SDK tutorial covering PAPI, Polkadot.js, Dedot, Python Substrate Interface, and Subxt. Each SDK variant is self-contained. Cookbook-backed with CI badges. Recommend one skill targeting the PAPI variant as the primary path.", "priority": "high", @@ -103,7 +103,7 @@ "title": "Query On-Chain State with Sidecar REST API" }, { - "built_at": "2026-04-21T17:00:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Multi-SDK tutorial (PAPI, Polkadot.js, Dedot, Python Substrate Interface, Subxt) for querying account balance and asset info. Cookbook-backed. Recommend primary skill targeting PAPI TypeScript path.", "priority": "high", @@ -137,7 +137,7 @@ "title": "Query On-Chain State with SDKs" }, { - "built_at": "2026-04-21T17:00:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Multi-SDK tutorial demonstrating AccountNonceApi and Metadata runtime API calls. Reference API table at the bottom is supplementary. Cookbook-backed with CI badge.", "priority": "high", @@ -365,7 +365,7 @@ "title": "Pay Transaction Fees with an Alternative Token" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Multi-SDK tutorial for constructing, signing, and submitting balance transfers (PAPI, Polkadot.js, Dedot, Python Substrate Interface, Subxt). Cookbook-backed. Fundamental SDK skill and likely prerequisite for other chain-interaction skills.", "priority": "high", @@ -489,7 +489,7 @@ "title": "Register a Local Asset on Polkadot Hub" }, { - "built_at": "2026-05-19T21:30:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Multi-OS installation guide (macOS, Linux, Windows WSL) for the Polkadot SDK. Numbered steps throughout, multiple CLI commands (brew, apt, rustup, cargo build), and verification steps with expected output. Cookbook CI badge present (K4). Self-contained from scratch — covers all dependency installation and SDK build. Optional kitchensink explore step uses Polkadot.js Apps GUI but does not affect the primary installation workflow (S1 still fires). Serves as prerequisite for most parachain development skills (create-frame-pallet, set-up-the-parachain-template, etc.).", "priority": "high", @@ -1948,7 +1948,7 @@ "title": "Deploy Uniswap V2 on Polkadot Hub" }, { - "built_at": "2026-05-19T12:00:00Z", + "built_at": "2026-06-05T19:00:00Z", "category": "tutorial", "notes": "Concise end-to-end tutorial: scaffold Hardhat project, configure polkadotTestnet network, create Storage.sol, compile, deploy via Ignition to TestNet. All code uses --8<-- snippet includes from polkadot-cookbook (K4 = 3; CI badge confirms tested). K2 = 4 (includes expand to complete code in the published site). All steps are CLI-driven with no GUI interactions (S1 = 4). Explicit prerequisites section covers Node.js version, test tokens, and wallet (K3 = 3). Verified outcome shown via terminal output snippet.", "priority": "high", diff --git a/skill_coverage.json b/skill_coverage.json index 8482db4a3..17ab1d5e6 100644 --- a/skill_coverage.json +++ b/skill_coverage.json @@ -1,31 +1,21 @@ { - "schema_version": "1", - "generated": "2026-06-05T18:50:07Z", - "summary": { - "total_candidates": 142, - "up_to_date": 0, - "stale": 62, - "uncovered": 0, - "blocked": 23, - "not_applicable": 12, - "supplementary": 45 - }, + "generated": "2026-06-05T19:00:00Z", "pages": { "chain-interactions/accounts/create-account.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:00:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "create-polkadot-account" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/accounts/query-accounts.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:00:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "query-account-info-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/query-rest.md": { "last_edited": "2026-06-05T14:05:04+00:00", @@ -37,19 +27,19 @@ }, "chain-interactions/query-data/query-sdks.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:00:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "query-chain-state-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/query-data/runtime-api-calls.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:00:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "call-runtime-apis-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/send-transactions/calculate-transaction-fees.md": { "last_edited": "2026-06-05T14:05:04+00:00", @@ -99,11 +89,11 @@ }, "chain-interactions/send-transactions/with-sdks.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:30:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "send-transactions-sdks" ], - "status": "stale" + "status": "up_to_date" }, "chain-interactions/store-data/bulletin-chain.md": { "last_edited": "2026-06-05T14:05:04+00:00", @@ -309,11 +299,11 @@ }, "parachains/install-polkadot-sdk.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:15:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "install-polkadot-sdk" ], - "status": "stale" + "status": "up_to_date" }, "parachains/integrations/indexers.md": { "last_edited": "2026-06-05T14:05:04+00:00", @@ -749,11 +739,11 @@ }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-hardhat.md": { "last_edited": "2026-06-05T14:05:04+00:00", - "last_scanned": "2026-06-04T18:15:00Z", + "last_scanned": "2026-06-05T19:00:00Z", "skills": [ "deploy-basic-contract-hardhat" ], - "status": "stale" + "status": "up_to_date" }, "smart-contracts/cookbook/smart-contracts/deploy-basic/basic-remix.md": { "last_edited": "2026-06-05T14:05:04+00:00", @@ -987,5 +977,15 @@ ], "status": "stale" } + }, + "schema_version": "1", + "summary": { + "blocked": 23, + "not_applicable": 12, + "stale": 55, + "supplementary": 45, + "total_candidates": 142, + "uncovered": 0, + "up_to_date": 7 } }