{"id":"8916492e-1dae-42cc-9240-b348cc2e71dd","shortId":"vbesab","kind":"skill","title":"pilot-energy-grid-optimizer-setup","tagline":"Deploy an energy grid optimization system with 4 agents.  Use this skill when: 1. User wants to set up coordinated energy monitoring, forecasting, optimization, and device control agents 2. User is configuring a smart grid, microgrid, or distributed energy resource management wor","description":"# Energy Grid Optimizer Setup\n\nDeploy 4 agents: sensor-mesh, forecaster, optimizer, and controller.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| sensor-mesh | `<prefix>-sensor-mesh` | pilot-stream-data, pilot-metrics, pilot-gossip | Aggregates real-time grid sensor readings |\n| forecaster | `<prefix>-forecaster` | pilot-dataset, pilot-task-router, pilot-cron | Predicts energy demand from weather and history |\n| optimizer | `<prefix>-optimizer` | pilot-consensus, pilot-event-filter, pilot-audit-log | Balances load, schedules battery cycles |\n| controller | `<prefix>-controller` | pilot-webhook-bridge, pilot-receipt, pilot-alert | Sends device commands, confirms execution |\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 sensor-mesh:\nclawhub install pilot-stream-data pilot-metrics pilot-gossip\n# For forecaster:\nclawhub install pilot-dataset pilot-task-router pilot-cron\n# For optimizer:\nclawhub install pilot-consensus pilot-event-filter pilot-audit-log\n# For controller:\nclawhub install pilot-webhook-bridge pilot-receipt pilot-alert\n```\n\n**Step 3:** Set the hostname and write the manifest to `~/.pilot/setups/energy-grid-optimizer.json`.\n\n**Step 4:** Tell the user to initiate handshakes with the peers for their role.\n\n**Step 5:** Verify connectivity with `pilotctl --json trust`.\n\n## Manifest Templates Per Role\n\n### sensor-mesh\n```json\n{\"setup\":\"energy-grid-optimizer\",\"role\":\"sensor-mesh\",\"role_name\":\"Sensor Mesh\",\"hostname\":\"<prefix>-sensor-mesh\",\"skills\":{\"pilot-stream-data\":\"Ingest real-time readings from smart meters, solar panels, and batteries.\",\"pilot-metrics\":\"Track grid voltage, frequency, and power quality metrics.\",\"pilot-gossip\":\"Share sensor health status across mesh nodes.\"},\"data_flows\":[{\"direction\":\"send\",\"peer\":\"<prefix>-forecaster\",\"port\":1002,\"topic\":\"grid-reading\",\"description\":\"Timestamped grid readings\"},{\"direction\":\"receive\",\"peer\":\"<prefix>-controller\",\"port\":1002,\"topic\":\"device-ack\",\"description\":\"Device execution confirmations\"}],\"handshakes_needed\":[\"<prefix>-forecaster\",\"<prefix>-controller\"]}\n```\n\n### forecaster\n```json\n{\"setup\":\"energy-grid-optimizer\",\"role\":\"forecaster\",\"role_name\":\"Load Forecaster\",\"hostname\":\"<prefix>-forecaster\",\"skills\":{\"pilot-dataset\":\"Store historical demand and weather data for model training.\",\"pilot-task-router\":\"Route forecast jobs across time horizons.\",\"pilot-cron\":\"Run scheduled forecast updates every 15 minutes.\"},\"data_flows\":[{\"direction\":\"receive\",\"peer\":\"<prefix>-sensor-mesh\",\"port\":1002,\"topic\":\"grid-reading\",\"description\":\"Real-time grid readings\"},{\"direction\":\"send\",\"peer\":\"<prefix>-optimizer\",\"port\":1002,\"topic\":\"demand-forecast\",\"description\":\"Demand forecasts with confidence intervals\"}],\"handshakes_needed\":[\"<prefix>-sensor-mesh\",\"<prefix>-optimizer\"]}\n```\n\n### optimizer\n```json\n{\"setup\":\"energy-grid-optimizer\",\"role\":\"optimizer\",\"role_name\":\"Grid Optimizer\",\"hostname\":\"<prefix>-optimizer\",\"skills\":{\"pilot-consensus\":\"Coordinate optimization decisions across distributed sources.\",\"pilot-event-filter\":\"Filter forecasts by confidence threshold before acting.\",\"pilot-audit-log\":\"Log all dispatch decisions with cost and reasoning.\"},\"data_flows\":[{\"direction\":\"receive\",\"peer\":\"<prefix>-forecaster\",\"port\":1002,\"topic\":\"demand-forecast\",\"description\":\"Demand forecasts from forecaster\"},{\"direction\":\"send\",\"peer\":\"<prefix>-controller\",\"port\":1002,\"topic\":\"dispatch-command\",\"description\":\"Device setpoint commands\"}],\"handshakes_needed\":[\"<prefix>-forecaster\",\"<prefix>-controller\"]}\n```\n\n### controller\n```json\n{\"setup\":\"energy-grid-optimizer\",\"role\":\"controller\",\"role_name\":\"Device Controller\",\"hostname\":\"<prefix>-controller\",\"skills\":{\"pilot-webhook-bridge\":\"Interface with inverter and battery management APIs.\",\"pilot-receipt\":\"Generate execution confirmations for each command.\",\"pilot-alert\":\"Emit alerts on device failures or safety threshold breaches.\"},\"data_flows\":[{\"direction\":\"receive\",\"peer\":\"<prefix>-optimizer\",\"port\":1002,\"topic\":\"dispatch-command\",\"description\":\"Dispatch commands to execute\"},{\"direction\":\"send\",\"peer\":\"<prefix>-sensor-mesh\",\"port\":1002,\"topic\":\"device-ack\",\"description\":\"Execution status confirmations\"}],\"handshakes_needed\":[\"<prefix>-optimizer\",\"<prefix>-sensor-mesh\"]}\n```\n\n## Data Flows\n\n- `sensor-mesh -> forecaster` : grid readings with voltage, current, and power metrics (port 1002)\n- `forecaster -> optimizer` : demand forecasts with confidence intervals (port 1002)\n- `optimizer -> controller` : dispatch commands for device setpoints (port 1002)\n- `controller -> sensor-mesh` : device acknowledgments with execution status (port 1002)\n\n## Handshakes\n\n```bash\npilotctl --json handshake <prefix>-forecaster \"setup: energy-grid-optimizer\"\npilotctl --json handshake <prefix>-sensor-mesh \"setup: energy-grid-optimizer\"\npilotctl --json handshake <prefix>-optimizer \"setup: energy-grid-optimizer\"\npilotctl --json handshake <prefix>-controller \"setup: energy-grid-optimizer\"\n```\n\n## Workflow Example\n\n```bash\n# On sensor-mesh -- publish grid reading:\npilotctl --json publish <prefix>-forecaster grid-reading '{\"source\":\"solar-array-1\",\"power_kw\":5.1,\"battery_soc\":0.73}'\n# On forecaster -- publish demand forecast:\npilotctl --json publish <prefix>-optimizer demand-forecast '{\"horizon\":\"1h\",\"predicted_kw\":42.8,\"confidence\":0.91}'\n# On optimizer -- publish dispatch command:\npilotctl --json publish <prefix>-controller dispatch-command '{\"device\":\"battery-bank-1\",\"action\":\"discharge\",\"setpoint_kw\":10.0}'\n# On controller -- publish device ack:\npilotctl --json publish <prefix>-sensor-mesh device-ack '{\"device\":\"battery-bank-1\",\"status\":\"executing\",\"actual_kw\":9.8}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","energy","grid","optimizer","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw"],"capabilities":["skill","source-teoslayer","skill-pilot-energy-grid-optimizer-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-energy-grid-optimizer-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 (5,920 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:54.991Z","embedding":null,"createdAt":"2026-05-18T13:22:39.437Z","updatedAt":"2026-05-18T19:14:54.991Z","lastSeenAt":"2026-05-18T19:14:54.991Z","tsv":"'/.pilot/setups/energy-grid-optimizer.json':242 '0.73':734 '0.91':753 '1':20,148,728,770,794 '10.0':775 '1002':335,349,419,435,507,522,590,607,637,646,655,666 '15':408 '1h':748 '2':35,164 '3':233 '4':14,54,244 '42.8':751 '5':258 '5.1':731 '9.8':799 'ack':353,611,780,789 'acknowledg':661 'across':325,397,474 'act':487 'action':771 'actual':797 'agent':15,34,55,155 'aggreg':84 'alert':139,231,573,575 'api':561 'array':727 'ask':149 'audit':121,216,490 'balanc':123 'bank':769,793 'bash':172,668,709 'batteri':126,306,559,732,768,792 'battery-bank':767,791 'binari':807,809 'breach':582 'bridg':133,225,554 'chosen':170 'clawhub':177,191,205,220,808 'command':142,526,530,570,594,597,650,758,765 'confid':444,484,643,752 'configur':38 'confirm':143,357,567,615 'connect':260 'consensus':114,209,470 'control':33,62,128,129,219,347,361,520,534,535,543,547,549,648,656,701,762,777 'coordin':26,471 'cost':497 'cron':102,202,402 'current':632 'cycl':127 'daemon':813 'data':77,182,294,328,386,410,500,583,622 'dataset':95,195,380 'decis':473,495 'demand':105,383,438,441,510,513,640,738,745 'demand-forecast':437,509,744 'depend':800 'deploy':7,53 'descript':340,354,424,440,512,527,595,612 'devic':32,141,352,355,528,546,577,610,652,660,766,779,788,790 'device-ack':351,609,787 'direct':330,344,412,430,502,517,585,600 'discharg':772 'dispatch':494,525,593,596,649,757,764 'dispatch-command':524,592,763 'distribut':44,475 'emit':574 'energi':3,9,27,45,49,104,275,366,456,539,675,686,695,704 'energy-grid-optim':274,365,455,538,674,685,694,703 'event':117,212,479 'everi':407 'exampl':708 'execut':144,356,566,599,613,663,796 'failur':578 'filter':118,213,480,481 'flow':329,411,501,584,623 'forecast':29,59,91,92,190,333,360,362,370,374,376,395,405,439,442,482,505,511,514,516,533,627,638,641,672,720,736,739,746 'frequenc':313 'generat':565 'gossip':83,188,320 'grid':4,10,41,50,88,276,311,338,342,367,422,428,457,463,540,628,676,687,696,705,715,722 'grid-read':337,421,721 'handshak':250,358,446,531,616,667,671,680,691,700 'health':323 'histor':382 'histori':109 'horizon':399,747 'hostnam':65,236,286,375,465,548 'ingest':295 'initi':249 'instal':165,178,192,206,221 'interfac':555 'interv':445,644 'invert':557 'job':396 'json':263,272,363,453,536,670,679,690,699,718,741,760,782 'kw':730,750,774,798 'load':124,373 'log':122,217,491,492 'manag':47,560 'manifest':240,265 'mesh':58,70,73,176,271,281,285,289,326,417,450,605,621,626,659,683,713,786 'meter':302 'metric':80,185,309,317,635 'microgrid':42 'minut':409 'model':388 'monitor':28 'name':283,372,462,545 'need':359,447,532,617 'node':327 'optim':5,11,30,51,60,110,111,204,277,368,433,451,452,458,460,464,466,472,541,588,618,639,647,677,688,692,697,706,743,755 'panel':304 'peer':253,332,346,414,432,504,519,587,602 'per':267 'pilot':2,75,79,82,94,97,101,113,116,120,131,135,138,180,184,187,194,197,201,208,211,215,223,227,230,292,308,319,379,391,401,469,478,489,552,563,572,803 'pilot-alert':137,229,571 'pilot-audit-log':119,214,488 'pilot-consensus':112,207,468 'pilot-cron':100,200,400 'pilot-dataset':93,193,378 'pilot-energy-grid-optimizer-setup':1 'pilot-event-filt':115,210,477 'pilot-gossip':81,186,318 'pilot-metr':78,183,307 'pilot-protocol':802 'pilot-receipt':134,226,562 'pilot-stream-data':74,179,291 'pilot-task-rout':96,196,390 'pilot-webhook-bridg':130,222,551 'pilotctl':262,669,678,689,698,717,740,759,781,806 'play':157 'port':334,348,418,434,506,521,589,606,636,645,654,665 'power':315,634,729 'predict':103,749 'prefix':160 'procedur':146 'protocol':804 'publish':714,719,737,742,756,761,778,783 'purpos':67 'qualiti':316 'read':90,299,339,343,423,429,629,716,723 'real':86,297,426 'real-tim':85,296,425 'reason':499 'receipt':136,228,564 'receiv':345,413,503,586 'requir':801 'resourc':46 'role':63,64,153,171,256,268,278,282,369,371,459,461,542,544 'rout':394 'router':99,199,393 'run':403,812 'safeti':580 'schedul':125,404 'send':140,331,431,518,601 'sensor':57,69,72,89,175,270,280,284,288,322,416,449,604,620,625,658,682,712,785 'sensor-mesh':56,68,71,174,269,279,287,415,448,603,619,624,657,681,711,784 'set':24,234 'setpoint':529,653,773 'setup':6,52,145,273,364,454,537,673,684,693,702 'share':321 'skill':18,66,167,290,377,467,550,805 'skill-pilot-energy-grid-optimizer-setup' 'smart':40,301 'soc':733 'solar':303,726 'solar-array':725 'sourc':476,724 'source-teoslayer' 'status':324,614,664,795 'step':147,163,232,243,257 'store':381 'stream':76,181,293 'system':12 'task':98,198,392 'tell':245 'templat':266 'threshold':485,581 'time':87,298,398,427 'timestamp':341 'topic':336,350,420,436,508,523,591,608 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'track':310 'train':389 'trust':264 'updat':406 'use':16,162 'user':21,36,151,247 'verifi':259 'voltag':312,631 'want':22 'weather':107,385 'webhook':132,224,553 'wor':48 'workflow':707 'write':238","prices":[{"id":"59a0b541-47a0-49f5-a651-e778a415f9c4","listingId":"8916492e-1dae-42cc-9240-b348cc2e71dd","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:39.437Z"}],"sources":[{"listingId":"8916492e-1dae-42cc-9240-b348cc2e71dd","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-energy-grid-optimizer-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-energy-grid-optimizer-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:39.437Z","lastSeenAt":"2026-05-18T19:14:54.991Z"}],"details":{"listingId":"8916492e-1dae-42cc-9240-b348cc2e71dd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-energy-grid-optimizer-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":"1f9e30f7d8b6e500f415f6ae9251e277f43e16ba","skill_md_path":"skills/pilot-energy-grid-optimizer-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-energy-grid-optimizer-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-energy-grid-optimizer-setup","license":"AGPL-3.0","description":"Deploy an energy grid optimization system with 4 agents.  Use this skill when: 1. User wants to set up coordinated energy monitoring, forecasting, optimization, and device control agents 2. User is configuring a smart grid, microgrid, or distributed energy resource management workflow 3. User asks about demand forecasting, battery scheduling, or load balancing across energy sources  Do NOT use this skill when: - User wants a single sensor data stream (use pilot-stream-data instead) - User wants to send a one-off device command (use pilot-webhook-bridge instead) - User only needs scheduled metrics collection (use pilot-cron instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-energy-grid-optimizer-setup"},"updatedAt":"2026-05-18T19:14:54.991Z"}}