[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MZ5MT25T8AXCD5MBT2KQ48":3,"skill-same:01M6MZ5MT25T8AXCD5MBT2KQ48":78},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6MZ5MT25T8AXCD5MBT2KQ48","farcaster-agent",null,"Create Farcaster accounts and post casts autonomously. Official skill from the Farcaster team.","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Ffarcaster-agent\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],"farcaster","farcaster agent","official","create","npm","shell","team","node","install","dependencies","cd","post","2026-11-10 10:12:30",false,"---\nname: farcaster-agent\ndescription: Create Farcaster accounts and post casts autonomously. Official skill from the Farcaster team.\nmetadata: {\"openclaw\":{\"emoji\":\"?\",\"requires\":{\"bins\":[\"node\",\"npm\"],\"env\":[]},\"install\":[{\"id\":\"npm\",\"kind\":\"shell\",\"command\":\"cd {baseDir}\u002F.. && npm install\",\"label\":\"Install dependencies\"}]}}\n---\n\n# Farcaster Agent\n\nOfficial skill from the Farcaster team. Create and manage a Farcaster account autonomously. Register a new Farcaster identity (FID), add signing keys, set up a profile with username, and post casts to the network.\n\n## When to Use This Skill\n\nUse this skill when:\n- You need to create a Farcaster account from scratch\n- You want to post casts (messages) to Farcaster\n- You need to set up a profile with username, bio, and profile picture\n- You want autonomous presence on the Farcaster social network\n\n## Prerequisites\n\nYou need approximately **$1 of ETH or USDC** on any major chain (Ethereum, Optimism, Base, Arbitrum, or Polygon). The skill handles bridging and swapping automatically.\n\n## Complete Flow\n\n### Step 1: Generate Wallet and Request Funding\n\nIf you don't have a funded wallet, create one first:\n\n```javascript\nconst { Wallet } = require('ethers');\n\nconst wallet = Wallet.createRandom();\nconsole.log('Address:', wallet.address);\nconsole.log('Private Key:', wallet.privateKey);\n```\n\n**Ask your human:** \"I've created a wallet. Please send ~$1 of ETH or USDC to `\u003Caddress>` on any of these chains: Ethereum, Optimism, Base, Arbitrum, or Polygon. Let me know when done.\"\n\n**Save the private key securely** - you'll need it for all subsequent steps.\n\n### Step 2: Run Auto-Setup\n\nOnce funded, run the complete setup:\n\n```bash\ncd {baseDir}\u002F..\nPRIVATE_KEY=0x... node src\u002Fauto-setup.js \"Your first cast text here\"\n```\n\nThis will:\n1. Detect which chain has funds (ETH or USDC)\n2. Bridge\u002Fswap to get ETH on Optimism and USDC on Base\n3. Register your FID (Farcaster ID)\n4. Add a signer key\n5. Wait for hub synchronization\n6. Post your first cast\n7. **Automatically save credentials** to persistent storage\n\n### Step 3: Credentials are Saved Automatically\n\nCredentials are automatically saved to:\n- `~\u002F.openclaw\u002Ffarcaster-credentials.json` (if OpenClaw is installed)\n- `.\u002Fcredentials.json` (fallback)\n\n**Security Warning:** Credentials are stored as **plain text JSON**. Anyone with access to these files can control the wallet funds and Farcaster account. For production use, implement your own secure storage.\n\nYou can verify and manage credentials:\n\n```bash\ncd {baseDir}\u002F..\n\n# List all stored accounts\nnode src\u002Fcredentials.js list\n\n# Get credentials for active account\nnode src\u002Fcredentials.js get\n\n# Show credentials file path\nnode src\u002Fcredentials.js path\n```\n\nTo disable auto-save, use `--no-save`:\n```bash\nPRIVATE_KEY=0x... node src\u002Fauto-setup.js \"Your cast\" --no-save\n```\n\n## Posting Casts\n\nTo post additional casts, load credentials from storage:\n\n```javascript\nconst { postCast, loadCredentials } = require('{baseDir}\u002F..\u002Fsrc');\n\n\u002F\u002F Load saved credentials\nconst creds = loadCredentials();\n\nconst { hash } = await postCast({\n  privateKey: creds.custodyPrivateKey,\n  signerPrivateKey: creds.signerPrivateKey,\n  fid: Number(creds.fid),\n  text: 'Your cast content'\n});\n\nconsole.log('Cast URL: https:\u002F\u002Ffarcaster.xyz\u002F~\u002Fconversations\u002F' + hash);\n```\n\nOr via CLI with environment variables:\n\n```bash\ncd {baseDir}\u002F..\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 node src\u002Fpost-cast.js \"Your cast content\"\n```\n\n## Setting Up Profile\n\nTo set username, display name, bio, and profile picture:\n\n```bash\ncd {baseDir}\u002F..\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 npm run profile myusername \"Display Name\" \"My bio\" \"https:\u002F\u002Fexample.com\u002Fpfp.png\"\n```\n\nOr programmatically:\n\n```javascript\nconst { setupFullProfile } = require('{baseDir}\u002F..\u002Fsrc');\n\nawait setupFullProfile({\n  privateKey: '0x...',\n  signerPrivateKey: '...',\n  fid: 123,\n  fname: 'myusername',\n  displayName: 'My Display Name',\n  bio: 'I am an autonomous AI agent.',\n  pfpUrl: 'https:\u002F\u002Fapi.dicebear.com\u002F7.x\u002Fbottts\u002Fpng?seed=myagent'\n});\n```\n\n### Fname (Username) Requirements\n\n- Lowercase letters, numbers, and hyphens only\n- Cannot start with a hyphen\n- 1-16 characters\n- One fname per account\n- Can only change once every 28 days\n\n### Profile Picture Options\n\nFor PFP, use any publicly accessible HTTPS image URL:\n- **DiceBear** (generated avatars): `https:\u002F\u002Fapi.dicebear.com\u002F7.x\u002Fbottts\u002Fpng?seed=yourname`\n- IPFS-hosted images\n- Any public image URL\n\n## Cost Breakdown\n\n| Operation | Cost |\n|-----------|------|\n| FID Registration | ~$0.20 |\n| Add Signer | ~$0.05 |\n| Bridging | ~$0.10-0.20 |\n| Each API call | $0.001 |\n| **Total minimum** | **~$0.50** |\n\nBudget $1 to have buffer for retries and gas fluctuations.\n\n## API Endpoints\n\n### Neynar Hub API (`https:\u002F\u002Fhub-api.neynar.com`)\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `\u002Fv1\u002FsubmitMessage` | POST | Submit casts, profile updates (requires x402 payment header) |\n| `\u002Fv1\u002FonChainIdRegistryEventByAddress?address=\u003Caddr>` | GET | Check if FID is synced for address |\n| `\u002Fv1\u002FonChainSignersByFid?fid=\u003Cfid>` | GET | Check if signer keys are synced |\n\n### Neynar REST API (`https:\u002F\u002Fapi.neynar.com`)\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `\u002Fv2\u002Ffarcaster\u002Fcast?identifier=\u003Chash>&type=hash` | GET | Verify cast exists on network |\n\n### Farcaster Fname Registry (`https:\u002F\u002Ffnames.farcaster.xyz`)\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `\u002Ftransfers` | POST | Register or transfer an fname (requires EIP-712 signature) |\n| `\u002Ftransfers\u002Fcurrent?name=\u003Cfname>` | GET | Check fname availability (404 = available) |\n\n### x402 Payment\n- **Address:** `0xA6a8736f18f383f1cc2d938576933E5eA7Df01A1`\n- **Cost:** 0.001 USDC per API call (on Base)\n- **Header:** `X-PAYMENT` with base64-encoded EIP-3009 `transferWithAuthorization` signature\n\n## Common Errors\n\n### \"invalid hash\"\nCause: Old library version. Fix: Run `npm install @farcaster\u002Fhub-nodejs@latest`\n\n### \"unknown fid\"\nCause: Hub hasn't synced your registration yet. Fix: Wait 30-60 seconds and retry.\n\n### Transaction reverts when adding signer\nCause: Metadata encoding issue. Fix: The code already uses the correct `SignedKeyRequestValidator.encodeMetadata()` method.\n\n### \"fname is not registered for fid\"\nCause: Hub hasn't synced your fname registration. Fix: Wait 30-60 seconds (the code handles this automatically).\n\n## Manual Step-by-Step (If Auto-Setup Fails)\n\nIf auto-setup fails partway through, you can run individual steps:\n\n```bash\ncd {baseDir}\u002F..\n\n# 1. Register FID (on Optimism)\nPRIVATE_KEY=0x... node src\u002Fregister-fid.js\n\n# 2. Add signer key (on Optimism)\nPRIVATE_KEY=0x... node src\u002Fadd-signer.js\n\n# 3. Swap ETH to USDC (on Base, for x402 payments)\nPRIVATE_KEY=0x... node src\u002Fswap-to-usdc.js\n\n# 4. Post cast\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 node src\u002Fpost-cast.js \"Hello!\"\n\n# 5. Set up profile\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 npm run profile username \"Name\" \"Bio\" \"pfp-url\"\n```\n\n## Programmatic API\n\nAll functions are available for import:\n\n```javascript\nconst {\n  \u002F\u002F Full autonomous setup\n  autoSetup,\n  checkAllBalances,\n\n  \u002F\u002F Core functions\n  registerFid,\n  addSigner,\n  postCast,\n  swapEthToUsdc,\n\n  \u002F\u002F Profile setup\n  setProfileData,\n  registerFname,\n  setupFullProfile,\n\n  \u002F\u002F Credential management\n  saveCredentials,\n  loadCredentials,\n  listCredentials,\n  setActiveAccount,\n  updateCredentials,\n  getCredentialsPath,\n\n  \u002F\u002F Utilities\n  checkFidSync,\n  checkSignerSync,\n  getCast\n} = require('{baseDir}\u002F..\u002Fsrc');\n```\n\n## Example: Full Autonomous Flow\n\n```javascript\nconst { Wallet } = require('ethers');\nconst { autoSetup, setupFullProfile } = require('{baseDir}\u002F..\u002Fsrc');\n\n\u002F\u002F 1. Generate wallet (or use existing)\nconst wallet = Wallet.createRandom();\nconsole.log('Fund this address with $1 ETH or USDC:', wallet.address);\n\n\u002F\u002F 2. After human funds the wallet, run setup\nconst result = await autoSetup(wallet.privateKey, 'gm farcaster!');\n\nconsole.log('FID:', result.fid);\nconsole.log('Signer:', result.signerPrivateKey);\nconsole.log('Cast:', result.castHash);\n\n\u002F\u002F 3. Set up profile\nawait setupFullProfile({\n  privateKey: wallet.privateKey,\n  signerPrivateKey: result.signerPrivateKey,\n  fid: result.fid,\n  fname: 'myagent',\n  displayName: 'My AI Agent',\n  bio: 'Autonomous agent on Farcaster',\n  pfpUrl: 'https:\u002F\u002Fapi.dicebear.com\u002F7.x\u002Fbottts\u002Fpng?seed=myagent'\n});\n\nconsole.log('Profile: https:\u002F\u002Ffarcaster.xyz\u002Fmyagent');\n```\n\n## Source Code\n\nThe complete implementation is at: https:\u002F\u002Fgithub.com\u002Frishavmukherji\u002Ffarcaster-agent\n\nFor detailed technical documentation, see the AGENT_GUIDE.md in that repository.\n","# Farcaster Agent\n\nOfficial skill from the Farcaster team. Create and manage a Farcaster account autonomously. Register a new Farcaster identity (FID), add signing keys, set up a profile with username, and post casts to the network.\n\n## When to Use This Skill\n\nUse this skill when:\n- You need to create a Farcaster account from scratch\n- You want to post casts (messages) to Farcaster\n- You need to set up a profile with username, bio, and profile picture\n- You want autonomous presence on the Farcaster social network\n\n## Prerequisites\n\nYou need approximately **$1 of ETH or USDC** on any major chain (Ethereum, Optimism, Base, Arbitrum, or Polygon). The skill handles bridging and swapping automatically.\n\n## Complete Flow\n\n### Step 1: Generate Wallet and Request Funding\n\nIf you don't have a funded wallet, create one first:\n\n```javascript\nconst { Wallet } = require('ethers');\n\nconst wallet = Wallet.createRandom();\nconsole.log('Address:', wallet.address);\nconsole.log('Private Key:', wallet.privateKey);\n```\n\n**Ask your human:** \"I've created a wallet. Please send ~$1 of ETH or USDC to `\u003Caddress>` on any of these chains: Ethereum, Optimism, Base, Arbitrum, or Polygon. Let me know when done.\"\n\n**Save the private key securely** - you'll need it for all subsequent steps.\n\n### Step 2: Run Auto-Setup\n\nOnce funded, run the complete setup:\n\n```bash\ncd {baseDir}\u002F..\nPRIVATE_KEY=0x... node src\u002Fauto-setup.js \"Your first cast text here\"\n```\n\nThis will:\n1. Detect which chain has funds (ETH or USDC)\n2. Bridge\u002Fswap to get ETH on Optimism and USDC on Base\n3. Register your FID (Farcaster ID)\n4. Add a signer key\n5. Wait for hub synchronization\n6. Post your first cast\n7. **Automatically save credentials** to persistent storage\n\n### Step 3: Credentials are Saved Automatically\n\nCredentials are automatically saved to:\n- `~\u002F.openclaw\u002Ffarcaster-credentials.json` (if OpenClaw is installed)\n- `.\u002Fcredentials.json` (fallback)\n\n**Security Warning:** Credentials are stored as **plain text JSON**. Anyone with access to these files can control the wallet funds and Farcaster account. For production use, implement your own secure storage.\n\nYou can verify and manage credentials:\n\n```bash\ncd {baseDir}\u002F..\n\n# List all stored accounts\nnode src\u002Fcredentials.js list\n\n# Get credentials for active account\nnode src\u002Fcredentials.js get\n\n# Show credentials file path\nnode src\u002Fcredentials.js path\n```\n\nTo disable auto-save, use `--no-save`:\n```bash\nPRIVATE_KEY=0x... node src\u002Fauto-setup.js \"Your cast\" --no-save\n```\n\n## Posting Casts\n\nTo post additional casts, load credentials from storage:\n\n```javascript\nconst { postCast, loadCredentials } = require('{baseDir}\u002F..\u002Fsrc');\n\n\u002F\u002F Load saved credentials\nconst creds = loadCredentials();\n\nconst { hash } = await postCast({\n  privateKey: creds.custodyPrivateKey,\n  signerPrivateKey: creds.signerPrivateKey,\n  fid: Number(creds.fid),\n  text: 'Your cast content'\n});\n\nconsole.log('Cast URL: https:\u002F\u002Ffarcaster.xyz\u002F~\u002Fconversations\u002F' + hash);\n```\n\nOr via CLI with environment variables:\n\n```bash\ncd {baseDir}\u002F..\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 node src\u002Fpost-cast.js \"Your cast content\"\n```\n\n## Setting Up Profile\n\nTo set username, display name, bio, and profile picture:\n\n```bash\ncd {baseDir}\u002F..\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 npm run profile myusername \"Display Name\" \"My bio\" \"https:\u002F\u002Fexample.com\u002Fpfp.png\"\n```\n\nOr programmatically:\n\n```javascript\nconst { setupFullProfile } = require('{baseDir}\u002F..\u002Fsrc');\n\nawait setupFullProfile({\n  privateKey: '0x...',\n  signerPrivateKey: '...',\n  fid: 123,\n  fname: 'myusername',\n  displayName: 'My Display Name',\n  bio: 'I am an autonomous AI agent.',\n  pfpUrl: 'https:\u002F\u002Fapi.dicebear.com\u002F7.x\u002Fbottts\u002Fpng?seed=myagent'\n});\n```\n\n### Fname (Username) Requirements\n\n- Lowercase letters, numbers, and hyphens only\n- Cannot start with a hyphen\n- 1-16 characters\n- One fname per account\n- Can only change once every 28 days\n\n### Profile Picture Options\n\nFor PFP, use any publicly accessible HTTPS image URL:\n- **DiceBear** (generated avatars): `https:\u002F\u002Fapi.dicebear.com\u002F7.x\u002Fbottts\u002Fpng?seed=yourname`\n- IPFS-hosted images\n- Any public image URL\n\n## Cost Breakdown\n\n| Operation | Cost |\n|-----------|------|\n| FID Registration | ~$0.20 |\n| Add Signer | ~$0.05 |\n| Bridging | ~$0.10-0.20 |\n| Each API call | $0.001 |\n| **Total minimum** | **~$0.50** |\n\nBudget $1 to have buffer for retries and gas fluctuations.\n\n## API Endpoints\n\n### Neynar Hub API (`https:\u002F\u002Fhub-api.neynar.com`)\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `\u002Fv1\u002FsubmitMessage` | POST | Submit casts, profile updates (requires x402 payment header) |\n| `\u002Fv1\u002FonChainIdRegistryEventByAddress?address=\u003Caddr>` | GET | Check if FID is synced for address |\n| `\u002Fv1\u002FonChainSignersByFid?fid=\u003Cfid>` | GET | Check if signer keys are synced |\n\n### Neynar REST API (`https:\u002F\u002Fapi.neynar.com`)\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `\u002Fv2\u002Ffarcaster\u002Fcast?identifier=\u003Chash>&type=hash` | GET | Verify cast exists on network |\n\n### Farcaster Fname Registry (`https:\u002F\u002Ffnames.farcaster.xyz`)\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `\u002Ftransfers` | POST | Register or transfer an fname (requires EIP-712 signature) |\n| `\u002Ftransfers\u002Fcurrent?name=\u003Cfname>` | GET | Check fname availability (404 = available) |\n\n### x402 Payment\n- **Address:** `0xA6a8736f18f383f1cc2d938576933E5eA7Df01A1`\n- **Cost:** 0.001 USDC per API call (on Base)\n- **Header:** `X-PAYMENT` with base64-encoded EIP-3009 `transferWithAuthorization` signature\n\n## Common Errors\n\n### \"invalid hash\"\nCause: Old library version. Fix: Run `npm install @farcaster\u002Fhub-nodejs@latest`\n\n### \"unknown fid\"\nCause: Hub hasn't synced your registration yet. Fix: Wait 30-60 seconds and retry.\n\n### Transaction reverts when adding signer\nCause: Metadata encoding issue. Fix: The code already uses the correct `SignedKeyRequestValidator.encodeMetadata()` method.\n\n### \"fname is not registered for fid\"\nCause: Hub hasn't synced your fname registration. Fix: Wait 30-60 seconds (the code handles this automatically).\n\n## Manual Step-by-Step (If Auto-Setup Fails)\n\nIf auto-setup fails partway through, you can run individual steps:\n\n```bash\ncd {baseDir}\u002F..\n\n# 1. Register FID (on Optimism)\nPRIVATE_KEY=0x... node src\u002Fregister-fid.js\n\n# 2. Add signer key (on Optimism)\nPRIVATE_KEY=0x... node src\u002Fadd-signer.js\n\n# 3. Swap ETH to USDC (on Base, for x402 payments)\nPRIVATE_KEY=0x... node src\u002Fswap-to-usdc.js\n\n# 4. Post cast\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 node src\u002Fpost-cast.js \"Hello!\"\n\n# 5. Set up profile\nPRIVATE_KEY=0x... SIGNER_PRIVATE_KEY=... FID=123 npm run profile username \"Name\" \"Bio\" \"pfp-url\"\n```\n\n## Programmatic API\n\nAll functions are available for import:\n\n```javascript\nconst {\n  \u002F\u002F Full autonomous setup\n  autoSetup,\n  checkAllBalances,\n\n  \u002F\u002F Core functions\n  registerFid,\n  addSigner,\n  postCast,\n  swapEthToUsdc,\n\n  \u002F\u002F Profile setup\n  setProfileData,\n  registerFname,\n  setupFullProfile,\n\n  \u002F\u002F Credential management\n  saveCredentials,\n  loadCredentials,\n  listCredentials,\n  setActiveAccount,\n  updateCredentials,\n  getCredentialsPath,\n\n  \u002F\u002F Utilities\n  checkFidSync,\n  checkSignerSync,\n  getCast\n} = require('{baseDir}\u002F..\u002Fsrc');\n```\n\n## Example: Full Autonomous Flow\n\n```javascript\nconst { Wallet } = require('ethers');\nconst { autoSetup, setupFullProfile } = require('{baseDir}\u002F..\u002Fsrc');\n\n\u002F\u002F 1. Generate wallet (or use existing)\nconst wallet = Wallet.createRandom();\nconsole.log('Fund this address with $1 ETH or USDC:', wallet.address);\n\n\u002F\u002F 2. After human funds the wallet, run setup\nconst result = await autoSetup(wallet.privateKey, 'gm farcaster!');\n\nconsole.log('FID:', result.fid);\nconsole.log('Signer:', result.signerPrivateKey);\nconsole.log('Cast:', result.castHash);\n\n\u002F\u002F 3. Set up profile\nawait setupFullProfile({\n  privateKey: wallet.privateKey,\n  signerPrivateKey: result.signerPrivateKey,\n  fid: result.fid,\n  fname: 'myagent',\n  displayName: 'My AI Agent',\n  bio: 'Autonomous agent on Farcaster',\n  pfpUrl: 'https:\u002F\u002Fapi.dicebear.com\u002F7.x\u002Fbottts\u002Fpng?seed=myagent'\n});\n\nconsole.log('Profile: https:\u002F\u002Ffarcaster.xyz\u002Fmyagent');\n```\n\n## Source Code\n\nThe complete implementation is at: https:\u002F\u002Fgithub.com\u002Frishavmukherji\u002Ffarcaster-agent\n\nFor detailed technical documentation, see the AGENT_GUIDE.md in that repository.\n",{"name":5,"metadata":40,"description":7},{"openclaw":41},{"emoji":42,"install":43,"requires":47},"?",[44],{"id":27,"kind":28,"label":45,"command":46},"Install dependencies","cd {baseDir}\u002F.. && npm install",{"env":48,"bins":49},[],[30,27],"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","人工智能与大型语言模型\u002Ffarcaster-agent",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill farcaster-agent",{"tool":64,"command":65},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill farcaster-agent",{"tool":67,"command":68},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill farcaster-agent","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Ffarcaster-agent\u002FSKILL.md",true,[72],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"_meta.json","REFERENCE","参考文档",468,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Ffarcaster-agent\u002F_meta.json",[79,103,135,146,156,185],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":35},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[81,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":104,"name":105,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":117,"publishedAt":35},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[108,111,112],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[118,119,120,121,122,123,124,88,125,92,126,127,128,129,130,131,132,133,134],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":136,"name":137,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":35},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[140,141,142],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},[118,144,145,119,120,121,122,123,124,88,125,92,127,128,129,130,131,132,133,134],"api skill","zerion api skill",{"skillNo":147,"name":148,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":154,"publishedAt":35},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[151,152,153],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},[121,118,155,119,120,122,123,88,125,92,126,127,128,129,130,131,132,133,134],"zerion api mcp",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":165,"publishedAt":35},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[162],{"categoryNo":163,"categoryName":164,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000040","财务",[166,167,168,169,170,171,172,173,174,175,31,176,177,178,179,180,181,182,183,184],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":192,"publishedAt":35},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[191],{"categoryNo":163,"categoryName":164,"taxonomyType":115,"taxonomyTypeDesc":116},[166,167,169,193,194,195,196,197,198,176,199,200,201,202,203,204,205,206,134,183],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]