{"id":"93f9e91e-97be-4de8-8422-fcd979d4dfb1","shortId":"eGwEJB","kind":"skill","title":"pilot-game-npc-network-setup","tagline":"Deploy a living NPC village with 4 agents that communicate autonomously.  Use this skill when: 1. User wants to set up a game NPC network with emergent behavior 2. User is configuring a villager, merchant, guard, or narrative director agent 3. User asks about NPC-to-NPC communica","description":"# Game NPC Network Setup\n\nDeploy 4 agents: npc-villager, npc-merchant, npc-guard, and narrative-director.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| npc-villager | `<prefix>-npc-villager` | pilot-chat, pilot-gossip, pilot-presence, pilot-directory | Social backbone -- farms, gossips, remembers player interactions |\n| npc-merchant | `<prefix>-npc-merchant` | pilot-escrow, pilot-stream-data, pilot-receipt, pilot-auction | Dynamic shop -- supply/demand pricing, inventory, trade negotiation |\n| npc-guard | `<prefix>-npc-guard` | pilot-watchdog, pilot-alert, pilot-blocklist, pilot-gossip | Village security -- patrols, threat detection, civilian warnings |\n| narrative-director | `<prefix>-narrative-director` | pilot-task-router, pilot-consensus, pilot-event-filter, pilot-announce | Story orchestrator -- quests, events, difficulty, narrative coherence |\n\n## Setup Procedure\n\n**Step 1:** Ask the user which role and prefix (e.g. `darkhollow`).\n\n**Step 2:** Install skills:\n```bash\n# npc-villager:\nclawhub install pilot-chat pilot-gossip pilot-presence pilot-directory\n# npc-merchant:\nclawhub install pilot-escrow pilot-stream-data pilot-receipt pilot-auction\n# npc-guard:\nclawhub install pilot-watchdog pilot-alert pilot-blocklist pilot-gossip\n# narrative-director:\nclawhub install pilot-task-router pilot-consensus pilot-event-filter pilot-announce\n```\n\n**Step 3:** Set hostname and write manifest to `~/.pilot/setups/game-npc-network.json`.\n\n**Step 4:** Handshake: all NPCs ↔ narrative-director, npc-villager ↔ npc-merchant, npc-guard ↔ npc-villager.\n\n## Manifest Templates Per Role\n\n### npc-villager\n```json\n{\n  \"setup\": \"game-npc-network\", \"role\": \"npc-villager\", \"role_name\": \"NPC Villager\",\n  \"hostname\": \"<prefix>-npc-villager\",\n  \"skills\": {\n    \"pilot-chat\": \"Converse with players and other NPCs.\",\n    \"pilot-gossip\": \"Spread and receive rumors across the village.\",\n    \"pilot-presence\": \"Broadcast location and activity state.\",\n    \"pilot-directory\": \"Look up other NPCs by role or name.\"\n  },\n  \"handshakes_needed\": [\"<prefix>-narrative-director\", \"<prefix>-npc-merchant\", \"<prefix>-npc-guard\"]\n}\n```\n\n### npc-merchant\n```json\n{\n  \"setup\": \"game-npc-network\", \"role\": \"npc-merchant\", \"role_name\": \"NPC Merchant\",\n  \"hostname\": \"<prefix>-npc-merchant\",\n  \"skills\": {\n    \"pilot-escrow\": \"Hold trade value until both parties confirm exchange.\",\n    \"pilot-stream-data\": \"Stream real-time price feeds to the narrative director.\",\n    \"pilot-receipt\": \"Issue trade receipts for completed transactions.\",\n    \"pilot-auction\": \"Run competitive bidding when multiple buyers want scarce goods.\"\n  },\n  \"handshakes_needed\": [\"<prefix>-narrative-director\", \"<prefix>-npc-villager\"]\n}\n```\n\n### npc-guard\n```json\n{\n  \"setup\": \"game-npc-network\", \"role\": \"npc-guard\", \"role_name\": \"NPC Guard\",\n  \"hostname\": \"<prefix>-npc-guard\",\n  \"skills\": {\n    \"pilot-watchdog\": \"Monitor village perimeter for threats.\",\n    \"pilot-alert\": \"Raise alarms and broadcast threat levels.\",\n    \"pilot-blocklist\": \"Maintain a list of banned or hostile entities.\",\n    \"pilot-gossip\": \"Share threat intelligence with other guards and NPCs.\"\n  },\n  \"handshakes_needed\": [\"<prefix>-narrative-director\", \"<prefix>-npc-villager\"]\n}\n```\n\n### narrative-director\n```json\n{\n  \"setup\": \"game-npc-network\", \"role\": \"narrative-director\", \"role_name\": \"Narrative Director\",\n  \"hostname\": \"<prefix>-narrative-director\",\n  \"skills\": {\n    \"pilot-task-router\": \"Route quests and objectives to the right NPCs.\",\n    \"pilot-consensus\": \"Coordinate multi-NPC decisions (festivals, evacuations).\",\n    \"pilot-event-filter\": \"Filter and prioritize incoming NPC state reports.\",\n    \"pilot-announce\": \"Broadcast world events to all village NPCs.\"\n  },\n  \"handshakes_needed\": [\"<prefix>-npc-villager\", \"<prefix>-npc-merchant\", \"<prefix>-npc-guard\"]\n}\n```\n\n## Data Flows\n\n- `npc-villager -> narrative-director` : villager state, mood, gossip (topic: `villager-state`)\n- `npc-merchant -> narrative-director` : economy state, stock levels, price trends (topic: `economy-state`)\n- `npc-guard -> narrative-director` : threat reports, patrol status (topic: `threat-report`)\n- `narrative-director -> npc-villager` : story events, quest injections (topic: `story-event`)\n- `narrative-director -> npc-merchant` : economy events, price shocks (topic: `economy-event`)\n- `narrative-director -> npc-guard` : threat alerts, patrol orders (topic: `threat-alert`)\n- `npc-villager <-> npc-merchant` : trade requests, material orders (topic: `trade-request`)\n- `npc-guard -> npc-villager` : civilian warnings, evacuation orders (topic: `civilian-warning`)\n\nAll flows use port 1002 (event stream).\n\n## Workflow Example\n\n```bash\n# Villager shares daily state:\npilotctl --json publish <prefix>-narrative-director villager-state '{\"mood\":\"worried\",\"activity\":\"hiding wheat stores\",\"gossip\":\"strangers seen near east road\"}'\n\n# Narrative director triggers a festival to boost morale:\npilotctl --json publish <prefix>-npc-villager story-event '{\"event\":\"harvest_festival\",\"directive\":\"prepare_feast\",\"quest_hook\":\"collect_rare_ingredients\"}'\npilotctl --json publish <prefix>-npc-merchant economy-event '{\"event\":\"harvest_festival\",\"effect\":\"food_prices_drop\",\"directive\":\"stock_ale_and_decorations\"}'\npilotctl --json publish <prefix>-npc-guard threat-alert '{\"event\":\"harvest_festival\",\"orders\":\"increase_night_patrol\",\"note\":\"large crowds expected\"}'\n\n# Guard spots trouble during the festival:\npilotctl --json publish <prefix>-narrative-director threat-report '{\"threat\":\"pickpocket_ring\",\"severity\":\"low\",\"location\":\"market_square\"}'\npilotctl --json publish <prefix>-npc-villager civilian-warning '{\"message\":\"Watch your coin purses near the market stalls.\",\"urgency\":\"low\"}'\n\n# Merchant adjusts prices after a supply disruption:\npilotctl --json publish <prefix>-narrative-director economy-state '{\"iron_stock\":0,\"price_change\":\"iron_unavailable\",\"reason\":\"supply_route_raided\"}'\n\n# Villager trades surplus wheat for potions before trouble hits:\npilotctl --json publish <prefix>-npc-merchant trade-request '{\"offering\":\"wheat\",\"quantity\":8,\"seeking\":\"healing_potion\",\"quantity_needed\":3}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","game","npc","network","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw"],"capabilities":["skill","source-teoslayer","skill-pilot-game-npc-network-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-game-npc-network-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,294 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:56.210Z","embedding":null,"createdAt":"2026-05-18T13:22:40.939Z","updatedAt":"2026-05-18T19:14:56.210Z","lastSeenAt":"2026-05-18T19:14:56.210Z","tsv":"'/.pilot/setups/game-npc-network.json':281 '0':879 '1':22,187 '1002':718 '2':35,198 '3':47,274,915 '4':13,61,283 '8':909 'across':344 'activ':353,739 'adjust':862 'agent':14,46,62 'alarm':487 'ale':795 'alert':143,247,485,679,685,806 'announc':176,272,579 'ask':49,188 'auction':124,236,435 'autonom':17 'backbon':100 'ban':499 'bash':201,723 'behavior':34 'bid':438 'binari':923,925 'blocklist':146,250,494 'boost':755 'broadcast':350,489,580 'buyer':441 'chang':881 'chat':89,209,330 'civilian':155,706,712,848 'civilian-warn':711,847 'clawhub':205,222,240,257,924 'coher':183 'coin':853 'collect':774 'communic':16 'communica':55 'competit':437 'complet':431 'configur':38 'confirm':408 'consensus':169,265,558 'convers':331 'coordin':559 'crowd':816 'daemon':929 'daili':726 'darkhollow':196 'data':118,230,413,598 'decis':563 'decor':797 'depend':916 'deploy':7,60 'detect':154 'difficulti':181 'direct':769,793 'director':45,75,159,162,256,289,370,423,449,518,524,534,538,542,605,619,635,646,660,674,733,750,829,873 'directori':98,218,357 'disrupt':867 'drop':792 'dynam':125 'e.g':195 'east':747 'economi':620,628,664,670,784,875 'economy-ev':669,783 'economy-st':627,874 'effect':789 'emerg':33 'entiti':502 'escrow':114,226,401 'evacu':565,708 'event':172,180,268,568,582,651,657,665,671,719,765,766,785,786,807 'exampl':722 'exchang':409 'expect':817 'farm':101 'feast':771 'feed':419 'festiv':564,753,768,788,809,823 'filter':173,269,569,570 'flow':599,715 'food':790 'game':3,29,56,312,383,459,528 'game-npc-network':311,382,458,527 'good':444 'gossip':92,102,149,212,253,339,505,609,743 'guard':42,71,134,137,239,298,376,455,465,469,473,511,597,632,677,702,803,818 'handshak':284,366,445,514,587 'harvest':767,787,808 'heal':911 'hide':740 'hit':896 'hold':402 'hook':773 'hostil':501 'hostnam':78,276,323,394,470,539 'incom':573 'increas':811 'ingredi':776 'inject':653 'instal':199,206,223,241,258 'intellig':508 'interact':105 'inventori':129 'iron':877,882 'issu':427 'json':309,380,456,525,729,758,778,799,825,842,869,898 'larg':815 'level':491,623 'list':497 'live':9 'locat':351,838 'look':358 'low':837,860 'maintain':495 'manifest':279,302 'market':839,857 'materi':694 'merchant':41,68,108,111,221,295,373,379,389,393,397,594,616,663,691,782,861,902 'messag':850 'monitor':478 'mood':608,737 'moral':756 'multi':561 'multi-npc':560 'multipl':440 'name':320,365,391,467,536 'narrat':44,74,158,161,182,255,288,369,422,448,517,523,533,537,541,604,618,634,645,659,673,732,749,828,872 'narrative-director':73,157,160,254,287,368,447,516,522,532,540,603,617,633,644,658,672,731,827,871 'near':746,855 'need':367,446,515,588,914 'negoti':131 'network':5,31,58,314,385,461,530 'night':812 'note':814 'npc':4,10,30,52,54,57,64,67,70,82,85,107,110,133,136,203,220,238,291,294,297,300,307,313,317,321,325,372,375,378,384,388,392,396,451,454,460,464,468,472,520,529,562,574,590,593,596,601,615,631,648,662,676,687,690,701,704,761,781,802,845,901 'npc-guard':69,132,135,237,296,374,453,463,471,595,630,675,700,801 'npc-merchant':66,106,109,219,293,371,377,387,395,592,614,661,689,780,900 'npc-to-npc':51 'npc-villag':63,81,84,202,290,299,306,316,324,450,519,589,600,647,686,703,760,844 'npcs':286,336,361,513,555,586 'object':551 'offer':906 'orchestr':178 'order':681,695,709,810 'parti':407 'patrol':152,638,680,813 'per':304 'perimet':480 'pickpocket':834 'pilot':2,88,91,94,97,113,116,120,123,139,142,145,148,164,168,171,175,208,211,214,217,225,228,232,235,243,246,249,252,260,264,267,271,329,338,348,356,400,411,425,434,476,484,493,504,545,557,567,578,919 'pilot-alert':141,245,483 'pilot-announc':174,270,577 'pilot-auct':122,234,433 'pilot-blocklist':144,248,492 'pilot-chat':87,207,328 'pilot-consensus':167,263,556 'pilot-directori':96,216,355 'pilot-escrow':112,224,399 'pilot-event-filt':170,266,566 'pilot-game-npc-network-setup':1 'pilot-gossip':90,147,210,251,337,503 'pilot-pres':93,213,347 'pilot-protocol':918 'pilot-receipt':119,231,424 'pilot-stream-data':115,227,410 'pilot-task-rout':163,259,544 'pilot-watchdog':138,242,475 'pilotctl':728,757,777,798,824,841,868,897,922 'player':104,333 'port':717 'potion':893,912 'prefix':194 'prepar':770 'presenc':95,215,349 'price':128,418,624,666,791,863,880 'priorit':572 'procedur':185 'protocol':920 'publish':730,759,779,800,826,843,870,899 'purpos':80 'purs':854 'quantiti':908,913 'quest':179,549,652,772 'raid':887 'rais':486 'rare':775 'real':416 'real-tim':415 'reason':884 'receipt':121,233,426,429 'receiv':342 'rememb':103 'report':576,637,643,832 'request':693,699,905 'requir':917 'right':554 'ring':835 'road':748 'role':76,77,192,305,315,319,363,386,390,462,466,531,535 'rout':548,886 'router':166,262,547 'rumor':343 'run':436,928 'scarc':443 'secur':151 'seek':910 'seen':745 'set':26,275 'setup':6,59,184,310,381,457,526 'sever':836 'share':506,725 'shock':667 'shop':126 'skill':20,79,200,327,398,474,543,921 'skill-pilot-game-npc-network-setup' 'social':99 'source-teoslayer' 'spot':819 'spread':340 'squar':840 'stall':858 'state':354,575,607,613,621,629,727,736,876 'status':639 'step':186,197,273,282 'stock':622,794,878 'store':742 'stori':177,650,656,764 'story-ev':655,763 'stranger':744 'stream':117,229,412,414,720 'suppli':866,885 'supply/demand':127 'surplus':890 'task':165,261,546 'templat':303 'threat':153,482,490,507,636,642,678,684,805,831,833 'threat-alert':683,804 'threat-report':641,830 'time':417 'topic':610,626,640,654,668,682,696,710 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'trade':130,403,428,692,698,889,904 'trade-request':697,903 'transact':432 'trend':625 'trigger':751 'troubl':820,895 'unavail':883 'urgenc':859 'use':18,716 'user':23,36,48,190 'valu':404 'villag':11,40,65,83,86,150,204,292,301,308,318,322,326,346,452,479,521,585,591,602,606,612,649,688,705,724,735,762,846,888 'villager-st':611,734 'want':24,442 'warn':156,707,713,849 'watch':851 'watchdog':140,244,477 'wheat':741,891,907 'workflow':721 'world':581 'worri':738 'write':278","prices":[{"id":"279837c9-940b-4f53-a661-26d45e68a3c8","listingId":"93f9e91e-97be-4de8-8422-fcd979d4dfb1","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:40.939Z"}],"sources":[{"listingId":"93f9e91e-97be-4de8-8422-fcd979d4dfb1","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-game-npc-network-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-game-npc-network-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:40.939Z","lastSeenAt":"2026-05-18T19:14:56.210Z"}],"details":{"listingId":"93f9e91e-97be-4de8-8422-fcd979d4dfb1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-game-npc-network-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":"11646027453752882d1c3bd6135c5c7401bad5d9","skill_md_path":"skills/pilot-game-npc-network-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-game-npc-network-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-game-npc-network-setup","license":"AGPL-3.0","description":"Deploy a living NPC village with 4 agents that communicate autonomously.  Use this skill when: 1. User wants to set up a game NPC network with emergent behavior 2. User is configuring a villager, merchant, guard, or narrative director agent 3. User asks about NPC-to-NPC communication, dynamic economies, or emergent narratives  Do NOT use this skill when: - User wants a single chatbot NPC (use pilot-chat instead) - User wants a simple alert system (use pilot-alert instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-game-npc-network-setup"},"updatedAt":"2026-05-18T19:14:56.210Z"}}