Install
openclaw skills install symbiontZero-trust AI agent governance for OpenClaw. Adds ORGA runtime, Cedar policy enforcement, SchemaPin tool verification, ClawHavoc skill scanning, and cryptogr...
openclaw skills install symbiontBring Symbiont's zero-trust AI agent governance to your OpenClaw workflow. Enforce Cedar authorization policies, verify MCP tool integrity with SchemaPin, scan skills with ClawHavoc, maintain cryptographic audit trails, and manage governed agents.
This skill is the OpenClaw counterpart to symbi-claude-code and symbi-gemini-cli. All three deliver the same Symbiont governance capabilities, adapted for each platform's skill/extension format.
A companion SOUL.md for the Symbiont governance agent personality is available separately on onlycrabs.ai.
jq for JSON parsing (apt install jq / brew install jq)symbi binary on PATH (optional; skill degrades gracefully without it)Install symbi:
# Via Homebrew (recommended)
brew tap thirdkeyai/tap && brew install symbi
# Or from source
cargo install symbi
# Or via Docker
docker pull ghcr.io/thirdkeyai/symbi:latest
After installing this skill:
agents/*.dslpolicies/*.cedarThis skill provides six governed workflows. Invoke them by describing what you need; the agent will follow the appropriate procedure.
Trigger: "Set up Symbiont governance", "Initialize a governed project", "Add agent governance to this repo"
Create the governed project scaffold in the current directory:
symbiont.toml already exists. If it does, confirm before overwriting.agents/ # Agent DSL definitions
policies/ # Cedar policy files
.symbiont/ # Local governance config and audit logs
.symbiont/audit/ # Audit log output
symbiont.toml with defaults:
[runtime]
security_tier = "tier1"
log_level = "info"
[policy]
engine = "cedar"
enforcement = "strict"
[schemapin]
mode = "tofu"
agents/assistant.dsl:
metadata {
version = "1.0.0"
description = "Default governed assistant"
}
agent assistant(input: Query) -> Response {
capabilities = ["read", "analyze"]
policy default_access {
allow: read(input) if true
deny: write(any) if not approved
audit: all_operations
}
with memory = "session" {
result = process(input)
return result
}
}
policies/default.cedar:
permit(
principal,
action == Action::"read",
resource
);
forbid(
principal,
action == Action::"write",
resource
) unless {
principal.approved == true
};
.symbiont/local-policy.toml with default deny rules:
[deny]
paths = [".env", ".ssh/", ".aws/", ".gnupg/", "credentials"]
commands = ["rm -rf", "git push --force", "mkfs", "dd if="]
branches = ["main", "master", "production"]
AGENTS.md manifest.Trigger: "Create a Cedar policy", "Edit authorization policy", "Add a policy for X"
Steps:
policies/*.cedar..cedar file using Cedar syntax.symbi is on PATH, validate with symbi policy validate policies/.Reference: Read references/cedar-patterns.md for common Cedar policy patterns.
Trigger: "Verify this MCP tool", "Check tool schema", "Is this tool signed?"
Steps:
symbi is on PATH, run symbi verify --tool <tool_name> --domain <domain>.Trigger: "Show audit logs", "What did the agent do?", "Review tool usage"
Steps:
.symbiont/audit/tool-usage.jsonl.symbi is on PATH, use symbi audit query for richer queries.Trigger: "Create an agent definition", "Write a DSL agent", "Validate my agent DSL"
Steps:
.dsl file in agents/.symbi is on PATH, validate with symbi dsl parse agents/<name>.dsl.AGENTS.md manifest.Reference: Read references/dsl-guide.md for DSL syntax and patterns.
Trigger: "Scan this skill", "Is this skill safe?", "Check for malicious patterns", "ClawHavoc scan"
Steps:
scripts/clawhavoc-scan.sh <skill-path> to check against 40+ built-in detection rules.The scanner covers: reverse shells, credential harvesting, network exfiltration, process injection, privilege escalation, symlink/path traversal, and downloader chains.
This skill provides three progressive levels of protection, matching symbi-claude-code and symbi-gemini-cli:
All tool calls proceed. State-modifying actions are logged to .symbiont/audit/tool-usage.jsonl for post-hoc review.
No symbi binary required. The scripts/audit-log.sh script handles logging.
Create .symbiont/local-policy.toml to block dangerous patterns:
[deny]
paths = [".env", ".ssh/", ".aws/"]
commands = ["rm -rf", "git push --force"]
branches = ["main", "master", "production"]
The scripts/policy-guard.sh script checks tool calls against this deny list. Built-in patterns (destructive commands, force pushes, writes to sensitive files) are always blocked regardless of config.
No symbi binary required. The same .symbiont/local-policy.toml works across symbi-claude-code, symbi-gemini-cli, and this skill.
If symbi is on PATH and policies/ exists, Cedar policies are evaluated for formal authorization decisions on every tool call.
Developer installs this skill into OpenClaw. The skill provides advisory policy checking, audit logging, and access to Symbiont MCP tools if symbi is on PATH.
Developer -> OpenClaw + symbiont skill -> symbi mcp (stdio)
Best for: individual developers adding governance awareness to their workflow.
Symbiont's CliExecutor spawns OpenClaw as a governed subprocess. The skill detects SYMBIONT_MANAGED=true and connects back to the parent runtime's MCP server instead of spawning a new one. The outer ORGA Gate provides hard enforcement that cannot be bypassed.
Symbiont Runtime (ORGA Loop)
-> CliExecutor (sandbox + budget enforcement)
-> OpenClaw (with symbiont skill)
-> Skill connects back to parent MCP server
Best for: automated pipelines, dark factory deployments, enterprise governance.
.symbiont/local-policy.toml before executing commands that modify files, run shell commands, or interact with git branches..symbiont/audit/tool-usage.jsonl..env, .ssh/, .aws/, etc.).SYMBIONT_MANAGED=true is set in the environment, defer all policy decisions to the parent Symbiont runtime via MCP.| Path | Purpose |
|---|---|
agents/*.dsl | Agent DSL definitions |
policies/*.cedar | Cedar authorization policies |
symbiont.toml | Symbiont runtime configuration |
AGENTS.md | Agent manifest |
.symbiont/audit/ | Audit log output |
.symbiont/local-policy.toml | Local deny list (Tier 2) |
| Aspect | Claude Code | Gemini CLI | OpenClaw |
|---|---|---|---|
| Format | Plugin (.claude-plugin/) | Extension (gemini-extension.json) | Skill (SKILL.md) |
| Commands | Markdown files | TOML files | Natural language triggers |
| MCP tool prefix | mcp__symbi__ | symbi__ | symbi__ (when connected) |
| Native policies | No | Yes (policies/*.toml) | No |
| Tool restriction | Allow list | Deny list (excludeTools) | Deny list (.symbiont/local-policy.toml) |
| Context file | CLAUDE.md | GEMINI.md | SOUL.md (via onlycrabs.ai) |
| Skill scanning | Via hook | Via hook | Built-in ClawHavoc scanner |
Apache 2.0
This project is not affiliated with, endorsed by, or sponsored by Anthropic PBC, Google LLC, or the OpenClaw project. "OpenClaw" and "ClawHub" are trademarks of their respective owners. "Symbiont" and "ThirdKey" are trademarks of ThirdKey AI.
brew install thirdkeyai/tap/symbi