[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FN6S466XJ43E8PC2MBFQ7H":3,"skill-same:01M6FN6S466XJ43E8PC2MBFQ7H":160},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6FN6S466XJ43E8PC2MBFQ7H","typhoon-starknet-account",null,"Create a Starknet account to your agent through Typhoon anonymous deployer and interact with Starknet contracts (read\u002Fwrite + preflight).","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"typhoon starknet account","create","transfer","preflight","read","write","process","Wallet","contracts","eth","exec","deployer","agent-wallet","with","anonymous","2026-11-10 10:12:30",false,"---\nname: typhoon-starknet-account\ndescription: Create a Starknet account to your agent through Typhoon anonymous deployer and interact with Starknet contracts (read\u002Fwrite + preflight).\nallowed-tools: read exec process\nmetadata:\n  keywords:\n    - starknet\n    - wallet\n    - anonymous\n    - transfer\n    - balance\n    - anonymous-agent-wallet\n    - strk\n    - eth\n---\n\n# typhoon-starknet-account\n\n> Path note (per OpenClaw docs): Skills may be installed in different directories (`\u003Cworkspace>\u002Fskills`, `~\u002F.openclaw\u002Fskills`, or bundled). To keep this skill portable, commands below are written **relative to the skill folder**.\n>\n> Run from the skill directory:\n> - `cd \u003Cskill>\u002F` then `node scripts\u002F\u003Cscript>.js ...`\n>\n> After Clawhub install, a typical location is:\n> - `~\u002F.openclaw\u002Fworkspace\u002Fskills\u002Ftyphoon-starknet-account\u002F`\n\nThis skill provides **agent-facing scripts** for:\n- Creating\u002Floading a Starknet account (Typhoon flow)\n- Discovering ABI \u002F functions\n- Reading & writing to contracts\n- Preflight (simulate + fee estimate)\n- Allowance checks with human amounts\n\n\n## Prerequisites\n\n```bash\nnpm install starknet@^9.2.1 typhoon-sdk@^1.1.13\n```\n\n\n## CRITICAL: Account Creation Flow\n\nWhen the user asks to create a Starknet account (in any form like \"create an account\", \"create a Starknet account for my agent\", \"I need a wallet\", etc.), **ALWAYS follow this flow**:\n\n### Step 1: Check if account already exists\n\n```bash\nnode scripts\u002Fcheck-account.js\n```\n\n**If `hasAccount: false`:**\n- Proceed to Step 2\n\n### Step 2: Provide funding instructions\n\nTell the user:\n\n---\n\n**To create your Starknet account, you need to fund it through Typhoon:**\n\n1. Go to the Typhoon website: https:\u002F\u002Fwww.typhoon-finance.com\u002Fapp\n2. Make a deposit and download your deposit note\n   - **Recommended:** Make a STRK deposit (this will be used to deploy and fund your agent account)\n3. Copy **all the content** of your downloaded note file and paste it here\n\n---\n\nThen **wait for the user to paste the note content**.\n\n### Step 3: Create the account\n\n> Note: **Account creation can take a few minutes**. Typhoon proof generation + Starknet deployment\u002Ffinality are not instant; tell the user to wait and avoid retrying unless it fails.\n\nOnce the user pastes the note JSON, run:\n\n```bash\nnode scripts\u002Fcreate-account.js '\u003Cpaste the note JSON here>'\n```\n\nThe note format is:\n```json\n{\n  \"secret\": \"0x...\",\n  \"nullifier\": \"0x...\",\n  \"txHash\": \"0x...\",\n  \"pool\": \"0x...\",\n  \"day\": \"0x...\"\n}\n```\n\n### Step 4: Confirm success\n\nAfter successful creation, show the user:\n- Their new account address\n- Explorer link (Voyager\u002FStarkscan)\n- Remind them the private key is stored securely\n\n---\n\n## Show Account Address\n\nWhen user asks \"what's my address\", \"show my wallet\", \"my account address\", etc.:\n\n```bash\nnode scripts\u002Fshow-address.js\n```\n\nIf multiple accounts exist, it returns all. Pass index to get specific one:\n```bash\nnode scripts\u002Fshow-address.js 0\n```\n\n---\n\n## Scripts Reference\n\n| Script | Purpose |\n|--------|---------|\n| `check-account.js` | Check if account(s) exist |\n| `show-address.js` | Show account address(es) |\n| `load-account.js` | Load an existing local account artifact |\n| `create-account.js` | Create + deploy a new account via Typhoon |\n| `get-abi.js` | Fetch ABI summary + list functions (+ optional candidate ranking) |\n| `call-contract.js` | Call a view function |\n| `invoke-contract.js` | Call an external function |\n| `check-allowance.js` | Check ERC20 allowance (supports human amount) |\n| `multicall.js` | Execute multiple calls in one tx |\n| `estimate-fee.js` | Preflight fee estimate for a call\u002Fmulticall |\n| `simulate.js` | Preflight simulate for a call\u002Fmulticall |\n| `token-info.js` | Token metadata (decodes felt short strings) |\n| `decode-felt.js` | Decode felt short strings |\n| `sign-typed-data.js` | Sign typedData (for SIWS \u002F Starkbook-style auth) |\n| `sign-invoke-tx.js` | Sign an INVOKE transaction (one or more calls) without broadcasting |\n\n---\n## Core Agent Workflow (no hardcoding)\n\n### 1) Address & docs discovery (agent planning)\nIf the user mentions protocols\u002Ftokens\u002Fapps (e.g. \"Ekubo\", \"STRK\", \"ETH\"), the **agent must first search** for:\n- The relevant contract addresses\n- The protocol documentation\n\n**Research constraint:** all agent research must be done through **MCP** (Model Context Protocol) — no interactive browser\u002FUI. Use machine-readable sources (APIs, docs URLs, GitHub raw files) via agent fetch tools.\n\nThis skill does **not** do web search by itself; it provides the onchain tooling once addresses are known.\n\n### 2) Load account\n```bash\nnode scripts\u002Fload-account.js\n```\n\n### 3) ABI discovery (+ optional ranking)\n```bash\nnode scripts\u002Fget-abi.js '{\"contractAddress\":\"0x...\"}'\n```\n\nIf you want the script to return **ranked candidates** (to help the agent decide), pass a `query`:\n```bash\nnode scripts\u002Fget-abi.js '{\"contractAddress\":\"0x...\",\"query\":\"swap exact tokens for tokens\"}'\n```\n\n### 4) Read\n```bash\nnode scripts\u002Fcall-contract.js '{\"contractAddress\":\"0x...\",\"method\":\"\u003Cview_fn>\",\"args\":[...]}'\n```\n\nOptional: decode felt short strings:\n```bash\nnode scripts\u002Fcall-contract.js '{\"contractAddress\":\"0x...\",\"method\":\"symbol\",\"args\":[],\"decodeShortStrings\":true}'\n```\n\n### 5) Allowance check (raw or human)\nRaw base units:\n```bash\nnode scripts\u002Fcheck-allowance.js '{\"tokenAddress\":\"0x...\",\"ownerAddress\":\"0x...\",\"spenderAddress\":\"0x...\",\"requiredAmount\":\"20000000000000000000\"}'\n```\nHuman amount (script fetches decimals):\n```bash\nnode scripts\u002Fcheck-allowance.js '{\"tokenAddress\":\"0x...\",\"ownerAddress\":\"0x...\",\"spenderAddress\":\"0x...\",\"requiredAmountHuman\":\"20\"}'\n```\n\n### 6) Preflight (recommended)\nFee estimate:\n```bash\nnode scripts\u002Festimate-fee.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"calls\":[{\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}]}'\n```\nSimulation:\n```bash\nnode scripts\u002Fsimulate.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"calls\":[{\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}]}'\n```\n\n### 7) Execute\nSingle write:\n```bash\nnode scripts\u002Finvoke-contract.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}'\n```\n\n---\n\n## Sign typedData (for Starkbook \u002F SIWS)\n\nWhen you need a Starknet account to sign a SIWS challenge (typedData) **without ever exposing the private key**, use:\n\n```bash\nnode scripts\u002Fsign-typed-data.js '{\n  \"accountAddress\":\"0x...\",\n  \"typedData\": { \"domain\": { }, \"types\": { }, \"primaryType\": \"Message\", \"message\": { } }\n}'\n```\n\nOr if you saved the typedData to a file:\n\n```bash\nnode scripts\u002Fsign-typed-data.js '{\n  \"accountAddress\":\"0x...\",\n  \"typedDataPath\":\"\u002Ftmp\u002FtypedData.json\"\n}'\n```\n\nOutput is a signature array (hex strings) that can be submitted to verification endpoints (e.g. Starkbook `\u002Fapi\u002Fauth\u002Fverify`).\n\n---\n\n## Sign an INVOKE transaction (no broadcast)\n\nTo sign a transaction **without sending it**, use:\n\n```bash\nnode scripts\u002Fsign-invoke-tx.js '{\n  \"accountAddress\":\"0x...\",\n  \"calls\":[\n    {\"contractAddress\":\"0xTOKEN\",\"entrypoint\":\"transfer\",\"calldata\":[\"0xTO\",\"\u003Cuint256_low>\",\"\u003Cuint256_high>\"]}\n  ]\n}'\n```\n\nOr with ABI args (the script will fetch ABI and compile calldata for you):\n\n```bash\nnode scripts\u002Fsign-invoke-tx.js '{\n  \"accountAddress\":\"0x...\",\n  \"calls\":[\n    {\"contractAddress\":\"0xTOKEN\",\"method\":\"transfer\",\"args\":[\"0xTO\",\"123\"]}\n  ]\n}'\n```\n\nThis returns an `invokeTransaction` payload suitable for RPC `starknet_addInvokeTransaction` (signature included) plus a fee estimate.\n\n⚠️ Not broadcast: this script only signs. To actually send, you must submit the payload to an RPC endpoint (and you should confirm before broadcasting).\n\n### Starkbook end-to-end helper (recommended)\nIf you want a single command that does challenge → sign locally → verify → (optional) post **without Starkbook ever touching a private key**:\n\n```bash\nnode scripts\u002Fstarkbook-client.js '{\n  \"base\":\"http:\u002F\u002Flocalhost:3000\",\n  \"accountAddress\":\"0x...\",\n  \"action\":\"post\",\n  \"body\":\"hello from agent\",\n  \"linkUrl\":\"https:\u002F\u002Fexample.com\"\n}'\n```\n\nApprove + action in one tx:\n```bash\nnode scripts\u002Fmulticall.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"calls\":[{\"contractAddress\":\"0x...\",\"method\":\"approve\",\"args\":[\"0xspender\",\"123\"]},{\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}]}'\n```\n\n","# typhoon-starknet-account\n\n> Path note (per OpenClaw docs): Skills may be installed in different directories (`\u003Cworkspace>\u002Fskills`, `~\u002F.openclaw\u002Fskills`, or bundled). To keep this skill portable, commands below are written **relative to the skill folder**.\n>\n> Run from the skill directory:\n> - `cd \u003Cskill>\u002F` then `node scripts\u002F\u003Cscript>.js ...`\n>\n> After Clawhub install, a typical location is:\n> - `~\u002F.openclaw\u002Fworkspace\u002Fskills\u002Ftyphoon-starknet-account\u002F`\n\nThis skill provides **agent-facing scripts** for:\n- Creating\u002Floading a Starknet account (Typhoon flow)\n- Discovering ABI \u002F functions\n- Reading & writing to contracts\n- Preflight (simulate + fee estimate)\n- Allowance checks with human amounts\n\n\n## Prerequisites\n\n```bash\nnpm install starknet@^9.2.1 typhoon-sdk@^1.1.13\n```\n\n\n## CRITICAL: Account Creation Flow\n\nWhen the user asks to create a Starknet account (in any form like \"create an account\", \"create a Starknet account for my agent\", \"I need a wallet\", etc.), **ALWAYS follow this flow**:\n\n### Step 1: Check if account already exists\n\n```bash\nnode scripts\u002Fcheck-account.js\n```\n\n**If `hasAccount: false`:**\n- Proceed to Step 2\n\n### Step 2: Provide funding instructions\n\nTell the user:\n\n---\n\n**To create your Starknet account, you need to fund it through Typhoon:**\n\n1. Go to the Typhoon website: https:\u002F\u002Fwww.typhoon-finance.com\u002Fapp\n2. Make a deposit and download your deposit note\n   - **Recommended:** Make a STRK deposit (this will be used to deploy and fund your agent account)\n3. Copy **all the content** of your downloaded note file and paste it here\n\n---\n\nThen **wait for the user to paste the note content**.\n\n### Step 3: Create the account\n\n> Note: **Account creation can take a few minutes**. Typhoon proof generation + Starknet deployment\u002Ffinality are not instant; tell the user to wait and avoid retrying unless it fails.\n\nOnce the user pastes the note JSON, run:\n\n```bash\nnode scripts\u002Fcreate-account.js '\u003Cpaste the note JSON here>'\n```\n\nThe note format is:\n```json\n{\n  \"secret\": \"0x...\",\n  \"nullifier\": \"0x...\",\n  \"txHash\": \"0x...\",\n  \"pool\": \"0x...\",\n  \"day\": \"0x...\"\n}\n```\n\n### Step 4: Confirm success\n\nAfter successful creation, show the user:\n- Their new account address\n- Explorer link (Voyager\u002FStarkscan)\n- Remind them the private key is stored securely\n\n---\n\n## Show Account Address\n\nWhen user asks \"what's my address\", \"show my wallet\", \"my account address\", etc.:\n\n```bash\nnode scripts\u002Fshow-address.js\n```\n\nIf multiple accounts exist, it returns all. Pass index to get specific one:\n```bash\nnode scripts\u002Fshow-address.js 0\n```\n\n---\n\n## Scripts Reference\n\n| Script | Purpose |\n|--------|---------|\n| `check-account.js` | Check if account(s) exist |\n| `show-address.js` | Show account address(es) |\n| `load-account.js` | Load an existing local account artifact |\n| `create-account.js` | Create + deploy a new account via Typhoon |\n| `get-abi.js` | Fetch ABI summary + list functions (+ optional candidate ranking) |\n| `call-contract.js` | Call a view function |\n| `invoke-contract.js` | Call an external function |\n| `check-allowance.js` | Check ERC20 allowance (supports human amount) |\n| `multicall.js` | Execute multiple calls in one tx |\n| `estimate-fee.js` | Preflight fee estimate for a call\u002Fmulticall |\n| `simulate.js` | Preflight simulate for a call\u002Fmulticall |\n| `token-info.js` | Token metadata (decodes felt short strings) |\n| `decode-felt.js` | Decode felt short strings |\n| `sign-typed-data.js` | Sign typedData (for SIWS \u002F Starkbook-style auth) |\n| `sign-invoke-tx.js` | Sign an INVOKE transaction (one or more calls) without broadcasting |\n\n---\n## Core Agent Workflow (no hardcoding)\n\n### 1) Address & docs discovery (agent planning)\nIf the user mentions protocols\u002Ftokens\u002Fapps (e.g. \"Ekubo\", \"STRK\", \"ETH\"), the **agent must first search** for:\n- The relevant contract addresses\n- The protocol documentation\n\n**Research constraint:** all agent research must be done through **MCP** (Model Context Protocol) — no interactive browser\u002FUI. Use machine-readable sources (APIs, docs URLs, GitHub raw files) via agent fetch tools.\n\nThis skill does **not** do web search by itself; it provides the onchain tooling once addresses are known.\n\n### 2) Load account\n```bash\nnode scripts\u002Fload-account.js\n```\n\n### 3) ABI discovery (+ optional ranking)\n```bash\nnode scripts\u002Fget-abi.js '{\"contractAddress\":\"0x...\"}'\n```\n\nIf you want the script to return **ranked candidates** (to help the agent decide), pass a `query`:\n```bash\nnode scripts\u002Fget-abi.js '{\"contractAddress\":\"0x...\",\"query\":\"swap exact tokens for tokens\"}'\n```\n\n### 4) Read\n```bash\nnode scripts\u002Fcall-contract.js '{\"contractAddress\":\"0x...\",\"method\":\"\u003Cview_fn>\",\"args\":[...]}'\n```\n\nOptional: decode felt short strings:\n```bash\nnode scripts\u002Fcall-contract.js '{\"contractAddress\":\"0x...\",\"method\":\"symbol\",\"args\":[],\"decodeShortStrings\":true}'\n```\n\n### 5) Allowance check (raw or human)\nRaw base units:\n```bash\nnode scripts\u002Fcheck-allowance.js '{\"tokenAddress\":\"0x...\",\"ownerAddress\":\"0x...\",\"spenderAddress\":\"0x...\",\"requiredAmount\":\"20000000000000000000\"}'\n```\nHuman amount (script fetches decimals):\n```bash\nnode scripts\u002Fcheck-allowance.js '{\"tokenAddress\":\"0x...\",\"ownerAddress\":\"0x...\",\"spenderAddress\":\"0x...\",\"requiredAmountHuman\":\"20\"}'\n```\n\n### 6) Preflight (recommended)\nFee estimate:\n```bash\nnode scripts\u002Festimate-fee.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"calls\":[{\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}]}'\n```\nSimulation:\n```bash\nnode scripts\u002Fsimulate.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"calls\":[{\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}]}'\n```\n\n### 7) Execute\nSingle write:\n```bash\nnode scripts\u002Finvoke-contract.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}'\n```\n\n---\n\n## Sign typedData (for Starkbook \u002F SIWS)\n\nWhen you need a Starknet account to sign a SIWS challenge (typedData) **without ever exposing the private key**, use:\n\n```bash\nnode scripts\u002Fsign-typed-data.js '{\n  \"accountAddress\":\"0x...\",\n  \"typedData\": { \"domain\": { }, \"types\": { }, \"primaryType\": \"Message\", \"message\": { } }\n}'\n```\n\nOr if you saved the typedData to a file:\n\n```bash\nnode scripts\u002Fsign-typed-data.js '{\n  \"accountAddress\":\"0x...\",\n  \"typedDataPath\":\"\u002Ftmp\u002FtypedData.json\"\n}'\n```\n\nOutput is a signature array (hex strings) that can be submitted to verification endpoints (e.g. Starkbook `\u002Fapi\u002Fauth\u002Fverify`).\n\n---\n\n## Sign an INVOKE transaction (no broadcast)\n\nTo sign a transaction **without sending it**, use:\n\n```bash\nnode scripts\u002Fsign-invoke-tx.js '{\n  \"accountAddress\":\"0x...\",\n  \"calls\":[\n    {\"contractAddress\":\"0xTOKEN\",\"entrypoint\":\"transfer\",\"calldata\":[\"0xTO\",\"\u003Cuint256_low>\",\"\u003Cuint256_high>\"]}\n  ]\n}'\n```\n\nOr with ABI args (the script will fetch ABI and compile calldata for you):\n\n```bash\nnode scripts\u002Fsign-invoke-tx.js '{\n  \"accountAddress\":\"0x...\",\n  \"calls\":[\n    {\"contractAddress\":\"0xTOKEN\",\"method\":\"transfer\",\"args\":[\"0xTO\",\"123\"]}\n  ]\n}'\n```\n\nThis returns an `invokeTransaction` payload suitable for RPC `starknet_addInvokeTransaction` (signature included) plus a fee estimate.\n\n⚠️ Not broadcast: this script only signs. To actually send, you must submit the payload to an RPC endpoint (and you should confirm before broadcasting).\n\n### Starkbook end-to-end helper (recommended)\nIf you want a single command that does challenge → sign locally → verify → (optional) post **without Starkbook ever touching a private key**:\n\n```bash\nnode scripts\u002Fstarkbook-client.js '{\n  \"base\":\"http:\u002F\u002Flocalhost:3000\",\n  \"accountAddress\":\"0x...\",\n  \"action\":\"post\",\n  \"body\":\"hello from agent\",\n  \"linkUrl\":\"https:\u002F\u002Fexample.com\"\n}'\n```\n\nApprove + action in one tx:\n```bash\nnode scripts\u002Fmulticall.js '{\"privateKeyPath\":\"...\",\"accountAddress\":\"0x...\",\"calls\":[{\"contractAddress\":\"0x...\",\"method\":\"approve\",\"args\":[\"0xspender\",\"123\"]},{\"contractAddress\":\"0x...\",\"method\":\"...\",\"args\":[...]}]}'\n```\n\n",{"name":5,"metadata":43,"description":7,"allowed-tools":50},{"keywords":44},[45,46,37,25,47,48,49,32],"starknet","wallet","balance","anonymous-agent-wallet","strk","read exec process","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fesdras-sena\u002Ftyphoon-starknet-account",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add kbarbel640-del\u002Fskills --skill typhoon-starknet-account",{"tool":64,"command":65},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill typhoon-starknet-account",{"tool":67,"command":68},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill typhoon-starknet-account","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002FSKILL.md",true,[72,78,82,86,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"_meta.json","REFERENCE","参考文档",1011,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002F_meta.json",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"package.json",325,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fpackage.json",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fargentx-class-hashes.md",850,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Freferences\u002Fargentx-class-hashes.md",{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fcall-contract.js","SCRIPT","脚本",3646,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fcall-contract.js",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"scripts\u002Fcheck-account.js",2712,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fcheck-account.js",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"scripts\u002Fcheck-allowance.js",4013,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fcheck-allowance.js",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fcreate-account.js",4697,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fcreate-account.js",{"path":105,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Fdecode-felt.js",912,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fdecode-felt.js",{"path":109,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Festimate-fee.js",2592,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Festimate-fee.js",{"path":113,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":114,"sourceHtmlUrl":115},"scripts\u002Ffind-deploy-tx.js",2242,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Ffind-deploy-tx.js",{"path":117,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":118,"sourceHtmlUrl":119},"scripts\u002Fget-abi.js",3800,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fget-abi.js",{"path":121,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":122,"sourceHtmlUrl":123},"scripts\u002Finvoke-contract.js",3286,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Finvoke-contract.js",{"path":125,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":126,"sourceHtmlUrl":127},"scripts\u002Fload-account.js",1811,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fload-account.js",{"path":129,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":130,"sourceHtmlUrl":131},"scripts\u002Fmulticall.js",2721,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fmulticall.js",{"path":133,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":134,"sourceHtmlUrl":135},"scripts\u002Fshow-address.js",2657,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fshow-address.js",{"path":137,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":138,"sourceHtmlUrl":139},"scripts\u002Fsign-invoke-tx.js",6484,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fsign-invoke-tx.js",{"path":141,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":142,"sourceHtmlUrl":143},"scripts\u002Fsign-typed-data.js",3758,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fsign-typed-data.js",{"path":145,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":146,"sourceHtmlUrl":147},"scripts\u002Fsimulate.js",2718,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fsimulate.js",{"path":149,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":150,"sourceHtmlUrl":151},"scripts\u002Fstarkbook-client.js",5553,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Fstarkbook-client.js",{"path":153,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":154,"sourceHtmlUrl":155},"scripts\u002Ftoken-info.js",1970,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fscripts\u002Ftoken-info.js",{"path":157,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":158,"sourceHtmlUrl":159},"skill.json",335,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fesdras-sena\u002Ftyphoon-starknet-account\u002Fskill.json",[161,191,215,235,241,261],{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":172,"publishedAt":38},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[167],{"categoryNo":168,"categoryName":169,"taxonomyType":170,"taxonomyTypeDesc":171},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[173,174,175,36,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],"crowd prompting","prompting","api","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":198,"publishedAt":38},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[197],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[199,175,200,201,202,203,24,204,205,206,207,208,209,210,211,212,213,179,214],"dilemm ai","arena","analyze","browser","openclaw agent","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":224,"publishedAt":38},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[221],{"categoryNo":222,"categoryName":223,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[225,226,227,228,229,230,231,36,232,212,214,27,175,233,234],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","http","via",{"skillNo":236,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":240,"publishedAt":38},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[239],{"categoryNo":222,"categoryName":223,"taxonomyType":20,"taxonomyTypeDesc":21},[228,227,226,225,234,230,231,36,229,212,214,232,27,175,233],{"skillNo":242,"name":243,"nameZh":6,"description":244,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":245,"categories":246,"keywords":247,"publishedAt":38},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[248,249,250,251,252,253,254,255,256,257,258,259,260],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":262,"name":263,"nameZh":6,"description":264,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":265,"categories":266,"keywords":271,"publishedAt":38},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[267,268],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":269,"categoryName":270,"taxonomyType":170,"taxonomyTypeDesc":171},"01JBSEEDCAT000000000000037","律师与法务",[272,273,31,274,36,275,276,51,277,27,278,279,280,281,282,188,283,284,285],"agent constitution","constitution","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]