{"id":"df39c122-3035-468d-85b5-22f58daffcf9","shortId":"G7nKsf","kind":"skill","title":"pilot-newsletter-automation-setup","tagline":"Deploy an automated newsletter pipeline with 3 agents.  Use this skill when: 1. User wants to set up a newsletter or email automation pipeline 2. User is configuring an agent as part of a newsletter production workflow 3. User asks about content curation, newsletter writing, or e","description":"# Newsletter Automation Setup\n\nDeploy 3 agents that curate content, write newsletters, and dispatch emails.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| curator | `<prefix>-curator` | pilot-discover, pilot-stream-data, pilot-archive | Aggregates trending content into curated digests |\n| writer | `<prefix>-writer` | pilot-task-router, pilot-share, pilot-receipt | Transforms content into newsletter copy |\n| mailer | `<prefix>-mailer` | pilot-webhook-bridge, pilot-announce, pilot-metrics | Dispatches emails, tracks delivery metrics |\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 curator:\nclawhub install pilot-discover pilot-stream-data pilot-archive\n\n# For writer:\nclawhub install pilot-task-router pilot-share pilot-receipt\n\n# For mailer:\nclawhub install pilot-webhook-bridge pilot-announce pilot-metrics\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/newsletter-automation.json << 'MANIFEST'\n{\n  \"setup\": \"newsletter-automation\",\n  \"setup_name\": \"Newsletter Automation\",\n  \"role\": \"<ROLE_ID>\",\n  \"role_name\": \"<ROLE_NAME>\",\n  \"hostname\": \"<prefix>-<role>\",\n  \"description\": \"<ROLE_DESCRIPTION>\",\n  \"skills\": { \"<skill>\": \"<contextual description>\" },\n  \"peers\": [ { \"role\": \"...\", \"hostname\": \"...\", \"description\": \"...\" } ],\n  \"data_flows\": [ { \"direction\": \"send|receive\", \"peer\": \"...\", \"port\": 1002, \"topic\": \"...\", \"description\": \"...\" } ],\n  \"handshakes_needed\": [ \"<peer-hostname>\" ]\n}\nMANIFEST\n```\n\n**Step 5:** Tell the user to initiate handshakes with direct communication peers.\n\n## Manifest Templates Per Role\n\n### curator\n```json\n{\n  \"setup\": \"newsletter-automation\", \"setup_name\": \"Newsletter Automation\",\n  \"role\": \"curator\", \"role_name\": \"Content Curator\",\n  \"hostname\": \"<prefix>-curator\",\n  \"description\": \"Aggregates trending articles, RSS feeds, and industry news into curated content digests.\",\n  \"skills\": {\n    \"pilot-discover\": \"Find trending articles and industry news from configured sources.\",\n    \"pilot-stream-data\": \"Stream RSS feeds and content APIs into structured digests.\",\n    \"pilot-archive\": \"Archive curated content for historical reference and deduplication.\"\n  },\n  \"peers\": [\n    { \"role\": \"writer\", \"hostname\": \"<prefix>-writer\", \"description\": \"Receives curated content for newsletter writing\" },\n    { \"role\": \"mailer\", \"hostname\": \"<prefix>-mailer\", \"description\": \"Final stage — does not communicate directly\" }\n  ],\n  \"data_flows\": [\n    { \"direction\": \"send\", \"peer\": \"<prefix>-writer\", \"port\": 1002, \"topic\": \"content-digest\", \"description\": \"Curated content digest with sources and summaries\" }\n  ],\n  \"handshakes_needed\": [\"<prefix>-writer\"]\n}\n```\n\n### writer\n```json\n{\n  \"setup\": \"newsletter-automation\", \"setup_name\": \"Newsletter Automation\",\n  \"role\": \"writer\", \"role_name\": \"Newsletter Writer\",\n  \"hostname\": \"<prefix>-writer\",\n  \"description\": \"Transforms curated content into engaging newsletter copy with subject lines and sections.\",\n  \"skills\": {\n    \"pilot-task-router\": \"Route writing tasks across content sections and templates.\",\n    \"pilot-share\": \"Share draft previews with other agents for review.\",\n    \"pilot-receipt\": \"Confirm receipt of curated content from curator.\"\n  },\n  \"peers\": [\n    { \"role\": \"curator\", \"hostname\": \"<prefix>-curator\", \"description\": \"Sends curated content digests\" },\n    { \"role\": \"mailer\", \"hostname\": \"<prefix>-mailer\", \"description\": \"Receives newsletter drafts for delivery\" }\n  ],\n  \"data_flows\": [\n    { \"direction\": \"receive\", \"peer\": \"<prefix>-curator\", \"port\": 1002, \"topic\": \"content-digest\", \"description\": \"Curated content digest with sources and summaries\" },\n    { \"direction\": \"send\", \"peer\": \"<prefix>-mailer\", \"port\": 1002, \"topic\": \"newsletter-draft\", \"description\": \"Newsletter draft with subject line and HTML body\" }\n  ],\n  \"handshakes_needed\": [\"<prefix>-curator\", \"<prefix>-mailer\"]\n}\n```\n\n### mailer\n```json\n{\n  \"setup\": \"newsletter-automation\", \"setup_name\": \"Newsletter Automation\",\n  \"role\": \"mailer\", \"role_name\": \"Email Dispatcher\",\n  \"hostname\": \"<prefix>-mailer\",\n  \"description\": \"Formats newsletters for email delivery, manages subscriber segments, tracks open rates.\",\n  \"skills\": {\n    \"pilot-webhook-bridge\": \"Send formatted emails via email service provider webhooks.\",\n    \"pilot-announce\": \"Broadcast delivery confirmations and schedule notifications.\",\n    \"pilot-metrics\": \"Track open rates, click rates, and delivery success per segment.\"\n  },\n  \"peers\": [\n    { \"role\": \"curator\", \"hostname\": \"<prefix>-curator\", \"description\": \"First stage — does not communicate directly\" },\n    { \"role\": \"writer\", \"hostname\": \"<prefix>-writer\", \"description\": \"Sends newsletter drafts for delivery\" }\n  ],\n  \"data_flows\": [\n    { \"direction\": \"receive\", \"peer\": \"<prefix>-writer\", \"port\": 1002, \"topic\": \"newsletter-draft\", \"description\": \"Newsletter draft with subject line and HTML body\" },\n    { \"direction\": \"send\", \"peer\": \"external\", \"port\": 443, \"topic\": \"email-dispatch\", \"description\": \"Email dispatch to subscriber segments\" }\n  ],\n  \"handshakes_needed\": [\"<prefix>-writer\"]\n}\n```\n\n## Data Flows\n\n- `curator -> writer` : content-digest events (port 1002)\n- `writer -> mailer` : newsletter-draft events (port 1002)\n- `mailer -> external` : email-dispatch via webhook (port 443)\n\n## Handshakes\n\n```bash\n# curator and writer handshake with each other:\npilotctl --json handshake <prefix>-writer \"setup: newsletter-automation\"\npilotctl --json handshake <prefix>-curator \"setup: newsletter-automation\"\n\n# writer and mailer handshake with each other:\npilotctl --json handshake <prefix>-mailer \"setup: newsletter-automation\"\npilotctl --json handshake <prefix>-writer \"setup: newsletter-automation\"\n```\n\n## Workflow Example\n\n```bash\n# On writer — subscribe to content digests:\npilotctl --json subscribe <prefix>-curator content-digest\n\n# On mailer — subscribe to newsletter drafts:\npilotctl --json subscribe <prefix>-writer newsletter-draft\n\n# On curator — publish a content digest:\npilotctl --json publish <prefix>-writer content-digest '{\"date\":\"2026-04-10\",\"articles\":[{\"title\":\"AI Agents in Production\",\"url\":\"https://example.com/ai-agents\"}],\"topic\":\"AI & DevOps\"}'\n\n# On writer — publish a newsletter draft:\npilotctl --json publish <prefix>-mailer newsletter-draft '{\"subject\":\"This Week in AI\",\"sections\":[{\"heading\":\"Top Story\",\"body\":\"AI agents are going mainstream...\"}]}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","newsletter","automation","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network"],"capabilities":["skill","source-teoslayer","skill-pilot-newsletter-automation-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-newsletter-automation-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,740 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.839Z","embedding":null,"createdAt":"2026-05-18T13:22:44.469Z","updatedAt":"2026-05-18T19:14:58.839Z","lastSeenAt":"2026-05-18T19:14:58.839Z","tsv":"'-04':753 '-10':754 '/.pilot/setups':214 '/.pilot/setups/newsletter-automation.json':216 '/ai-agents':764 '1':18,127 '1002':243,363,471,489,601,643,651 '2':30,143 '2026':752 '3':12,43,57,195 '4':206 '443':620,660 '5':250 'across':418 'agent':13,35,58,134,431,758,792 'aggreg':84,284 'ai':757,766,785,791 'announc':115,190,552 'api':318 'archiv':83,165,324,325 'articl':286,302,755 'ask':45,128 'autom':4,8,28,54,221,225,270,274,384,388,512,516,677,685,700,708 'bash':151,199,211,662,711 'binari':803,805 'bodi':502,614,790 'bridg':112,187,541 'broadcast':553 'cat':215 'chosen':149 'clawhub':154,168,182,804 'click':565 'communic':259,354,582 'configur':33,307 'confirm':437,555 'content':47,61,86,103,279,294,317,327,341,366,370,400,419,441,452,474,478,639,716,723,742,749 'content-digest':365,473,638,722,748 'copi':106,404 'curat':48,60,72,73,88,153,265,276,280,282,293,326,340,369,399,440,443,446,448,451,469,477,505,574,576,636,663,681,721,739 'daemon':809 'data':80,162,236,312,356,464,594,634 'date':751 'dedupl':332 'deliveri':122,463,530,554,568,593 'depend':796 'deploy':6,56 'descript':230,235,245,283,338,349,368,397,449,458,476,494,525,577,588,606,625 'devop':767 'digest':89,295,321,367,371,453,475,479,640,717,724,743,750 'direct':238,258,355,358,466,484,583,596,615 'discov':76,158,299 'dispatch':65,119,522,624,627,656 'draft':427,461,493,496,591,605,608,648,730,737,773,780 'e':52 'email':27,66,120,521,529,544,546,623,626,655 'email-dispatch':622,654 'engag':402 'event':641,649 'exampl':710 'example.com':763 'example.com/ai-agents':762 'extern':618,653 'feed':288,315 'final':350 'find':300 'first':578 'flow':237,357,465,595,635 'format':526,543 'go':794 'handshak':246,256,376,503,631,661,666,672,680,689,695,703 'head':787 'histor':329 'hostnam':69,198,204,229,234,281,336,347,395,447,456,523,575,586 'html':501,613 'industri':290,304 'initi':255 'instal':144,155,169,183 'json':201,266,380,508,671,679,694,702,719,732,745,775 'line':407,499,611 'mailer':107,108,181,346,348,455,457,487,506,507,518,524,645,652,688,696,726,777 'mainstream':795 'manag':531 'manifest':210,217,248,261 'metric':118,123,193,561 'mkdir':212 'name':223,228,272,278,386,392,514,520 'need':247,377,504,632 'news':291,305 'newslett':3,9,25,40,49,53,63,105,220,224,269,273,343,383,387,393,403,460,492,495,511,515,527,590,604,607,647,676,684,699,707,729,736,772,779 'newsletter-autom':219,268,382,510,675,683,698,706 'newsletter-draft':491,603,646,735,778 'notif':558 'open':535,563 'p':213 'part':37 'peer':232,241,260,333,360,444,468,486,572,598,617 'per':263,570 'pilot':2,75,78,82,93,97,100,110,114,117,157,160,164,171,175,178,185,189,192,298,310,323,412,424,435,539,551,560,799 'pilot-announc':113,188,550 'pilot-arch':81,163,322 'pilot-discov':74,156,297 'pilot-metr':116,191,559 'pilot-newsletter-automation-setup':1 'pilot-protocol':798 'pilot-receipt':99,177,434 'pilot-shar':96,174,423 'pilot-stream-data':77,159,309 'pilot-task-rout':92,170,411 'pilot-webhook-bridg':109,184,538 'pilotctl':200,670,678,693,701,718,731,744,774,802 'pipelin':10,29 'play':136 'port':242,362,470,488,600,619,642,650,659 'prefix':139 'preview':428 'procedur':125 'product':41,760 'protocol':800 'provid':548 'publish':740,746,770,776 'purpos':71 'rate':536,564,566 'receipt':101,179,436,438 'receiv':240,339,459,467,597 'refer':330 'requir':797 'review':433 'role':67,68,132,150,226,227,233,264,275,277,334,345,389,391,445,454,517,519,573,584 'rout':415 'router':95,173,414 'rss':287,314 'run':808 'schedul':557 'section':409,420,786 'segment':533,571,630 'send':239,359,450,485,542,589,616 'servic':547 'set':22,196,203 'set-hostnam':202 'setup':5,55,124,209,218,222,267,271,381,385,509,513,674,682,697,705 'share':98,176,425,426 'skill':16,70,146,231,296,410,537,801 'skill-pilot-newsletter-automation-setup' 'sourc':308,373,481 'source-teoslayer' 'stage':351,579 'step':126,142,194,205,249 'stori':789 'stream':79,161,311,313 'structur':320 'subject':406,498,610,781 'subscrib':532,629,714,720,727,733 'success':569 'summari':375,483 'task':94,172,413,417 'tell':251 'templat':262,422 'titl':756 'top':788 'topic':244,364,472,490,602,621,765 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'track':121,534,562 'transform':102,398 'trend':85,285,301 'url':761 'use':14,141 'user':19,31,44,130,253 'via':545,657 'want':20 'webhook':111,186,540,549,658 'week':783 'workflow':42,709 'write':50,62,207,344,416 'writer':90,91,167,335,337,361,378,379,390,394,396,585,587,599,633,637,644,665,673,686,704,713,734,747,769","prices":[{"id":"9b147587-7598-45e9-954f-d588df62d178","listingId":"df39c122-3035-468d-85b5-22f58daffcf9","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:44.469Z"}],"sources":[{"listingId":"df39c122-3035-468d-85b5-22f58daffcf9","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-newsletter-automation-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-newsletter-automation-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:44.469Z","lastSeenAt":"2026-05-18T19:14:58.839Z"}],"details":{"listingId":"df39c122-3035-468d-85b5-22f58daffcf9","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-newsletter-automation-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":"8aa0c40f0d02904faef757d3054dc2d6f72ca5c3","skill_md_path":"skills/pilot-newsletter-automation-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-newsletter-automation-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-newsletter-automation-setup","license":"AGPL-3.0","description":"Deploy an automated newsletter pipeline with 3 agents.  Use this skill when: 1. User wants to set up a newsletter or email automation pipeline 2. User is configuring an agent as part of a newsletter production workflow 3. User asks about content curation, newsletter writing, or email dispatch across agents  Do NOT use this skill when: - User wants to send a single announcement (use pilot-announce instead) - User wants to stream data once (use pilot-stream-data instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-newsletter-automation-setup"},"updatedAt":"2026-05-18T19:14:58.839Z"}}