blockscout
- 89 skills
- 0 followers
- 15 hours ago last updated
- ▌ Task To Code 2 · blockscoutApply code changes from an existing task handoff under `tmp/tasks/<task-name>/coding-task-X.md`. Use when Claude receives a task name and coding-task index and must implement that prepared coding task strictly, without inventing missing scope or design details.
- ▌ Task To Code 3 · blockscoutApply code changes from an existing task handoff under `tmp/tasks/<task-name>/coding-task-X.md`. Use when you have a task name and coding-task index and must implement that prepared coding task strictly, without inventing missing scope or design details.
- ▌ Task Analysis 2 · blockscoutReview a task, issue, or feature request before coding; persist the task framing under `tmp/tasks/<task-name>/task.md`, write one or more `solution_N.md` option files, compare them in `solutions.md` when needed, and recommend a path with explicit reasoning
- ▌ Pr Description 2 · blockscoutPrepare a pull request description from task artifacts under `tmp/tasks/<task-name>/` and the current implementation snapshot. Use when Claude needs to draft or refresh a Markdown PR description before review, handoff, or merge, including implementation summary, API changes, environment or configuration changes, database or migration impact, testing, and rollout notes.
- ▌ Research Scope 2 · blockscoutInvestigate and document the intended scope of a codebase topic through interactive discussion, then persist a durable research note under .memory-bank/research/ once the human confirms the framing
- ▌ Pr Description 3 · blockscoutPrepare a pull request description from task artifacts under `tmp/tasks/<task-name>/` and the current implementation snapshot. Use when drafting or refreshing a Markdown PR description before review, handoff, or merge, including implementation summary, API changes, environment or configuration changes, database or migration impact, testing, and rollout notes.
- ▌ Solution Review 2 · blockscoutReview already-applied code changes against the original task statement or task folder artifacts under `tmp/tasks/<task-name>/`. Use when implementation work is done and Claude must verify scope coverage, detect mismatches or regressions, assess verification gaps, and write a review summary before handoff or merge.
- ▌ Solution Review 3 · blockscoutReview already-applied code changes against the original task statement or task folder artifacts under `tmp/tasks/<task-name>/`. Use when implementation work is done and you must verify scope coverage, detect mismatches or regressions, assess verification gaps, and write a review summary before handoff or merge.
- ▌ Implementation Plan 2 · blockscoutTurn an approved task-analysis result into a shared technical design and coding-ready implementation handoff; use when Claude has an existing task folder under `tmp/tasks/`, plus a selected solution and related codebase research, and needs to produce `implementation-plan.md` and `coding-task.md` before writing code
- ▌ Implementation Plan 3 · blockscoutTurn an approved task-analysis result into a shared technical design and coding-ready implementation handoff. Use when Cursor has an existing task folder under `tmp/tasks/`, plus a selected solution and related codebase research, and needs to produce `implementation-plan.md` and `coding-task.md` before writing code.
- ▌ Gh Issue Bug 2 · blockscoutGenerate a structured bug report for GitHub issues based on conversation context about bugs, errors, or broken functionality
- ▌ Gh Issue Publish 2 · blockscoutPublish a GitHub issue from a markdown file in tmp/gh-issues/ created by gh-issue-bug or gh-issue-improvement skills
- ▌ Task To Code 4 · blockscout bundleImplement a prepared `tmp/tasks/<task-name>/coding-task-X.md` exactly, validating the result without inventing missing scope or design decisions.
- ▌ Task To Code 5 · blockscoutImplement a prepared `tmp/tasks/<task-name>/coding-task-X.md` exactly, validating the result without inventing missing scope or design decisions.
- ▌ Task Analysis 3 · blockscout bundleAnalyze a non-trivial task against the current codebase, persist task framing and viable solutions under `tmp/tasks/<task-name>/`, align tradeoff criteria with a human, and recommend a path.
- ▌ Task Analysis 4 · blockscoutAnalyze a non-trivial task against the current codebase, persist task framing and viable solutions under `tmp/tasks/<task-name>/`, align tradeoff criteria with a human, and recommend a path.
- ▌ Pr Description 4 · blockscout bundleDraft or refresh a reviewer-facing Markdown PR description from `tmp/tasks/<task-name>/` and the current implementation snapshot, covering functional scope, API/config, migration, testing, and follow-ups.
- ▌ Research Scope 3 · blockscout bundleInvestigate and clarify a reusable codebase topic through dialogue, then create or update a `.memory-bank/research` note only after explicit human confirmation.
- ▌ Pr Description 5 · blockscoutDraft or refresh a reviewer-facing Markdown PR description from `tmp/tasks/<task-name>/` and the current implementation snapshot, covering functional scope, API/config, migration, testing, and follow-ups.
- ▌ Research Scope 4 · blockscoutInvestigate and clarify a reusable codebase topic through dialogue, then create or update a `.memory-bank/research` note only after explicit human confirmation.
- ▌ Solution Review 4 · blockscout bundleReview applied changes against the original task and artifacts under `tmp/tasks/<task-name>/`, identify scope mismatches, regressions, and verification gaps, and write a review before handoff or merge.
- ▌ Gh Issue Improvement 2 · blockscoutGenerate a structured improvement/enhancement proposal for GitHub issues based on conversation context
- ▌ Solution Review 5 · blockscoutReview applied changes against the original task and artifacts under `tmp/tasks/<task-name>/`, identify scope mismatches, regressions, and verification gaps, and write a review before handoff or merge.
- ▌ Implementation Plan 4 · blockscout bundleTurn an approved task analysis and selected solution into a technical design and coding-ready handoff under `tmp/tasks/<task-name>/`, with explicit human confirmation before the coding task is written.
- ▌ Implementation Plan 5 · blockscoutTurn an approved task analysis and selected solution into a technical design and coding-ready handoff under `tmp/tasks/<task-name>/`, with explicit human confirmation before the coding task is written.
- ▌ Web3 Dev · blockscout bundleBuild web3 applications, scripts, CLIs, bots, mobile apps, and desktop apps that need blockchain data via the Blockscout PRO API — a single HTTP API spanning 100+ EVM chains. Invoke this skill whenever the user wants to read blockchain data over HTTP (transactions, blocks, addresses, tokens, NFTs, logs, contract context, internal txs, account abstraction, etc.) and is building software that calls an API directly. Trigger on direct mentions of `Blockscout PRO API`, `pro-api`, `proapi_`, `Blockscout API`, `block explorer API`, `api.blockscout.com`, or on broader phrasing like "build a web3 app", "index/query on-chain data", "wallet history", "NFT inventory", "transaction logs across chains", "how much does the Blockscout API cost", "chain IDs supported by Blockscout". Use this skill for direct HTTP integrations; the sibling `blockscout-analysis` skill covers the Blockscout MCP Server.
- ▌ Blockscout Analysis · blockscout bundleMANDATORY — invoke this skill BEFORE making any Blockscout MCP tool calls or writing any blockchain data scripts, even when the Blockscout MCP server is already configured. Provides architectural rules, execution-strategy decisions, MCP REST API conventions for scripts, endpoint reference files, response transformation requirements, and output conventions that are not available from MCP tool descriptions alone. Use when the user asks about on-chain data, blockchain analysis, wallet balances, token transfers, contract interactions, on-chain metrics, wants to use the Blockscout API, or needs to build software that retrieves blockchain data via Blockscout. Covers all EVM chains.
- ▌ Bump Skill Version · blockscout bundleBump a skill's version number across all files in this repo (the skill's own frontmatter, the marketplace plugin entry, and any skill-specific occurrences). Pass the skill name and new version as arguments (e.g., 'blockscout-analysis 0.5.0'). Use after content changes are complete and the skill is ready for a new release.
- ▌ Upgrade Blockscout API · blockscout bundleRefresh the bundled Blockscout API reference files inside one of this repo's end-user skills. Takes a target argument; each target has its own pipeline because the source artefacts differ (Swagger releases for `blockscout-analysis`, a build-time clone of the `pro-api` repo for `web3-dev`). Run when a target's upstream cuts a new release and the skill's bundled references need to catch up.
- ▌ Openapi Spec · blockscout bundleCreate, adjust, or inspect OpenAPI declarations for Blockscout API v2 endpoints. Use this skill whenever the user asks to: add an OpenAPI spec to an endpoint that lacks one, update a spec after controller/view changes, audit or fix an existing OpenAPI declaration, or work with open_api_spex annotations in the Blockscout codebase. Also trigger when the user mentions 'swagger', 'openapi', 'open_api_spex', 'API spec', 'API schema', or 'operation macro', or when debugging failures like 'response schema mismatch', 'CastAndValidate rejection', 'json_response validation error', 'Unexpected field', or extra/missing keys in API responses.
- ▌ Ecto Migration · blockscoutGenerates Ecto migrations for the Blockscout Elixir project using mix ecto.gen.migration command. Use when you need to create database schema changes, add tables, modify columns, or manage database structure.
- ▌ Code Formatting · blockscoutFixes code formatting in the Blockscout Elixir project using mix format. Use when you need to fix formatting violations, code style inconsistencies, or ensure consistent code formatting. For linting issues, use `mix credo`. Use this skill for every change made.
- ▌ Compile Project · blockscoutCompile the Blockscout Elixir project to verify all dependencies and code changes work correctly. Use this skill before finalizing changes to ensure the project builds successfully without errors.
- ▌ Alias Nested Modules · blockscoutDefine module aliases at the top of the file instead of using fully qualified nested module names in function bodies. Improves code readability and maintainability while addressing Credo style warnings.
- ▌ With To Case Refactor · blockscoutReplace `with` expressions that contain only a single `<-` clause and an `else` branch with a `case` expression. This addresses the Credo warning "with contains only one <- clause and an else branch, consider using case instead" and produces cleaner, more idiomatic Elixir code.
- ▌ Elixir Clause Grouping · blockscoutUse when refactoring Elixir multi-clause functions, extracting helper functions, or fixing Credo readability warnings caused by placing `defp` helpers between clauses of the same function. Keeps function clauses contiguous and moves helpers below the full clause group.
- ▌ Efficient List Building · blockscoutBuild lists efficiently using prepend operations and Enum.reverse/1 instead of append. Appending to lists is O(n) while prepending is O(1). Use [head | tail] notation and reverse at the end when order matters.
- ▌ Heavy DB Index Operation · blockscoutGenerate background migration modules for creating, dropping, or renaming database indexes on large tables using the Explorer.Migrator.HeavyDbIndexOperation framework. Automatically updates the BackgroundMigrations cache module with proper tracking. These migrations run in the background with progress tracking and dependency management. Use this skill for requests on creating background migrations to delete / create / rename indexes on large tables (logs, internal_transactions, token_transfers, addresses, transactions, blocks, etc.) to avoid blocking the database.
- ▌ Compare Against Empty List · blockscoutOptimize list checks by comparing against empty lists instead of using length/1. Avoid expensive list traversal operations when checking if a list is empty or has elements. Use pattern matching or empty list comparison for better performance.
- ▌ Update Common Blockscout Env · blockscoutEnsure every newly introduced environment variable is also added to docker-compose/envs/common-blockscout.env so local Docker setups stay aligned with runtime configuration.
- ▌ Elixir Credo Predicate Naming · blockscoutUse when working on Elixir code with Credo predicate naming warnings, boolean helper functions, or renaming functions that start with is_. Prevents violations like: Predicate function names should not start with 'is' and should end in a question mark.
- ▌ Alphabetically Ordered Aliases · blockscoutEnsure that aliases are alphabetically ordered within their groups to maintain consistent code style and address Credo readability warnings.
- ▌ Gh Safe · blockscout bundleUse this skill whenever you are about to run any write `gh` CLI command — `gh pr edit`, `gh pr create`, `gh issue edit`, `gh issue create`, `gh pr comment`, `gh issue comment`, `gh pr close`, `gh pr merge`, `gh release create`, or similar. High-level `gh` commands sometimes fail with "missing required scopes" auth errors even though the underlying GitHub REST API works fine with the same token. This skill makes you automatically fall back to `gh api` instead of stopping to ask the user to re-authenticate. Always invoke before running any mutating `gh` command.
- ▌ Plan Export · blockscout bundleExport a detailed phased implementation plan for a GitHub issue to a file, reading all applicable rules from .cursor/rules before planning
- ▌ Consult Spec · blockscout bundleTRIGGER CONDITIONS - invoke this skill when ANY of these apply: User-triggered (explicit request): - User mentions "specification", "SPEC", "SPEC.md", "spec requirements" - User asks to "verify with spec", "confirm with specification", "check requirements" - User requests "authoritative requirements" or "source of truth" Agent self-triggered (during reasoning): - Before implementing any feature or making code changes - When verifying technical requirements or constraints - When making architectural or design decisions - When you need unbiased guidance not influenced by current implementation - When encountering conflicting information and need ground truth PURPOSE: Consults SPEC.md through an isolated subagent that ONLY reads the specification, never implementation code. This ensures guidance is based on authoritative requirements, not potentially incorrect existing code.
- ▌ Implement Plan · blockscout bundleUse to implement a structured implementation plan (e.g. temp/impl_plans/issue-*.md) phase by phase. Trigger when the user asks to implement, execute, realize, or "do" an implementation-plan file. Orchestrates a phase-developer subagent and a plan-correspondence-verifier subagent for each phase, commits each verified phase, then walks the Final Checklist. Invoke explicitly — it makes commits and spawns many subagents.
- ▌ Read Temp File · blockscout bundleReads the content of a file located in the temporary directory (temp/) which is otherwise ignored by git.
- ▌ Describe Changes · blockscout bundleDescribe very high level changes required to implement discussed functionality (functionality, test, docs)
- ▌ Sepolia Foundry Tx · blockscout bundleUse this skill whenever the agent needs to deploy a smart contract to Sepolia testnet via Foundry (`forge create` or `forge script --broadcast`), routed through the Blockscout PRO API's JSON-RPC gateway instead of a third-party RPC provider. Trigger on requests like "deploy this contract to Sepolia", "deploy via Foundry", "broadcast this Foundry deployment script", or any `forge create`/`forge script` invocation that needs a signer and an RPC endpoint for Sepolia (chain id 11155111) in this project. Also consult it to find which local Foundry keystore to sign with — this project stores test signing keys as encrypted keystores under `.ai/wallet/`, never as a plain private key in `.env`. Do not use this for reads (balances, transaction history, contract info) — use the connected Blockscout MCP tools for those directly; this skill is specifically about broadcasting a deployment.
- ▌ Test Guided Tool Run · blockscout bundleUse when user asks to "run tool as function", "test directly", or "call standalone" (outside MCP server). Essential for correct mock Context setup (MagicMock + AsyncMock). Finds integration tests with real test data.
- ▌ Address Plan Findings · blockscout bundleValidate review findings about an implementation plan against the codebase and repo rules, fix the valid ones in the plan, and write a feedback file noting what changed and what was rejected (and why). For plan-review findings, not code-review findings.
- ▌ Run Integration Tests · blockscout bundleUse this skill WHENEVER you are about to run the integration tests of this project — the whole suite, a single module, or one test. This includes any time you would otherwise type `pytest -m integration`, `uv run pytest -m integration`, run anything under `tests/integration/`, or want to check live Blockscout/Chainscout/BENS connectivity. Integration tests make real network calls with no hard HTTP timeout, so one unresponsive endpoint can hang a plain pytest run for an unbounded time and block you. This skill runs each test in an isolated subprocess with a per-test timeout, kills any hung test, and always returns a bounded report flagging which tests timed out or are slow. Prefer it over invoking pytest directly for integration tests.
- ▌ Review Described Changes · blockscout bundleCritically review a GitHub issue plus a "described changes" overview written by a developer — open the referenced code, verify the overview's claims against what the code actually does, and report gaps, inconsistencies, and likely mistakes — without modifying any files. Invoke manually.
- ▌ Implementation Plan Review · blockscout bundleExpert review of an implementation plan against a GitHub issue/enhancement description (provided as a local file or a GitHub issue URL) and the current repository codebase. Use when asked to critique a plan for correctness, completeness, codebase alignment, risks, and test/rollout readiness (do not implement).
- ▌ Export Plan Review Comments · blockscout bundleExport the survived comments from a completed implementation-plan review into a timestamped Markdown findings artifact. Use when the user asks to save, write, or export plan-review comments/findings under `.ai/impl_plans/PLAN_ID/findings/REVIEW_TIMESTAMP/finding.md` while preserving the original review wording and wrapping each finding in paired `comment` markers.
- ▌ Address Code Review Comments · blockscout bundleEnter the worktree of a GitHub PR, validate the code-review comments raised on it against what the code actually does and the repo rules, fix the valid ones directly in the PR's source/tests, and report in chat — a brief note per closed comment and a detailed plain-language explanation of every comment left unclosed and why. For code-review comments on a PR. Invoke manually.
- ▌ Review Plan Findings Feedback · blockscout bundleManually review a feedback file produced after implementation-plan review findings were addressed. Use when the user asks to verify that plan changes correctly close, correctly reject, or fail to close the original findings, while checking for newly introduced or newly exposed problems. Independently adjudicates only new candidate problems with the implementation-plan-review protocol, writes surviving unresolved or new findings to the plan-id findings directory, and replies with the output path or a concise no-new-findings status.
- ▌ To Spec · blockscout bundleTurn the current conversation into a product-task spec and publish it as a draft PR: no interview, just synthesis of what you've already discussed.
- ▌ Grilling · blockscoutGrill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
- ▌ Create Pr · blockscoutCreate or finalize a pull request — three modes: placeholder draft PR at spec time, finalize a draft into ready-for-review, or a regular PR right away for work done outside the task workflow.
- ▌ Slack File · blockscout bundleDownload Slack attachments by file ID, or upload local files into a Slack thread. Use when a Slack message lists Files: whose contents matter, or when posting a file to Slack; the MCP connector reports metadata only. Guides Keychain token setup if missing.
- ▌ To Tickets · blockscout bundleBreak a product-task spec into a set of tracer-bullet tickets, each declaring its blocking edges.
- ▌ Add Env Var · blockscoutStep-by-step checklist for adding a new NEXT_PUBLIC_* environment variable. Use when introducing any new runtime env var.
- ▌ Deploy Demo · blockscoutCreate a GitHub deployment for the current branch using the deploy-review workflow
- ▌ Slack Watch · blockscout bundleWatch Slack threads (DMs and channels) for new replies over a Socket Mode WebSocket, printing one line per genuinely-new reply. Use to be notified inside a live local Claude Code or Cursor session (not a cloud agent).
- ▌ Add New Page · blockscout bundleScaffold a new page (index / detail / general) and optionally wire it to API data. Use when adding any new route to the app, or when wiring API data into an already-scaffolded page (one with `TODO (api-data):` markers).
- ▌ Create Issue · blockscoutCreate a GitHub issue from the available context. Use when the user asks to file an issue from a source they name (Slack thread, notes, document) or from this conversation.
- ▌ Finalize Task · blockscoutLand a finished product task — prune the working files (keep spec.md), then finalize the draft PR into ready-for-review.
- ▌
- ▌ Resolve Review · blockscoutClose out review findings — adjudicate each one, fix what deserves fixing, then reply on the PR threads or in the task's review file.
- ▌ Review Changes · blockscout bundleReview a change on three axes — spec compliance, repo standards, correctness — then publish the findings as inline PR comments or into a review file in the task folder.
- ▌ Prepare Release · blockscout bundlePrepare the next release of the application (tag, docs, release notes), then publish the pre-release and request a staging roll-up
- ▌ Resolve API Url · blockscoutResolve the real request URL of an API resource on a live Blockscout instance (`service:name` + instance → full URL). Use whenever a request must be made to, or a sample response fetched from, a deployed instance's API.
- ▌ Update Glossary · blockscoutAdd a new term, update an existing definition, or remove an outdated entry in `.agents/GLOSSARY.md`. Use whenever the user wants to write something into the project glossary, or asks "should this be in the glossary?". Enforces the file's principle — disambiguation and etymology only, no paths/env vars/UI-location restatements.
- ▌ Add API Resource · blockscoutDeclare new API resource(s) in an existing API service. Use whenever the app needs to call an endpoint that has no `service:name` resource yet.
- ▌ Check Github CLI · blockscoutEnsure GitHub CLI (gh) is installed and authenticated before running gh commands; guide the user to configure it if not
- ▌
- ▌ Deprecate Env Var · blockscoutChecklist for deprecating a NEXT_PUBLIC_* environment variable — immediate removal, or a grace period before a later removal. Use when removing, renaming, or replacing a runtime env var.
- ▌ Publish Beta Types · blockscoutPublish a beta version of a `@blockscout/*-types` npm package and pin it here. Use when a needed response type isn't in any published package version yet.
- ▌ Resolve Config Request · blockscout bundleTurn a Slack request into the exact env vars to set on a live instance, and hand them to DevOps.
- ▌ Task To Code · blockscout bundleApply code changes from an existing task handoff under `tmp/tasks/<task-name>/coding-task-X.md`. Use when Codex receives a task name and coding-task index and must implement that prepared coding task strictly, without inventing missing scope or design details.
- ▌ Task Analysis · blockscout bundleAnalyze an input task, issue, or feature request against the existing codebase, persist the task framing under `tmp/tasks/<task-name>/task.md`, write one or more `solution_N.md` option files, align evaluation criteria with a human when tradeoffs exist, and recommend a path with explicit reasoning.
- ▌ Pr Description · blockscout bundlePrepare a pull request description from task artifacts under `tmp/tasks/<task-name>/` and the current implementation snapshot. Use when Codex needs to draft or refresh a Markdown PR description before review, handoff, or merge, including implementation summary, API changes, environment or configuration changes, database or migration impact, testing, and rollout notes.
- ▌ Research Scope · blockscout bundleInvestigate the intended scope of a codebase topic through discussion with a human, propose a research-note outline, and only create a .memory-bank/research file after explicit human confirmation.
- ▌ Solution Review · blockscout bundleReview already-applied code changes against the original task statement or task folder artifacts under `tmp/tasks/<task-name>/`. Use when implementation work is done and Codex must verify scope coverage, detect mismatches or regressions, assess verification gaps, and write a review summary before handoff or merge.
- ▌ Implementation Plan · blockscout bundleTurn an approved task-analysis result into a shared technical design and coding-ready implementation handoff. Use when Codex has an existing task folder under `tmp/tasks/`, plus a selected solution and related codebase research, and needs to produce `implementation-plan-X.md` and `coding-task-X.md` before writing code.
- ▌ Gh Issue Bug · blockscout bundleDraft a GitHub bug report from the current conversation, save it under tmp/gh-issues/, and follow the repository's canonical bug-report workflow.
- ▌ Gh Issue Publish · blockscout bundlePublish a drafted GitHub issue from tmp/gh-issues/ by running the repository's gh CLI publish script and relaying the resulting URL or remediation.
- ▌ Gh Issue Improvement · blockscout bundleDraft a GitHub improvement or enhancement proposal from the current conversation, save it under tmp/gh-issues/, and follow the repository's canonical improvement workflow.