This repo hosts the create-zkp2p-provider skill for guiding AI agents to create zkTLS/Reclaim provider templates. The skill works with both Claude Code and Codex.
This repo is public. The skill is intentionally written against the current public provider interfaces and public-safe runtime behavior. Do not add private repo links, internal file paths, secrets, or raw sensitive captures to this repo.
Guides users to turn target-platform network requests into valid ZKP2P provider JSON templates by:
- Capturing network requests via Chrome DevTools MCP
- Mapping user-specified proof fields (identity, account attributes, or transactions)
- Producing provider JSON with proper selectors and redactions
- Using short, stepwise prompts and an iterative capture loop to refine selectors
- Staying aligned with the provider file path and manifest contract used by current consumers
- Covering mobile-only provider fields that appear in real templates today
skills/
├── src/
│ ├── claude/
│ │ └── create-zkp2p-provider/
│ │ ├── SKILL.md # Claude Code skill definition
│ │ └── references/ # Supporting documentation
│ └── codex/
│ └── create-zkp2p-provider/
│ ├── SKILL.md # Codex skill definition
│ └── references/ # Supporting documentation
├── scripts/
│ ├── install-claude.sh # Install for Claude Code
│ ├── bundle-claude.sh # Bundle into single file
│ └── package-codex.sh # Package for Codex
├── dist/
│ ├── claude/ # Claude Code artifacts
│ └── codex/ # Codex artifacts
└── README.md
Chrome DevTools MCP is the preferred capture/debugging path. Use it instead of Playwright-style browser automation unless the user explicitly asks for Playwright or MCP cannot reach the flow.
Before capture:
- Install Chrome DevTools MCP in the client you use, then restart the client so the MCP server is loaded.
- If the client does not expose the
chrome-devtoolsskill or thecreate-zkp2p-providerskill, install or enable those skills before continuing. - In the Chrome profile the user wants to reuse, open
chrome://inspect/#remote-debuggingand turn on remote debugging so MCP attaches to that existing browser session and reuses its cookies instead of spawning a fresh browser.
Codex
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latestClaude Code
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latestOption 1: Install skill directory
./scripts/install-claude.shThis copies the skill to ~/.claude/skills/create-zkp2p-provider/.
Option 2: Bundle into single file
./scripts/bundle-claude.shCreates dist/claude/create-zkp2p-provider.md - a self-contained skill file with all references embedded.
Option 3: Manual
Copy src/claude/create-zkp2p-provider/ to your Claude Code skills directory.
After installing the skill, restart Claude Code if you just added Chrome DevTools MCP.
Option 1: Local install (fastest)
codex
$skill-installer https://github.com/zkp2p/zkills/tree/main/src/codex/create-zkp2p-providerAfter installing the skill, restart Codex if you just added Chrome DevTools MCP.
Once installed, invoke the skill when:
- Creating a new ZKP2P provider template
- Analyzing network logs
- Translating API responses into template fields
The skill will guide you through:
- Capturing network requests
- Identifying transaction endpoints
- Mapping fields to JSONPath/XPath selectors
- Assembling the provider template JSON
- Testing and iterating
- Treat the provider file path as part of the contract: consumers resolve configs at
{platform}/{actionType}.json. - Keep
metadata.platform, the directory name, and any manifest entry inproviders.jsonaligned. - Use the current mobile field shape under
mobile.*(useExternalAction,external,internal,login,userAgent,additionalClientOptions). Do not fall back to older shapes unless you have verified them. - When a provider needs more than one proof, document the
additionalProofsplan and remind the user that downstream client wrappers may also need their proof count updated. - If you learned a constraint from a non-public repo, restate it as a public interface rule. Do not paste private code, links, or payloads into this repo.
- Intake: confirm platform + UI location, and get permission for MCP capture.
- Capture: grab one request/response first; confirm it includes the required fields.
- Expand: capture list + detail or secondary endpoints only if fields are missing.
- Map + confirm: summarize extracted fields and confirm with the user before finalizing.
- Assemble + test: build the template, then validate in the developer portal and, when relevant, against the hosted
/providers/{platform}/{actionType}.jsonpath.
Tips:
- Start small, then scale. Avoid capturing everything at once.
- Re-trigger actions in the UI to avoid stale CSRF/nonce tokens.
- Keep public docs focused on interface behavior, not private implementation details.
Edit files in src/claude/create-zkp2p-provider/ and src/codex/create-zkp2p-provider/. Keep references in sync across both folders.
After editing, rebuild for your platform:
# For Claude Code
./scripts/bundle-claude.sh
# For Codex
./scripts/package-codex.shThe skill includes these reference documents:
- network-capture.md - How to capture network requests
- provider-template.md - Template skeleton and patterns
- provider-fields.md - Field-by-field documentation
- provider-examples.md - Real examples from the providers repo
- extension-template-parsing.md - Public-safe runtime behavior and authoring implications
MIT. See LICENSE.