[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FTT0M6ASFS45EW1GE67H1R":3,"skill-same:01M6FTT0M6ASFS45EW1GE67H1R":105},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":42,"install":43,"resources":56},"01M6FTT0M6ASFS45EW1GE67H1R","dialpad",null,"Send SMS and make voice calls via Dialpad API. Supports single\u002Fbatch SMS, voice calls with TTS, and caller ID selection.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29],"batch","https","api","tts","voice","selection","id","sms","via","make","with","calls","2026-11-10 10:12:30",false,"---\nname: dialpad\ndescription: Send SMS and make voice calls via Dialpad API. Supports single\u002Fbatch SMS, voice calls with TTS, and caller ID selection.\nhomepage: https:\u002F\u002Fdevelopers.dialpad.com\u002F\n---\n\n# Dialpad Skill\n\nSend SMS and make voice calls via the Dialpad API.\n\n## Available Phone Numbers\n\n| Number | Purpose | Format |\n|--------|---------|--------|\n| (415) 520-1316 | Sales Team | Default for sales context |\n| (415) 360-2954 | Work\u002FPersonal | Default for work context |\n| (415) 991-7155 | Support SMS Only | SMS only (no voice) |\n\nUse `--from \u003Cnumber>` to specify which number appears as caller ID.\n\n## Setup\n\n**Required environment variable:**\n```\nDIALPAD_API_KEY=your_api_key_here\n```\n\n**Optional (for ElevenLabs TTS in calls):**\n```\nELEVENLABS_API_KEY=your_elevenlabs_api_key\n```\n\nGet your Dialpad API key from [Dialpad API Settings](https:\u002F\u002Fdialpad.com\u002Fapi\u002Fsettings).\n\n## Usage\n\n### Send SMS\n\n```bash\n# Basic SMS\npython3 send_sms.py --to \"+14155551234\" --message \"Hello from Clawdbot!\"\n\n# From specific number (e.g., work phone)\npython3 send_sms.py --to \"+14155551234\" --message \"Hello!\" --from \"+14153602954\"\n\n# Batch SMS (up to 10 recipients)\npython3 send_sms.py --to \"+14155551234\" \"+14155555678\" --message \"Group update\"\n```\n\n### Make Voice Calls\n\n```bash\n# Basic call (ring recipient - they'll answer to speak with you)\npython3 make_call.py --to \"+14155551234\"\n\n# Call with Text-to-Speech greeting (Dialpad's robotic TTS)\npython3 make_call.py --to \"+14155551234\" --text \"Hello! This is a call from ShapeScale.\"\n\n# Call from specific number with TTS\npython3 make_call.py --to \"+14155551234\" --from \"+14153602954\" --text \"Meeting reminder\"\n\n# With custom voice (requires ELEVENLABS_API_KEY)\npython3 make_call.py --to \"+14155551234\" --voice \"Adam\" --text \"Premium voice test\"\n```\n\n### From Agent Instructions\n\n**SMS:**\n```bash\npython3 send_sms.py --to \"+14155551234\" --message \"Your message here\"\n```\n\n**Voice Call:**\n```bash\npython3 make_call.py --to \"+14155551234\" --text \"Optional TTS message\"\n```\n\n## Voice Options\n\n### Low-Cost Voices (Recommended for Budget)\n| Voice | Style | Notes |\n|-------|-------|-------|\n| **Eric** ⭐ | Male, smooth, trustworthy | Low-cost, available! |\n| Daniel | Male, British, steady | Budget |\n| Sarah | Female, mature | Budget |\n| River | Male, neutral | Budget |\n| Alice | Female, clear | Budget |\n| Brian | Male, deep | Budget |\n| Bill | Male, wise | Budget |\n\n### Premium Voices (Higher Quality)\n| Voice | Style | Notes |\n|-------|-------|-------|\n| **Adam** | Male, deep, clear | Best for professional |\n| Antoni | Male, warm | Friendly tone |\n| Bella | Female, soft | Warm, engaging |\n\nTo use a specific voice, add `--voice \"VoiceName\"`.\n\n## API Capabilities\n\n### SMS\n- **Endpoint:** `POST https:\u002F\u002Fdialpad.com\u002Fapi\u002Fv2\u002Fsms`\n- **Max recipients:** 10 per request\n- **Max message length:** 1600 characters\n- **Rate limits:** 100-800 requests\u002Fminute (tier-dependent)\n\n### Voice Calls\n- **Endpoint:** `POST https:\u002F\u002Fdialpad.com\u002Fapi\u002Fv2\u002Fcall`\n- **Requires:** `phone_number` + `user_id`\n- **Features:** Outbound calling, Text-to-Speech\n- **Caller ID:** Must be assigned to your Dialpad account\n\n### Known Users (Auto-Detected)\n| Name | Phone | User ID |\n|------|-------|---------|\n| Martin | (415) 360-2954 | `5765607478525952` |\n| Lilla | (415) 870-1945 | `5625110025338880` |\n| Scott | (415) 223-0323 | `5964143916400640` |\n\n## Response\n\n### SMS Response\n```json\n{\n  \"id\": \"4612924117884928\",\n  \"status\": \"pending\",\n  \"message_delivery_result\": \"pending\",\n  \"to_numbers\": [\"+14158235304\"],\n  \"from_number\": \"+14155201316\",\n  \"direction\": \"outbound\"\n}\n```\n\n### Call Response\n```json\n{\n  \"call_id\": \"6342343299702784\",\n  \"status\": \"ringing\"\n}\n```\n\n## Error Handling\n\n| Error | Meaning | Action |\n|-------|---------|--------|\n| `invalid_destination` | Invalid phone number | Verify E.164 format |\n| `invalid_source` | Caller ID not available | Check `--from` number assignment |\n| `no_route` | Cannot deliver | Check carrier\u002Frecipient |\n| `user_id required` | Missing user ID | Use `--from` with known number |\n\n## SMS Storage (SQLite with FTS5)\n\nMessages are stored in a single SQLite database with full-text search.\n\n### Storage\n\n```\n~\u002F.dialpad\u002Fsms.db  # Single file with messages + FTS5 index\n```\n\n### Commands\n\n```bash\n# List all SMS conversations\npython3 sms_sqlite.py list\n\n# View specific conversation thread\npython3 sms_sqlite.py thread \"+14155551234\"\n\n# Full-text search across all messages\npython3 sms_sqlite.py search \"demo\"\n\n# Show unread message summary\npython3 sms_sqlite.py unread\n\n# Statistics\npython3 sms_sqlite.py stats\n\n# Mark messages as read\npython3 sms_sqlite.py read \"+14155551234\"\n\n# Migrate from legacy storage\npython3 sms_sqlite.py migrate\n```\n\n### Features\n\n- **Full-text search** via FTS5 (`search \"keyword\"`)\n- **Fast queries** with indexes on contact, timestamp, direction\n- **ACID transactions** — no corruption on concurrent writes\n- **Unread tracking** with per-contact counts\n- **Denormalized contact stats** for instant list views\n\n### Webhook Integration\n\n```python\nfrom webhook_sqlite import handle_sms_webhook, format_notification, get_inbox_summary\n\n# Store incoming message\nresult = handle_sms_webhook(dialpad_payload)\nnotification = format_notification(result)\n\n# Get inbox summary\nsummary = get_inbox_summary()\n```\n\n### Legacy JSON Storage (Deprecated)\n\nThe original JSON-based storage is still available but not recommended:\n\n```bash\npython3 sms_storage.py [list|thread|search|unread]\n```\n\n## Requirements\n\n- Python 3.7+\n- No external dependencies (uses stdlib only)\n- Valid `DIALPAD_API_KEY` environment variable\n- For ElevenLabs TTS: `ELEVENLABS_API_KEY` + webhook setup for audio playback\n\n## Reading SMS Messages\n\nDialpad doesn't provide a direct \"GET \u002Fsms\" endpoint. Instead, use:\n\n### 1. Real-Time: SMS Webhooks\n\nReceive SMS events in real-time when messages are sent\u002Freceived.\n\n```bash\n# Create a webhook subscription\npython3 create_sms_webhook.py create --url \"https:\u002F\u002Fyour-server.com\u002Fwebhook\u002Fdialpad\" --direction \"all\"\n\n# List existing subscriptions\npython3 create_sms_webhook.py list\n```\n\n**Webhook Events:**\n- `sms_sent` — Outgoing SMS\n- `sms_received` — Incoming SMS\n\n**Note:** Add `message_content_export` scope to receive message text in events.\n\n### 2. Historical: Stats Export API\n\nExport past SMS messages as CSV.\n\n```bash\n# Export all SMS\npython3 export_sms.py --output all_sms.csv\n\n# Export by date range\npython3 export_sms.py --start-date 2026-01-01 --end-date 2026-01-31 --output jan_sms.csv\n\n# Export for specific office\npython3 export_sms.py --office-id 6194013244489728 --output office_sms.csv\n```\n\n**Output:** CSV file with columns:\n- `date` — Timestamp\n- `from_number` — Sender\n- `to_number` — Recipient\n- `text` — Message content\n- `status` — Delivery status\n\n## Architecture\n\n```\nDialpad SMS Skill\n├── send_sms.py           # Send SMS (working)\n├── make_call.py          # Make voice calls (working)\n├── create_sms_webhook.py # Create webhook subscriptions (new)\n├── export_sms.py         # Export historical SMS (new)\n├── sms_sqlite.py         # SQLite storage with FTS5 (RECOMMENDED)\n├── webhook_sqlite.py     # Webhook handler for SQLite\n├── sms_storage.py        # Legacy JSON storage (deprecated)\n└── webhook_receiver.py   # Legacy webhook handler\n```\n","# Dialpad Skill\n\nSend SMS and make voice calls via the Dialpad API.\n\n## Available Phone Numbers\n\n| Number | Purpose | Format |\n|--------|---------|--------|\n| (415) 520-1316 | Sales Team | Default for sales context |\n| (415) 360-2954 | Work\u002FPersonal | Default for work context |\n| (415) 991-7155 | Support SMS Only | SMS only (no voice) |\n\nUse `--from \u003Cnumber>` to specify which number appears as caller ID.\n\n## Setup\n\n**Required environment variable:**\n```\nDIALPAD_API_KEY=your_api_key_here\n```\n\n**Optional (for ElevenLabs TTS in calls):**\n```\nELEVENLABS_API_KEY=your_elevenlabs_api_key\n```\n\nGet your Dialpad API key from [Dialpad API Settings](https:\u002F\u002Fdialpad.com\u002Fapi\u002Fsettings).\n\n## Usage\n\n### Send SMS\n\n```bash\n# Basic SMS\npython3 send_sms.py --to \"+14155551234\" --message \"Hello from Clawdbot!\"\n\n# From specific number (e.g., work phone)\npython3 send_sms.py --to \"+14155551234\" --message \"Hello!\" --from \"+14153602954\"\n\n# Batch SMS (up to 10 recipients)\npython3 send_sms.py --to \"+14155551234\" \"+14155555678\" --message \"Group update\"\n```\n\n### Make Voice Calls\n\n```bash\n# Basic call (ring recipient - they'll answer to speak with you)\npython3 make_call.py --to \"+14155551234\"\n\n# Call with Text-to-Speech greeting (Dialpad's robotic TTS)\npython3 make_call.py --to \"+14155551234\" --text \"Hello! This is a call from ShapeScale.\"\n\n# Call from specific number with TTS\npython3 make_call.py --to \"+14155551234\" --from \"+14153602954\" --text \"Meeting reminder\"\n\n# With custom voice (requires ELEVENLABS_API_KEY)\npython3 make_call.py --to \"+14155551234\" --voice \"Adam\" --text \"Premium voice test\"\n```\n\n### From Agent Instructions\n\n**SMS:**\n```bash\npython3 send_sms.py --to \"+14155551234\" --message \"Your message here\"\n```\n\n**Voice Call:**\n```bash\npython3 make_call.py --to \"+14155551234\" --text \"Optional TTS message\"\n```\n\n## Voice Options\n\n### Low-Cost Voices (Recommended for Budget)\n| Voice | Style | Notes |\n|-------|-------|-------|\n| **Eric** ⭐ | Male, smooth, trustworthy | Low-cost, available! |\n| Daniel | Male, British, steady | Budget |\n| Sarah | Female, mature | Budget |\n| River | Male, neutral | Budget |\n| Alice | Female, clear | Budget |\n| Brian | Male, deep | Budget |\n| Bill | Male, wise | Budget |\n\n### Premium Voices (Higher Quality)\n| Voice | Style | Notes |\n|-------|-------|-------|\n| **Adam** | Male, deep, clear | Best for professional |\n| Antoni | Male, warm | Friendly tone |\n| Bella | Female, soft | Warm, engaging |\n\nTo use a specific voice, add `--voice \"VoiceName\"`.\n\n## API Capabilities\n\n### SMS\n- **Endpoint:** `POST https:\u002F\u002Fdialpad.com\u002Fapi\u002Fv2\u002Fsms`\n- **Max recipients:** 10 per request\n- **Max message length:** 1600 characters\n- **Rate limits:** 100-800 requests\u002Fminute (tier-dependent)\n\n### Voice Calls\n- **Endpoint:** `POST https:\u002F\u002Fdialpad.com\u002Fapi\u002Fv2\u002Fcall`\n- **Requires:** `phone_number` + `user_id`\n- **Features:** Outbound calling, Text-to-Speech\n- **Caller ID:** Must be assigned to your Dialpad account\n\n### Known Users (Auto-Detected)\n| Name | Phone | User ID |\n|------|-------|---------|\n| Martin | (415) 360-2954 | `5765607478525952` |\n| Lilla | (415) 870-1945 | `5625110025338880` |\n| Scott | (415) 223-0323 | `5964143916400640` |\n\n## Response\n\n### SMS Response\n```json\n{\n  \"id\": \"4612924117884928\",\n  \"status\": \"pending\",\n  \"message_delivery_result\": \"pending\",\n  \"to_numbers\": [\"+14158235304\"],\n  \"from_number\": \"+14155201316\",\n  \"direction\": \"outbound\"\n}\n```\n\n### Call Response\n```json\n{\n  \"call_id\": \"6342343299702784\",\n  \"status\": \"ringing\"\n}\n```\n\n## Error Handling\n\n| Error | Meaning | Action |\n|-------|---------|--------|\n| `invalid_destination` | Invalid phone number | Verify E.164 format |\n| `invalid_source` | Caller ID not available | Check `--from` number assignment |\n| `no_route` | Cannot deliver | Check carrier\u002Frecipient |\n| `user_id required` | Missing user ID | Use `--from` with known number |\n\n## SMS Storage (SQLite with FTS5)\n\nMessages are stored in a single SQLite database with full-text search.\n\n### Storage\n\n```\n~\u002F.dialpad\u002Fsms.db  # Single file with messages + FTS5 index\n```\n\n### Commands\n\n```bash\n# List all SMS conversations\npython3 sms_sqlite.py list\n\n# View specific conversation thread\npython3 sms_sqlite.py thread \"+14155551234\"\n\n# Full-text search across all messages\npython3 sms_sqlite.py search \"demo\"\n\n# Show unread message summary\npython3 sms_sqlite.py unread\n\n# Statistics\npython3 sms_sqlite.py stats\n\n# Mark messages as read\npython3 sms_sqlite.py read \"+14155551234\"\n\n# Migrate from legacy storage\npython3 sms_sqlite.py migrate\n```\n\n### Features\n\n- **Full-text search** via FTS5 (`search \"keyword\"`)\n- **Fast queries** with indexes on contact, timestamp, direction\n- **ACID transactions** — no corruption on concurrent writes\n- **Unread tracking** with per-contact counts\n- **Denormalized contact stats** for instant list views\n\n### Webhook Integration\n\n```python\nfrom webhook_sqlite import handle_sms_webhook, format_notification, get_inbox_summary\n\n# Store incoming message\nresult = handle_sms_webhook(dialpad_payload)\nnotification = format_notification(result)\n\n# Get inbox summary\nsummary = get_inbox_summary()\n```\n\n### Legacy JSON Storage (Deprecated)\n\nThe original JSON-based storage is still available but not recommended:\n\n```bash\npython3 sms_storage.py [list|thread|search|unread]\n```\n\n## Requirements\n\n- Python 3.7+\n- No external dependencies (uses stdlib only)\n- Valid `DIALPAD_API_KEY` environment variable\n- For ElevenLabs TTS: `ELEVENLABS_API_KEY` + webhook setup for audio playback\n\n## Reading SMS Messages\n\nDialpad doesn't provide a direct \"GET \u002Fsms\" endpoint. Instead, use:\n\n### 1. Real-Time: SMS Webhooks\n\nReceive SMS events in real-time when messages are sent\u002Freceived.\n\n```bash\n# Create a webhook subscription\npython3 create_sms_webhook.py create --url \"https:\u002F\u002Fyour-server.com\u002Fwebhook\u002Fdialpad\" --direction \"all\"\n\n# List existing subscriptions\npython3 create_sms_webhook.py list\n```\n\n**Webhook Events:**\n- `sms_sent` — Outgoing SMS\n- `sms_received` — Incoming SMS\n\n**Note:** Add `message_content_export` scope to receive message text in events.\n\n### 2. Historical: Stats Export API\n\nExport past SMS messages as CSV.\n\n```bash\n# Export all SMS\npython3 export_sms.py --output all_sms.csv\n\n# Export by date range\npython3 export_sms.py --start-date 2026-01-01 --end-date 2026-01-31 --output jan_sms.csv\n\n# Export for specific office\npython3 export_sms.py --office-id 6194013244489728 --output office_sms.csv\n```\n\n**Output:** CSV file with columns:\n- `date` — Timestamp\n- `from_number` — Sender\n- `to_number` — Recipient\n- `text` — Message content\n- `status` — Delivery status\n\n## Architecture\n\n```\nDialpad SMS Skill\n├── send_sms.py           # Send SMS (working)\n├── make_call.py          # Make voice calls (working)\n├── create_sms_webhook.py # Create webhook subscriptions (new)\n├── export_sms.py         # Export historical SMS (new)\n├── sms_sqlite.py         # SQLite storage with FTS5 (RECOMMENDED)\n├── webhook_sqlite.py     # Webhook handler for SQLite\n├── sms_storage.py        # Legacy JSON storage (deprecated)\n└── webhook_receiver.py   # Legacy webhook handler\n```\n",{"name":5,"homepage":35,"description":7},"https:\u002F\u002Fdevelopers.dialpad.com\u002F","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fkesslerio\u002Fdialpad",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add kbarbel640-del\u002Fskills --skill dialpad",{"tool":49,"command":50},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill dialpad",{"tool":52,"command":53},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill dialpad","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002FSKILL.md",true,[57,63,69,73,77,81,85,89,93,97,101],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"_meta.json","REFERENCE","参考文档",281,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002F_meta.json",{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"create_sms_webhook.py","SCRIPT","脚本",6480,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fcreate_sms_webhook.py",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"export_sms.py",5392,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fexport_sms.py",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"lookup_contact.py",1470,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Flookup_contact.py",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"make_call.py",5218,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fmake_call.py",{"path":82,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":83,"sourceHtmlUrl":84},"README.md",6871,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002FREADME.md",{"path":86,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":87,"sourceHtmlUrl":88},"send_sms.py",4061,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fsend_sms.py",{"path":90,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":91,"sourceHtmlUrl":92},"sms_sqlite.py",16271,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fsms_sqlite.py",{"path":94,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":95,"sourceHtmlUrl":96},"sms_storage.py",10939,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fsms_storage.py",{"path":98,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":99,"sourceHtmlUrl":100},"webhook_receiver.py",3401,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fwebhook_receiver.py",{"path":102,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":103,"sourceHtmlUrl":104},"webhook_sqlite.py",4468,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fkesslerio\u002Fdialpad\u002Fwebhook_sqlite.py",[106,134,163,183,189,209],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":30},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[118,119,20,28,120,121,122,123,124,125,126,127,128,129,130,131,19,132,133],"crowd prompting","prompting","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","content","ai agents",{"skillNo":135,"name":136,"nameZh":6,"description":137,"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":145,"publishedAt":30},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[146,20,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,123,162],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":164,"name":165,"nameZh":6,"description":166,"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":30},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[169],{"categoryNo":170,"categoryName":171,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000021","资料检索与研究",[173,174,175,176,177,178,179,28,180,160,162,181,20,182,26],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http",{"skillNo":184,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":188,"publishedAt":30},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[187],{"categoryNo":170,"categoryName":171,"taxonomyType":143,"taxonomyTypeDesc":144},[176,175,174,173,26,178,179,28,177,160,162,180,181,20,182],{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":30},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[196,197,198,199,200,201,202,203,204,205,206,207,208],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":213,"categories":214,"keywords":219,"publishedAt":30},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[215,216],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},{"categoryNo":217,"categoryName":218,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000037","律师与法务",[220,221,222,223,28,224,225,36,226,181,227,228,229,230,231,19,232,233,234],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]