Use Relay for my LinkedIn requests. Set it up once. Keep your normal tools, skills and session. Use the CLI through your shell. Handle routine setup quietly. Keep replies short; show technical details only for requested diagnostics or a problem. Use the provided CLI, relay on PATH, or $HOME/.local/share/relay-runtime/node_modules/.bin/relay and its --help. An existing 0.1.3 or earlier installation uses rea-l and reads only REA_L_ settings; it keeps working, so keep its command and settings and do not upgrade it unless I ask. Keep an already-paired service's browser, profile, data directory, port and account binding. Leave legacy/unpaired services intact; give fresh setup separate state. Avoid broad searches. Unless I provide existing settings, use RELAY_DATA_DIR=$HOME/.local/share/relay-runtime-data, RELAY_URL=http://127.0.0.1:3448, and --profile $HOME/.local/share/relay-browser-profile. Check that endpoint before starting; reuse a compatible installation. If another service owns the port, leave it alone and select an unused port with a matching RELAY_URL. Fresh setup only: Relay 0.3.0, Node.js 22+, macOS, Windows or Linux. Download https://relaycli.dev/downloads/0.3.0/relay-0.3.0-7081690e9f29f0b42a60e0aa98be476f6a6b9640c0fd83003ffdcab8182d2487.tgz; require SHA-256 7081690e9f29f0b42a60e0aa98be476f6a6b9640c0fd83003ffdcab8182d2487 (use your platform's tool, such as shasum -a 256 or PowerShell Get-FileHash). Use npm install --prefix $HOME/.local/share/relay-runtime with that archive, then its node_modules/.bin/relay (relay.cmd on Windows). Never guess a registry package or replace an incompatible installation: use a separate prefix, private data, browser profile and port. Use browser install, init, then pair --url https://relay-access.onrender.com --site https://relaycli.dev. Keep pairing running while I click Connect computer on its browser page; it creates a key if needed. Never approve for me. Require the CLI's paired result and check billing status once before product work. Start serve --browser chromium --headless with the selected --profile and --port (3448 by default). Google Chrome is unnecessary. Each completed LinkedIn request costs $0.01; $5 covers 500. Setup is free. Release schema: https://relaycli.dev/downloads/0.3.0/openapi-66b39fb492a964487d3c5d0fff3d0853b99d5ee2852c2fe552d9698d191a42d9.json. Run the dedicated owned service with --headless. If session requires login/challenge, stop only that service and restart visibly with identical options except --headless. Ask me to complete sign-in. Once ready, automatically restart headless and verify ready again. Wait for active work before restarting; release retained cursors first. Never change an attached user browser or unrelated service. Preserve the account binding; ask only on a mismatch or ambiguity. Verify billing is enabled during setup; never use an unpaired installation for product work. A new unpaired installation returns PAIRING_REQUIRED for LinkedIn operations; pair it. Never ask for keys in chat or read, print or screenshot credentials, token files, cookies or login fields. The CLI handles its private credentials internally. Keep pairing on denial; never unpair, reset or switch installations to bypass it. billing sync retries accounting, not LinkedIn actions. Reserved/unknown credits remain held. Check billing status before a large batch of requests. Tell me when it shows low_credit, and give me its billing_url. Inspect capabilities and relevant schema definitions once. Operations perform their own checks; use session/billing checks again only for recovery. Use connections --query for named connections and native filters where supported. Paginate only as needed, release cursors, and state material coverage limits. Messaging reads may mark threads read. Resolve one exact recipient profile and the final text first; if either is ambiguous, ask me. When I ask for a message, send it right away to the resolved recipient with the exact text; no draft or confirmation step. Never send during setup. After SEND_OUTCOME_UNKNOWN or connection loss, inspect the receipt/conversation before considering a repeat. Never blindly retry a send; accepted does not mean read. After ready, create or update a relay skill in this agent's documented native skill folder. Save the verified CLI, data/profile directories, service URL, browser options, recovery steps and send/billing safeguards. Preserve user notes. Include no secrets or fixed prices. Validate native discovery without LinkedIn actions. If unsupported, report that limitation. Once setup and skill creation succeed, say: "Ready. Welcome to Relay! Next time, just ask me to find someone, read your posts, or send a message." Then wait for my request.