{"id":"95f7f3b0-0a65-447e-9bd0-908309674646","shortId":"N2qXFg","kind":"skill","title":"pilot-meeting-assistant-setup","tagline":"Deploy a meeting assistant system with 3 agents.  Use this skill when: 1. User wants to set up an automated meeting assistant system 2. User is configuring an agent as part of a meeting management workflow 3. User asks about automating meeting scheduling, notes, and action tracki","description":"# Meeting Assistant Setup\n\nDeploy 3 agents that automate meeting management from scheduling to action item tracking.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| scheduler | `<prefix>-scheduler` | pilot-cron, pilot-webhook-bridge, pilot-receipt | Manages calendar, sends invites, handles rescheduling |\n| note-taker | `<prefix>-note-taker` | pilot-stream-data, pilot-share, pilot-archive | Captures notes, decisions, and summaries in structured format |\n| action-tracker | `<prefix>-action-tracker` | pilot-task-router, pilot-alert, pilot-slack-bridge | Extracts action items, assigns owners, sends reminders |\n\n## Setup Procedure\n\n**Step 1:** Ask the user which role this agent should play and what prefix to use.\n\n**Step 2:** Install the skills for the chosen role:\n```bash\n# For scheduler:\nclawhub install pilot-cron pilot-webhook-bridge pilot-receipt\n\n# For note-taker:\nclawhub install pilot-stream-data pilot-share pilot-archive\n\n# For action-tracker:\nclawhub install pilot-task-router pilot-alert pilot-slack-bridge\n```\n\n**Step 3:** Set the hostname:\n```bash\npilotctl --json set-hostname <prefix>-<role>\n```\n\n**Step 4:** Write the setup manifest:\n```bash\nmkdir -p ~/.pilot/setups\ncat > ~/.pilot/setups/meeting-assistant.json << 'MANIFEST'\n<role-specific manifest from templates below>\nMANIFEST\n```\n\n**Step 5:** Tell the user to initiate handshakes with direct communication peers.\n\n## Manifest Templates Per Role\n\n### scheduler\n```json\n{\n  \"setup\": \"meeting-assistant\", \"setup_name\": \"Meeting Assistant\",\n  \"role\": \"scheduler\", \"role_name\": \"Meeting Scheduler\",\n  \"hostname\": \"<prefix>-scheduler\",\n  \"description\": \"Manages calendar availability, sends invites, handles rescheduling and conflicts.\",\n  \"skills\": {\n    \"pilot-cron\": \"Schedule recurring meetings and send calendar reminders on time.\",\n    \"pilot-webhook-bridge\": \"Sync meeting events with external calendar services via webhook.\",\n    \"pilot-receipt\": \"Confirm meeting invitations were delivered and accepted by attendees.\"\n  },\n  \"peers\": [{\"role\": \"note-taker\", \"hostname\": \"<prefix>-note-taker\", \"description\": \"Receives meeting started events for note capture\"}],\n  \"data_flows\": [{\"direction\": \"send\", \"peer\": \"<prefix>-note-taker\", \"port\": 1002, \"topic\": \"meeting-started\", \"description\": \"Meeting started events with attendees and agenda\"}],\n  \"handshakes_needed\": [\"<prefix>-note-taker\"]\n}\n```\n\n### note-taker\n```json\n{\n  \"setup\": \"meeting-assistant\", \"setup_name\": \"Meeting Assistant\",\n  \"role\": \"note-taker\", \"role_name\": \"Note Taker\",\n  \"hostname\": \"<prefix>-note-taker\",\n  \"description\": \"Captures meeting notes, key decisions, and discussion summaries in structured format.\",\n  \"skills\": {\n    \"pilot-stream-data\": \"Stream live meeting content for real-time note capture.\",\n    \"pilot-share\": \"Send structured meeting notes downstream to the action tracker.\",\n    \"pilot-archive\": \"Store meeting notes and decision records for long-term reference.\"\n  },\n  \"peers\": [\n    {\"role\": \"scheduler\", \"hostname\": \"<prefix>-scheduler\", \"description\": \"Sends meeting started events with attendees and agenda\"},\n    {\"role\": \"action-tracker\", \"hostname\": \"<prefix>-action-tracker\", \"description\": \"Receives meeting notes for action item extraction\"}\n  ],\n  \"data_flows\": [\n    {\"direction\": \"receive\", \"peer\": \"<prefix>-scheduler\", \"port\": 1002, \"topic\": \"meeting-started\", \"description\": \"Meeting started events with attendees and agenda\"},\n    {\"direction\": \"send\", \"peer\": \"<prefix>-action-tracker\", \"port\": 1002, \"topic\": \"meeting-notes\", \"description\": \"Meeting notes with decisions and action items\"}\n  ],\n  \"handshakes_needed\": [\"<prefix>-scheduler\", \"<prefix>-action-tracker\"]\n}\n```\n\n### action-tracker\n```json\n{\n  \"setup\": \"meeting-assistant\", \"setup_name\": \"Meeting Assistant\",\n  \"role\": \"action-tracker\", \"role_name\": \"Action Tracker\",\n  \"hostname\": \"<prefix>-action-tracker\",\n  \"description\": \"Extracts action items from notes, assigns owners, tracks completion, and sends reminders.\",\n  \"skills\": {\n    \"pilot-task-router\": \"Parse meeting notes and route action items to the appropriate owners.\",\n    \"pilot-alert\": \"Fire reminders when action items approach or pass their due dates.\",\n    \"pilot-slack-bridge\": \"Post action item summaries and reminders to team Slack channels.\"\n  },\n  \"peers\": [{\"role\": \"note-taker\", \"hostname\": \"<prefix>-note-taker\", \"description\": \"Sends meeting notes with decisions and action items\"}],\n  \"data_flows\": [\n    {\"direction\": \"receive\", \"peer\": \"<prefix>-note-taker\", \"port\": 1002, \"topic\": \"meeting-notes\", \"description\": \"Meeting notes with decisions and action items\"},\n    {\"direction\": \"send\", \"peer\": \"external\", \"port\": 443, \"topic\": \"action-reminder\", \"description\": \"Action item reminders to owners\"}\n  ],\n  \"handshakes_needed\": [\"<prefix>-note-taker\"]\n}\n```\n\n## Data Flows\n\n- `scheduler -> note-taker` : meeting-started (port 1002)\n- `note-taker -> action-tracker` : meeting-notes (port 1002)\n- `action-tracker -> external` : action-reminder via webhook (port 443)\n\n## Handshakes\n\n```bash\n# scheduler and note-taker handshake with each other:\npilotctl --json handshake <prefix>-note-taker \"setup: meeting-assistant\"\npilotctl --json handshake <prefix>-scheduler \"setup: meeting-assistant\"\n\n# note-taker and action-tracker handshake with each other:\npilotctl --json handshake <prefix>-action-tracker \"setup: meeting-assistant\"\npilotctl --json handshake <prefix>-note-taker \"setup: meeting-assistant\"\n```\n\n## Workflow Example\n\n```bash\n# On note-taker -- subscribe to meeting started events:\npilotctl --json subscribe <prefix>-scheduler meeting-started\n\n# On action-tracker -- subscribe to meeting notes:\npilotctl --json subscribe <prefix>-note-taker meeting-notes\n\n# On scheduler -- publish a meeting started event:\npilotctl --json publish <prefix>-note-taker meeting-started '{\"meeting_id\":\"MTG-2026-0412\",\"title\":\"Q2 Planning\",\"attendees\":[\"alice@acme.com\",\"bob@acme.com\"]}'\n\n# On note-taker -- publish meeting notes to action tracker:\npilotctl --json publish <prefix>-action-tracker meeting-notes '{\"meeting_id\":\"MTG-2026-0412\",\"decisions\":[\"Launch Project Alpha by June\"],\"action_items\":[{\"task\":\"Draft OKRs\",\"owner\":\"alice@acme.com\",\"due\":\"2026-04-17\"}]}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","meeting","assistant","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network"],"capabilities":["skill","source-teoslayer","skill-pilot-meeting-assistant-setup","topic-agent-skills","topic-ai-agents","topic-clawhub","topic-networking","topic-openclaw","topic-overlay-network","topic-p2p","topic-pilot-protocol"],"categories":["pilot-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/TeoSlayer/pilot-skills/pilot-meeting-assistant-setup","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add TeoSlayer/pilot-skills","source_repo":"https://github.com/TeoSlayer/pilot-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (6,349 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:58.175Z","embedding":null,"createdAt":"2026-05-18T13:22:43.786Z","updatedAt":"2026-05-18T19:14:58.175Z","lastSeenAt":"2026-05-18T19:14:58.175Z","tsv":"'-04':856 '-0412':810,840 '-17':857 '-2026':809,839 '/.pilot/setups':235 '/.pilot/setups/meeting-assistant.json':237 '1':18,143 '1002':348,480,500,627,671,682 '2':29,159 '2026':855 '3':12,42,57,216 '4':227 '443':645,693 '5':241 'accept':319 'action':51,66,117,120,134,200,427,459,463,470,497,511,517,520,533,537,541,545,566,578,591,616,638,648,651,676,684,688,728,738,775,825,831,847 'action-remind':647,687 'action-track':116,119,199,458,462,496,516,519,532,540,675,683,727,737,774,830 'agenda':360,456,492 'agent':13,34,58,150 'alert':128,210,574 'alice@acme.com':815,853 'alpha':844 'approach':580 'appropri':570 'archiv':107,197,431 'ask':44,144 'assign':136,549 'assist':4,9,27,54,261,265,373,377,526,530,714,722,743,753 'attende':321,358,454,490,814 'autom':25,46,60 'avail':277 'bash':167,220,232,695,756 'binari':865,867 'bob@acme.com':816 'bridg':82,132,178,214,300,589 'calendar':87,276,293,306 'captur':108,338,391,416 'cat':236 'channel':599 'chosen':165 'clawhub':170,186,202,866 'communic':250 'complet':552 'configur':32 'confirm':313 'conflict':283 'content':410 'cron':78,174,287 'daemon':871 'data':101,191,339,406,473,618,661 'date':585 'decis':110,395,436,509,614,636,841 'deliv':317 'depend':858 'deploy':6,56 'descript':274,331,353,390,448,465,485,505,543,609,632,650 'direct':249,341,475,493,620,640 'discuss':397 'downstream':424 'draft':850 'due':584,854 'event':303,335,356,452,488,765,796 'exampl':755 'extern':305,643,686 'extract':133,472,544 'fire':575 'flow':340,474,619,662 'format':115,401 'handl':90,280 'handshak':247,361,513,656,694,701,707,717,730,736,746 'hostnam':71,219,225,272,327,386,446,461,539,605 'id':807,837 'initi':246 'instal':160,171,187,203 'invit':89,279,315 'item':67,135,471,512,546,567,579,592,617,639,652,848 'json':222,257,369,522,706,716,735,745,767,782,798,828 'june':846 'key':394 'launch':842 'live':408 'long':440 'long-term':439 'manag':40,62,86,275 'manifest':231,238,239,252 'meet':3,8,26,39,47,53,61,260,264,270,290,302,314,333,351,354,372,376,392,409,422,433,450,467,483,486,503,506,525,529,562,611,630,633,668,679,713,721,742,752,763,771,779,788,794,804,806,822,834,836 'meeting-assist':259,371,524,712,720,741,751 'meeting-not':502,629,678,787,833 'meeting-start':350,482,667,770,803 'mkdir':233 'mtg':808,838 'name':263,269,375,383,528,536 'need':362,514,657 'note':49,93,96,109,184,325,329,337,345,364,367,380,384,388,393,415,423,434,468,504,507,548,563,603,607,612,624,631,634,659,665,673,680,699,709,724,748,759,780,785,789,801,819,823,835 'note-tak':92,95,183,324,328,344,363,366,379,387,602,606,623,658,664,672,698,708,723,747,758,784,800,818 'okr':851 'owner':137,550,571,655,852 'p':234 'pars':561 'part':36 'pass':582 'peer':251,322,343,443,477,495,600,622,642 'per':254 'pilot':2,77,80,84,99,103,106,123,127,130,173,176,180,189,193,196,205,209,212,286,298,311,404,418,430,558,573,587,861 'pilot-alert':126,208,572 'pilot-arch':105,195,429 'pilot-cron':76,172,285 'pilot-meeting-assistant-setup':1 'pilot-protocol':860 'pilot-receipt':83,179,310 'pilot-shar':102,192,417 'pilot-slack-bridg':129,211,586 'pilot-stream-data':98,188,403 'pilot-task-rout':122,204,557 'pilot-webhook-bridg':79,175,297 'pilotctl':221,705,715,734,744,766,781,797,827,864 'plan':813 'play':152 'port':347,479,499,626,644,670,681,692 'post':590 'prefix':155 'procedur':141 'project':843 'protocol':862 'publish':792,799,821,829 'purpos':73 'q2':812 'real':413 'real-tim':412 'receipt':85,181,312 'receiv':332,466,476,621 'record':437 'recur':289 'refer':442 'remind':139,294,555,576,595,649,653,689 'requir':859 'reschedul':91,281 'role':69,70,148,166,255,266,268,323,378,382,444,457,531,535,601 'rout':565 'router':125,207,560 'run':870 'schedul':48,64,74,75,169,256,267,271,273,288,445,447,478,515,663,696,718,769,791 'send':88,138,278,292,342,420,449,494,554,610,641 'servic':307 'set':22,217,224 'set-hostnam':223 'setup':5,55,140,230,258,262,370,374,523,527,711,719,740,750 'share':104,194,419 'skill':16,72,162,284,402,556,863 'skill-pilot-meeting-assistant-setup' 'slack':131,213,588,598 'source-teoslayer' 'start':334,352,355,451,484,487,669,764,772,795,805 'step':142,158,215,226,240 'store':432 'stream':100,190,405,407 'structur':114,400,421 'subscrib':761,768,777,783 'summari':112,398,593 'sync':301 'system':10,28 'taker':94,97,185,326,330,346,365,368,381,385,389,604,608,625,660,666,674,700,710,725,749,760,786,802,820 'task':124,206,559,849 'team':597 'tell':242 'templat':253 'term':441 'time':296,414 'titl':811 'topic':349,481,501,628,646 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'track':68,551 'tracker':118,121,201,428,460,464,498,518,521,534,538,542,677,685,729,739,776,826,832 'tracki':52 'use':14,157 'user':19,30,43,146,244 'via':308,690 'want':20 'webhook':81,177,299,309,691 'workflow':41,754 'write':228","prices":[{"id":"69b1f461-89de-41d3-86da-1da8ca2cac7b","listingId":"95f7f3b0-0a65-447e-9bd0-908309674646","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"TeoSlayer","category":"pilot-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:43.786Z"}],"sources":[{"listingId":"95f7f3b0-0a65-447e-9bd0-908309674646","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-meeting-assistant-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-meeting-assistant-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:43.786Z","lastSeenAt":"2026-05-18T19:14:58.175Z"}],"details":{"listingId":"95f7f3b0-0a65-447e-9bd0-908309674646","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-meeting-assistant-setup","github":{"repo":"TeoSlayer/pilot-skills","stars":6,"topics":["agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p","pilot-protocol"],"license":"agpl-3.0","html_url":"https://github.com/TeoSlayer/pilot-skills","pushed_at":"2026-05-13T06:08:49Z","description":"80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more","skill_md_sha":"11020e73c315f2951131e6997ebccc0e3dc0b422","skill_md_path":"skills/pilot-meeting-assistant-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-meeting-assistant-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-meeting-assistant-setup","license":"AGPL-3.0","description":"Deploy a meeting assistant system with 3 agents.  Use this skill when: 1. User wants to set up an automated meeting assistant system 2. User is configuring an agent as part of a meeting management workflow 3. User asks about automating meeting scheduling, notes, and action tracking  Do NOT use this skill when: - User wants to share a single file (use pilot-share instead) - User wants a one-off scheduled task (use pilot-cron instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-meeting-assistant-setup"},"updatedAt":"2026-05-18T19:14:58.175Z"}}