[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MWMBM7P577JBKFKD5QW9TG":3,"skill-same:01M6MWMBM7P577JBKFKD5QW9TG":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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6MWMBM7P577JBKFKD5QW9TG","agent-protocol",null,"Agent-to-agent communication protocol. Enables skills to communicate via events, build workflow chains, and orchestrate without human intervention.","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人工智能与大型语言模型\u002Fagent-protocol\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],"protocol","agent protocol","workflow","build workflow","communication","orchestrate","agent communication","build","agent-to-agent","human","events","via","communicate","agent communication protocol","2026-11-10 10:12:30",false,"---\nname: agent-protocol\ndescription: Agent-to-agent communication protocol. Enables skills to communicate via events, build workflow chains, and orchestrate without human intervention.\nversion: 1.0.0\n---\n\n# Agent-to-Agent Protocol\n\n**A foundational communication layer for Clawdbot skills and agents.**\n\nEnable your agents to talk to each other, build automated workflows, and orchestrate complex multi-step tasks without human intervention.\n\n## Vision\n\n```\nResearch-Agent finds article\n    ↓ publishes \"research.found\"\nSummary-Agent subscribes to events\n    ↓ generates digest\n    ↓ publishes \"summary.ready\"\nNotification-Agent subscribes\n    ↓ posts to Telegram\u002FDiscord\n```\n\n## Architecture\n\n### 1. **Event Bus** (File-based Message Passing)\n- Agents publish events to `~\u002F.clawdbot\u002Fevents\u002F`\n- Events are JSON files with schema validation\n- Persistent, debuggable, auditable\n- Automatic cleanup of processed events\n\n### 2. **Workflow Engine**\n- Define pipelines in JSON or YAML\n- Conditional routing based on event data\n- Error handling, retries, fallbacks\n- Cron integration for scheduled execution\n\n### 3. **Shared Context**\n- Agents read\u002Fwrite to shared memory space\n- Context passing between workflow steps\n- State persistence across agent invocations\n\n### 4. **Agent Registry**\n- Discover available agents\u002Fskills\n- Capability advertisement\n- Permission management\n\n## Core Concepts\n\n### Events\nEvents are the fundamental unit of communication:\n```json\n{\n  \"event_id\": \"evt_20260128_001\",\n  \"event_type\": \"research.article_found\",\n  \"timestamp\": \"2026-01-28T23:00:00Z\",\n  \"source_agent\": \"research-agent\",\n  \"payload\": {\n    \"title\": \"ETH 2.0 Upgrade Complete\",\n    \"url\": \"https:\u002F\u002Fexample.com\u002Farticle\",\n    \"importance\": 9,\n    \"summary\": \"Major Ethereum upgrade...\"\n  },\n  \"metadata\": {\n    \"session_id\": \"main\",\n    \"requires_action\": true\n  }\n}\n```\n\n### Workflows\nWorkflows define how agents respond to events:\n```json\n{\n  \"workflow_id\": \"research-to-telegram\",\n  \"name\": \"Research → Summary → Notification\",\n  \"trigger\": {\n    \"event_type\": \"research.article_found\",\n    \"conditions\": {\n      \"payload.importance\": { \"gte\": 7 }\n    }\n  },\n  \"steps\": [\n    {\n      \"agent\": \"summary-agent\",\n      \"action\": \"summarize\",\n      \"input\": \"{{payload}}\",\n      \"output_event\": \"summary.ready\"\n    },\n    {\n      \"agent\": \"notification-agent\",\n      \"action\": \"notify\",\n      \"input\": \"{{previous.summary}}\",\n      \"channels\": [\"telegram\"]\n    }\n  ]\n}\n```\n\n## Quick Start\n\n### 1. Installation\n```bash\ncd \u002Froot\u002Fclawd\u002Fskills\u002Fagent-protocol\npython3 scripts\u002Fsetup.py\n```\n\n### 2. Start Event Bus\n```bash\npython3 scripts\u002Fevent_bus.py start\n```\n\n### 3. Publish Your First Event\n```bash\npython3 scripts\u002Fpublish.py \\\n  --type \"test.hello\" \\\n  --source \"my-agent\" \\\n  --payload '{\"message\": \"Hello, world!\"}'\n```\n\n### 4. Subscribe to Events\n```bash\npython3 scripts\u002Fsubscribe.py \\\n  --types \"test.hello\" \\\n  --handler \".\u002Fmy_handler.py\"\n```\n\n### 5. Define a Workflow\n```bash\ncp examples\u002Fsimple-workflow.json config\u002Fworkflows\u002Fmy-workflow.json\npython3 scripts\u002Fworkflow_engine.py --validate\n```\n\n## Event Types (Conventions)\n\n### Standard Event Types\n- `research.article_found` - Research agent found relevant content\n- `research.topic_suggested` - New research topic suggested\n- `summary.ready` - Summary generated\n- `analytics.insight` - Personal analytics insight\n- `sports.goal_scored` - Sports ticker goal event\n- `sports.match_started` - Match started\n- `notification.sent` - Notification delivered\n- `workflow.started` - Workflow execution started\n- `workflow.completed` - Workflow completed\n- `workflow.failed` - Workflow failed\n\n### Event Naming Convention\n`\u003Cdomain>.\u003Caction_past_tense>`\n- Use lowercase, underscores\n- Domain: broad category (research, sports, notification)\n- Action: what happened (article_found, goal_scored)\n\n## Workflow Examples\n\n### Example 1: Research → Notification\n```json\n{\n  \"workflow_id\": \"eth-news-alert\",\n  \"trigger\": {\n    \"event_type\": \"research.article_found\",\n    \"conditions\": {\n      \"payload.keywords\": { \"contains\": [\"ethereum\", \"ETH\"] },\n      \"payload.importance\": { \"gte\": 8 }\n    }\n  },\n  \"steps\": [\n    {\n      \"agent\": \"notification-agent\",\n      \"action\": \"send_telegram\",\n      \"input\": {\n        \"message\": \"? Important ETH News!\\n{{payload.title}}\\n{{payload.url}}\"\n      }\n    }\n  ]\n}\n```\n\n### Example 2: Sports Goal → TTS Announcement\n```json\n{\n  \"workflow_id\": \"goal-announcement\",\n  \"trigger\": {\n    \"event_type\": \"sports.goal_scored\",\n    \"conditions\": {\n      \"payload.team\": { \"eq\": \"Barcelona\" }\n    }\n  },\n  \"steps\": [\n    {\n      \"agent\": \"tts-agent\",\n      \"action\": \"announce\",\n      \"input\": {\n        \"text\": \"Goal for Barcelona! {{payload.scorer}} scores! {{payload.score}}\"\n      }\n    }\n  ]\n}\n```\n\n### Example 3: Daily Analytics → Research Topics\n```json\n{\n  \"workflow_id\": \"analytics-to-research\",\n  \"trigger\": {\n    \"event_type\": \"analytics.daily_report\",\n    \"schedule\": \"0 9 * * *\"\n  },\n  \"steps\": [\n    {\n      \"agent\": \"analytics-agent\",\n      \"action\": \"generate_insights\",\n      \"output_event\": \"analytics.insights_ready\"\n    },\n    {\n      \"agent\": \"research-agent\",\n      \"action\": \"suggest_topics\",\n      \"input\": \"{{previous.insights}}\",\n      \"conditions\": {\n        \"previous.insights.count\": { \"gte\": 3 }\n      }\n    }\n  ]\n}\n```\n\n## Commands\n\n### Event Bus\n```bash\n# Start the event bus daemon\npython3 scripts\u002Fevent_bus.py start\n\n# Check status\npython3 scripts\u002Fevent_bus.py status\n\n# Stop\npython3 scripts\u002Fevent_bus.py stop\n\n# View recent events\npython3 scripts\u002Fevent_bus.py tail --count 20\n```\n\n### Publishing Events\n```bash\n# Publish event (JSON payload)\npython3 scripts\u002Fpublish.py \\\n  --type \"research.article_found\" \\\n  --source \"research-agent\" \\\n  --payload '{\"title\": \"Article\", \"url\": \"...\"}'\n\n# Publish from file\npython3 scripts\u002Fpublish.py --file event.json\n\n# Publish with priority\npython3 scripts\u002Fpublish.py \\\n  --type \"alert.urgent\" \\\n  --priority high \\\n  --payload '{\"message\": \"Critical alert!\"}'\n```\n\n### Subscribing to Events\n```bash\n# Subscribe to event types\npython3 scripts\u002Fsubscribe.py \\\n  --types \"research.*,sports.goal_scored\" \\\n  --handler \".\u002Fhandlers\u002Fmy_handler.py\"\n\n# Subscribe with filter\npython3 scripts\u002Fsubscribe.py \\\n  --types \"research.*\" \\\n  --filter '{\"importance\": {\"gte\": 8}}' \\\n  --handler \".\u002Fhandlers\u002Fimportant_only.py\"\n\n# List active subscriptions\npython3 scripts\u002Fsubscribe.py --list\n```\n\n### Workflow Management\n```bash\n# Validate workflows\npython3 scripts\u002Fworkflow_engine.py --validate\n\n# Run workflow engine (processes workflows)\npython3 scripts\u002Fworkflow_engine.py --run\n\n# Test specific workflow\npython3 scripts\u002Fworkflow_engine.py --test eth-news-alert\n\n# List workflows\npython3 scripts\u002Fworkflow_engine.py --list\n\n# Enable\u002Fdisable workflow\npython3 scripts\u002Fworkflow_engine.py --enable research-to-telegram\npython3 scripts\u002Fworkflow_engine.py --disable research-to-telegram\n```\n\n### Agent Registry\n```bash\n# Register your agent\npython3 scripts\u002Fregistry.py register \\\n  --name \"my-agent\" \\\n  --capabilities \"summarize,notify\" \\\n  --events \"research.article_found\"\n\n# List available agents\npython3 scripts\u002Fregistry.py list\n\n# Query agents by capability\npython3 scripts\u002Fregistry.py query --capability \"summarize\"\n```\n\n## Integration with Existing Skills\n\n### Sports Ticker Integration\nModify `sports-ticker\u002Fscripts\u002Flive_monitor.py` to publish events:\n```python\nfrom agent_protocol import publish_event\n\n# After detecting a goal:\npublish_event(\n    event_type=\"sports.goal_scored\",\n    source=\"sports-ticker\",\n    payload={\n        \"team\": team_name,\n        \"scorer\": player_name,\n        \"opponent\": opponent,\n        \"score\": f\"{home_score}-{away_score}\",\n        \"minute\": clock\n    }\n)\n```\n\n### Research Agent Integration\n```python\nfrom agent_protocol import publish_event\n\n# After finding an article:\npublish_event(\n    event_type=\"research.article_found\",\n    source=\"research-agent\",\n    payload={\n        \"title\": article_title,\n        \"url\": article_url,\n        \"importance\": calculate_importance(article),\n        \"summary\": snippet\n    }\n)\n```\n\n### Personal Analytics Integration\n```python\nfrom agent_protocol import publish_event\n\n# Daily insights:\npublish_event(\n    event_type=\"analytics.insight\",\n    source=\"personal-analytics\",\n    payload={\n        \"type\": \"productivity\",\n        \"insight\": \"Your focus time increased 20% this week\",\n        \"recommendations\": [\"Schedule deep work in morning\"]\n    }\n)\n```\n\n## Security & Permissions\n\n### Permission Model\n```json\n{\n  \"agent\": \"research-agent\",\n  \"permissions\": {\n    \"publish\": [\"research.*\"],\n    \"subscribe\": [\"summary.*\", \"notification.*\"],\n    \"workflows\": [\"research-to-telegram\"]\n  }\n}\n```\n\n### Sandboxing\n- Agents can only publish to their designated event types\n- Subscriptions require explicit permission\n- Workflows are validated before execution\n\n## Configuration\n\n### Main Config: `config\u002Fprotocol.json`\n```json\n{\n  \"event_bus\": {\n    \"storage_path\": \"~\u002F.clawdbot\u002Fevents\",\n    \"retention_days\": 7,\n    \"max_event_size_kb\": 512\n  },\n  \"workflow_engine\": {\n    \"enabled\": true,\n    \"poll_interval_seconds\": 30,\n    \"max_concurrent_workflows\": 5\n  },\n  \"registry\": {\n    \"agents_path\": \"~\u002F.clawdbot\u002Fagents\u002Fregistry.json\"\n  },\n  \"security\": {\n    \"require_permissions\": true,\n    \"audit_log\": true\n  }\n}\n```\n\n## Advanced Features\n\n### 1. Conditional Routing\n```json\n{\n  \"steps\": [\n    {\n      \"condition\": {\n        \"payload.importance\": { \"gte\": 9 }\n      },\n      \"then\": { \"agent\": \"urgent-notifier\" },\n      \"else\": { \"agent\": \"standard-notifier\" }\n    }\n  ]\n}\n```\n\n### 2. Parallel Execution\n```json\n{\n  \"steps\": [\n    {\n      \"parallel\": [\n        { \"agent\": \"telegram-notifier\" },\n        { \"agent\": \"discord-notifier\" },\n        { \"agent\": \"email-notifier\" }\n      ]\n    }\n  ]\n}\n```\n\n### 3. Error Handling\n```json\n{\n  \"steps\": [\n    {\n      \"agent\": \"external-api\",\n      \"retry\": {\n        \"max_attempts\": 3,\n        \"backoff_seconds\": 5\n      },\n      \"on_error\": {\n        \"agent\": \"error-logger\",\n        \"continue\": true\n      }\n    }\n  ]\n}\n```\n\n### 4. Scheduled Workflows\n```json\n{\n  \"trigger\": {\n    \"schedule\": \"0 9 * * *\",\n    \"event_type\": \"cron.daily_run\"\n  }\n}\n```\n\n## Monitoring & Debugging\n\n### Event Log\nAll events are logged to `~\u002F.clawdbot\u002Fevents\u002Flog\u002F`\n```bash\n# View event log\ntail -f ~\u002F.clawdbot\u002Fevents\u002Flog\u002Fevents.log\n\n# Search events\npython3 scripts\u002Fquery.py --type \"research.*\" --since \"1 hour ago\"\n```\n\n### Workflow Execution Log\n```bash\n# View workflow executions\npython3 scripts\u002Fworkflow_engine.py --history\n\n# Inspect failed workflow\npython3 scripts\u002Fworkflow_engine.py --inspect \u003Cworkflow_id>\n```\n\n### Metrics\n```bash\n# Show event statistics\npython3 scripts\u002Fmetrics.py\n\n# Output:\n# Total events published: 1,234\n# Event types: 15\n# Active subscriptions: 8\n# Workflows executed: 456\n# Average workflow duration: 2.3s\n```\n\n## Best Practices\n\n1. **Event Design**\n   - Keep payloads small and focused\n   - Include enough context for handlers\n   - Use consistent naming conventions\n\n2. **Workflow Design**\n   - Keep workflows simple and focused\n   - Use descriptive names\n   - Test thoroughly before enabling\n\n3. **Error Handling**\n   - Always define error handlers\n   - Log errors for debugging\n   - Use retries for transient failures\n\n4. **Performance**\n   - Avoid high-frequency events\n   - Clean up old events regularly\n   - Monitor workflow execution times\n\n5. **Security**\n   - Validate event payloads\n   - Use permission system\n   - Audit sensitive operations\n\n## Python API\n\n```python\nfrom agent_protocol import (\n    publish_event,\n    subscribe,\n    create_workflow,\n    register_agent\n)\n\n# Publish event\npublish_event(\n    event_type=\"my.event\",\n    source=\"my-agent\",\n    payload={\"key\": \"value\"}\n)\n\n# Subscribe to events\n@subscribe([\"research.*\"])\ndef handle_research(event):\n    print(f\"Got research event: {event['payload']}\")\n\n# Create workflow programmatically\nworkflow = create_workflow(\n    workflow_id=\"my-workflow\",\n    trigger={\"event_type\": \"my.trigger\"},\n    steps=[\n        {\"agent\": \"processor\", \"action\": \"process\"}\n    ]\n)\n\n# Register agent\nregister_agent(\n    name=\"my-agent\",\n    capabilities=[\"process\", \"notify\"],\n    event_types=[\"my.event\"]\n)\n```\n\n## JavaScript API\n\n```javascript\nconst { publishEvent, subscribe, createWorkflow } = require('.\u002Fscripts\u002Fprotocol.js');\n\n\u002F\u002F Publish event\nawait publishEvent({\n  eventType: 'my.event',\n  source: 'my-agent',\n  payload: { key: 'value' }\n});\n\n\u002F\u002F Subscribe\nsubscribe(['research.*'], (event) => {\n  console.log('Got event:', event);\n});\n\n\u002F\u002F Create workflow\nawait createWorkflow({\n  workflowId: 'my-workflow',\n  trigger: { eventType: 'my.trigger' },\n  steps: [\n    { agent: 'processor', action: 'process' }\n  ]\n});\n```\n\n## Roadmap\n\n- [ ] Visual workflow builder (web UI)\n- [ ] WebSocket support for real-time events\n- [ ] Cross-instance event relay (multi-bot networks)\n- [ ] AI-powered workflow suggestions\n- [ ] Event replay and debugging tools\n- [ ] Performance profiling\n- [ ] GraphQL query API for events\n\n## Contributing\n\nThis skill is part of Clawdbot's core infrastructure. Contributions welcome!\n\n## License\n\nMIT\n\n---\n\n**Built with ? by Robby**\n","# Agent-to-Agent Protocol\n\n**A foundational communication layer for Clawdbot skills and agents.**\n\nEnable your agents to talk to each other, build automated workflows, and orchestrate complex multi-step tasks without human intervention.\n\n## Vision\n\n```\nResearch-Agent finds article\n    ↓ publishes \"research.found\"\nSummary-Agent subscribes to events\n    ↓ generates digest\n    ↓ publishes \"summary.ready\"\nNotification-Agent subscribes\n    ↓ posts to Telegram\u002FDiscord\n```\n\n## Architecture\n\n### 1. **Event Bus** (File-based Message Passing)\n- Agents publish events to `~\u002F.clawdbot\u002Fevents\u002F`\n- Events are JSON files with schema validation\n- Persistent, debuggable, auditable\n- Automatic cleanup of processed events\n\n### 2. **Workflow Engine**\n- Define pipelines in JSON or YAML\n- Conditional routing based on event data\n- Error handling, retries, fallbacks\n- Cron integration for scheduled execution\n\n### 3. **Shared Context**\n- Agents read\u002Fwrite to shared memory space\n- Context passing between workflow steps\n- State persistence across agent invocations\n\n### 4. **Agent Registry**\n- Discover available agents\u002Fskills\n- Capability advertisement\n- Permission management\n\n## Core Concepts\n\n### Events\nEvents are the fundamental unit of communication:\n```json\n{\n  \"event_id\": \"evt_20260128_001\",\n  \"event_type\": \"research.article_found\",\n  \"timestamp\": \"2026-01-28T23:00:00Z\",\n  \"source_agent\": \"research-agent\",\n  \"payload\": {\n    \"title\": \"ETH 2.0 Upgrade Complete\",\n    \"url\": \"https:\u002F\u002Fexample.com\u002Farticle\",\n    \"importance\": 9,\n    \"summary\": \"Major Ethereum upgrade...\"\n  },\n  \"metadata\": {\n    \"session_id\": \"main\",\n    \"requires_action\": true\n  }\n}\n```\n\n### Workflows\nWorkflows define how agents respond to events:\n```json\n{\n  \"workflow_id\": \"research-to-telegram\",\n  \"name\": \"Research → Summary → Notification\",\n  \"trigger\": {\n    \"event_type\": \"research.article_found\",\n    \"conditions\": {\n      \"payload.importance\": { \"gte\": 7 }\n    }\n  },\n  \"steps\": [\n    {\n      \"agent\": \"summary-agent\",\n      \"action\": \"summarize\",\n      \"input\": \"{{payload}}\",\n      \"output_event\": \"summary.ready\"\n    },\n    {\n      \"agent\": \"notification-agent\",\n      \"action\": \"notify\",\n      \"input\": \"{{previous.summary}}\",\n      \"channels\": [\"telegram\"]\n    }\n  ]\n}\n```\n\n## Quick Start\n\n### 1. Installation\n```bash\ncd \u002Froot\u002Fclawd\u002Fskills\u002Fagent-protocol\npython3 scripts\u002Fsetup.py\n```\n\n### 2. Start Event Bus\n```bash\npython3 scripts\u002Fevent_bus.py start\n```\n\n### 3. Publish Your First Event\n```bash\npython3 scripts\u002Fpublish.py \\\n  --type \"test.hello\" \\\n  --source \"my-agent\" \\\n  --payload '{\"message\": \"Hello, world!\"}'\n```\n\n### 4. Subscribe to Events\n```bash\npython3 scripts\u002Fsubscribe.py \\\n  --types \"test.hello\" \\\n  --handler \".\u002Fmy_handler.py\"\n```\n\n### 5. Define a Workflow\n```bash\ncp examples\u002Fsimple-workflow.json config\u002Fworkflows\u002Fmy-workflow.json\npython3 scripts\u002Fworkflow_engine.py --validate\n```\n\n## Event Types (Conventions)\n\n### Standard Event Types\n- `research.article_found` - Research agent found relevant content\n- `research.topic_suggested` - New research topic suggested\n- `summary.ready` - Summary generated\n- `analytics.insight` - Personal analytics insight\n- `sports.goal_scored` - Sports ticker goal event\n- `sports.match_started` - Match started\n- `notification.sent` - Notification delivered\n- `workflow.started` - Workflow execution started\n- `workflow.completed` - Workflow completed\n- `workflow.failed` - Workflow failed\n\n### Event Naming Convention\n`\u003Cdomain>.\u003Caction_past_tense>`\n- Use lowercase, underscores\n- Domain: broad category (research, sports, notification)\n- Action: what happened (article_found, goal_scored)\n\n## Workflow Examples\n\n### Example 1: Research → Notification\n```json\n{\n  \"workflow_id\": \"eth-news-alert\",\n  \"trigger\": {\n    \"event_type\": \"research.article_found\",\n    \"conditions\": {\n      \"payload.keywords\": { \"contains\": [\"ethereum\", \"ETH\"] },\n      \"payload.importance\": { \"gte\": 8 }\n    }\n  },\n  \"steps\": [\n    {\n      \"agent\": \"notification-agent\",\n      \"action\": \"send_telegram\",\n      \"input\": {\n        \"message\": \"? Important ETH News!\\n{{payload.title}}\\n{{payload.url}}\"\n      }\n    }\n  ]\n}\n```\n\n### Example 2: Sports Goal → TTS Announcement\n```json\n{\n  \"workflow_id\": \"goal-announcement\",\n  \"trigger\": {\n    \"event_type\": \"sports.goal_scored\",\n    \"conditions\": {\n      \"payload.team\": { \"eq\": \"Barcelona\" }\n    }\n  },\n  \"steps\": [\n    {\n      \"agent\": \"tts-agent\",\n      \"action\": \"announce\",\n      \"input\": {\n        \"text\": \"Goal for Barcelona! {{payload.scorer}} scores! {{payload.score}}\"\n      }\n    }\n  ]\n}\n```\n\n### Example 3: Daily Analytics → Research Topics\n```json\n{\n  \"workflow_id\": \"analytics-to-research\",\n  \"trigger\": {\n    \"event_type\": \"analytics.daily_report\",\n    \"schedule\": \"0 9 * * *\"\n  },\n  \"steps\": [\n    {\n      \"agent\": \"analytics-agent\",\n      \"action\": \"generate_insights\",\n      \"output_event\": \"analytics.insights_ready\"\n    },\n    {\n      \"agent\": \"research-agent\",\n      \"action\": \"suggest_topics\",\n      \"input\": \"{{previous.insights}}\",\n      \"conditions\": {\n        \"previous.insights.count\": { \"gte\": 3 }\n      }\n    }\n  ]\n}\n```\n\n## Commands\n\n### Event Bus\n```bash\n# Start the event bus daemon\npython3 scripts\u002Fevent_bus.py start\n\n# Check status\npython3 scripts\u002Fevent_bus.py status\n\n# Stop\npython3 scripts\u002Fevent_bus.py stop\n\n# View recent events\npython3 scripts\u002Fevent_bus.py tail --count 20\n```\n\n### Publishing Events\n```bash\n# Publish event (JSON payload)\npython3 scripts\u002Fpublish.py \\\n  --type \"research.article_found\" \\\n  --source \"research-agent\" \\\n  --payload '{\"title\": \"Article\", \"url\": \"...\"}'\n\n# Publish from file\npython3 scripts\u002Fpublish.py --file event.json\n\n# Publish with priority\npython3 scripts\u002Fpublish.py \\\n  --type \"alert.urgent\" \\\n  --priority high \\\n  --payload '{\"message\": \"Critical alert!\"}'\n```\n\n### Subscribing to Events\n```bash\n# Subscribe to event types\npython3 scripts\u002Fsubscribe.py \\\n  --types \"research.*,sports.goal_scored\" \\\n  --handler \".\u002Fhandlers\u002Fmy_handler.py\"\n\n# Subscribe with filter\npython3 scripts\u002Fsubscribe.py \\\n  --types \"research.*\" \\\n  --filter '{\"importance\": {\"gte\": 8}}' \\\n  --handler \".\u002Fhandlers\u002Fimportant_only.py\"\n\n# List active subscriptions\npython3 scripts\u002Fsubscribe.py --list\n```\n\n### Workflow Management\n```bash\n# Validate workflows\npython3 scripts\u002Fworkflow_engine.py --validate\n\n# Run workflow engine (processes workflows)\npython3 scripts\u002Fworkflow_engine.py --run\n\n# Test specific workflow\npython3 scripts\u002Fworkflow_engine.py --test eth-news-alert\n\n# List workflows\npython3 scripts\u002Fworkflow_engine.py --list\n\n# Enable\u002Fdisable workflow\npython3 scripts\u002Fworkflow_engine.py --enable research-to-telegram\npython3 scripts\u002Fworkflow_engine.py --disable research-to-telegram\n```\n\n### Agent Registry\n```bash\n# Register your agent\npython3 scripts\u002Fregistry.py register \\\n  --name \"my-agent\" \\\n  --capabilities \"summarize,notify\" \\\n  --events \"research.article_found\"\n\n# List available agents\npython3 scripts\u002Fregistry.py list\n\n# Query agents by capability\npython3 scripts\u002Fregistry.py query --capability \"summarize\"\n```\n\n## Integration with Existing Skills\n\n### Sports Ticker Integration\nModify `sports-ticker\u002Fscripts\u002Flive_monitor.py` to publish events:\n```python\nfrom agent_protocol import publish_event\n\n# After detecting a goal:\npublish_event(\n    event_type=\"sports.goal_scored\",\n    source=\"sports-ticker\",\n    payload={\n        \"team\": team_name,\n        \"scorer\": player_name,\n        \"opponent\": opponent,\n        \"score\": f\"{home_score}-{away_score}\",\n        \"minute\": clock\n    }\n)\n```\n\n### Research Agent Integration\n```python\nfrom agent_protocol import publish_event\n\n# After finding an article:\npublish_event(\n    event_type=\"research.article_found\",\n    source=\"research-agent\",\n    payload={\n        \"title\": article_title,\n        \"url\": article_url,\n        \"importance\": calculate_importance(article),\n        \"summary\": snippet\n    }\n)\n```\n\n### Personal Analytics Integration\n```python\nfrom agent_protocol import publish_event\n\n# Daily insights:\npublish_event(\n    event_type=\"analytics.insight\",\n    source=\"personal-analytics\",\n    payload={\n        \"type\": \"productivity\",\n        \"insight\": \"Your focus time increased 20% this week\",\n        \"recommendations\": [\"Schedule deep work in morning\"]\n    }\n)\n```\n\n## Security & Permissions\n\n### Permission Model\n```json\n{\n  \"agent\": \"research-agent\",\n  \"permissions\": {\n    \"publish\": [\"research.*\"],\n    \"subscribe\": [\"summary.*\", \"notification.*\"],\n    \"workflows\": [\"research-to-telegram\"]\n  }\n}\n```\n\n### Sandboxing\n- Agents can only publish to their designated event types\n- Subscriptions require explicit permission\n- Workflows are validated before execution\n\n## Configuration\n\n### Main Config: `config\u002Fprotocol.json`\n```json\n{\n  \"event_bus\": {\n    \"storage_path\": \"~\u002F.clawdbot\u002Fevents\",\n    \"retention_days\": 7,\n    \"max_event_size_kb\": 512\n  },\n  \"workflow_engine\": {\n    \"enabled\": true,\n    \"poll_interval_seconds\": 30,\n    \"max_concurrent_workflows\": 5\n  },\n  \"registry\": {\n    \"agents_path\": \"~\u002F.clawdbot\u002Fagents\u002Fregistry.json\"\n  },\n  \"security\": {\n    \"require_permissions\": true,\n    \"audit_log\": true\n  }\n}\n```\n\n## Advanced Features\n\n### 1. Conditional Routing\n```json\n{\n  \"steps\": [\n    {\n      \"condition\": {\n        \"payload.importance\": { \"gte\": 9 }\n      },\n      \"then\": { \"agent\": \"urgent-notifier\" },\n      \"else\": { \"agent\": \"standard-notifier\" }\n    }\n  ]\n}\n```\n\n### 2. Parallel Execution\n```json\n{\n  \"steps\": [\n    {\n      \"parallel\": [\n        { \"agent\": \"telegram-notifier\" },\n        { \"agent\": \"discord-notifier\" },\n        { \"agent\": \"email-notifier\" }\n      ]\n    }\n  ]\n}\n```\n\n### 3. Error Handling\n```json\n{\n  \"steps\": [\n    {\n      \"agent\": \"external-api\",\n      \"retry\": {\n        \"max_attempts\": 3,\n        \"backoff_seconds\": 5\n      },\n      \"on_error\": {\n        \"agent\": \"error-logger\",\n        \"continue\": true\n      }\n    }\n  ]\n}\n```\n\n### 4. Scheduled Workflows\n```json\n{\n  \"trigger\": {\n    \"schedule\": \"0 9 * * *\",\n    \"event_type\": \"cron.daily_run\"\n  }\n}\n```\n\n## Monitoring & Debugging\n\n### Event Log\nAll events are logged to `~\u002F.clawdbot\u002Fevents\u002Flog\u002F`\n```bash\n# View event log\ntail -f ~\u002F.clawdbot\u002Fevents\u002Flog\u002Fevents.log\n\n# Search events\npython3 scripts\u002Fquery.py --type \"research.*\" --since \"1 hour ago\"\n```\n\n### Workflow Execution Log\n```bash\n# View workflow executions\npython3 scripts\u002Fworkflow_engine.py --history\n\n# Inspect failed workflow\npython3 scripts\u002Fworkflow_engine.py --inspect \u003Cworkflow_id>\n```\n\n### Metrics\n```bash\n# Show event statistics\npython3 scripts\u002Fmetrics.py\n\n# Output:\n# Total events published: 1,234\n# Event types: 15\n# Active subscriptions: 8\n# Workflows executed: 456\n# Average workflow duration: 2.3s\n```\n\n## Best Practices\n\n1. **Event Design**\n   - Keep payloads small and focused\n   - Include enough context for handlers\n   - Use consistent naming conventions\n\n2. **Workflow Design**\n   - Keep workflows simple and focused\n   - Use descriptive names\n   - Test thoroughly before enabling\n\n3. **Error Handling**\n   - Always define error handlers\n   - Log errors for debugging\n   - Use retries for transient failures\n\n4. **Performance**\n   - Avoid high-frequency events\n   - Clean up old events regularly\n   - Monitor workflow execution times\n\n5. **Security**\n   - Validate event payloads\n   - Use permission system\n   - Audit sensitive operations\n\n## Python API\n\n```python\nfrom agent_protocol import (\n    publish_event,\n    subscribe,\n    create_workflow,\n    register_agent\n)\n\n# Publish event\npublish_event(\n    event_type=\"my.event\",\n    source=\"my-agent\",\n    payload={\"key\": \"value\"}\n)\n\n# Subscribe to events\n@subscribe([\"research.*\"])\ndef handle_research(event):\n    print(f\"Got research event: {event['payload']}\")\n\n# Create workflow programmatically\nworkflow = create_workflow(\n    workflow_id=\"my-workflow\",\n    trigger={\"event_type\": \"my.trigger\"},\n    steps=[\n        {\"agent\": \"processor\", \"action\": \"process\"}\n    ]\n)\n\n# Register agent\nregister_agent(\n    name=\"my-agent\",\n    capabilities=[\"process\", \"notify\"],\n    event_types=[\"my.event\"]\n)\n```\n\n## JavaScript API\n\n```javascript\nconst { publishEvent, subscribe, createWorkflow } = require('.\u002Fscripts\u002Fprotocol.js');\n\n\u002F\u002F Publish event\nawait publishEvent({\n  eventType: 'my.event',\n  source: 'my-agent',\n  payload: { key: 'value' }\n});\n\n\u002F\u002F Subscribe\nsubscribe(['research.*'], (event) => {\n  console.log('Got event:', event);\n});\n\n\u002F\u002F Create workflow\nawait createWorkflow({\n  workflowId: 'my-workflow',\n  trigger: { eventType: 'my.trigger' },\n  steps: [\n    { agent: 'processor', action: 'process' }\n  ]\n});\n```\n\n## Roadmap\n\n- [ ] Visual workflow builder (web UI)\n- [ ] WebSocket support for real-time events\n- [ ] Cross-instance event relay (multi-bot networks)\n- [ ] AI-powered workflow suggestions\n- [ ] Event replay and debugging tools\n- [ ] Performance profiling\n- [ ] GraphQL query API for events\n\n## Contributing\n\nThis skill is part of Clawdbot's core infrastructure. Contributions welcome!\n\n## License\n\nMIT\n\n---\n\n**Built with ? by Robby**\n",{"name":5,"version":42,"description":7},"1.0.0","main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","人工智能与大型语言模型\u002Fagent-protocol",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 agent-protocol",{"tool":57,"command":58},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-protocol",{"tool":60,"command":61},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-protocol","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002FSKILL.md",true,[65,71,75,78,82,86,90,94,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"_meta.json","REFERENCE","参考文档",287,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002F_meta.json",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"config.example.json",389,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fconfig.example.json",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":77},"config\u002Fprotocol.json","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fconfig\u002Fprotocol.json",{"path":79,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":80,"sourceHtmlUrl":81},"DIAGRAMS.md",13164,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002FDIAGRAMS.md",{"path":83,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":84,"sourceHtmlUrl":85},"docs\u002FARCHITECTURE.md",8506,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fdocs\u002FARCHITECTURE.md",{"path":87,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":88,"sourceHtmlUrl":89},"docs\u002FINTEGRATION.md",11923,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fdocs\u002FINTEGRATION.md",{"path":91,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":92,"sourceHtmlUrl":93},"examples\u002Fconditional-workflow.json",966,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fexamples\u002Fconditional-workflow.json",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"examples\u002Fhandler-example.py","SCRIPT","脚本",670,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fexamples\u002Fhandler-example.py",{"path":101,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":102,"sourceHtmlUrl":103},"examples\u002Fintegration-sports-ticker.py",2172,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fexamples\u002Fintegration-sports-ticker.py",{"path":105,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":106,"sourceHtmlUrl":107},"examples\u002Fmulti-step-workflow.json",1028,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fexamples\u002Fmulti-step-workflow.json",{"path":109,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":110,"sourceHtmlUrl":111},"examples\u002Fsimple-workflow.json",593,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fexamples\u002Fsimple-workflow.json",{"path":113,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":114,"sourceHtmlUrl":115},"examples\u002Fsports-tts-workflow.json",578,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fexamples\u002Fsports-tts-workflow.json",{"path":117,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":118,"sourceHtmlUrl":119},"package.json",1155,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fpackage.json",{"path":121,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":122,"sourceHtmlUrl":123},"README.md",7831,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002FREADME.md",{"path":125,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":126,"sourceHtmlUrl":127},"scripts\u002F__init__.py",386,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002F__init__.py",{"path":129,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":130,"sourceHtmlUrl":131},"scripts\u002Fevent_bus.py",12112,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002Fevent_bus.py",{"path":133,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":134,"sourceHtmlUrl":135},"scripts\u002Fprotocol.js",4286,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002Fprotocol.js",{"path":137,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":138,"sourceHtmlUrl":139},"scripts\u002Fpublish.py",3008,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002Fpublish.py",{"path":141,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":142,"sourceHtmlUrl":143},"scripts\u002Fsetup.py",2057,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002Fsetup.py",{"path":145,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":146,"sourceHtmlUrl":147},"scripts\u002Fsubscribe.py",6881,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002Fsubscribe.py",{"path":149,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":150,"sourceHtmlUrl":151},"scripts\u002Fworkflow_engine.py",15215,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002Fscripts\u002Fworkflow_engine.py",{"path":153,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":154,"sourceHtmlUrl":155},"SUMMARY.md",11390,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002FSUMMARY.md",{"path":157,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":158,"sourceHtmlUrl":159},"TEST.md",3907,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-protocol\u002FTEST.md",[161,185,217,228,238,268],{"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":167,"publishedAt":37},"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",[],[163,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":186,"name":187,"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":188,"categories":189,"keywords":199,"publishedAt":37},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[190,193,194],{"categoryNo":191,"categoryName":192,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":195,"categoryName":196,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[200,201,202,203,204,205,206,170,207,174,208,209,210,211,212,213,214,215,216],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":218,"name":219,"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":220,"categories":221,"keywords":225,"publishedAt":37},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[222,223,224],{"categoryNo":191,"categoryName":192,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":195,"categoryName":196,"taxonomyType":197,"taxonomyTypeDesc":198},[200,226,227,201,202,203,204,205,206,170,207,174,209,210,211,212,213,214,215,216],"api skill","zerion api skill",{"skillNo":229,"name":230,"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":231,"categories":232,"keywords":236,"publishedAt":37},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[233,234,235],{"categoryNo":191,"categoryName":192,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":195,"categoryName":196,"taxonomyType":197,"taxonomyTypeDesc":198},[203,200,237,201,202,204,205,170,207,174,208,209,210,211,212,213,214,215,216],"zerion api mcp",{"skillNo":239,"name":240,"nameZh":6,"description":241,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":242,"categories":243,"keywords":247,"publishedAt":37},"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",[244],{"categoryNo":245,"categoryName":246,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000040","财务",[248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":269,"name":270,"nameZh":6,"description":271,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":272,"categories":273,"keywords":275,"publishedAt":37},"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",[274],{"categoryNo":245,"categoryName":246,"taxonomyType":197,"taxonomyTypeDesc":198},[248,249,251,276,277,278,279,280,281,259,282,283,284,285,286,287,288,289,216,266],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]