원클릭으로
catalyst-foundational-metadata
Set up new chain foundational metadata (evms_info, prices, base sources, evms_blockchains_list)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Set up new chain foundational metadata (evms_info, prices, base sources, evms_blockchains_list)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Designs and runs DuneSQL regression queries comparing CI tables (`dune.<schema>.<table>`) to production spells after pipeline-only dbt changes; after SQL is tailored to the to execute queries and validate parity. Use for prod vs CI regression, lineage parity checks, or row/metric validation when data should not drift; invoke manually per branch—not on every edit.
Add a DEX project to dex.trades for a chain (sources, base trades, chain unions, seed, dex_info)
Add gas fees and token transfer models for a new chain (hourly_spellbook + tokens)
Run dbt CLI commands (compile, ls, test, run, etc.) in the spellbook repo. Use when the user asks to compile, list, test, or run dbt models, or when you need to validate SQL by compiling a model.
| name | catalyst-foundational-metadata |
| description | Set up new chain foundational metadata (evms_info, prices, base sources, evms_blockchains_list) |
| disable-model-invocation | true |
sets up foundational metadata for a new chain.
when to use: use when adding a new chain's foundational metadata (evms_info, native/prices tokens, base sources, and evms_blockchains_list).
<issue_id>: linear issue id (e.g., CUR2-554)<chain>: chain name (e.g., kaia, monad)/catalyst-foundational-metadata CUR2-554 xlayer
dune mcp server: user-dune-mcp.
for ad-hoc sql, prefer temporary execution if the dune mcp supports it in-session. only create saved/throwaway queries with createDuneQuery when temporary execution is not available or when a later step explicitly needs a query_id.
fallback sequence when query_id is required: create query with createDuneQuery (pass sql in query) -> run with executeQueryById (using returned query_id) -> fetch rows with getExecutionResults (using returned execution_id).
dbt_subprojects/dex/models/trades/kaia/, .../mezo/). ordering: mimic existing; if unclear, append. swap chain name in: file paths, model names, schema entries, blockchain values.select * from dune.blockchains where name = '<chain>' (substitute <chain> with the chain name). extract: chain_id, name (display name), token_address (native token).select min(time) from <chain>.blocks where number <> 0 (substitute <chain>).main is up to date: fetch latest, pull if behind, exit if diverged.<issue_id>-<chain>-foundational-metadata, create off main, checkout, warn if exists. don't commit/push anything.add evm chain info
dbt_subprojects/daily_spellbook/models/evms/evms_info.sql(chain_id, '<chain>', 'Name', 'Layer 1/2', ...)chain_id, name, first_block_time, token_addresswrapped_native_token_address column must be the wrapped token contract (e.g., WETH, WHBAR), NOT the native/zero addressadd native token
dbt_subprojects/tokens/models/prices/prices_native_tokens.sqlcreate prices tokens model
dbt_subprojects/tokens/models/prices/<chain>/prices_<chain>_tokens.sqlquery_id: 6293737, query_parameters: [{"key":"chain","value":"<chain>","type":"text"}] (substitute <chain>)prices_native_tokens.sql. Duplicating creates dupes in prices.day/hour/minute pipelineshttps://api.coinpaprika.com/v1/search?q=<token>&categories=currencies), add to VALUESscripts/check_tokens.py which validates every ID — missing/inactive IDs fail the buildcreate schema file
dbt_subprojects/tokens/models/prices/<chain>/_schema.ymladd to prices union
dbt_subprojects/tokens/models/prices/prices_tokens.sqlref('prices_<chain>_tokens') to fungible_prices_modelsdefine raw data sources
sources/_base_sources/evm/<chain>_base_sources.ymlsources/_base_sources/evm/<chain>_docs_block.mdscripts/generate_evm_*.pyintegrate into aggregate EVM models
<chain> to dbt_subprojects/daily_spellbook/macros/helpers/evms_blockchains_list.sqlfinal checks
uv sync --locked, then run uv run dbt compile in dbt_subprojects/tokens and in dbt_subprojects/daily_spellbook. Fix any errors.