| description | Use this skill when the user is integrating the Net library (`@net-mesh/sdk`, Rust `net-sdk`, Python `net-sdk`, Go `net` binding, or C `net.h`) as an event bus, for nRPC request/response over the mesh, or for the RedEX / CortEX / Dataforts persistence + folded-state + caching layers on top — anything involving publishing to or subscribing from a Net channel, wiring a producer/consumer/relay against the Net SDK, calling a service via `serve_rpc` / `call_typed` / `TypedMeshRpc`, opening a `RedexFile` for durable append-only logs, building a CortEX adapter / NetDB query surface over folded state, enabling greedy-LRU caching / data gravity / blob refs / read-your-writes, or migrating from Kafka/NATS/Redis Streams/Pulsar/gRPC. Also covers the **gang-claim scheduler** (atomically claiming a contended exclusive resource — a GPU island / accelerator slot / licensed seat — under competition, without double-booking across a partition) and the **task-lifecycle / workflow** layer on top. Triggers on imports of those packages and on phrases like 'use Net for events', 'pub/sub with Net', 'wire up a Net channel', 'Net subscriber', 'Net publisher', 'nRPC', 'mesh RPC', 'request/reply over the mesh', 'RedEX', 'CortEX', 'NetDB', 'Dataforts', 'greedy cache', 'data gravity', 'BlobRef', 'WriteToken', 'wait_for_token', 'gang scheduler', 'claim an island', 'match islands', 'reserve island', 'publish island topology', 'contended GPU / resource claim', 'WorkflowAdapter', 'task lifecycle', 'fan-out/fan-in shards', 'trigger engine'. Also covers **event-representation doctrine** — an event on the bus is a fact observed at one layer, not an end-to-end success/acknowledgement (transport success ≠ application success ≠ business success; 'HTTP 200 is not a business invariant'); distinct outcomes are distinct events; transport truth belongs to the transport, not the payload. Triggers on 'how should I name events', 'event carries status/200/ok/delivered', 'should an event mean success', 'one status event vs a sequence of events', 'is a delivery receipt proof the effect happened'. Also covers the **MCP bridge** — expose an existing stdio MCP server's tools as owner-scoped mesh capabilities (`net wrap`), or front the mesh's capabilities to a local MCP host (Claude Code / Cursor) as a stdio MCP server (`net mcp serve`) with fail-closed consent, human-approved pinning (`net mcp pin`), and credential locality by default — with opt-in, deny-by-default **credential forwarding** (`net forwarding`) as the one tagged exception, for remote/HTTP destinations that only speak a bearer header. Triggers on 'MCP', 'net wrap', 'net mcp serve', 'net mcp pin', 'wrap an MCP server', 'bridge MCP over the mesh', 'expose mesh tools to Claude Code / Cursor', 'pin a capability', 'capability federation', 'net forwarding', 'credential forwarding', 'forward a bearer token / Authorization header', 'accepts_forwarded_credentials'. Also covers **organization capability auth** — services that only an authorized organization may discover or call, invisible (not merely refused) to everyone else: offline org-root issuance (`net org keygen` / `issue-cert` / `grant-dispatcher` / `grant-capability`), node adoption (`net node adopt`), the two verbs `mesh.org(credentials).call(..)` and `mesh.serve_org(service, OrgAccess::{SameOrg,Granted}, handler)` across Rust / Node / Python / Go / C, and the frozen `org:<domain>:<kind>` error vocabulary. Triggers on 'org capability', 'organization auth', 'private capability', 'cross-org call', 'tenant-private service', 'OrgCredentials', 'OrgClient', 'serve_org', 'OrgAccess', 'OrgCaller', 'membership cert', 'dispatcher grant', 'capability grant', 'audience secret', 'net org', 'net-mesh org', 'net node adopt', 'owner-scoped discovery', 'granted audience', 'admission denied'. Skip for unrelated event-bus work or for editing Net's own internals. |