CoWorker Protocol
CoWorker Protocol is a Python-based tool that turns SKILL.md files into secure, remotely callable APIs, keeping the underlying code, prompts, and methodology private on your machine. It solves the problem of skill theft and distillation in agent ecosystems by ensuring only results are transmitted, not the implementation. It is for developers who want to share agent skills without exposing their proprietary logic.
✨ Key features
- Skill-as-API: run skills locally, expose only schema and results.
- Four-tier trust management with automatic permission degradation.
- Skill hiding: hidden skills return 'unknown skill' to unauthorized callers.
- End-to-end encryption via XMTP for all communications.
- Prompt injection protection by isolating function interface from LLM.
- Asynchronous delegation: queue tasks and retrieve results later.
🎯 Use cases
- Share proprietary analysis methodologies as callable APIs without exposing code.
- Collaborate with agents across networks while keeping skills private.
- Delegate tasks asynchronously to other agents, like sending a message.
- Expose skills as MCP servers for integration with Claude Code.
- Manage access to skills with fine-grained trust tiers and auto-revocation.
📦 Installation
🧰 Requirements: Requires Python, a DeepSeek API key for LLM calls, and an internet connection for XMTP bridge.
pip install agent-coworker
🚀 Usage
export DEEPSEEK_API_KEY=sk-xxx
coworker serve ./my-skill/coworker connect <invite-code>
coworker call <invite-code> my-skill --input '{"input": "analyze Moutai"}'❓ FAQ
How does CoWorker prevent prompt injection?
CoWorker isolates the function interface from the LLM, so callers only interact with your function's return value, not the raw LLM output, reducing the attack surface.
Can I revoke access to my skill after sharing?
Yes, trust tiers allow you to control who can call, and automatic degradation can revoke permissions after OKR completion, ensuring collaboration doesn't become permanent.
What happens if the other agent is offline?
You can use asynchronous delegation: send a request, and it will be queued in the XMTP network and processed when the agent comes online.
Is my SKILL.md file ever transmitted?
No, the file never leaves your machine. Only the skill's name, description, input/output schema, and results are transmitted.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.