[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q1AR7PQNANA2MBK3MBD92B":3,"skill-same:01M6Q1AR7PQNANA2MBK3MBD92B":93},{"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":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6Q1AR7PQNANA2MBK3MBD92B","hour-meter",null,"Track elapsed time from a set epoch with tamper-evident locking. Like an analog Hobbs meter but digital. Use for tracking uptime, service hours, time since events, sobriety counters, project duration, equipment runtime. Supports create, lock (seal), check, verify against external hash, list, and export operations.","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日程与赛程安排\u002Fhour-meter\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"hour meter","time","track","for","lock","with","events","epoch","runtime","project","create","but","export","use","operations","list","check","verify","SET","uptime","2026-11-10 10:12:30",false,"---\nname: hour-meter\ndescription: Track elapsed time from a set epoch with tamper-evident locking. Like an analog Hobbs meter but digital. Use for tracking uptime, service hours, time since events, sobriety counters, project duration, equipment runtime. Supports create, lock (seal), check, verify against external hash, list, and export operations.\n---\n\n# Hour Meter\n\nLife event tracker with three modes, milestone notifications, and tamper-evident verification.\n\n## Three Modes\n\n### COUNT UP — Time since an event\n```bash\n# Quit smoking tracker\nmeter.py create smoke-free --start \"2025-06-15T08:00:00Z\" -d \"Last cigarette\"\nmeter.py milestone smoke-free -t hours -v 720 -m \"? 30 days smoke-free!\"\nmeter.py lock smoke-free  # → Gives you paper code to save\n```\n\n### COUNT DOWN — Time until an event\n```bash\n# Baby due date\nmeter.py create baby --start \"2026-01-15\" --end \"2026-10-15\" --mode down -d \"Baby arriving!\"\nmeter.py milestone baby -t percent -v 33 -m \"? First trimester complete!\"\n```\n\n### COUNT BETWEEN — Journey from start to end\n```bash\n# Career span\nmeter.py create career --start \"1998-05-15\" --end \"2038-05-15\" -d \"40-year career\"\nmeter.py milestone career -t percent -v 50 -m \"? Halfway through career!\"\nmeter.py career --meter career --rate 85 --raise-pct 2.5\n```\n\n## Tamper-Evident Persistence\n\nWhen you lock a meter, you get a **paper code** — a short, checksummed code you can write on paper:\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║  PAPER CODE (write this down):                               ║\n║     318B-3229-C523-2F9C-V                                    ║\n╚══════════════════════════════════════════════════════════════╝\n```\n\n### Four Ways to Save (Non-Technical)\n\n**1️⃣ PAPER** — Write the code on paper\u002Fsticky note\n- 20 characters with dashes, easy to copy\n- Built-in checksum catches typos when verifying\n- Keep in wallet, safe, or taped to equipment\n\n**2️⃣ PHOTO** — Screenshot or photograph the lock screen\n- Store in camera roll, cloud photos\n- Visual backup, no typing required\n\n**3️⃣ WITNESS FILE** — Auto-saved to `~\u002F.openclaw\u002Fmeter-witness.txt`\n- Append-only log of all locked meters\n- Sync folder to Dropbox\u002FiCloud\u002FGoogle Drive for cloud backup\n- Contains paper code + full hash + timestamp\n\n**4️⃣ EMAIL TO SELF** — Click the mailto: link or copy the one-liner\n- Opens your email client with pre-filled subject and body\n- Or copy the compact message: `? my-meter | Code: XXXX-XXXX-XXXX-XXXX-C | Locked: 2026-02-02`\n- Send to yourself, search inbox later to verify\n\n**5️⃣ SENDGRID EMAIL** — Auto-send verification email on lock\n```bash\n# Set your SendGrid API key\nexport SENDGRID_API_KEY=SG.xxxxx\nexport SENDGRID_FROM_EMAIL=verified@yourdomain.com\n\n# Lock and email in one command\nmeter.py lock my-meter --email you@example.com\n```\n- Sends a beautifully formatted HTML email with paper code\n- Requires a verified sender in SendGrid (see SendGrid docs)\n- Great for automated workflows\n\n### Verifying Later\n\n```bash\n# With paper code (catches typos!)\nmeter.py verify my-meter \"318B-3229-C523-2F9C-V\"\n\n# → ✅ VERIFIED! Paper code matches.\n# → ⚠️ CHECKSUM ERROR! (if you have a typo)\n# → ❌ MISMATCH! (if tampered)\n```\n\n## Milestones\n\n```bash\nmeter.py milestone \u003Cname> --type hours --value 1000 --message \"1000 hours!\"\nmeter.py milestone \u003Cname> --type percent --value 50 --message \"Halfway!\"\nmeter.py check-milestones  # JSON output for automation\n```\n\n### Email Milestone Notifications (v1.3.0)\n\nGet milestone notifications sent directly to your email:\n\n```bash\n# Create meter with email notifications\nmeter.py create my-meter \\\n  --notify-email you@example.com \\\n  --from-email verified@yourdomain.com \\\n  -d \"My tracked event\"\n\n# Add milestones as usual\nmeter.py milestone my-meter -t hours -v 24 -m \"? 24 hours complete!\"\n\n# When check-milestones runs and a milestone fires, email is sent automatically\nmeter.py check-milestones\n# → Triggers milestone AND sends email notification\n```\n\n**Email includes:**\n- ? Milestone message\n- ⏱️ Current elapsed time\n- ? Meter description\n\nRequires `SENDGRID_API_KEY` environment variable.\n\n### Milestone Notifications: Heartbeat vs Cron\n\n**Recommended: HEARTBEAT** (~30 min resolution)\n- Add to `HEARTBEAT.md`: `Run meter.py check-milestones and notify triggered`\n- Batches with other periodic checks\n- Cost-efficient: shares token usage with other heartbeat tasks\n- Good for most use cases (quit tracking, career milestones, etc.)\n\n### ACTION: Triggers (Agent Automation)\n\nPrefix milestone messages with `ACTION:` to trigger agent execution instead of just posting:\n\n```bash\n# Just posts the message\nmeter.py milestone my-meter -t hours -v 24 -m \"? 24 hours complete!\"\n\n# Triggers agent to EXECUTE the instruction\nmeter.py milestone my-meter -t hours -v 24 -m \"ACTION: Check the weather and post a summary\"\n```\n\nConfigure in HEARTBEAT.md:\n```markdown\n- If message starts with \"ACTION:\", execute it as an instruction\n- Otherwise, post the message to the configured channel\n```\n\n**Alternative: CRON** (precise timing)\n- Use when exact timing matters (e.g., countdown to event)\n- ⚠️ **Cost warning:** Cron at 1-minute intervals = 1,440 API calls\u002Fday = expensive!\n- If using cron, keep intervals ≥15 minutes to manage costs\n- Best for one-shot reminders, not continuous monitoring\n\n**Rule of thumb:** If 30-minute resolution is acceptable, use heartbeat. Save cron for precision timing.\n\n## Quick Reference\n\n```bash\nmeter.py create \u003Cname> [--start T] [--end T] [--mode up|down|between] [-d DESC]\nmeter.py lock \u003Cname>                # Seal + get paper code\nmeter.py verify \u003Cname> \u003Ccode>       # Verify paper code\nmeter.py check \u003Cname>               # Status + progress\nmeter.py milestone \u003Cname> -t hours|percent -v N -m \"...\"\nmeter.py check-milestones           # All milestones (JSON)\nmeter.py witness [--show] [--path]  # Witness file\nmeter.py list                       # All meters\nmeter.py career [--meter M] [--rate R] [--raise-pct P]\nmeter.py export [name]              # JSON export\n```\n\n## SendGrid Email Webhook Server\n\nReceive real-time notifications when recipients open, click, bounce, or unsubscribe from your meter verification emails.\n\n### Setup\n\n```bash\n# Start webhook server with Discord webhook (recommended)\npython sendgrid_webhook.py --port 8089 --discord-webhook https:\u002F\u002Fdiscord.com\u002Fapi\u002Fwebhooks\u002Fxxx\u002Fyyy\n\n# Or process events manually (for agent to post)\npython sendgrid_webhook.py --process-events\npython sendgrid_webhook.py --process-events --json\n```\n\n### Discord Webhook Setup (Recommended)\n\n1. In your Discord channel, go to **Settings > Integrations > Webhooks**\n2. Click **New Webhook**, copy the URL\n3. Pass to `--discord-webhook` or set `DISCORD_WEBHOOK_URL` env var\n\n### SendGrid Setup\n\n1. Go to **SendGrid > Settings > Mail Settings > Event Webhook**\n2. Click **\"Create new webhook\"** (or edit existing)\n3. Set HTTP POST URL to: `https:\u002F\u002Fyour-domain.com\u002Fwebhooks\u002Fsendgrid`\n4. Select all event types under **Actions to be posted**:\n   - **Engagement data:** Opened, Clicked, Unsubscribed, Spam Reports, Group Unsubscribes, Group Resubscribes\n   - **Deliverability Data:** Processed, Dropped, Deferred, Bounced, Delivered\n   - **Account Data:** Account Status Change\n5. Click **\"Test Integration\"** to verify - this fires all event types to your webhook\n6. **Important:** Click **Save** to enable the webhook!\n7. (Optional) Enable **Signed Event Webhook** for security and set `SENDGRID_WEBHOOK_PUBLIC_KEY`\n\n![SendGrid Webhook Setup](docs\u002Fsendgrid-webhook-setup.png)\n\n### Event Types\n\n| Event | Emoji | Description |\n|-------|-------|-------------|\n| delivered | ✅ | Email reached recipient |\n| open | ? | Recipient opened email |\n| click | ? | Recipient clicked a link |\n| bounce | ⚠️ | Email bounced |\n| unsubscribe | ? | Recipient unsubscribed |\n| spamreport | ? | Marked as spam |\n\n### Environment Variables\n\n```bash\nSENDGRID_WEBHOOK_PUBLIC_KEY    # For signature verification (optional)\nSENDGRID_WEBHOOK_MAX_AGE_SECONDS  # Max timestamp age (default: 300)\nWEBHOOK_PORT                   # Server port (default: 8089)\nDISCORD_WEBHOOK_URL            # Discord webhook URL\nWEBHOOK_LOG_FILE               # Log file path\n```\n\n## The 80,000 Hours Concept\n\nCareer as finite inventory: 40 years × 2,000 hrs\u002Fyear = 80,000 hours.\n\n```bash\nmeter.py career --hours-worked 56000 --rate 85 --raise-pct 2.5\n# → 12.3 years remaining, $2.4M earning potential\n```\n","# Hour Meter\n\nLife event tracker with three modes, milestone notifications, and tamper-evident verification.\n\n## Three Modes\n\n### COUNT UP — Time since an event\n```bash\n# Quit smoking tracker\nmeter.py create smoke-free --start \"2025-06-15T08:00:00Z\" -d \"Last cigarette\"\nmeter.py milestone smoke-free -t hours -v 720 -m \"? 30 days smoke-free!\"\nmeter.py lock smoke-free  # → Gives you paper code to save\n```\n\n### COUNT DOWN — Time until an event\n```bash\n# Baby due date\nmeter.py create baby --start \"2026-01-15\" --end \"2026-10-15\" --mode down -d \"Baby arriving!\"\nmeter.py milestone baby -t percent -v 33 -m \"? First trimester complete!\"\n```\n\n### COUNT BETWEEN — Journey from start to end\n```bash\n# Career span\nmeter.py create career --start \"1998-05-15\" --end \"2038-05-15\" -d \"40-year career\"\nmeter.py milestone career -t percent -v 50 -m \"? Halfway through career!\"\nmeter.py career --meter career --rate 85 --raise-pct 2.5\n```\n\n## Tamper-Evident Persistence\n\nWhen you lock a meter, you get a **paper code** — a short, checksummed code you can write on paper:\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║  PAPER CODE (write this down):                               ║\n║     318B-3229-C523-2F9C-V                                    ║\n╚══════════════════════════════════════════════════════════════╝\n```\n\n### Four Ways to Save (Non-Technical)\n\n**1️⃣ PAPER** — Write the code on paper\u002Fsticky note\n- 20 characters with dashes, easy to copy\n- Built-in checksum catches typos when verifying\n- Keep in wallet, safe, or taped to equipment\n\n**2️⃣ PHOTO** — Screenshot or photograph the lock screen\n- Store in camera roll, cloud photos\n- Visual backup, no typing required\n\n**3️⃣ WITNESS FILE** — Auto-saved to `~\u002F.openclaw\u002Fmeter-witness.txt`\n- Append-only log of all locked meters\n- Sync folder to Dropbox\u002FiCloud\u002FGoogle Drive for cloud backup\n- Contains paper code + full hash + timestamp\n\n**4️⃣ EMAIL TO SELF** — Click the mailto: link or copy the one-liner\n- Opens your email client with pre-filled subject and body\n- Or copy the compact message: `? my-meter | Code: XXXX-XXXX-XXXX-XXXX-C | Locked: 2026-02-02`\n- Send to yourself, search inbox later to verify\n\n**5️⃣ SENDGRID EMAIL** — Auto-send verification email on lock\n```bash\n# Set your SendGrid API key\nexport SENDGRID_API_KEY=SG.xxxxx\nexport SENDGRID_FROM_EMAIL=verified@yourdomain.com\n\n# Lock and email in one command\nmeter.py lock my-meter --email you@example.com\n```\n- Sends a beautifully formatted HTML email with paper code\n- Requires a verified sender in SendGrid (see SendGrid docs)\n- Great for automated workflows\n\n### Verifying Later\n\n```bash\n# With paper code (catches typos!)\nmeter.py verify my-meter \"318B-3229-C523-2F9C-V\"\n\n# → ✅ VERIFIED! Paper code matches.\n# → ⚠️ CHECKSUM ERROR! (if you have a typo)\n# → ❌ MISMATCH! (if tampered)\n```\n\n## Milestones\n\n```bash\nmeter.py milestone \u003Cname> --type hours --value 1000 --message \"1000 hours!\"\nmeter.py milestone \u003Cname> --type percent --value 50 --message \"Halfway!\"\nmeter.py check-milestones  # JSON output for automation\n```\n\n### Email Milestone Notifications (v1.3.0)\n\nGet milestone notifications sent directly to your email:\n\n```bash\n# Create meter with email notifications\nmeter.py create my-meter \\\n  --notify-email you@example.com \\\n  --from-email verified@yourdomain.com \\\n  -d \"My tracked event\"\n\n# Add milestones as usual\nmeter.py milestone my-meter -t hours -v 24 -m \"? 24 hours complete!\"\n\n# When check-milestones runs and a milestone fires, email is sent automatically\nmeter.py check-milestones\n# → Triggers milestone AND sends email notification\n```\n\n**Email includes:**\n- ? Milestone message\n- ⏱️ Current elapsed time\n- ? Meter description\n\nRequires `SENDGRID_API_KEY` environment variable.\n\n### Milestone Notifications: Heartbeat vs Cron\n\n**Recommended: HEARTBEAT** (~30 min resolution)\n- Add to `HEARTBEAT.md`: `Run meter.py check-milestones and notify triggered`\n- Batches with other periodic checks\n- Cost-efficient: shares token usage with other heartbeat tasks\n- Good for most use cases (quit tracking, career milestones, etc.)\n\n### ACTION: Triggers (Agent Automation)\n\nPrefix milestone messages with `ACTION:` to trigger agent execution instead of just posting:\n\n```bash\n# Just posts the message\nmeter.py milestone my-meter -t hours -v 24 -m \"? 24 hours complete!\"\n\n# Triggers agent to EXECUTE the instruction\nmeter.py milestone my-meter -t hours -v 24 -m \"ACTION: Check the weather and post a summary\"\n```\n\nConfigure in HEARTBEAT.md:\n```markdown\n- If message starts with \"ACTION:\", execute it as an instruction\n- Otherwise, post the message to the configured channel\n```\n\n**Alternative: CRON** (precise timing)\n- Use when exact timing matters (e.g., countdown to event)\n- ⚠️ **Cost warning:** Cron at 1-minute intervals = 1,440 API calls\u002Fday = expensive!\n- If using cron, keep intervals ≥15 minutes to manage costs\n- Best for one-shot reminders, not continuous monitoring\n\n**Rule of thumb:** If 30-minute resolution is acceptable, use heartbeat. Save cron for precision timing.\n\n## Quick Reference\n\n```bash\nmeter.py create \u003Cname> [--start T] [--end T] [--mode up|down|between] [-d DESC]\nmeter.py lock \u003Cname>                # Seal + get paper code\nmeter.py verify \u003Cname> \u003Ccode>       # Verify paper code\nmeter.py check \u003Cname>               # Status + progress\nmeter.py milestone \u003Cname> -t hours|percent -v N -m \"...\"\nmeter.py check-milestones           # All milestones (JSON)\nmeter.py witness [--show] [--path]  # Witness file\nmeter.py list                       # All meters\nmeter.py career [--meter M] [--rate R] [--raise-pct P]\nmeter.py export [name]              # JSON export\n```\n\n## SendGrid Email Webhook Server\n\nReceive real-time notifications when recipients open, click, bounce, or unsubscribe from your meter verification emails.\n\n### Setup\n\n```bash\n# Start webhook server with Discord webhook (recommended)\npython sendgrid_webhook.py --port 8089 --discord-webhook https:\u002F\u002Fdiscord.com\u002Fapi\u002Fwebhooks\u002Fxxx\u002Fyyy\n\n# Or process events manually (for agent to post)\npython sendgrid_webhook.py --process-events\npython sendgrid_webhook.py --process-events --json\n```\n\n### Discord Webhook Setup (Recommended)\n\n1. In your Discord channel, go to **Settings > Integrations > Webhooks**\n2. Click **New Webhook**, copy the URL\n3. Pass to `--discord-webhook` or set `DISCORD_WEBHOOK_URL` env var\n\n### SendGrid Setup\n\n1. Go to **SendGrid > Settings > Mail Settings > Event Webhook**\n2. Click **\"Create new webhook\"** (or edit existing)\n3. Set HTTP POST URL to: `https:\u002F\u002Fyour-domain.com\u002Fwebhooks\u002Fsendgrid`\n4. Select all event types under **Actions to be posted**:\n   - **Engagement data:** Opened, Clicked, Unsubscribed, Spam Reports, Group Unsubscribes, Group Resubscribes\n   - **Deliverability Data:** Processed, Dropped, Deferred, Bounced, Delivered\n   - **Account Data:** Account Status Change\n5. Click **\"Test Integration\"** to verify - this fires all event types to your webhook\n6. **Important:** Click **Save** to enable the webhook!\n7. (Optional) Enable **Signed Event Webhook** for security and set `SENDGRID_WEBHOOK_PUBLIC_KEY`\n\n![SendGrid Webhook Setup](docs\u002Fsendgrid-webhook-setup.png)\n\n### Event Types\n\n| Event | Emoji | Description |\n|-------|-------|-------------|\n| delivered | ✅ | Email reached recipient |\n| open | ? | Recipient opened email |\n| click | ? | Recipient clicked a link |\n| bounce | ⚠️ | Email bounced |\n| unsubscribe | ? | Recipient unsubscribed |\n| spamreport | ? | Marked as spam |\n\n### Environment Variables\n\n```bash\nSENDGRID_WEBHOOK_PUBLIC_KEY    # For signature verification (optional)\nSENDGRID_WEBHOOK_MAX_AGE_SECONDS  # Max timestamp age (default: 300)\nWEBHOOK_PORT                   # Server port (default: 8089)\nDISCORD_WEBHOOK_URL            # Discord webhook URL\nWEBHOOK_LOG_FILE               # Log file path\n```\n\n## The 80,000 Hours Concept\n\nCareer as finite inventory: 40 years × 2,000 hrs\u002Fyear = 80,000 hours.\n\n```bash\nmeter.py career --hours-worked 56000 --rate 85 --raise-pct 2.5\n# → 12.3 years remaining, $2.4M earning potential\n```\n",{"name":5,"description":7},"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","日程与赛程安排\u002Fhour-meter",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":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill hour-meter",{"tool":57,"command":58},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill hour-meter",{"tool":60,"command":61},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill hour-meter","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002FSKILL.md",true,[65,71,75,79,85,89],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"_meta.json","REFERENCE","参考文档",625,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002F_meta.json",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"MARKETPLACE.md",1158,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002FMARKETPLACE.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"README.md",10142,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002FREADME.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fmeter.py","SCRIPT","脚本",42609,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002Fscripts\u002Fmeter.py",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fsendgrid_webhook.py",20705,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002Fscripts\u002Fsendgrid_webhook.py",{"path":90,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":91,"sourceHtmlUrl":92},"WHITEPAPER.md",14097,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fhour-meter\u002FWHITEPAPER.md",[94,117,153,164,174,202],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":38},"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",[],[96,101,102,103,104,105,31,106,107,108,109,110,111,112,113,114,115,116],"safe","ethereum","defi","Optimization","user","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":118,"name":119,"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":120,"categories":121,"keywords":135,"publishedAt":38},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[122,127,130],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":128,"categoryName":129,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[136,137,138,139,140,141,142,103,143,106,144,145,146,147,148,149,150,151,152],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":154,"name":155,"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":156,"categories":157,"keywords":161,"publishedAt":38},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[158,159,160],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},{"categoryNo":128,"categoryName":129,"taxonomyType":125,"taxonomyTypeDesc":126},{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},[136,162,163,137,138,139,140,141,142,103,143,106,145,146,147,148,149,150,151,152],"api skill","zerion api skill",{"skillNo":165,"name":166,"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":167,"categories":168,"keywords":172,"publishedAt":38},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[169,170,171],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},{"categoryNo":128,"categoryName":129,"taxonomyType":125,"taxonomyTypeDesc":126},{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},[139,136,173,137,138,140,141,103,143,106,144,145,146,147,148,149,150,151,152],"zerion api mcp",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":183,"publishedAt":38},"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",[180],{"categoryNo":181,"categoryName":182,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000040","财务",[184,185,186,187,188,189,190,191,192,193,194,195,196,197,19,198,199,200,201,21],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","currency","gbp","pip","market data",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":209,"publishedAt":38},"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",[208],{"categoryNo":181,"categoryName":182,"taxonomyType":133,"taxonomyTypeDesc":134},[184,185,187,210,211,212,34,213,214,195,215,216,217,218,219,220,221,222,152,201],"cli","homebrew","find","brew","up","local","get","stock","link","trending","sf","quotes","ln"]