protocol-info-crawler

star 0

Focused sub-skill selected by protocol-info-router for creating or recrawling DeFi yield/earn protocol metadata into a schema-validated EarnProtocolInfo record. Use after the router chooses the new-crawl path. Do not use for existing-record maintenance, queue orchestration, token prices, on-chain data, or generic web research.

labrinyang By labrinyang schedule Updated 5/6/2026

name: protocol-info-crawler description: Focused sub-skill selected by protocol-info-router for creating or recrawling DeFi yield/earn protocol metadata into a schema-validated EarnProtocolInfo record. Use after the router chooses the new-crawl path. Do not use for existing-record maintenance, queue orchestration, token prices, on-chain data, or generic web research. user-invocable: false

Protocol-info dispatcher

This is a focused sub-skill. If you arrived here directly and the request is about existing records or batch orchestration, switch to the protocol-info-router router skill first.

The user wants to create or recrawl one canonical EarnProtocolInfo record for a DeFi earn/yield/staking protocol. Use the bundled /protocol-info:protocol-info slash command for full crawls.

Canonical output is out/<slug>/record.json. Translated/import artifacts are regenerated by the tool. Version history lives in the nested out/.git repo; do not invent run-id paths.

Your job

Translate the user's natural language into one /protocol-info:protocol-info invocation. Do not shell out to run.sh directly and do not substitute WebFetch / WebSearch for this tool's crawl, analyze, refresh, or i18n workflows.

Full crawl flag mapping

Use full crawl flags when the user asks to create or recrawl a protocol from scratch.

What the user said Flag
Protocol's branded display name --display-name "..." required
Custom kebab slug the user provided --slug <kebab>
Extra context (chain, category, focus) --hints "..."
Explicit RootData project id --rootdata-id <N>
Multiple protocols in one request --batch separator between each group
"全部翻译" / "translate all" / "19 种语言" --i18n all
Specific locales listed, e.g. "中日英" --i18n zh_CN,ja_JP,en_US
"不要翻译" / "skip i18n" / no mention --i18n none
>=3 providers, or user asks for speed/parallelism --parallel min(N_providers, 4)
User explicitly says to overwrite dirty existing output --force-overwrite

Do not pass a protocol type flag. record.type is inferred by the metadata subtask from evidence. If the user provides category language such as "fixed-rate", "simple earn", "staking", "PT/YT", or "vault", keep it only as plain research context in --hints when it materially helps disambiguate the protocol.

Logo fields are tool-managed. Do not ask the model to invent logo CDN paths: providerLogoUrl, members[].avatarUrl, and audits.items[].auditorLogoUrl are normalized and rehosted under out/protocol-logo/, out/protocol-member-logo/, and out/audit-logo/. Member avatars are resolved from RootData project candidates first, then direct RootData person search, then paid Unavatar from verified social links or handle-like pseudonyms. Audit firm logos prefer the current/manual value, then local cache/cross-protocol records, then exact RootData project search; RootData GitHub links can be used as a paid Unavatar fallback. If no source is found the JSON field remains null.

Never use placeholder text in members[].oneLiner. If a member has no verifiable prior experience/source-backed bio, write null; values like Unverified, TBD, N/A, 暂未提供, or "fill this later" are invalid and will be normalized back to null.

Locale code cheat sheet

bn 孟加拉 · de 德 · en_US 英(美) · es 西 · fr_FR 法 · hi_IN 印地 · id 印尼 · it_IT 意 · ja_JP 日 · ko_KR 韩 · pt 葡 · pt_BR 葡(巴) · ru 俄 · th_TH 泰 · uk_UA 乌 · vi 越 · zh_CN 简中 · zh_HK 繁中(港) · zh_TW 繁中(台)

Clarification rules

Ask ONE short question, then act. Never ask more than one.

  • If a protocol name is ambiguous, ask which protocol or slug the user means.
  • If locale list is explicit, map literally. If locale list is vague, default to zh_CN,en_US,ja_JP,ko_KR and say that choice once.

Dispatch examples

"帮我抓一份 Pendle 的 protocol-info, 翻成中日英"

/protocol-info:protocol-info --display-name "Pendle" --i18n zh_CN,ja_JP,en_US

"批量爬 Morpho 和 Aave 的 earn 信息, 不用翻译"

/protocol-info:protocol-info --parallel 2 --i18n none --batch --display-name "Morpho" --batch --display-name "Aave"

After the command returns

The /protocol-info:protocol-info command handles summary/error reporting. Keep the response tight:

  • For full crawls, surface the outcome and out/index.html.
  • Only investigate debug artifacts if the user asks or the command failed.

Do not

  • Do not reimplement the crawl with raw WebFetch / WebSearch.
  • Do not use this skill for existing-record maintenance; use protocol-info-maintainer instead.
  • Do not pre-validate arguments; the runner reports usage errors.
  • Do not assume ROOTDATA_API_KEY or UNAVATAR_API_KEY is set. Round 1 alone is still useful.
Install via CLI
npx skills add https://github.com/labrinyang/protocol-info --skill protocol-info-crawler
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator