Agent skill

Parchi Relay

by 0xSero in 0xSero/parchi

Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.

MITAuto-check passedBackend & APIs

Install Parchi Relay

skills CLI
$ npx skills add 0xSero/parchi --skill parchi-relay -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install 0xSero/parchi parchi-relay --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
parchi-relay
GitHub stars
551
Token cost
~1k tokens
SKILL.md length
357 words
Files
599 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.

  • Works in 3 steps: Build everything → Start the relay daemon (terminal A) → Load the extension (Chrome)
  • Tasks that involve Realtime and WebSockets
  • SKILL.md covers What You Get, Quickstart (Local), CLI Usage (Real Commands) and RPC Surface (What The Relay…, plus 3 more sections
  • Runs Shell scripts from its folder; calls npm; needs PARCHI_RELAY_TOKEN

What it does

Parchi Relay is an agent skill from 0xSero/parchi. Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 603 other files, including scripts (for example `.c8rc.json`, `.factory/hooks/auto-commit-build.sh` and `.factory/settings.json`).

It sits in Backend & APIs, covering Realtime and WebSockets and Browser extensions. It works with Chrome Extensions. The repository describes itself as: Your AI friend right in your browser. The licence is MIT.

When your agent uses it

  • Tasks that involve Realtime and WebSockets
  • Tasks that involve Browser extensions

Example prompts

  • “/parchi-relay”

Requirements

  • Node.js
  • A Bash shell
  • A credential in YOUR_TOKEN
  • A credential in PARCHI_RELAY_TOKEN

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Build everything
  2. Start the relay daemon (terminal A)
  3. Load the extension (Chrome)

What it can do on your machine

Read from SKILL.md and the folder at commit 0678f72. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PARCHI_RELAY_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Parchi Relay loads about 1k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 357 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from 0xSero/parchi at commit 0678f72, republished under its MIT licence (© 0xSero). 357 words, ~1,039 tokens.

Download SKILL.mdSave it as .claude/skills/parchi-relay/SKILL.md (or your agent's skills folder). This skill also uses 598 other files; get the full folder from GitHub.
name
parchi-relay
description
Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.

Parchi Relay (How To Use It)

This skill documents how to run the Parchi relay daemon, connect the browser extension as an agent, and use the CLI to drive browser automation.

What You Get

  • A local relay daemon (/v1/rpc + /v1/extension) that brokers calls.
  • A browser extension agent that connects to the daemon over WebSocket and executes browser tools.
  • A CLI (parchi-relay / npm run relay) that can:
    • list agents
    • pick the default agent
    • list tools / call tools
    • run an agent task and wait for completion

Quickstart (Local)

  1. Build everything:
bash
npm install
npm run build
  1. Start the relay daemon (terminal A):
bash
npm run relay:daemon -- --token=<YOUR_TOKEN> --host=127.0.0.1 --port=17373
  1. Load the extension (Chrome):
  • Open chrome://extensions
  • Enable Developer mode
  • Load unpacked: dist/
  • Open the extension sidepanel
  • Settings -> Relay:
    • Enable: On
    • URL: http://127.0.0.1:17373
    • Token: <YOUR_TOKEN>
    • Click Apply
  1. Confirm the agent is connected (terminal B):
bash
npm run relay -- agents --token=<YOUR_TOKEN>

CLI Usage (Real Commands)

The CLI talks to the daemon over HTTP JSON-RPC.

Set env vars (recommended):

bash
export PARCHI_RELAY_TOKEN="<YOUR_TOKEN>"
export PARCHI_RELAY_HOST="127.0.0.1"
export PARCHI_RELAY_PORT="17373"

List agents:

bash
npm run relay -- agents

Doctor (sanity-check daemon, auth, agent connection, tool forwarding):

bash
npm run relay -- doctor

Get/set default agent:

bash
npm run relay -- default-agent get
npm run relay -- default-agent set agent-123

List tools (on default agent or a specific agent):

bash
npm run relay -- tools
npm run relay -- tools --agentId=agent-123

Call a tool:

bash
npm run relay -- tool getTabs --args='{}'
npm run relay -- tool getContent --args='{\"mode\":\"text\"}'

Run a full agent task and wait for completion:

bash
npm run relay -- run "On the active tab, extract the main headline." --tabs=active --timeoutMs=600000

RPC Surface (What The Relay Exposes)

Relay daemon (POST /v1/rpc, Authorization: Bearer <token>):

  • relay.ping
  • agents.list
  • agents.default.get
  • agents.default.set { agentId }
  • tools.list { agentId? }
  • tool.call { tool, args, agentId? }
  • agent.run { prompt, selectedTabIds?, agentId? }
  • run.wait { runId, timeoutMs? }
  • run.events { runId }

Extension agent (WebSocket /v1/extension?token=...):

  • Sends: agent.hello (registers the agent)
  • Receives: JSON-RPC requests (forwarded by daemon)
  • Sends: JSON-RPC responses
  • Can publish: run.event / run.done notifications (for streamed run telemetry)
Show full SKILL.md (115 more words)Show less

Troubleshooting

  • agents returns []:

    • confirm daemon token matches extension token
    • confirm you loaded dist/ (not packages/extension/)
    • in the extension, Settings -> Relay should show connected status (and any error message)
  • Tool calls fail due to policy:

    • check the extension Settings -> Tool Permissions and Allowed Domains

Notes For Production Use

  • Keep the relay token private. Treat it like a local admin password.
  • Bind to 127.0.0.1 unless you explicitly intend to expose it.
  • If you expose it beyond localhost, add additional auth and transport security.

Electron Agent Mode

Parchi now supports a dedicated relay-native Electron agent:

bash
# Terminal A
PARCHI_RELAY_TOKEN=<TOKEN> npm run relay:daemon

# Terminal B
PARCHI_RELAY_TOKEN=<TOKEN> npm run electron:agent

Managed helper (recommended):

bash
npm run electron:secure -- start
npm run electron:secure -- status
npm run electron:secure -- stop

Then select the Electron agent with:

bash
npm run relay -- agents
npm run relay -- default-agent set <electron-agent-id>

Useful methods:

  • tool.call with electron.launch
  • tool.call with electron.connect
  • tool.call with electron.snapshot, electron.click, electron.type, electron.press

© 0xSero, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 598 other files (scripts) in the repository root of 0xSero/parchi.

  • SKILL.md
  • .c8rc.json
  • .env.publish.example
  • .factory/hooks/auto-commit-build.sh
  • .factory/settings.json
  • .github/CODEOWNERS
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .gitignore
  • .husky/pre-commit
  • .husky/pre-commit-security.sh
  • .husky/pre-push
  • AGENTS.md
  • LICENSE
  • PRIVACY.md
  • README.md
  • … and 583 more

Open the folder on GitHubat commit 0678f72

Compare with similar skills

Parchi Relay next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Parchi Relay compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Parchi Relay this skill0xSero/parchi551—~1kAutomated safety check: PassMIT
Kkrpckunkunsh/kkrpc174—~3.1kAutomated safety check: PassMIT
Kkrpc Interopkunkunsh/kkrpc174—~1.8kAutomated safety check: PassMIT
Playwright Best Practicessanity-io/sanity6.4k7 repos~6.4kAutomated safety check: PassMIT
Clerk Chrome Extension Patternsgeekskai/blog103—~2.9kAutomated safety check: NotesMIT
Project Scaffoldingaiskillstore/marketplace433—~2kAutomated safety check: PassNone

Similar skills

  • Kkrpc

    kunkunsh/kkrpc

    A skill your agent uses when building TypeScript RPC with kkrpc stable APIs, choosing native Transport<RPCMessage adapters, or integrating validation, middleware, transferables, streaming, remote…

    174 GitHub stars~3.1k tokensUpdated 29 days ago
    Backend & APIsAuto-check passed
  • Kkrpc Interop

    kunkunsh/kkrpc

    A skill your agent uses when implementing kkrpc clients or servers in non-TypeScript languages, speaking the stable compact protocol, transports, and reference implementations in Go, Python, Rust…

    174 GitHub stars~1.8k tokensUpdated 29 days ago
    Backend & APIsAuto-check passed
  • Official

    A skill your agent uses when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling…

    6.4k GitHub starsUsed in 7 repos~6.4k tokens
    Testing & QAAuto-check passed
  • Chrome Extension auth with @clerk/chrome-extension -- popup/sidepanel setup, syncHost for OAuth/SAML via web app, createClerkClient for service workers and headless extensions, stable CRX ID.

    103 GitHub stars~2.9k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Project Scaffolding

    aiskillstore/marketplace

    IDE-grade project scaffolding wizard for creating new projects with comprehensive configuration.

    433 GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Req Change Workflow

    aiskillstore/marketplace

    Standardize requirement/feature changes in an existing codebase (especially Chrome extensions) by turning "改需求/需求变更/调整交互/改功能/重构流程" into a repeatable loop: clarify acceptance criteria, confirm…

    433 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed

Categories

Questions about Parchi Relay

What does Parchi Relay do?

Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow. Parchi Relay is an agent skill from 0xSero/parchi. Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.

When should I use Parchi Relay?

Parchi Relay fits situations like: tasks that involve Realtime and WebSockets; tasks that involve Browser extensions.

How do I install Parchi Relay in Claude Code?

Run `npx skills add 0xSero/parchi --skill parchi-relay -a claude-code`. Or copy the skill folder (the 0xSero/parchi repository) into .claude/skills/parchi-relay in your project. Claude Code loads it when a task matches its description.

How do I install Parchi Relay in Codex?

Run `npx skills add 0xSero/parchi --skill parchi-relay -a codex`. Or copy the skill folder (the 0xSero/parchi repository) into .agents/skills/parchi-relay in your project. Codex loads it when a task matches its description.

Can I use Parchi Relay in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 0xSero/parchi --skill parchi-relay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/parchi-relay, .gemini/skills/parchi-relay, .github/skills/parchi-relay and .opencode/skills/parchi-relay in your project.

What does Parchi Relay need to run?

Going by SKILL.md and its folder, Parchi Relay needs a shell for the scripts in its folder, the command-line tools its instructions call (npm) and credentials named PARCHI_RELAY_TOKEN. Our summary lists: Node.js; A Bash shell; A credential in YOUR_TOKEN; A credential in PARCHI_RELAY_TOKEN.

Does Parchi Relay access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Parchi Relay safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Parchi Relay use?

Parchi Relay is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Parchi Relay use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Parchi Relay?

Skills that share tags, products or a category with Parchi Relay: Kkrpc (kunkunsh/kkrpc, 174 stars), Kkrpc Interop (kunkunsh/kkrpc, 174 stars), Playwright Best Practices (sanity-io/sanity, 6.4k stars) and Clerk Chrome Extension Patterns (geekskai/blog, 103 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Parchi Relay?

0xSero (a GitHub user) maintains it in 0xSero/parchi, which has 551 GitHub stars. The repository was last updated on September 17, 2026.

Source: 0xSero/parchi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.