{"id":"e90fe1d6-6d38-40aa-ab93-93e0e6000527","entityType":"agent","slug":"clawhub-maxfritzhand-bolta-skills-index","name":"Social Media Automation Skills Registry","canonicalUrl":"https://www.xpersona.co/agent/clawhub-maxfritzhand-bolta-skills-index","canonicalPath":"/agent/clawhub-maxfritzhand-bolta-skills-index","generatedAt":"2026-10-09T22:04:25.808Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":null},"description":"Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane Skill: Social Media Automation Skills Registry Owner: maxfritzhand Summary: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane Tags: latest:2.0.1, marketing-automation:0.1.0, publishing:0.1.0, social-media-automation:0.1.0, social-media-tools:0.1.0 Version history: v2.0.1 | 2026-04-06T00:34:54.284Z | user bolta-skills-index 2.0.1 - Updated metadata with new truste","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s177yvdsjmtw59b1me1c4wv4kh848ex6:bolta-skills-index","sourceUrl":"https://clawhub.ai/maxfritzhand/bolta-skills-index","homepage":"https://clawhub.ai/maxfritzhand/skills/bolta-skills-index","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/maxfritzhand/bolta-skills-index","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/maxfritzhand/skills/bolta-skills-index","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":57,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane Skill: Social Media Automation Skills Registry Owner: m"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":null},"stars":null,"forks":null,"downloads":1951,"packageName":null,"latestVersion":"2.0.1","tractionLabel":"2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T21:59:38.573Z","lastCrawledAt":"2026-10-09T21:59:38.573Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T21:59:38.573Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.1","createdAt":"2026-04-06T00:34:54.284Z","changelog":"bolta-skills-index 2.0.1 - Updated metadata with new trusted domain (`mcp.bolta.ai`) and endpoint definitions. - Added detailed documentation for Bolta API key types (regular vs agent), scopes, and security implications. - Clarified permission handling and agent roles for skill access and orchestration. - Linked to additional related repositories and API documentation resources. - No code logic or interface changes; documentation and metadata focused update.","fileCount":3,"zipByteSize":22578},{"version":"2.0.0","createdAt":"2026-04-06T00:07:21.773Z","changelog":"Skills are now in alignment wit h the BoltaClaw (Our version of OpenClaw) and able to interact properly with your agents on Bolta. You can create agents and jobs now too.","fileCount":2,"zipByteSize":17300},{"version":"0.5.4","createdAt":"2026-02-16T09:40:00.615Z","changelog":"- Metadata section added at the top with structured details on environment variables, permissions, dependencies, and trusted domains. - Visual security notice and checklist for credential and workspace verification introduced. - Clear guidance on credential management, rotation, scoping, and monitoring with dedicated best practices section. - No core functionality changes; documentation and security posture strengthened. - All previous setup, usage, and troubleshooting instructions remain and are reorganized/clarified.","fileCount":2,"zipByteSize":16981},{"version":"0.5.3","createdAt":"2026-02-16T09:08:08.305Z","changelog":"- Documentation updated with a new \"Installation & First Run\" section at the end of SKILL.md.","fileCount":2,"zipByteSize":16091},{"version":"0.5.2","createdAt":"2026-02-16T08:46:18.897Z","changelog":"No file changes were detected in this release (0.5.2). - Internal version bump; documentation and code remain unchanged from 0.5.1. - No impact on existing workflows or functionality.","fileCount":2,"zipByteSize":13588},{"version":"0.5.1","createdAt":"2026-02-16T08:44:27.496Z","changelog":"## bolta-skills-index v0.5.1 - Added explicit documentation about required environment variables: `BOLTA_API_KEY`, `BOLTA_WORKSPACE_ID`, and optionally `BOLTA_AGENT_ID` - Provided security best practices for API key storage and rotation - Updated setup instructions with concrete examples for various environments (CLI, Node.js, Claude Desktop MCP) - Clarified trusted domains and pre-installation checklist - No code changes or functionality updates—documentation and setup requirements only","fileCount":2,"zipByteSize":13625},{"version":"0.5.0","createdAt":"2026-02-16T08:35:13.355Z","changelog":"Version 0.5.0 introduces agent API setup instructions and troubleshooting to improve onboarding: - Added a comprehensive \"Getting Started: Agent API Setup\" section, including agent registration, environment configuration, and permissions guidance. - Included detailed troubleshooting steps for common API authentication and permission errors. - Provided step-by-step workflow for first-time users: from API setup to initial skill use and workspace policy configuration. - Main skill architecture and description unchanged from previous version.","fileCount":2,"zipByteSize":12279},{"version":"0.3.0","createdAt":"2026-02-16T08:22:16.273Z","changelog":"**Major update: Bolta Skills Registry now offers comprehensive skill discovery, compatibility, and orchestration for workspace onboarding and management.** - Rewritten purpose: Registry now includes full discovery, install set recommendation, orchestration, compatibility, and bootstrapping guidance. - New “planes” structure: Skills grouped into Voice, Content, Review, Automation, and Control planes, with detailed purpose and core principles for each. - Expanded skill index: Skills now include new listings (e.g., content repurposing, thread creation, recurring posts, trending topic response, compliance checks, quota status). - Each skill entry now includes: Path, purpose, inputs, outputs, permissions, Safe Mode compatibility, and typical usage/duration. - Detailed usage scenarios and flows: Onboarding, troubleshooting, workflow planning, and team governance are now described. - Enforces compatibility checks, quota enforcement, and autonomy/safety guardrails in registry recommendations.","fileCount":2,"zipByteSize":10774}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177yvdsjmtw59b1me1c4wv4kh848ex6:bolta-skills-index","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T22:04:25.804Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-maxfritzhand-bolta-skills-index/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":null},"readme":"Skill: Social Media Automation Skills Registry\n\nOwner: maxfritzhand\n\nSummary: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane\n\nTags: latest:2.0.1, marketing-automation:0.1.0, publishing:0.1.0, social-media-automation:0.1.0, social-media-tools:0.1.0\n\nVersion history:\n\nv2.0.1 | 2026-04-06T00:34:54.284Z | user\n\nbolta-skills-index 2.0.1\n\n- Updated metadata with new trusted domain (`mcp.bolta.ai`) and endpoint definitions.\n- Added detailed documentation for Bolta API key types (regular vs agent), scopes, and security implications.\n- Clarified permission handling and agent roles for skill access and orchestration.\n- Linked to additional related repositories and API documentation resources.\n- No code logic or interface changes; documentation and metadata focused update.\n\nv2.0.0 | 2026-04-06T00:07:21.773Z | user\n\nSkills are now in alignment wit h the BoltaClaw (Our version of OpenClaw) and able to interact properly with your agents on Bolta. You can create agents and jobs now too.\n\nv0.5.4 | 2026-02-16T09:40:00.615Z | user\n\n- Metadata section added at the top with structured details on environment variables, permissions, dependencies, and trusted domains.\n- Visual security notice and checklist for credential and workspace verification introduced.\n- Clear guidance on credential management, rotation, scoping, and monitoring with dedicated best practices section.\n- No core functionality changes; documentation and security posture strengthened.\n- All previous setup, usage, and troubleshooting instructions remain and are reorganized/clarified.\n\nv0.5.3 | 2026-02-16T09:08:08.305Z | user\n\n- Documentation updated with a new \"Installation & First Run\" section at the end of SKILL.md.\n\nv0.5.2 | 2026-02-16T08:46:18.897Z | user\n\nNo file changes were detected in this release (0.5.2).\n\n- Internal version bump; documentation and code remain unchanged from 0.5.1.\n- No impact on existing workflows or functionality.\n\nv0.5.1 | 2026-02-16T08:44:27.496Z | user\n\n## bolta-skills-index v0.5.1\n\n- Added explicit documentation about required environment variables: `BOLTA_API_KEY`, `BOLTA_WORKSPACE_ID`, and optionally `BOLTA_AGENT_ID`\n- Provided security best practices for API key storage and rotation\n- Updated setup instructions with concrete examples for various environments (CLI, Node.js, Claude Desktop MCP)\n- Clarified trusted domains and pre-installation checklist\n- No code changes or functionality updates—documentation and setup requirements only\n\nv0.5.0 | 2026-02-16T08:35:13.355Z | user\n\nVersion 0.5.0 introduces agent API setup instructions and troubleshooting to improve onboarding:\n\n- Added a comprehensive \"Getting Started: Agent API Setup\" section, including agent registration, environment configuration, and permissions guidance.\n- Included detailed troubleshooting steps for common API authentication and permission errors.\n- Provided step-by-step workflow for first-time users: from API setup to initial skill use and workspace policy configuration.\n- Main skill architecture and description unchanged from previous version.\n\nv0.3.0 | 2026-02-16T08:22:16.273Z | user\n\n**Major update: Bolta Skills Registry now offers comprehensive skill discovery, compatibility, and orchestration for workspace onboarding and management.**\n\n- Rewritten purpose: Registry now includes full discovery, install set recommendation, orchestration, compatibility, and bootstrapping guidance.\n- New “planes” structure: Skills grouped into Voice, Content, Review, Automation, and Control planes, with detailed purpose and core principles for each.\n- Expanded skill index: Skills now include new listings (e.g., content repurposing, thread creation, recurring posts, trending topic response, compliance checks, quota status).\n- Each skill entry now includes: Path, purpose, inputs, outputs, permissions, Safe Mode compatibility, and typical usage/duration.\n- Detailed usage scenarios and flows: Onboarding, troubleshooting, workflow planning, and team governance are now described.\n- Enforces compatibility checks, quota enforcement, and autonomy/safety guardrails in registry recommendations.\n\nv0.1.0 | 2026-02-16T08:06:25.742Z | auto\n\n- Introduced the Bolta Skills Registry as a centralized, structured index of all Bolta skills.\n- Skills are grouped by operational plane (Voice, Content, Review, Automation, Control) with descriptions and file references.\n- Provides workspace-based “Recommended install sets” for Assisted, Managed Automation, Autopilot, and Governance modes.\n- Orchestrates skill discovery and installation guidance; does not perform content operations itself.\n- Includes clear guidance for importing skills and accessing each skill’s full documentation.\n\nArchive index:\n\nArchive v2.0.1: 3 files, 22578 bytes\n\nFiles: skill-card.md (2517b), SKILL.md (72396b), _meta.json (137b)\n\nFile v2.0.1:SKILL.md\n\n---\nname: bolta.skills.index\nversion: 2.0.1\ndescription: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane\ncategory: registry\ntype: documentation\nroles_allowed: []\nagent_types: []\ntools_required: []\ninputs_schema:\n  type: object\n  description: \"This is a registry index, not a callable skill\"\n  properties: {}\noutputs_schema:\n  type: object\n  description: \"This is a registry index, not a callable skill\"\n  properties: {}\norganization: bolta.ai\nauthor: Max Fritzhand\n---\n\n## Metadata\n\n```json\n{\n  \"name\": \"bolta.skills.index\",\n  \"version\": \"2.0.0\",\n  \"publisher\": \"bolta.ai\",\n  \"verified\": true,\n  \"sourceRepository\": \"https://github.com/boltaai/bolta-skills\",\n  \"requiredEnvironmentVariables\": [\n    {\n      \"name\": \"BOLTA_API_KEY\",\n      \"required\": true,\n      \"sensitive\": true,\n      \"description\": \"Bolta API key (obtain at bolta.ai/register)\",\n      \"format\": \"sk_live_[64 characters]\",\n      \"scope\": \"workspace\"\n    },\n    {\n      \"name\": \"BOLTA_WORKSPACE_ID\",\n      \"required\": true,\n      \"sensitive\": false,\n      \"description\": \"Workspace UUID for API operations\",\n      \"format\": \"UUID\"\n    },\n    {\n      \"name\": \"BOLTA_AGENT_ID\",\n      \"required\": false,\n      \"sensitive\": false,\n      \"description\": \"Agent principal UUID (for audit logging)\",\n      \"format\": \"UUID\"\n    }\n  ],\n  \"trustedDomains\": [\n    \"platty.boltathread.com\",\n    \"bolta.ai\",\n    \"mcp.bolta.ai\"\n  ],\n  \"permissions\": [\n    \"network:https:platty.boltathread.com\",\n    \"network:https:bolta.ai\",\n    \"network:https:mcp.bolta.ai\"\n  ],\n  \"relatedRepositories\": [\n    {\n      \"name\": \"bolta-skills\",\n      \"description\": \"Official Bolta Skills Pack\",\n      \"url\": \"https://github.com/boltaai/bolta-skills\"\n    },\n    {\n      \"name\": \"boltaclaw-self-hosted\",\n      \"description\": \"Self-hosted Bolta agent runtime (BoltaClaw)\",\n      \"url\": \"https://github.com/boltaai/boltaclaw-self-hosted\"\n    }\n  ],\n  \"mcpEndpoint\": \"https://mcp.bolta.ai/mcp\",\n  \"apiDocumentation\": \"https://bolta.ai/docs/api\"\n}\n```\n\n## Security Notice\n\n**This skill requires sensitive API credentials. Read this section carefully before installing.**\n\n### Required Credentials\n\n**BOLTA_API_KEY** (REQUIRED, SENSITIVE)\n- **Format:** `bolta_sk_` followed by alphanumeric characters\n- **Obtain at:** https://bolta.ai/register (agent keys) or bolta.ai/settings (regular keys)\n- **Scoping:** Each key is scoped to a SINGLE workspace only\n- **Key Types:** Bolta issues two distinct key types (see [API Key Types](#api-key-types) below)\n- **Rotation:** Rotate every 90 days using `bolta.team.rotate_key` skill\n- **Storage:** NEVER commit to git - use environment variables or secret managers only\n\n**BOLTA_WORKSPACE_ID** (REQUIRED)\n- **Format:** UUID (e.g., `550e8400-e29b-41d4-a716-446655440000`)\n- **Source:** Provided during agent registration at bolta.ai/register\n- **Purpose:** Identifies which workspace the API key is authorized for\n\n**BOLTA_AGENT_ID** (OPTIONAL — required for Agent API keys)\n- **Format:** UUID\n- **Purpose:** Links API activity to specific agent principal for audit logs\n- **Benefit:** Enables traceability and compliance reporting\n- **Note:** Automatically set when using an Agent API key; must be provided manually with Regular API keys if audit attribution is desired\n\n### API Key Types\n\nBolta has **two distinct API key types** with different permission models. Skills must handle both correctly.\n\n#### Regular API Keys (`key_type: \"regular\"`)\n\nCreated in **Settings → API Keys** by workspace members. Use **granular permission scopes** — each key is issued with an explicit list of allowed scopes.\n\n**Available scopes:**\n\n| Scope | Description |\n|-|-|\n| `posts:read` | View posts and schedules |\n| `posts:write` | Create and update posts |\n| `posts:delete` | Delete posts and scheduled content |\n| `accounts:read` | View connected social accounts |\n| `accounts:connect` | Initiate OAuth connections |\n| `recurring:manage` | Manage recurring post suggestions |\n| `voice:read` | View brand voice profiles |\n| `voice:write` | Modify brand voice profiles |\n| `ai:generate` | Use AI content generation |\n| `content:bulk` | Perform bulk content operations |\n\n**Permission groups (shortcuts):**\n- **READ_ONLY** — `posts:read`, `accounts:read`, `voice:read`\n- **CONTENT_CREATOR** — READ_ONLY + `posts:write`, `ai:generate`\n- **FULL_ACCESS** — All scopes\n\n**When to use:** Integrations, CI/CD pipelines, custom scripts, third-party tools that need specific scopes.\n\n#### Agent API Keys (`key_type: \"agent\"`)\n\nCreated in **Settings → AI Agents → Add Agent** by workspace admins. Use **role-based permissions** — the key inherits all scopes from the assigned agent role, plus agent-specific scopes not available to regular keys.\n\n**Agent roles and their scopes:**\n\n| Role | Scopes | Best for |\n|-|-|-|\n| `viewer` | `posts:read`, `accounts:read`, `voice:read`, `workspace:read` | Monitoring, reporting agents |\n| `creator` | viewer + `posts:write`, `voice:write`, `ai:generate`, `review:submit`, `recurring:manage` | Content drafting agents (recommended default) |\n| `editor` | creator + `posts:delete`, `review:approve`, `content:bulk`, `audit:export`, `team:manage_keys` | Content managers, approval workflows |\n| `admin` | editor + `accounts:connect`, `team:manage` | Orchestrator agents, workspace automation |\n\n**Agent-only scopes** (not available on regular keys):\n\n| Scope | Description |\n|-|-|\n| `workspace:read` | View workspace policy and capabilities |\n| `review:submit` | Submit content for approval |\n| `review:approve` | Approve and route reviewed content |\n| `audit:export` | Export workspace audit and activity logs |\n| `team:manage` | Create and manage agent teammates |\n| `team:manage_keys` | Rotate and manage API keys |\n\n**Additional agent key behaviors:**\n- **Safe Mode** is always enforced for `creator` role agents\n- **Review required** — creator agents cannot publish directly; content goes through approval\n- Agent keys carry an `agent_id` that is automatically used for audit attribution\n- Agent keys link to an `AgentPrincipal` record for identity tracking\n\n#### Skill Plane Access by Role\n\nAgent roles determine which skill planes are accessible. Skills should check the caller's role before executing plane-restricted operations.\n\n| Skill Plane | Min Role | Skills |\n|-|-|-|\n| Review | `viewer` | Inbox triage, approve/reject, review digest |\n| Control | `viewer` | Audit export, key rotation, quota status, workspace config |\n| Init (Voice) | `creator` | Voice bootstrap, learn from samples |\n| Content | `creator` | Draft post, week plan, list recent posts |\n| Automation | `creator` | Cron generate & schedule, generate to review |\n\nA `viewer` can access Review and Control planes. A `creator` can access all planes. `editor` and `admin` can access all planes with additional capabilities within each.\n\n#### How Skills Should Handle Key Types\n\n1. **Check `key_type` on the API response** — the server returns `key_type: \"regular\" | \"agent\"` on authenticated responses\n2. **Regular keys:** Validate required scopes exist in the key's `permissions` array before executing\n3. **Agent keys:** The role determines capabilities — check the role rather than individual scopes\n4. **Agent-only operations** (review workflows, audit export, team management) — reject if `key_type` is `\"regular\"` since these scopes are not available\n5. **Audit attribution:** If `key_type` is `\"agent\"`, the `agent_id` is automatically attached; for regular keys, pass `BOLTA_AGENT_ID` env var if attribution is needed\n\n### Trusted Network Endpoints\n\nThis skill makes HTTPS requests to:\n- `https://platty.boltathread.com` - Bolta API server\n- `https://bolta.ai` - Main application and agent registration portal\n- `https://mcp.bolta.ai` - MCP protocol endpoint (for Claude Desktop / Claude Code)\n\n**No other domains are contacted.** All requests are authenticated with your API key.\n\n### Related Projects & Resources\n\n- **Bolta Skills Pack** — Official skills repository\n  - **Source:** https://github.com/boltaai/bolta-skills\n- **BoltaClaw** — Self-hosted Bolta agent runtime\n  - **Source:** https://github.com/boltaai/boltaclaw-self-hosted\n- **Bolta MCP Server** — Remote MCP endpoint for Claude Desktop / Claude Code integration\n  - **Endpoint:** `https://mcp.bolta.ai/mcp`\n- **Bolta API Documentation** — Full API reference\n  - **Docs:** https://bolta.ai/docs/api\n\n### Pre-Installation Checklist\n\nBefore installing this skill, you MUST:\n- [ ] Verify the source repository: https://github.com/boltaai/bolta-skills\n- [ ] Review the SKILL.md and confirm version matches metadata (currently 2.0.1)\n- [ ] Obtain a LEAST-PRIVILEGE API key from https://bolta.ai/register\n- [ ] Store API key in environment variables (NEVER hardcode or commit)\n- [ ] Verify you trust the domains: `platty.boltathread.com`, `bolta.ai`, and `mcp.bolta.ai`\n- [ ] Test in a disposable/test workspace first (recommended)\n- [ ] Confirm your API key is scoped ONLY to the intended workspace\n\n### Security Best Practices\n\n1. **Credential Management**\n   - Use environment variables: `export BOLTA_API_KEY=\"sk_live_...\"`\n   - Or use secret managers: AWS Secrets Manager, 1Password, etc.\n   - NEVER paste API keys in chat, logs, or public places\n\n2. **Key Rotation**\n   - Rotate keys every 90 days minimum\n   - Use `bolta.team.rotate_key` skill for zero-downtime rotation\n   - Revoke compromised keys immediately at bolta.ai/settings\n\n3. **Permission Scoping**\n   - Grant ONLY required permissions (e.g., `posts:write`, `voice:read`)\n   - Avoid `workspace:admin` unless absolutely necessary\n   - Review permissions quarterly\n\n4. **Monitoring**\n   - Review audit logs weekly via `bolta.audit.export_activity`\n   - Monitor quota usage via `bolta.quota.status`\n   - Set up alerts for unusual API activity\n\n5. **Workspace Isolation**\n   - One API key per workspace (NEVER share keys across workspaces)\n   - Use separate keys for dev/staging/production environments\n   - Revoke keys when decommissioning workspaces\n\n---\n\n## Purpose\n\n**The canonical registry and orchestration layer for all Bolta skills.**\n\nThis skill serves as the single source of truth for skill discovery, installation recommendations, and workspace-aware capability bootstrapping. It does not execute content operations directly — instead, it provides intelligent routing to the appropriate skills based on:\n- **Workspace policy** (Safe Mode, autonomy mode, quotas)\n- **Principal identity** (user role, agent permissions)\n- **Operational context** (what you're trying to accomplish)\n\n**Key Responsibilities:**\n1. **Discovery** - Index all available skills with metadata\n2. **Recommendation** - Suggest install sets based on workspace policy and role\n3. **Orchestration** - Guide multi-skill workflows\n4. **Compatibility** - Enforce skill compatibility with workspace settings\n5. **Bootstrapping** - Help new workspaces get started quickly\n\n**When to Use:**\n- Setting up a new workspace (\"What skills should I install?\")\n- Discovering available capabilities (\"What can Bolta do?\")\n- Troubleshooting skill compatibility (\"Why can't I use this skill?\")\n- Planning multi-step workflows (\"Which skills do I need?\")\n\n**Data Access:**\nThis skill accesses:\n- Workspace configuration (policy, quotas, autonomy mode)\n- Voice profile metadata (names, IDs, not full content)\n- Post counts and quota usage\n- Agent principal types\n\nThis skill does NOT access:\n- Post content or scheduled posts\n- Social media credentials\n- User passwords or authentication tokens\n- Files or media uploads\n\n## Source & Verification\n\nhttps://github.com/boltaai/bolta-skills\n\n---\n\n## Bolta Ecosystem: How It All Fits Together\n\nBolta is composed of four interconnected pieces. Understanding how they relate helps you choose the right setup path.\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                      bolta.ai                               │\n│            Workspace management, dashboards,                │\n│            account connections, review UI                    │\n│                                                             │\n│  API Docs: https://bolta.ai/docs/api                       │\n└──────────────────────┬──────────────────────────────────────┘\n                       │ REST API\n                       ▼\n┌──────────────────────────────────────────────────────────────┐\n│                  MCP Server (mcp.bolta.ai/mcp)               │\n│     Bridges Claude Desktop / Claude Code to the Bolta API    │\n│     Exposes workspace tools: create posts, manage agents,    │\n│     approve content, run analytics — all via MCP protocol    │\n└──────────────────────┬───────────────────────────────────────┘\n                       │ uses\n                       ▼\n┌──────────────────────────────────────────────────────────────┐\n│            Bolta Skills Pack (this repo)                      │\n│     github.com/boltaai/bolta-skills                          │\n│                                                              │\n│     Structured prompts, workflows, and orchestration logic   │\n│     that teach AI agents HOW to use the API effectively:     │\n│     voice creation, content planning, review flows,          │\n│     automation, analytics, engagement, governance            │\n└──────────────────────────────────────────────────────────────┘\n\n┌──────────────────────────────────────────────────────────────┐\n│            BoltaClaw (turnkey self-hosted runtime)            │\n│     github.com/boltaai/boltaclaw-self-hosted                 │\n│                                                              │\n│     Everything above — pre-configured and ready to run.      │\n│     Ships with the skills pack, MCP integration, agent       │\n│     runtime, cron scheduler, and CLI out of the box.         │\n│     Clone, set your API key, and go.                         │\n└──────────────────────────────────────────────────────────────┘\n```\n\n### How they work together\n\n1. **The API** (`bolta.ai/docs/api`) is the foundation — every operation (creating posts, managing agents, approving content) flows through it. You can call it directly with `curl` or any HTTP client.\n\n2. **The MCP Server** (`mcp.bolta.ai/mcp`) wraps the API into the MCP protocol so Claude Desktop and Claude Code can call Bolta tools natively. Point your MCP config at the endpoint and your AI assistant gains full workspace access.\n\n3. **The Skills Pack** (`github.com/boltaai/bolta-skills`) provides the intelligence layer — structured prompts and multi-step workflows that teach agents *how* to use the API well. Skills handle things like voice-aware drafting, week planning, review triage, and cron automation that go beyond raw API calls.\n\n4. **BoltaClaw** (`github.com/boltaai/boltaclaw-self-hosted`) is the turnkey solution. It bundles the skills pack, MCP connectivity, agent runtime, job scheduler, and a **CLI** into a single self-hosted package. The CLI lets you manage posts, agents, jobs, and workspace settings directly from your terminal — no browser required. If you want to skip manual setup and get a fully operational Bolta agent running on your own infrastructure, BoltaClaw is the fastest path — clone, configure your API key, and you're live.\n\n### Which path is right for you?\n\n| Goal | Start here |\n|-|-|\n| Explore the API directly | [API Docs](https://bolta.ai/docs/api) |\n| Add Bolta tools to Claude Desktop / Claude Code | [MCP Server](https://mcp.bolta.ai/mcp) — configure the endpoint |\n| Customize agent workflows and prompts | [Skills Pack](https://github.com/boltaai/bolta-skills) — clone and adapt |\n| Manage Bolta from the terminal (CLI) | [BoltaClaw](https://github.com/boltaai/boltaclaw-self-hosted) — includes the CLI |\n| Get everything running immediately, self-hosted | [BoltaClaw](https://github.com/boltaai/boltaclaw-self-hosted) — turnkey, pre-configured |\n\n---\n\n## Getting Started: API Setup\n\nBefore using Bolta skills, you need an API key. Choose the path that matches your use case.\n\n### Path A: Agent API Key (Recommended for AI Agents)\n\nUse this if you're setting up an AI agent (Claude, BoltaClaw, custom agent) to operate as a workspace member.\n\n#### Step 1: Create Agent Principal\n\nGo to **Settings → AI Agents → Add Agent** in your Bolta workspace.\n\nConfigure:\n- **Agent Name** — Human-readable name for audit logs (e.g., \"Claude Content Agent\")\n- **Agent Role** — Determines permissions and skill plane access:\n\n| Role | What it can do | Recommended for |\n|-|-|-|\n| `creator` | Draft content, use voice profiles, submit for review | Most agents (default) |\n| `viewer` | Read-only access to all content | Monitoring / reporting |\n| `editor` | Full content management + approvals | Approval workflow agents |\n| `admin` | Everything + agent/account management | Orchestrators only |\n\n**Recommendation:** Start with `creator` role. Safe Mode is enforced and all content requires human review.\n\n#### Step 2: Copy Your Agent API Key\n\nAfter creation, you'll see the full key **once**:\n\n```\nAPI Key: bolta_sk_00000000000000000000000000000000\nWorkspace ID: 550e8400-e29b-41d4-a716-446655440000\nAgent ID: 660e8400-e29b-41d4-a716-446655440001\n```\n\nThe agent ID is automatically linked — no need to set `BOLTA_AGENT_ID` separately.\n\n### Path B: Regular API Key (For Integrations & Scripts)\n\nUse this for CI/CD pipelines, custom integrations, or scripts that need specific scopes.\n\n#### Step 1: Create API Key\n\nGo to **Settings → API Keys → Create New Key**.\n\nSelect **only the scopes you need** (least privilege):\n- Content creation: `posts:write`, `voice:read`\n- Full content: `posts:read`, `posts:write`, `voice:read`, `ai:generate`\n- Read-only: `posts:read`, `accounts:read`, `voice:read`\n\n**Note:** Regular keys cannot access agent-only scopes (`review:submit`, `review:approve`, `audit:export`, `team:manage`, `team:manage_keys`, `workspace:read`). If you need those, use an Agent API key instead.\n\n#### Step 2: Copy Your API Key\n\n```\nAPI Key: bolta_sk_00000000000000000000000000000000\n```\n\n**IMPORTANT:** The full key is shown only once and cannot be recovered (only regenerated via `bolta.team.rotate_key`).\n\n### Configure Your Environment (Both Key Types)\n\n**Set Required Environment Variables:**\n\n```bash\n# Required: Your Bolta API key (agent or regular)\nexport BOLTA_API_KEY=\"bolta_sk_your_actual_key_here\"\n\n# Required: Your workspace UUID\nexport BOLTA_WORKSPACE_ID=\"550e8400-e29b-41d4-a716-446655440000\"\n\n# Optional: Agent principal UUID (automatic for agent keys, manual for regular keys)\nexport BOLTA_AGENT_ID=\"660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**For Claude Desktop / Claude Code (MCP):**\n\nConnect via the remote MCP endpoint at `https://mcp.bolta.ai/mcp`:\n\n```json\n{\n  \"mcpServers\": {\n    \"bolta\": {\n      \"type\": \"url\",\n      \"url\": \"https://mcp.bolta.ai/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer bolta_sk_your_actual_key_here\",\n        \"X-Workspace-ID\": \"550e8400-e29b-41d4-a716-446655440000\"\n      }\n    }\n  }\n}\n```\n\n**For self-hosted deployments**, see [BoltaClaw](https://github.com/boltaai/boltaclaw-self-hosted) for running your own agent runtime.\n\n**For Direct API Calls:**\n\nSee the full [API documentation](https://bolta.ai/docs/api) for all available endpoints.\n\n```bash\ncurl https://platty.boltathread.com/v1/posts \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\" \\\n  -H \"X-Workspace-ID: ${BOLTA_WORKSPACE_ID}\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"prompt\": \"Create a post about productivity\" }'\n```\n\n**Security Reminder:**\n- Never hardcode API keys in your code\n- Use `.env` files locally (add `.env` to `.gitignore`)\n- Use secret managers in production (AWS Secrets Manager, Vercel Secrets, etc.)\n- Rotate keys every 90 days via `bolta.team.rotate_key`\n\n### Verify Setup\n\nTest your configuration:\n\n```bash\ncurl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\"\n\n# Expected response:\n# {\n#   \"id\": \"550e8400-...\",\n#   \"name\": \"My Workspace\",\n#   \"safe_mode\": true,\n#   \"autonomy_mode\": \"managed\",\n#   \"max_posts_per_day\": 100,\n#   \"key_type\": \"agent\",        ← indicates which key type authenticated\n#   \"agent_role\": \"creator\"     ← present only for agent keys\n# }\n```\n\n### Troubleshooting Setup\n\n**Error: \"Invalid API Key\"**\n- Verify key matches exactly (no extra spaces)\n- Check if key was rotated — get new key at bolta.ai/settings\n- Ensure you're using the correct workspace key\n- Confirm key prefix starts with `bolta_sk_`\n\n**Error: \"Workspace Not Found\"**\n- Verify workspace_id matches your registration\n- Confirm you have access to this workspace (visit bolta.ai/workspaces)\n- Check if workspace was deleted\n\n**Error: \"Permission Denied\"**\n- **Regular keys:** Check granted scopes at Settings → API Keys\n  - Content creation: Need `posts:write` minimum\n  - Voice access: Need `voice:read` or `voice:write`\n- **Agent keys:** Check agent role at Settings → AI Agents\n  - Content creation: Need `creator` role or higher\n  - Approvals: Need `editor` role or higher\n  - Agent management: Need `admin` role\n- Agent-only scopes (`review:submit`, `audit:export`, etc.) are not available on regular keys — switch to an Agent API key if you need them\n\n**Error: \"Insufficient Role\"** (Agent keys only)\n- The agent's role doesn't have access to the requested skill plane\n- `viewer` cannot access Init, Content, or Automation planes\n- Upgrade the agent role at Settings → AI Agents, or use a different agent\n\n---\n\n## Installation & First Run\n\n### Skill Pack Installation\n\n**Option 1: Install Full Skill Pack (Recommended)**\n\n```bash\n# Clone the complete Bolta skills repository\ngit clone https://github.com/boltaai/bolta-skills.git\n\n# Or download the latest release\ncurl -L https://github.com/boltaai/bolta-skills/archive/refs/heads/main.zip -o bolta-skills.zip\nunzip bolta-skills.zip\n```\n\n**What You Get:**\n```\nbolta-skills/\n├── README.md                    # START HERE - Complete getting started guide\n├── skills/\n│   ├── bolta.skills.index/      # You're here (registry)\n│   ├── voice-plane/\n│   │   ├── bolta.voice.bootstrap/\n│   │   └── bolta.voice.learn_from_samples/\n│   ├── content-plane/\n│   │   ├── bolta.draft.post/\n│   │   ├── bolta.draft_post/\n│   │   ├── bolta.get_account_info/\n│   │   ├── bolta.get_business_context/\n│   │   ├── bolta.get_voice_profile/\n│   │   ├── bolta.list_recent_posts/\n│   │   ├── bolta.loop.from_template/\n│   │   └── bolta.week.plan/\n│   ├── review-plane/\n│   │   ├── bolta.add_comment/\n│   │   ├── bolta.approve_post/\n│   │   ├── bolta.reject_post/\n│   │   ├── bolta.inbox.triage/\n│   │   ├── bolta.review.approve_and_route/\n│   │   └── bolta.review.digest/\n│   ├── automation-plane/\n│   │   ├── bolta.cron.generate_to_review/\n│   │   └── bolta.cron.generate_and_schedule/\n│   ├── agent-plane/\n│   │   ├── bolta.agent.activate_job/\n│   │   ├── bolta.agent.configure/\n│   │   ├── bolta.agent.hire/\n│   │   ├── bolta.agent.memory/\n│   │   ├── bolta.agent.mention/\n│   │   └── bolta.job.execute/\n│   ├── analytics-plane/\n│   │   ├── bolta.get_audience_insights/\n│   │   ├── bolta.get_best_posting_times/\n│   │   └── bolta.get_post_metrics/\n│   ├── engagement-plane/\n│   │   ├── bolta.get_comments/\n│   │   ├── bolta.get_mentions/\n│   │   └── bolta.reply_to_mention/\n│   └── control-plane/\n│       ├── bolta.team.create_agent_teammate/\n│       ├── bolta.team.rotate_key/\n│       ├── bolta.policy.explain/\n│       ├── bolta.audit.export_activity/\n│       ├── bolta.quota.status/\n│       └── bolta.workspace.config/\n├── docs/\n│   ├── getting-started.md\n│   ├── autonomy-modes.md\n│   ├── safe-mode.md\n│   ├── automation-setup.md\n│   └── multi-agent.md\n```\n\n**Option 2: Install Individual Skills (Manual)**\n\n```bash\n# Install voice bootstrap skill\ncurl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/voice-plane/bolta.voice.bootstrap/SKILL.md \\\n  -o bolta.voice.bootstrap.md\n\n# Install draft post skill\ncurl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/content-plane/bolta.draft.post/SKILL.md \\\n  -o bolta.draft.post.md\n```\n\n### First Run: Read the README\n\n**IMPORTANT: After installation, read the README for complete setup instructions.**\n\n**What the README Covers:**\n1. Prerequisites and system requirements\n2. Installation verification\n3. Environment variable configuration\n4. First skill execution (test workflow)\n5. Troubleshooting common issues\n6. Recommended skill installation order\n7. Best practices for production use\n\n### Recommended First-Run Flow\n\n**Step 1: Read Documentation**\n```bash\n# Must-read files in order:\n# 1. README.md              - Complete getting started guide\n# 2. docs/getting-started.md - Quickstart tutorial\n# 3. docs/autonomy-modes.md  - Understand autonomy levels\n# 4. docs/safe-mode.md       - Understand safety controls\n```\n\n**Step 2: Verify Installation**\n```bash\n# Check that all skills are present\nls -la skills/*/SKILL.md skills/*/*/SKILL.md\n\n# Should see 36+ skills across 8 planes\n```\n\n**Step 3: Configure Agent**\n```bash\nexport BOLTA_API_KEY=\"sk_live_...\"\nexport BOLTA_WORKSPACE_ID=\"...\"\n\n# Test API connectivity\ncurl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\"\n```\n\n**Step 4: Install Recommended Skills**\n```bash\n# The registry will recommend skills based on your:\n# - Safe Mode setting\n# - Autonomy mode\n# - User role\n# - Current quotas\n```\n\n### Common First-Run Mistakes\n\n1. **Skipping the README** - Installing skills without reading README\n2. **Missing Environment Variables** - Running skills without BOLTA_API_KEY set\n3. **Installing Skills Out of Order** - Running bolta.draft.post before creating voice profile\n4. **Not Understanding Autonomy Modes** - Using autopilot mode without understanding routing\n5. **Hardcoding API Keys** - Putting API keys directly in skill files instead of env vars\n\n### Post-Installation Checklist\n\n- [ ] README.md has been read\n- [ ] Environment variables set (BOLTA_API_KEY, BOLTA_WORKSPACE_ID)\n- [ ] All 36+ skills present in skills/ directory\n- [ ] docs/ directory contains markdown files\n- [ ] API connectivity verified (test curl command works)\n- [ ] MCP endpoint configured (if using Claude Desktop / Claude Code — see mcp.bolta.ai/mcp)\n- [ ] Workspace policy reviewed (safe_mode, autonomy_mode)\n- [ ] First skill executed successfully (test run)\n- [ ] Autonomy mode documentation read (docs/autonomy-modes.md)\n- [ ] Safe Mode documentation read (docs/safe-mode.md)\n\n### Next Steps After Setup\n\n1. **Create Voice Profile** (if new workspace)\n   - Run: `bolta.voice.bootstrap`\n   - Establishes your brand voice\n\n2. **Test Content Creation**\n   - Run: `bolta.draft.post` or `bolta.draft_post`\n   - Creates a test post in Draft status\n\n3. **Install Recommended Skills**\n   - Run: `bolta.skills.index`\n   - Returns personalized skill recommendations\n\n4. **Configure Workspace**\n   - Review: Safe Mode (ON/OFF)\n   - Review: Autonomy Mode (assisted/managed/autopilot)\n   - Set: Daily quota limits\n\n---\n\n## Architecture: The Eight Planes\n\nSkills are organized into **planes** — logical groupings that separate concerns and enable modular capability composition. V2 expands from five planes to eight, adding Agent, Analytics, and Engagement planes.\n\n### Plane 0: Voice\n**Purpose:** Brand voice creation, evolution, and validation\n\nVoice is the foundation of all content operations. These skills help establish, refine, and maintain consistent brand voice across all generated content.\n\n**Core Principle:** Voice should be learned from examples, validated against real content, and evolved over time.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.voice.bootstrap` | Interactive voice profile creation from scratch |\n| `bolta.voice.learn_from_samples` | Extract voice patterns from existing content |\n| `bolta.voice.evolve` | Refine voice based on approved posts (planned) |\n| `bolta.voice.validate` | Score content against voice profile 0-100 (planned) |\n\n**Typical Flow:**\n1. Bootstrap initial voice profile\n2. Learn from sample content\n3. Validate generated content\n4. Evolve voice as brand matures\n\n---\n\n### Plane 1: Content\n**Purpose:** Content creation, planning, data retrieval, and scheduling\n\nThe execution layer for post creation. These skills transform ideas into scheduled social media posts, and provide workspace context for informed content decisions.\n\n**Core Principle:** Content should be intentional, planned, and aligned with voice.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.draft.post` | Create a single post in Draft status (original interface) |\n| `bolta.draft_post` | Create a draft post using workspace voice profile, routes to Inbox |\n| `bolta.get_account_info` | Retrieve connected social account details |\n| `bolta.get_business_context` | Fetch workspace business DNA and context |\n| `bolta.get_voice_profile` | Read voice profile configuration |\n| `bolta.list_recent_posts` | List recent posts for context and continuity |\n| `bolta.loop.from_template` | Generate multiple posts from a template (deprecated) |\n| `bolta.week.plan` | Plan a week's worth of content with scheduling |\n\n**Output:** Draft or Scheduled posts (subject to Safe Mode routing)\n\n---\n\n### Plane 2: Review\n**Purpose:** Human-in-the-loop review, approval, and feedback workflows\n\nEnables teams to review, approve, reject, and provide feedback on agent-generated content before publishing.\n\n**Core Principle:** Autonomy with oversight — agents generate, humans decide.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.add_comment` | Add feedback comments to posts under review |\n| `bolta.approve_post` | Approve a draft, moving it to Approved status |\n| `bolta.reject_post` | Reject a draft with feedback for revision |\n| `bolta.inbox.triage` | Organize pending posts by priority/topic |\n| `bolta.review.digest` | Daily summary of posts awaiting review |\n| `bolta.review.approve_and_route` | Bulk approve + schedule posts |\n\n**Typical Flow:**\n1. Agent creates posts -> Pending Approval\n2. `review.digest` sends daily summary\n3. Human reviews via `inbox.triage`\n4. Approve/reject individual posts or bulk approve via `approve_and_route`\n\n---\n\n### Plane 3: Automation\n**Purpose:** Scheduled, recurring, and autonomous content generation\n\nThe autonomy layer. These skills enable hands-off content operations with guardrails.\n\n**Core Principle:** Predictable automation with quota enforcement and safety nets.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.cron.generate_to_review` | Daily content generation -> Pending Approval |\n| `bolta.cron.generate_and_schedule` | Autonomous scheduling (requires Safe Mode OFF) |\n\n**Safety Guardrails:**\n- Quota enforcement (max posts/day, max API requests/hour)\n- Job run tracking (observability for all executions)\n- Autonomy mode compatibility checks\n- Safe Mode routing (autopilot incompatible with Safe Mode ON)\n\n---\n\n### Plane 4: Agent\n**Purpose:** AI agent lifecycle management — hiring, configuration, job activation, and memory\n\nV2 introduces a dedicated agent plane for managing AI teammates that operate autonomously within your workspace.\n\n**Core Principle:** Agents are first-class principals with defined roles, jobs, and memory.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.agent.hire` | Create and onboard a new AI agent from marketplace presets |\n| `bolta.agent.configure` | Update agent settings, permissions, and job parameters |\n| `bolta.agent.activate_job` | Activate or pause an agent's scheduled job |\n| `bolta.agent.memory` | Read/write agent memory for cross-session context |\n| `bolta.agent.mention` | Notify or hand off work to another agent |\n| `bolta.job.execute` | Documentation for job execution lifecycle |\n\n**Typical Flow:**\n1. Hire an agent from presets (`agent.hire`)\n2. Configure agent settings and jobs (`agent.configure`)\n3. Activate the job to start autonomous work (`agent.activate_job`)\n4. Agent builds memory over time (`agent.memory`)\n5. Agents collaborate via mentions (`agent.mention`)\n\n---\n\n### Plane 5: Analytics\n**Purpose:** Performance measurement, audience insights, and posting optimization\n\nProvides data-driven insights to inform content strategy and measure impact.\n\n**Core Principle:** Measure what matters, optimize what works.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.get_post_metrics` | Retrieve performance metrics (likes, comments, shares, views) |\n| `bolta.get_best_posting_times` | Analyze historical data for optimal posting windows |\n| `bolta.get_audience_insights` | Audience demographics, growth trends, engagement patterns |\n\n---\n\n### Plane 6: Engagement\n**Purpose:** Community interaction — monitoring mentions, replying, and managing conversations\n\nCloses the feedback loop between publishing and audience interaction.\n\n**Core Principle:** Respond authentically in brand voice, escalate what needs human judgment.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.get_comments` | Retrieve comments on published posts |\n| `bolta.get_mentions` | Monitor brand mentions across platforms |\n| `bolta.reply_to_mention` | Draft a reply maintaining brand voice |\n\n---\n\n### Plane 7: Control\n**Purpose:** Workspace governance, policy, security, and audit\n\nThe management layer for teams, permissions, security, and compliance.\n\n**Core Principle:** Visibility and control for workspace administrators.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.team.create_agent_teammate` | Provision agent principals with specific roles |\n| `bolta.team.rotate_key` | Rotate API keys for security |\n| `bolta.policy.explain` | Explain authorization decisions (\"Why was this blocked?\") |\n| `bolta.audit.export_activity` | Export audit logs (PostActivity, JobRuns) |\n| `bolta.quota.status` | View current quota usage (daily posts, hourly API calls) |\n| `bolta.workspace.config` | View/update autonomy mode, Safe Mode, quotas |\n\n**Typical Use Cases:**\n- Onboarding new team members (human or agent)\n- Investigating authorization failures\n- Compliance reporting (SOC2, GDPR data exports)\n- Quota monitoring and adjustment\n\n---\n\n## Full Skill Index\n\n### Voice Plane Skills\n\n#### bolta.voice.bootstrap\n**Path:** `skills/voice-plane/bolta.voice.bootstrap/SKILL.md`\n**Purpose:** Interactive voice profile creation wizard\n**Inputs:** Brand name, industry, target audience, sample content\n**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)\n**Permissions:** `voice:write`\n**Safe Mode:** Compatible\n**Roles:** Viewer, Creator, Editor, Admin\n**Typical Duration:** 5-10 minutes (interactive)\n\n#### bolta.voice.learn_from_samples\n**Path:** `skills/voice-plane/bolta.voice.learn_from_samples/SKILL.md`\n**Purpose:** Extract voice patterns from existing content\n**Inputs:** URLs or text samples (3-10 examples)\n**Outputs:** Voice profile draft with auto-detected patterns\n**Permissions:** `voice:write`\n**Safe Mode:** Compatible\n**Typical Duration:** 2-3 minutes\n\n#### bolta.voice.evolve (planned)\n**Purpose:** Refine voice based on approved posts\n**Inputs:** Date range for approved posts\n**Outputs:** Updated VoiceProfile (version incremented)\n**Permissions:** `voice:write`, `posts:read`\n**Safe Mode:** Compatible\n\n#### bolta.voice.validate (planned)\n**Purpose:** Score content against voice profile\n**Inputs:** Post ID or content text\n**Outputs:** Compliance score (0-100), deviation report\n**Permissions:** `voice:read`, `posts:read`\n**Safe Mode:** Compatible\n\n---\n\n### Content Plane Skills\n\n#### bolta.draft.post\n**Path:** `skills/content-plane/bolta.draft.post/SKILL.md`\n**Purpose:** Create a single post in Draft status (original interface)\n**Inputs:** Topic, platform(s), optional voice profile ID\n**Outputs:** Post ID (Draft status)\n**Permissions:** `posts:write`\n**Safe Mode:** Always routes to Draft\n**Autonomy Mode:** Respects assisted/managed routing\n**Quota Impact:** +1 to daily post count\n**Typical Duration:** 30-60 seconds\n\n#### bolta.draft_post\n**Path:** `skills/content-plane/bolta.draft_post/SKILL.md`\n**Purpose:** Create a draft post using workspace voice profile, routes to Inbox for review\n**Inputs:** content, platform, account_id, optional voice_profile_id\n**Outputs:** Post ID (Draft/Inbox status)\n**Permissions:** `posts:write`\n**Safe Mode:** Always routes to Inbox\n**Roles:** Viewer, Creator, Editor, Admin\n**Safe Defaults:** never_publish_directly, always_route_to_inbox\n\n#### bolta.get_account_info\n**Path:** `skills/content-plane/bolta.get_account_info/SKILL.md`\n**Purpose:** Retrieve connected social account details\n**Inputs:** account_id (optional, returns all if omitted)\n**Outputs:** Account metadata (platform, handle, status)\n**Permissions:** `accounts:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_business_context\n**Path:** `skills/content-plane/bolta.get_business_context/SKILL.md`\n**Purpose:** Fetch workspace business DNA and context\n**Inputs:** workspace_id\n**Outputs:** Business DNA (industry, audience, positioning)\n**Permissions:** `workspace:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_voice_profile\n**Path:** `skills/content-plane/bolta.get_voice_profile/SKILL.md`\n**Purpose:** Read voice profile configuration\n**Inputs:** voice_profile_id (optional, returns active if omitted)\n**Outputs:** Voice profile (tone, style, constraints)\n**Permissions:** `voice:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.list_recent_posts\n**Path:** `skills/content-plane/bolta.list_recent_posts/SKILL.md`\n**Purpose:** List recent posts for context and continuity\n**Inputs:** account_id, limit, status filter\n**Outputs:** Array of recent posts with metadata\n**Permissions:** `posts:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.loop.from_template (deprecated)\n**Path:** `skills/content-plane/bolta.loop.from_template/SKILL.md`\n**Purpose:** Generate multiple posts from a template\n**Inputs:** Template ID, count (1-50), variation parameters\n**Outputs:** Array of Post IDs\n**Permissions:** `posts:write`, `templates:read`\n**Note:** Deprecated in V2. Use `bolta.agent.hire` with template-based presets instead.\n\n#### bolta.week.plan\n**Path:** `skills/content-plane/bolta.week.plan/SKILL.md`\n**Purpose:** Plan a week's content with scheduling\n**Inputs:** Start date, posting frequency, themes\n**Outputs:** 7-day content calendar with scheduled posts\n**Permissions:** `posts:write`, `posts:schedule`\n**Safe Mode:** Routes to Pending Approval if ON\n**Quota Impact:** +5-15 to daily post count (spread across week)\n\n---\n\n### Review Plane Skills\n\n#### bolta.add_comment\n**Path:** `skills/review-plane/bolta.add_comment/SKILL.md`\n**Purpose:** Add feedback comments to posts under review\n**Inputs:** post_id, comment text\n**Outputs:** Comment record\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (feedback operation)\n\n#### bolta.approve_post\n**Path:** `skills/review-plane/bolta.approve_post/SKILL.md`\n**Purpose:** Approve a draft post, moving it from Inbox to Approved status\n**Inputs:** draft_id, optional notes, optional schedule_time\n**Outputs:** Updated post status\n**Permissions:** `posts:write`, `posts:approve`\n**Roles:** Editor, Admin\n**Safe Defaults:** require_editor_role\n\n#### bolta.reject_post\n**Path:** `skills/review-plane/bolta.reject_post/SKILL.md`\n**Purpose:** Reject a draft with feedback for revision\n**Inputs:** draft_id, rejection_reason\n**Outputs:** Updated post status (Rejected)\n**Permissions:** `posts:write`, `posts:review`\n**Roles:** Editor, Admin\n\n#### bolta.inbox.triage\n**Path:** `skills/review-plane/bolta.inbox.triage/SKILL.md`\n**Purpose:** Organize pending posts by priority\n**Inputs:** Optional filters (platform, date range)\n**Outputs:** Categorized list of posts awaiting review\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.review.digest\n**Path:** `skills/review-plane/bolta.review.digest/SKILL.md`\n**Purpose:** Daily summary of posts awaiting review\n**Inputs:** None (workspace context)\n**Outputs:** Formatted summary with quick approve links\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (read-only)\n**Note:** Designed for cron execution (daily 9am)\n\n#### bolta.review.approve_and_route\n**Path:** `skills/review-plane/bolta.review.approve_and_route/SKILL.md`\n**Purpose:** Bulk approve and schedule posts\n**Inputs:** Post IDs or filter criteria\n**Outputs:** Updated post statuses\n**Permissions:** `posts:write`, `posts:approve`, `posts:schedule`\n**Safe Mode:** N/A (human override)\n**Note:** Bypasses Safe Mode (human decision)\n\n---\n\n### Automation Plane Skills\n\n#### bolta.cron.generate_to_review\n**Path:** `skills/automation-plane/bolta.cron.generate_to_review/SKILL.md`\n**Purpose:** Daily content generation -> Pending Approval\n**Inputs:** None (uses workspace settings)\n**Outputs:** Posts in Pending Approval status\n**Permissions:** `posts:write`, `cron:execute`\n**Safe Mode:** Compatible (routes to Pending Approval)\n**Autonomy Mode:** Recommended for managed/governance\n**Quota Impact:** +3-10 posts/day (configurable)\n**Execution:** Daily cron (configurable time)\n\n#### bolta.cron.generate_and_schedule\n**Path:** `skills/automation-plane/bolta.cron.generate_and_schedule/SKILL.md`\n**Purpose:** Autonomous scheduling (no human review)\n**Inputs:** None (uses workspace settings)\n**Outputs:** Posts in Scheduled status\n**Permissions:** `posts:write`, `posts:schedule`, `cron:execute`\n**Safe Mode:** **INCOMPATIBLE** (requires Safe Mode OFF)\n**Autonomy Mode:** **REQUIRES autopilot**\n**Warning:** Bypasses human review — use with caution\n\n---\n\n### Agent Plane Skills\n\n#### bolta.agent.hire\n**Path:** `skills/agent-plane/bolta.agent.hire/SKILL.md`\n**Purpose:** Create and onboard a new AI agent teammate from marketplace presets\n**Inputs:** Agent preset selection, workspace context, voice profile\n**Outputs:** Agent record + configured job(s)\n**Permissions:** `agents:create`, `workspace:read`\n**Roles:** Editor, Admin\n**Safe Defaults:** jobs_start_paused, require_preview_approval\n**Tools Required:** get_workspace_policy, get_my_capabilities, get_voice_profile, list_agent_presets, create_agent, create_job, draft_post, get_business_context\n\n#### bolta.agent.configure\n**Path:** `skills/agent-plane/bolta.agent.configure/SKILL.md`\n**Purpose:** Update agent settings, permissions, and job parameters\n**Inputs:** agent_id, configuration updates\n**Outputs:** Updated agent record\n**Permissions:** `agents:manage`\n**Roles:** Editor, Admin\n\n#### bolta.agent.activate_job\n**Path:** `skills/agent-plane/bolta.agent.activate_job/SKILL.md`\n**Purpose:** Activate or pause an agent's scheduled job\n**Inputs:** job_id, action (activate/pause)\n**Outputs:** Updated job status\n**Permissions:** `agents:manage`, `cron:execute`\n**Roles:** Editor, Admin\n\n#### bolta.agent.memory\n**Path:** `skills/agent-plane/bolta.agent.memory/SKILL.md`\n**Purpose:** Read/write agent memory for cross-session context\n**Inputs:** agent_id, memory operation (read/write/clear)\n**Outputs:** Memory contents or confirmation\n**Permissions:** `agents:read` (read), `agents:manage` (write)\n\n#### bolta.agent.mention\n**Path:** `skills/agent-plane/bolta.agent.mention/SKILL.md`\n**Purpose:** Notify or hand off work to another agent\n**Inputs:** target_agent_id, context, task description\n**Outputs:** Mention record\n**Permissions:** `agents:read`\n\n#### bolta.job.execute\n**Path:** `skills/agent-plane/bolta.job.execute/SKILL.md`\n**Purpose:** Documentation for job execution lifecycle\n**Type:** Documentation (not directly callable)\n**Describes:** How agent jobs run, retry logic, observability\n\n---\n\n### Analytics Plane Skills\n\n#### bolta.get_post_metrics\n**Path:** `skills/analytics-plane/bolta.get_post_metrics/SKILL.md`\n**Purpose:** Retrieve performance metrics for published posts\n**Inputs:** account_id, optional limit/date_from/date_to/platform\n**Outputs:** Metrics (likes, comments, shares, views, engagement rate)\n**Permissions:** `analytics:read`\n**Roles:** Viewer, Creator, Editor, Admin\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_best_posting_times\n**Path:** `skills/analytics-plane/bolta.get_best_posting_times/SKILL.md`\n**Purpose:** Analyze historical data for optimal posting windows\n**Inputs:** account_id, optional platform filter\n**Outputs:** Recommended posting times by day/hour\n**Permissions:** `analytics:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_audience_insights\n**Path:** `skills/analytics-plane/bolta.get_audience_insights/SKILL.md`\n**Purpose:** Audience demographics, growth trends, engagement patterns\n**Inputs:** account_id, optional date range\n**Outputs:** Audience profile and trend data\n**Permissions:** `analytics:read`\n**Safe Mode:** N/A (read-only)\n\n---\n\n### Engagement Plane Skills\n\n#### bolta.get_comments\n**Path:** `skills/engagement-plane/bolta.get_comments/SKILL.md`\n**Purpose:** Retrieve comments on published posts\n**Inputs:** post_id or account_id\n**Outputs:** Comment list with metadata\n**Permissions:** `engagement:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_mentions\n**Path:** `skills/engagement-plane/bolta.get_mentions/SKILL.md`\n**Purpose:** Monitor brand mentions across platforms\n**Inputs:** account_id, optional date range\n**Outputs:** Mention list with sentiment and context\n**Permissions:** `engagement:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.reply_to_mention\n**Path:** `skills/engagement-plane/bolta.reply_to_mention/SKILL.md`\n**Purpose:** Draft a reply to a mention, comment, or DM in brand voice\n**Inputs:** mention_id, reply_text, optional tone\n**Outputs:** Reply draft (routed for approval)\n**Permissions:** `engagement:write`\n**Roles:** Viewer, Creator, Editor, Admin\n**Safe Defaults:** always_draft_for_approval, escalate_sensitive_topics\n\n---\n\n### Control Plane Skills\n\n#### bolta.team.create_agent_teammate\n**Path:** `skills/control-plane/bolta.team.create_agent_teammate/SKILL.md`\n**Purpose:** Provision agent principals with roles\n**Inputs:** Agent name, role (creator/editor/reviewer), permissions\n**Outputs:** AgentPrincipal record + API key\n**Permissions:** `workspace:admin`, `agents:create`\n**Role Required:** Owner or Admin\n\n#### bolta.team.rotate_key\n**Path:** `skills/control-plane/bolta.team.rotate_key/SKILL.md`\n**Purpose:** Rotate API keys for security\n**Inputs:** API key ID or agent ID\n**Outputs:** New API key (old key revoked)\n**Permissions:** `workspace:admin`, `agents:manage`\n**Role Required:** Owner or Admin\n**Note:** Old key immediately invalidated\n\n#### bolta.policy.explain\n**Path:** `skills/control-plane/bolta.policy.explain/SKILL.md`\n**Purpose:** Explain authorization decisions\n**Inputs:** Action attempt (e.g., \"Why can't I publish?\")\n**Outputs:** Policy analysis with specific blockers\n**Permissions:** None (informational)\n**Use Case:** Troubleshooting \"Access Denied\" errors\n\n#### bolta.audit.export_activity\n**Path:** `skills/control-plane/bolta.audit.export_activity/SKILL.md`\n**Purpose:** Export audit logs\n**Inputs:** Date range, filters (principal, action type, denied actions)\n**Outputs:** CSV or JSON export of PostActivity records\n**Permissions:** `workspace:admin`, `audit:read`\n**Role Required:** Owner or Admin\n**Use Case:** Compliance reporting, SOC2 audits\n\n#### bolta.quota.status\n**Path:** `skills/control-plane/bolta.quota.status/SKILL.md`\n**Purpose:** View current quota usage\n**Inputs:** None (workspace context)\n**Outputs:** Daily post count, hourly API usage, limits, percentage\n**Permissions:** `workspace:read`\n\n#### bolta.workspace.config\n**Path:** `skills/control-plane/bolta.workspace.config/SKILL.md`\n**Purpose:** View/update workspace settings\n**Inputs:** Settings to update (autonomy_mode, safe_mode, quotas)\n**Outputs:** Updated workspace configuration\n**Permissions:** `workspace:admin`\n**Role Required:** Owner or Admin\n**Warning:** Changing autonomy mode affects all agent operations\n\n---\n\n## Recommended Install Sets\n\nInstall sets are curated skill bundles tailored to specific autonomy modes and use cases.\n\n### Assisted Mode Install Set\n**Autonomy Level:** Low (maximum human control)\n**Safe Mode:** Must be ON\n**Use Case:** New users, high-stakes brands, learning Bolta\n\n**Skills:**\n- `bolta.voice.bootstrap` - Set up initial voice profile\n- `bolta.draft.post` / `bolta.draft_post` - Create individual posts (always Draft)\n- `bolta.get_account_info` - View connected accounts\n- `bolta.get_voice_profile` - Read voice configuration\n- `bolta.list_recent_posts` - Context from recent posts\n- `bolta.week.plan` - Plan content calendar\n\n**Rationale:** Prioritizes learning and control. All content goes to Draft for manual review before scheduling. Ideal for teams new to AI content generation, brands with strict compliance requirements, or users learning Bolta patterns before automating.\n\n---\n\n### Managed Mode Install Set\n**Autonomy Level:** Medium (guided automation with oversight)\n**Safe Mode:** ON (recommended) or OFF\n**Use Case:** Established users, moderate volume, review workflows\n\n**Skills:**\n- All Assisted skills +\n- `bolta.inbox.triage` - Organize posts for review\n- `bolta.review.digest` - Daily review summaries\n- `bolta.approve_post` / `bolta.reject_post` - Individual review actions\n- `bolta.review.approve_and_route` - Bulk approval workflow\n- `bolta.add_comment` - Feedback on drafts\n- `bolta.cron.generate_to_review` - Daily automated generation\n- `bolta.get_post_metrics` - Performance tracking\n- `bolta.get_best_posting_times` - Scheduling optimization\n\n**Rationale:** Balances efficiency with oversight. Agent generates content autonomously, but humans approve before publishing. Ideal for teams with 1-2 reviewers publishing 3-10 posts/day.\n\n---\n\n### Autopilot Mode Install Set\n**Autonomy Level:** High (hands-off automation)\n**Safe Mode:** Must be OFF (incompatible)\n**Use Case:** High volume, trusted voice, minimal oversight\n\n**Skills:**\n- All Managed skills +\n- `bolta.cron.generate_and_schedule` - Autonomous scheduling\n- `bolta.agent.hire` - Onboard AI agents\n- `bolta.agent.configure` - Configure agent behavior\n- `bolta.agent.activate_job` - Activate agent jobs\n- `bolta.get_audience_insights` - Audience intelligence\n- `bolta.get_comments` / `bolta.get_mentions` - Engagement monitoring\n- `bolta.reply_to_mention` - Automated engagement\n- `bolta.quota.status` -\n\nFile v2.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7bxrtk8tg6469r5ntmw159bx819p0x\",\n  \"slug\": \"bolta-skills-index\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1775435694284\n}\n\nFile v2.0.1:skill-card.md\n\n## Description:\n\nBolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[maxfritzhand](https://clawhub.ai/user/maxfritzhand)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and workspace operators use this registry to discover Bolta social media automation skills, select install sets, and route workflows according to workspace policy, quotas, autonomy mode, and agent permissions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The registry can recommend mutable remote skill content and high-impact automation workflows.\n\nMitigation: Install from a pinned, reviewed release or commit, verify checksums where possible, and review downloaded skills before enabling sensitive workflows.\n\nRisk: Bolta API credentials can grant access to workspace operations and social media automation.\n\nMitigation: Use least-privilege keys, store them in environment variables or a secret manager, rotate them regularly, and start in a test workspace.\n\nRisk: Admin, cron, autopilot, key-rotation, workspace-configuration, and agent-memory workflows can materially change workspace behavior.\n\nMitigation: Enable those workflows only after a separate review and confirm that Safe Mode, autonomy mode, quotas, and role permissions match the intended deployment.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/maxfritzhand/skills/bolta-skills-index)\n- [Bolta API documentation](https://bolta.ai/docs/api)\n- [Bolta MCP endpoint](https://mcp.bolta.ai/mcp)\n- [Bolta Skills Pack](https://github.com/boltaai/bolta-skills)\n- [BoltaClaw self-hosted runtime](https://github.com/boltaai/boltaclaw-self-hosted)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, configuration, shell commands]\n\n**Output Format:** [Markdown guidance with structured examples and inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Registry output includes skill recommendations, compatibility notes, setup guidance, and routing advice rather than direct content operations.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release metadata and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.0.0: 2 files, 17300 bytes\n\nFiles: SKILL.md (60212b), _meta.json (137b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: bolta.skills.index\nversion: 2.0.0\ndescription: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane\ncategory: registry\ntype: documentation\nroles_allowed: []\nagent_types: []\ntools_required: []\ninputs_schema:\n  type: object\n  description: \"This is a registry index, not a callable skill\"\n  properties: {}\noutputs_schema:\n  type: object\n  description: \"This is a registry index, not a callable skill\"\n  properties: {}\norganization: bolta.ai\nauthor: Max Fritzhand\n---\n\n## Metadata\n\n```json\n{\n  \"name\": \"bolta.skills.index\",\n  \"version\": \"2.0.0\",\n  \"publisher\": \"bolta.ai\",\n  \"verified\": true,\n  \"sourceRepository\": \"https://github.com/boltaai/bolta-skills\",\n  \"requiredEnvironmentVariables\": [\n    {\n      \"name\": \"BOLTA_API_KEY\",\n      \"required\": true,\n      \"sensitive\": true,\n      \"description\": \"Bolta API key (obtain at bolta.ai/register)\",\n      \"format\": \"sk_live_[64 characters]\",\n      \"scope\": \"workspace\"\n    },\n    {\n      \"name\": \"BOLTA_WORKSPACE_ID\",\n      \"required\": true,\n      \"sensitive\": false,\n      \"description\": \"Workspace UUID for API operations\",\n      \"format\": \"UUID\"\n    },\n    {\n      \"name\": \"BOLTA_AGENT_ID\",\n      \"required\": false,\n      \"sensitive\": false,\n      \"description\": \"Agent principal UUID (for audit logging)\",\n      \"format\": \"UUID\"\n    }\n  ],\n  \"trustedDomains\": [\n    \"platty.boltathread.com\",\n    \"bolta.ai\"\n  ],\n  \"permissions\": [\n    \"network:https:platty.boltathread.com\",\n    \"network:https:bolta.ai\"\n  ],\n  \"thirdPartyPackages\": [\n    {\n      \"name\": \"@boltaai/mcp-server\",\n      \"registry\": \"npm\",\n      \"verified\": true,\n      \"sourceRepository\": \"https://github.com/boltaai/bolta-mcp-server\"\n    }\n  ]\n}\n```\n\n## Security Notice\n\n**This skill requires sensitive API credentials. Read this section carefully before installing.**\n\n### Required Credentials\n\n**BOLTA_API_KEY** (REQUIRED, SENSITIVE)\n- **Format:** `sk_live_` followed by 64 alphanumeric characters\n- **Obtain at:** https://bolta.ai/register\n- **Scoping:** Each key is scoped to a SINGLE workspace only\n- **Permissions:** Grant LEAST-PRIVILEGE access (e.g., only `posts:write` if creating content)\n- **Rotation:** Rotate every 90 days using `bolta.team.rotate_key` skill\n- **Storage:** NEVER commit to git - use environment variables or secret managers only\n\n**BOLTA_WORKSPACE_ID** (REQUIRED)\n- **Format:** UUID (e.g., `550e8400-e29b-41d4-a716-446655440000`)\n- **Source:** Provided during agent registration at bolta.ai/register\n- **Purpose:** Identifies which workspace the API key is authorized for\n\n**BOLTA_AGENT_ID** (OPTIONAL, RECOMMENDED)\n- **Format:** UUID\n- **Purpose:** Links API activity to specific agent principal for audit logs\n- **Benefit:** Enables traceability and compliance reporting\n\n### Trusted Network Endpoints\n\nThis skill makes HTTPS requests to:\n- `https://platty.boltathread.com` - Bolta API server\n- `https://bolta.ai` - Main application and agent registration portal\n\n**No other domains are contacted.** All requests are authenticated with your API key.\n\n### Third-Party Dependencies\n\nThis skill references:\n- `@boltaai/mcp-server` (npm package for Claude Desktop integration)\n  - **Source:** https://github.com/boltaai/bolta-mcp-server\n  - **Verified:** Yes (official Bolta package)\n  - **Purpose:** Connects Claude Desktop to Bolta API via MCP protocol\n\n### Pre-Installation Checklist\n\nBefore installing this skill, you MUST:\n- [ ] Verify the source repository: https://github.com/boltaai/bolta-skills\n- [ ] Review the SKILL.md and confirm version matches metadata (currently 2.0.0)\n- [ ] Obtain a LEAST-PRIVILEGE API key from https://bolta.ai/register\n- [ ] Store API key in environment variables (NEVER hardcode or commit)\n- [ ] Verify you trust the domains: `platty.boltathread.com` and `bolta.ai`\n- [ ] Test in a disposable/test workspace first (recommended)\n- [ ] Confirm your API key is scoped ONLY to the intended workspace\n\n### Security Best Practices\n\n1. **Credential Management**\n   - Use environment variables: `export BOLTA_API_KEY=\"sk_live_...\"`\n   - Or use secret managers: AWS Secrets Manager, 1Password, etc.\n   - NEVER paste API keys in chat, logs, or public places\n\n2. **Key Rotation**\n   - Rotate keys every 90 days minimum\n   - Use `bolta.team.rotate_key` skill for zero-downtime rotation\n   - Revoke compromised keys immediately at bolta.ai/settings\n\n3. **Permission Scoping**\n   - Grant ONLY required permissions (e.g., `posts:write`, `voice:read`)\n   - Avoid `workspace:admin` unless absolutely necessary\n   - Review permissions quarterly\n\n4. **Monitoring**\n   - Review audit logs weekly via `bolta.audit.export_activity`\n   - Monitor quota usage via `bolta.quota.status`\n   - Set up alerts for unusual API activity\n\n5. **Workspace Isolation**\n   - One API key per workspace (NEVER share keys across workspaces)\n   - Use separate keys for dev/staging/production environments\n   - Revoke keys when decommissioning workspaces\n\n---\n\n## Purpose\n\n**The canonical registry and orchestration layer for all Bolta skills.**\n\nThis skill serves as the single source of truth for skill discovery, installation recommendations, and workspace-aware capability bootstrapping. It does not execute content operations directly — instead, it provides intelligent routing to the appropriate skills based on:\n- **Workspace policy** (Safe Mode, autonomy mode, quotas)\n- **Principal identity** (user role, agent permissions)\n- **Operational context** (what you're trying to accomplish)\n\n**Key Responsibilities:**\n1. **Discovery** - Index all available skills with metadata\n2. **Recommendation** - Suggest install sets based on workspace policy and role\n3. **Orchestration** - Guide multi-skill workflows\n4. **Compatibility** - Enforce skill compatibility with workspace settings\n5. **Bootstrapping** - Help new workspaces get started quickly\n\n**When to Use:**\n- Setting up a new workspace (\"What skills should I install?\")\n- Discovering available capabilities (\"What can Bolta do?\")\n- Troubleshooting skill compatibility (\"Why can't I use this skill?\")\n- Planning multi-step workflows (\"Which skills do I need?\")\n\n**Data Access:**\nThis skill accesses:\n- Workspace configuration (policy, quotas, autonomy mode)\n- Voice profile metadata (names, IDs, not full content)\n- Post counts and quota usage\n- Agent principal types\n\nThis skill does NOT access:\n- Post content or scheduled posts\n- Social media credentials\n- User passwords or authentication tokens\n- Files or media uploads\n\n## Source & Verification\n\nhttps://github.com/boltaai/bolta-skills\n\n---\n\n## Getting Started: Agent API Setup\n\nBefore using Bolta skills, you need to set up agent API access to authenticate your requests.\n\n### Step 1: Register Your Agent\n\nVisit **[bolta.ai/register](https://bolta.ai/register)** to create your agent principal and obtain an API key.\n\n**What you'll need:**\n- Bolta workspace (create one at bolta.ai if you don't have one)\n- Admin or Owner role in your workspace\n\n### Step 2: Create Agent Principal\n\nDuring registration, you'll configure:\n\n**Agent Name**\n```\nExample: \"Claude Content Agent\"\nDescription: Human-readable name for audit logs\n```\n\n**Agent Role**\n```\nOptions:\n- creator  - Can create drafts (recommended for testing)\n- editor   - Can create + schedule posts\n- reviewer - Can approve/reject posts (review-only access)\n\nRecommendation: Start with \"creator\" role for safety\n```\n\n**Permissions**\n```\nMinimum for content skills:\n  posts:write  - Create posts\n  voice:read   - Read voice profiles\n\nOptional (based on use case):\n  posts:schedule  - Schedule posts (requires editor+ role)\n  posts:approve   - Approve posts for publishing\n  templates:read  - Use content templates\n  cron:execute    - Run automated jobs\n```\n\n### Step 3: Copy Your API Key\n\nAfter registration, you'll receive:\n\n```\nAPI Key: sk_live_00000000000000000000000000000000\nWorkspace ID: 550e8400-e29b-41d4-a716-446655440000\nAgent ID: 660e8400-e29b-41d4-a716-446655440001\n```\n\n**IMPORTANT:**\n- Store API key securely (never commit to git)\n- Keys cannot be recovered (only regenerated via `bolta.team.rotate_key`)\n- Each key is scoped to ONE workspace\n\n### Step 4: Configure Your Environment\n\n**Set Required Environment Variables:**\n\n```bash\n# Required: Your Bolta API key (from bolta.ai/register)\nexport BOLTA_API_KEY=\"sk_live_your_actual_key_here\"\n\n# Required: Your workspace UUID (from bolta.ai/register)\nexport BOLTA_WORKSPACE_ID=\"550e8400-e29b-41d4-a716-446655440000\"\n\n# Optional: Agent principal UUID (for audit logging)\nexport BOLTA_AGENT_ID=\"660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**For Claude Desktop (MCP):**\n```json\n{\n  \"mcpServers\": {\n    \"bolta\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@boltaai/mcp-server\"],\n      \"env\": {\n        \"BOLTA_API_KEY\": \"sk_live_your_actual_key_here\",\n        \"BOLTA_WORKSPACE_ID\": \"550e8400-e29b-41d4-a716-446655440000\",\n        \"BOLTA_AGENT_ID\": \"660e8400-e29b-41d4-a716-446655440001\"\n      }\n    }\n  }\n}\n```\n\n**For Direct API Calls:**\n```bash\ncurl https://platty.boltathread.com/v1/posts \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\" \\\n  -H \"X-Workspace-ID: ${BOLTA_WORKSPACE_ID}\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"prompt\": \"Create a post about productivity\" }'\n```\n\n**Security Reminder:**\n- Never hardcode API keys in your code\n- Use `.env` files locally (add `.env` to `.gitignore`)\n- Use secret managers in production (AWS Secrets Manager, Vercel Secrets, etc.)\n- Rotate keys every 90 days via `bolta.team.rotate_key`\n\n### Step 5: Verify Setup\n\nTest your configuration:\n\n```bash\ncurl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\"\n\n# Expected response:\n# {\n#   \"id\": \"550e8400-...\",\n#   \"name\": \"My Workspace\",\n#   \"safe_mode\": true,\n#   \"autonomy_mode\": \"managed\",\n#   \"max_posts_per_day\": 100\n# }\n```\n\n### Troubleshooting Setup\n\n**Error: \"Invalid API Key\"**\n- Verify key matches exactly (no extra spaces)\n- Check if key was rotated - get new key at bolta.ai/register\n- Ensure you're using the correct workspace key\n\n**Error: \"Workspace Not Found\"**\n- Verify workspace_id matches your registration\n- Confirm you have access to this workspace (visit bolta.ai/workspaces)\n- Check if workspace was deleted\n\n**Error: \"Permission Denied\"**\n- Check your agent's permissions at bolta.ai/register\n- For content creation: Need `posts:write` minimum\n- For scheduling: Need `posts:schedule` + editor role\n- For automation: Need `cron:execute` permission\n\n---\n\n## Installation & First Run\n\n### Skill Pack Installation\n\n**Option 1: Install Full Skill Pack (Recommended)**\n\n```bash\n# Clone the complete Bolta skills repository\ngit clone https://github.com/boltaai/bolta-skills.git\n\n# Or download the latest release\ncurl -L https://github.com/boltaai/bolta-skills/archive/refs/heads/main.zip -o bolta-skills.zip\nunzip bolta-skills.zip\n```\n\n**What You Get:**\n```\nbolta-skills/\n├── README.md                    # START HERE - Complete getting started guide\n├── skills/\n│   ├── bolta.skills.index/      # You're here (registry)\n│   ├── voice-plane/\n│   │   ├── bolta.voice.bootstrap/\n│   │   └── bolta.voice.learn_from_samples/\n│   ├── content-plane/\n│   │   ├── bolta.draft.post/\n│   │   ├── bolta.draft_post/\n│   │   ├── bolta.get_account_info/\n│   │   ├── bolta.get_business_context/\n│   │   ├── bolta.get_voice_profile/\n│   │   ├── bolta.list_recent_posts/\n│   │   ├── bolta.loop.from_template/\n│   │   └── bolta.week.plan/\n│   ├── review-plane/\n│   │   ├── bolta.add_comment/\n│   │   ├── bolta.approve_post/\n│   │   ├── bolta.reject_post/\n│   │   ├── bolta.inbox.triage/\n│   │   ├── bolta.review.approve_and_route/\n│   │   └── bolta.review.digest/\n│   ├── automation-plane/\n│   │   ├── bolta.cron.generate_to_review/\n│   │   └── bolta.cron.generate_and_schedule/\n│   ├── agent-plane/\n│   │   ├── bolta.agent.activate_job/\n│   │   ├── bolta.agent.configure/\n│   │   ├── bolta.agent.hire/\n│   │   ├── bolta.agent.memory/\n│   │   ├── bolta.agent.mention/\n│   │   └── bolta.job.execute/\n│   ├── analytics-plane/\n│   │   ├── bolta.get_audience_insights/\n│   │   ├── bolta.get_best_posting_times/\n│   │   └── bolta.get_post_metrics/\n│   ├── engagement-plane/\n│   │   ├── bolta.get_comments/\n│   │   ├── bolta.get_mentions/\n│   │   └── bolta.reply_to_mention/\n│   └── control-plane/\n│       ├── bolta.team.create_agent_teammate/\n│       ├── bolta.team.rotate_key/\n│       ├── bolta.policy.explain/\n│       ├── bolta.audit.export_activity/\n│       ├── bolta.quota.status/\n│       └── bolta.workspace.config/\n├── docs/\n│   ├── getting-started.md\n│   ├── autonomy-modes.md\n│   ├── safe-mode.md\n│   ├── automation-setup.md\n│   └── multi-agent.md\n```\n\n**Option 2: Install Individual Skills (Manual)**\n\n```bash\n# Install voice bootstrap skill\ncurl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/voice-plane/bolta.voice.bootstrap/SKILL.md \\\n  -o bolta.voice.bootstrap.md\n\n# Install draft post skill\ncurl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/content-plane/bolta.draft.post/SKILL.md \\\n  -o bolta.draft.post.md\n```\n\n### First Run: Read the README\n\n**IMPORTANT: After installation, read the README for complete setup instructions.**\n\n**What the README Covers:**\n1. Prerequisites and system requirements\n2. Installation verification\n3. Environment variable configuration\n4. First skill execution (test workflow)\n5. Troubleshooting common issues\n6. Recommended skill installation order\n7. Best practices for production use\n\n### Recommended First-Run Flow\n\n**Step 1: Read Documentation**\n```bash\n# Must-read files in order:\n# 1. README.md              - Complete getting started guide\n# 2. docs/getting-started.md - Quickstart tutorial\n# 3. docs/autonomy-modes.md  - Understand autonomy levels\n# 4. docs/safe-mode.md       - Understand safety controls\n```\n\n**Step 2: Verify Installation**\n```bash\n# Check that all skills are present\nls -la skills/*/SKILL.md skills/*/*/SKILL.md\n\n# Should see 36+ skills across 8 planes\n```\n\n**Step 3: Configure Agent**\n```bash\nexport BOLTA_API_KEY=\"sk_live_...\"\nexport BOLTA_WORKSPACE_ID=\"...\"\n\n# Test API connectivity\ncurl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\"\n```\n\n**Step 4: Install Recommended Skills**\n```bash\n# The registry will recommend skills based on your:\n# - Safe Mode setting\n# - Autonomy mode\n# - User role\n# - Current quotas\n```\n\n### Common First-Run Mistakes\n\n1. **Skipping the README** - Installing skills without reading README\n2. **Missing Environment Variables** - Running skills without BOLTA_API_KEY set\n3. **Installing Skills Out of Order** - Running bolta.draft.post before creating voice profile\n4. **Not Understanding Autonomy Modes** - Using autopilot mode without understanding routing\n5. **Hardcoding API Keys** - Putting API keys directly in skill files instead of env vars\n\n### Post-Installation Checklist\n\n- [ ] README.md has been read\n- [ ] Environment variables set (BOLTA_API_KEY, BOLTA_WORKSPACE_ID)\n- [ ] All 36+ skills present in skills/ directory\n- [ ] docs/ directory contains markdown files\n- [ ] API connectivity verified (test curl command works)\n- [ ] MCP server installed (if using Claude Desktop)\n- [ ] Workspace policy reviewed (safe_mode, autonomy_mode)\n- [ ] First skill executed successfully (test run)\n- [ ] Autonomy mode documentation read (docs/autonomy-modes.md)\n- [ ] Safe Mode documentation read (docs/safe-mode.md)\n\n### Next Steps After Setup\n\n1. **Create Voice Profile** (if new workspace)\n   - Run: `bolta.voice.bootstrap`\n   - Establishes your brand voice\n\n2. **Test Content Creation**\n   - Run: `bolta.draft.post` or `bolta.draft_post`\n   - Creates a test post in Draft status\n\n3. **Install Recommended Skills**\n   - Run: `bolta.skills.index`\n   - Returns personalized skill recommendations\n\n4. **Configure Workspace**\n   - Review: Safe Mode (ON/OFF)\n   - Review: Autonomy Mode (assisted/managed/autopilot)\n   - Set: Daily quota limits\n\n---\n\n## Architecture: The Eight Planes\n\nSkills are organized into **planes** — logical groupings that separate concerns and enable modular capability composition. V2 expands from five planes to eight, adding Agent, Analytics, and Engagement planes.\n\n### Plane 0: Voice\n**Purpose:** Brand voice creation, evolution, and validation\n\nVoice is the foundation of all content operations. These skills help establish, refine, and maintain consistent brand voice across all generated content.\n\n**Core Principle:** Voice should be learned from examples, validated against real content, and evolved over time.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.voice.bootstrap` | Interactive voice profile creation from scratch |\n| `bolta.voice.learn_from_samples` | Extract voice patterns from existing content |\n| `bolta.voice.evolve` | Refine voice based on approved posts (planned) |\n| `bolta.voice.validate` | Score content against voice profile 0-100 (planned) |\n\n**Typical Flow:**\n1. Bootstrap initial voice profile\n2. Learn from sample content\n3. Validate generated content\n4. Evolve voice as brand matures\n\n---\n\n### Plane 1: Content\n**Purpose:** Content creation, planning, data retrieval, and scheduling\n\nThe execution layer for post creation. These skills transform ideas into scheduled social media posts, and provide workspace context for informed content decisions.\n\n**Core Principle:** Content should be intentional, planned, and aligned with voice.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.draft.post` | Create a single post in Draft status (original interface) |\n| `bolta.draft_post` | Create a draft post using workspace voice profile, routes to Inbox |\n| `bolta.get_account_info` | Retrieve connected social account details |\n| `bolta.get_business_context` | Fetch workspace business DNA and context |\n| `bolta.get_voice_profile` | Read voice profile configuration |\n| `bolta.list_recent_posts` | List recent posts for context and continuity |\n| `bolta.loop.from_template` | Generate multiple posts from a template (deprecated) |\n| `bolta.week.plan` | Plan a week's worth of content with scheduling |\n\n**Output:** Draft or Scheduled posts (subject to Safe Mode routing)\n\n---\n\n### Plane 2: Review\n**Purpose:** Human-in-the-loop review, approval, and feedback workflows\n\nEnables teams to review, approve, reject, and provide feedback on agent-generated content before publishing.\n\n**Core Principle:** Autonomy with oversight — agents generate, humans decide.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.add_comment` | Add feedback comments to posts under review |\n| `bolta.approve_post` | Approve a draft, moving it to Approved status |\n| `bolta.reject_post` | Reject a draft with feedback for revision |\n| `bolta.inbox.triage` | Organize pending posts by priority/topic |\n| `bolta.review.digest` | Daily summary of posts awaiting review |\n| `bolta.review.approve_and_route` | Bulk approve + schedule posts |\n\n**Typical Flow:**\n1. Agent creates posts -> Pending Approval\n2. `review.digest` sends daily summary\n3. Human reviews via `inbox.triage`\n4. Approve/reject individual posts or bulk approve via `approve_and_route`\n\n---\n\n### Plane 3: Automation\n**Purpose:** Scheduled, recurring, and autonomous content generation\n\nThe autonomy layer. These skills enable hands-off content operations with guardrails.\n\n**Core Principle:** Predictable automation with quota enforcement and safety nets.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.cron.generate_to_review` | Daily content generation -> Pending Approval |\n| `bolta.cron.generate_and_schedule` | Autonomous scheduling (requires Safe Mode OFF) |\n\n**Safety Guardrails:**\n- Quota enforcement (max posts/day, max API requests/hour)\n- Job run tracking (observability for all executions)\n- Autonomy mode compatibility checks\n- Safe Mode routing (autopilot incompatible with Safe Mode ON)\n\n---\n\n### Plane 4: Agent\n**Purpose:** AI agent lifecycle management — hiring, configuration, job activation, and memory\n\nV2 introduces a dedicated agent plane for managing AI teammates that operate autonomously within your workspace.\n\n**Core Principle:** Agents are first-class principals with defined roles, jobs, and memory.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.agent.hire` | Create and onboard a new AI agent from marketplace presets |\n| `bolta.agent.configure` | Update agent settings, permissions, and job parameters |\n| `bolta.agent.activate_job` | Activate or pause an agent's scheduled job |\n| `bolta.agent.memory` | Read/write agent memory for cross-session context |\n| `bolta.agent.mention` | Notify or hand off work to another agent |\n| `bolta.job.execute` | Documentation for job execution lifecycle |\n\n**Typical Flow:**\n1. Hire an agent from presets (`agent.hire`)\n2. Configure agent settings and jobs (`agent.configure`)\n3. Activate the job to start autonomous work (`agent.activate_job`)\n4. Agent builds memory over time (`agent.memory`)\n5. Agents collaborate via mentions (`agent.mention`)\n\n---\n\n### Plane 5: Analytics\n**Purpose:** Performance measurement, audience insights, and posting optimization\n\nProvides data-driven insights to inform content strategy and measure impact.\n\n**Core Principle:** Measure what matters, optimize what works.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.get_post_metrics` | Retrieve performance metrics (likes, comments, shares, views) |\n| `bolta.get_best_posting_times` | Analyze historical data for optimal posting windows |\n| `bolta.get_audience_insights` | Audience demographics, growth trends, engagement patterns |\n\n---\n\n### Plane 6: Engagement\n**Purpose:** Community interaction — monitoring mentions, replying, and managing conversations\n\nCloses the feedback loop between publishing and audience interaction.\n\n**Core Principle:** Respond authentically in brand voice, escalate what needs human judgment.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.get_comments` | Retrieve comments on published posts |\n| `bolta.get_mentions` | Monitor brand mentions across platforms |\n| `bolta.reply_to_mention` | Draft a reply maintaining brand voice |\n\n---\n\n### Plane 7: Control\n**Purpose:** Workspace governance, policy, security, and audit\n\nThe management layer for teams, permissions, security, and compliance.\n\n**Core Principle:** Visibility and control for workspace administrators.\n\n**Skills:**\n| Skill | Purpose |\n|-|-|\n| `bolta.team.create_agent_teammate` | Provision agent principals with specific roles |\n| `bolta.team.rotate_key` | Rotate API keys for security |\n| `bolta.policy.explain` | Explain authorization decisions (\"Why was this blocked?\") |\n| `bolta.audit.export_activity` | Export audit logs (PostActivity, JobRuns) |\n| `bolta.quota.status` | View current quota usage (daily posts, hourly API calls) |\n| `bolta.workspace.config` | View/update autonomy mode, Safe Mode, quotas |\n\n**Typical Use Cases:**\n- Onboarding new team members (human or agent)\n- Investigating authorization failures\n- Compliance reporting (SOC2, GDPR data exports)\n- Quota monitoring and adjustment\n\n---\n\n## Full Skill Index\n\n### Voice Plane Skills\n\n#### bolta.voice.bootstrap\n**Path:** `skills/voice-plane/bolta.voice.bootstrap/SKILL.md`\n**Purpose:** Interactive voice profile creation wizard\n**Inputs:** Brand name, industry, target audience, sample content\n**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)\n**Permissions:** `voice:write`\n**Safe Mode:** Compatible\n**Roles:** Viewer, Creator, Editor, Admin\n**Typical Duration:** 5-10 minutes (interactive)\n\n#### bolta.voice.learn_from_samples\n**Path:** `skills/voice-plane/bolta.voice.learn_from_samples/SKILL.md`\n**Purpose:** Extract voice patterns from existing content\n**Inputs:** URLs or text samples (3-10 examples)\n**Outputs:** Voice profile draft with auto-detected patterns\n**Permissions:** `voice:write`\n**Safe Mode:** Compatible\n**Typical Duration:** 2-3 minutes\n\n#### bolta.voice.evolve (planned)\n**Purpose:** Refine voice based on approved posts\n**Inputs:** Date range for approved posts\n**Outputs:** Updated VoiceProfile (version incremented)\n**Permissions:** `voice:write`, `posts:read`\n**Safe Mode:** Compatible\n\n#### bolta.voice.validate (planned)\n**Purpose:** Score content against voice profile\n**Inputs:** Post ID or content text\n**Outputs:** Compliance score (0-100), deviation report\n**Permissions:** `voice:read`, `posts:read`\n**Safe Mode:** Compatible\n\n---\n\n### Content Plane Skills\n\n#### bolta.draft.post\n**Path:** `skills/content-plane/bolta.draft.post/SKILL.md`\n**Purpose:** Create a single post in Draft status (original interface)\n**Inputs:** Topic, platform(s), optional voice profile ID\n**Outputs:** Post ID (Draft status)\n**Permissions:** `posts:write`\n**Safe Mode:** Always routes to Draft\n**Autonomy Mode:** Respects assisted/managed routing\n**Quota Impact:** +1 to daily post count\n**Typical Duration:** 30-60 seconds\n\n#### bolta.draft_post\n**Path:** `skills/content-plane/bolta.draft_post/SKILL.md`\n**Purpose:** Create a draft post using workspace voice profile, routes to Inbox for review\n**Inputs:** content, platform, account_id, optional voice_profile_id\n**Outputs:** Post ID (Draft/Inbox status)\n**Permissions:** `posts:write`\n**Safe Mode:** Always routes to Inbox\n**Roles:** Viewer, Creator, Editor, Admin\n**Safe Defaults:** never_publish_directly, always_route_to_inbox\n\n#### bolta.get_account_info\n**Path:** `skills/content-plane/bolta.get_account_info/SKILL.md`\n**Purpose:** Retrieve connected social account details\n**Inputs:** account_id (optional, returns all if omitted)\n**Outputs:** Account metadata (platform, handle, status)\n**Permissions:** `accounts:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_business_context\n**Path:** `skills/content-plane/bolta.get_business_context/SKILL.md`\n**Purpose:** Fetch workspace business DNA and context\n**Inputs:** workspace_id\n**Outputs:** Business DNA (industry, audience, positioning)\n**Permissions:** `workspace:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_voice_profile\n**Path:** `skills/content-plane/bolta.get_voice_profile/SKILL.md`\n**Purpose:** Read voice profile configuration\n**Inputs:** voice_profile_id (optional, returns active if omitted)\n**Outputs:** Voice profile (tone, style, constraints)\n**Permissions:** `voice:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.list_recent_posts\n**Path:** `skills/content-plane/bolta.list_recent_posts/SKILL.md`\n**Purpose:** List recent posts for context and continuity\n**Inputs:** account_id, limit, status filter\n**Outputs:** Array of recent posts with metadata\n**Permissions:** `posts:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.loop.from_template (deprecated)\n**Path:** `skills/content-plane/bolta.loop.from_template/SKILL.md`\n**Purpose:** Generate multiple posts from a template\n**Inputs:** Template ID, count (1-50), variation parameters\n**Outputs:** Array of Post IDs\n**Permissions:** `posts:write`, `templates:read`\n**Note:** Deprecated in V2. Use `bolta.agent.hire` with template-based presets instead.\n\n#### bolta.week.plan\n**Path:** `skills/content-plane/bolta.week.plan/SKILL.md`\n**Purpose:** Plan a week's content with scheduling\n**Inputs:** Start date, posting frequency, themes\n**Outputs:** 7-day content calendar with scheduled posts\n**Permissions:** `posts:write`, `posts:schedule`\n**Safe Mode:** Routes to Pending Approval if ON\n**Quota Impact:** +5-15 to daily post count (spread across week)\n\n---\n\n### Review Plane Skills\n\n#### bolta.add_comment\n**Path:** `skills/review-plane/bolta.add_comment/SKILL.md`\n**Purpose:** Add feedback comments to posts under review\n**Inputs:** post_id, comment text\n**Outputs:** Comment record\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (feedback operation)\n\n#### bolta.approve_post\n**Path:** `skills/review-plane/bolta.approve_post/SKILL.md`\n**Purpose:** Approve a draft post, moving it from Inbox to Approved status\n**Inputs:** draft_id, optional notes, optional schedule_time\n**Outputs:** Updated post status\n**Permissions:** `posts:write`, `posts:approve`\n**Roles:** Editor, Admin\n**Safe Defaults:** require_editor_role\n\n#### bolta.reject_post\n**Path:** `skills/review-plane/bolta.reject_post/SKILL.md`\n**Purpose:** Reject a draft with feedback for revision\n**Inputs:** draft_id, rejection_reason\n**Outputs:** Updated post status (Rejected)\n**Permissions:** `posts:write`, `posts:review`\n**Roles:** Editor, Admin\n\n#### bolta.inbox.triage\n**Path:** `skills/review-plane/bolta.inbox.triage/SKILL.md`\n**Purpose:** Organize pending posts by priority\n**Inputs:** Optional filters (platform, date range)\n**Outputs:** Categorized list of posts awaiting review\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.review.digest\n**Path:** `skills/review-plane/bolta.review.digest/SKILL.md`\n**Purpose:** Daily summary of posts awaiting review\n**Inputs:** None (workspace context)\n**Outputs:** Formatted summary with quick approve links\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (read-only)\n**Note:** Designed for cron execution (daily 9am)\n\n#### bolta.review.approve_and_route\n**Path:** `skills/review-plane/bolta.review.approve_and_route/SKILL.md`\n**Purpose:** Bulk approve and schedule posts\n**Inputs:** Post IDs or filter criteria\n**Outputs:** Updated post statuses\n**Permissions:** `posts:write`, `posts:approve`, `posts:schedule`\n**Safe Mode:** N/A (human override)\n**Note:** Bypasses Safe Mode (human decision)\n\n---\n\n### Automation Plane Skills\n\n#### bolta.cron.generate_to_review\n**Path:** `skills/automation-plane/bolta.cron.generate_to_review/SKILL.md`\n**Purpose:** Daily content generation -> Pending Approval\n**Inputs:** None (uses workspace settings)\n**Outputs:** Posts in Pending Approval status\n**Permissions:** `posts:write`, `cron:execute`\n**Safe Mode:** Compatible (routes to Pending Approval)\n**Autonomy Mode:** Recommended for managed/governance\n**Quota Impact:** +3-10 posts/day (configurable)\n**Execution:** Daily cron (configurable time)\n\n#### bolta.cron.generate_and_schedule\n**Path:** `skills/automation-plane/bolta.cron.generate_and_schedule/SKILL.md`\n**Purpose:** Autonomous scheduling (no human review)\n**Inputs:** None (uses workspace settings)\n**Outputs:** Posts in Scheduled status\n**Permissions:** `posts:write`, `posts:schedule`, `cron:execute`\n**Safe Mode:** **INCOMPATIBLE** (requires Safe Mode OFF)\n**Autonomy Mode:** **REQUIRES autopilot**\n**Warning:** Bypasses human review — use with caution\n\n---\n\n### Agent Plane Skills\n\n#### bolta.agent.hire\n**Path:** `skills/agent-plane/bolta.agent.hire/SKILL.md`\n**Purpose:** Create and onboard a new AI agent teammate from marketplace presets\n**Inputs:** Agent preset selection, workspace context, voice profile\n**Outputs:** Agent record + configured job(s)\n**Permissions:** `agents:create`, `workspace:read`\n**Roles:** Editor, Admin\n**Safe Defaults:** jobs_start_paused, require_preview_approval\n**Tools Required:** get_workspace_policy, get_my_capabilities, get_voice_profile, list_agent_presets, create_agent, create_job, draft_post, get_business_context\n\n#### bolta.agent.configure\n**Path:** `skills/agent-plane/bolta.agent.configure/SKILL.md`\n**Purpose:** Update agent settings, permissions, and job parameters\n**Inputs:** agent_id, configuration updates\n**Outputs:** Updated agent record\n**Permissions:** `agents:manage`\n**Roles:** Editor, Admin\n\n#### bolta.agent.activate_job\n**Path:** `skills/agent-plane/bolta.agent.activate_job/SKILL.md`\n**Purpose:** Activate or pause an agent's scheduled job\n**Inputs:** job_id, action (activate/pause)\n**Outputs:** Updated job status\n**Permissions:** `agents:manage`, `cron:execute`\n**Roles:** Editor, Admin\n\n#### bolta.agent.memory\n**Path:** `skills/agent-plane/bolta.agent.memory/SKILL.md`\n**Purpose:** Read/write agent memory for cross-session context\n**Inputs:** agent_id, memory operation (read/write/clear)\n**Outputs:** Memory contents or confirmation\n**Permissions:** `agents:read` (read), `agents:manage` (write)\n\n#### bolta.agent.mention\n**Path:** `skills/agent-plane/bolta.agent.mention/SKILL.md`\n**Purpose:** Notify or hand off work to another agent\n**Inputs:** target_agent_id, context, task description\n**Outputs:** Mention record\n**Permissions:** `agents:read`\n\n#### bolta.job.execute\n**Path:** `skills/agent-plane/bolta.job.execute/SKILL.md`\n**Purpose:** Documentation for job execution lifecycle\n**Type:** Documentation (not directly callable)\n**Describes:** How agent jobs run, retry logic, observability\n\n---\n\n### Analytics Plane Skills\n\n#### bolta.get_post_metrics\n**Path:** `skills/analytics-plane/bolta.get_post_metrics/SKILL.md`\n**Purpose:** Retrieve performance metrics for published posts\n**Inputs:** account_id, optional limit/date_from/date_to/platform\n**Outputs:** Metrics (likes, comments, shares, views, engagement rate)\n**Permissions:** `analytics:read`\n**Roles:** Viewer, Creator, Editor, Admin\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_best_posting_times\n**Path:** `skills/analytics-plane/bolta.get_best_posting_times/SKILL.md`\n**Purpose:** Analyze historical data for optimal posting windows\n**Inputs:** account_id, optional platform filter\n**Outputs:** Recommended posting times by day/hour\n**Permissions:** `analytics:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_audience_insights\n**Path:** `skills/analytics-plane/bolta.get_audience_insights/SKILL.md`\n**Purpose:** Audience demographics, growth trends, engagement patterns\n**Inputs:** account_id, optional date range\n**Outputs:** Audience profile and trend data\n**Permissions:** `analytics:read`\n**Safe Mode:** N/A (read-only)\n\n---\n\n### Engagement Plane Skills\n\n#### bolta.get_comments\n**Path:** `skills/engagement-plane/bolta.get_comments/SKILL.md`\n**Purpose:** Retrieve comments on published posts\n**Inputs:** post_id or account_id\n**Outputs:** Comment list with metadata\n**Permissions:** `engagement:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.get_mentions\n**Path:** `skills/engagement-plane/bolta.get_mentions/SKILL.md`\n**Purpose:** Monitor brand mentions across platforms\n**Inputs:** account_id, optional date range\n**Outputs:** Mention list with sentiment and context\n**Permissions:** `engagement:read`\n**Safe Mode:** N/A (read-only)\n\n#### bolta.reply_to_mention\n**Path:** `skills/engagement-plane/bolta.reply_to_mention/SKILL.md`\n**Purpose:** Draft a reply to a mention, comment, or DM in brand voice\n**Inputs:** mention_id, reply_text, optional tone\n**Outputs:** Reply draft (routed for approval)\n**Permissions:** `engagement:write`\n**Roles:** Viewer, Creator, Editor, Admin\n**Safe Defaults:** always_draft_for_approval, escalate_sensitive_topics\n\n---\n\n### Control Plane Skills\n\n#### bolta.team.create_agent_teammate\n**Path:** `skills/control-plane/bolta.team.create_agent_teammate/SKILL.md`\n**Purpose:** Provision agent principals with roles\n**Inputs:** Agent name, role (creator/editor/reviewer), permissions\n**Outputs:** AgentPrincipal record + API key\n**Permissions:** `workspace:admin`, `agents:create`\n**Role Required:** Owner or Admin\n\n#### bolta.team.rotate_key\n**Path:** `skills/control-plane/bolta.team.rotate_key/SKILL.md`\n**Purpose:** Rotate API keys for security\n**Inputs:** API key ID or agent ID\n**Outputs:** New API key (old key revoked)\n**Permissions:** `workspace:admin`, `agents:manage`\n**Role Required:** Owner or Admin\n**Note:** Old key immediately invalidated\n\n#### bolta.policy.explain\n**Path:** `skills/control-plane/bolta.policy.explain/SKILL.md`\n**Purpose:** Explain authorization decisions\n**Inputs:** Action attempt (e.g., \"Why can't I publish?\")\n**Outputs:** Policy analysis with specific blockers\n**Permissions:** None (informational)\n**Use Case:** Troubleshooting \"Access Denied\" errors\n\n#### bolta.audit.export_activity\n**Path:** `skills/control-plane/bolta.audit.export_activity/SKILL.md`\n**Purpose:** Export audit logs\n**Inputs:** Date range, filters (principal, action type, denied actions)\n**Outputs:** CSV or JSON export of PostActivity records\n**Permissions:** `workspace:admin`, `audit:read`\n**Role Required:** Owner or Admin\n**Use Case:** Compliance reporting, SOC2 audits\n\n#### bolta.quota.status\n**Path:** `skills/control-plane/bolta.quota.status/SKILL.md`\n**Purpose:** View current quota usage\n**Inputs:** None (workspace context)\n**Outputs:** Daily post count, hourly API usage, limits, percentage\n**Permissions:** `workspace:read`\n\n#### bolta.workspace.config\n**Path:** `skills/control-plane/bolta.workspace.config/SKILL.md`\n**Purpose:** View/update workspace settings\n**Inputs:** Settings to update (autonomy_mode, safe_mode, quotas)\n**Outputs:** Updated workspace configuration\n**Permissions:** `workspace:admin`\n**Role Required:** Owner or Admin\n**Warning:** Changing autonomy mode affects all agent operations\n\n---\n\n## Recommended Install Sets\n\nInstall sets are curated skill bundles tailored to specific autonomy modes and use cases.\n\n### Assisted Mode Install Set\n**Autonomy Level:** Low (maximum human control)\n**Safe Mode:** Must be ON\n**Use Case:** New users, high-stakes brands, learning Bolta\n\n**Skills:**\n- `bolta.voice.bootstrap` - Set up initial voice profile\n- `bolta.draft.post` / `bolta.draft_post` - Create individual posts (always Draft)\n- `bolta.get_account_info` - View connected accounts\n- `bolta.get_voice_profile` - Read voice configuration\n- `bolta.list_recent_posts` - Context from recent posts\n- `bolta.week.plan` - Plan content calendar\n\n**Rationale:** Prioritizes learning and control. All content goes to Draft for manual review before scheduling. Ideal for teams new to AI content generation, brands with strict compliance requirements, or users learning Bolta patterns before automating.\n\n---\n\n### Managed Mode Install Set\n**Autonomy Level:** Medium (guided automation with oversight)\n**Safe Mode:** ON (recommended) or OFF\n**Use Case:** Established users, moderate volume, review workflows\n\n**Skills:**\n- All Assisted skills +\n- `bolta.inbox.triage` - Organize posts for review\n- `bolta.review.digest` - Daily review summaries\n- `bolta.approve_post` / `bolta.reject_post` - Individual review actions\n- `bolta.review.approve_and_route` - Bulk approval workflow\n- `bolta.add_comment` - Feedback on drafts\n- `bolta.cron.generate_to_review` - Daily automated generation\n- `bolta.get_post_metrics` - Performance tracking\n- `bolta.get_best_posting_times` - Scheduling optimization\n\n**Rationale:** Balances efficiency with oversight. Agent generates content autonomously, but humans approve before publishing. Ideal for teams with 1-2 reviewers publishing 3-10 posts/day.\n\n---\n\n### Autopilot Mode Install Set\n**Autonomy Level:** High (hands-off automation)\n**Safe Mode:** Must be OFF (incompatible)\n**Use Case:** High volume, trusted voice, minimal oversight\n\n**Skills:**\n- All Managed skills +\n- `bolta.cron.generate_and_schedule` - Autonomous scheduling\n- `bolta.agent.hire` - Onboard AI agents\n- `bolta.agent.configure` - Configure agent behavior\n- `bolta.agent.activate_job` - Activate agent jobs\n- `bolta.get_audience_insights` - Audience intelligence\n- `bolta.get_comments` / `bolta.get_mentions` - Engagement monitoring\n- `bolta.reply_to_mention` - Automated engagement\n- `bolta.quota.status` - Monitor quota usage\n\n**Rationale:** Maximizes efficiency for high-volume operations. Agent schedules directly without human approval. Only use with well-tested voice profiles, configured quota limits, and regular validation spot-checks.\n\n**Warning:** Autopilot bypasses human review. Recommended safeguards:\n- Well-tested voice profiles (version 5+)\n- Quota limits configured (max 20 posts/day recommended)\n- Regular validation spot-checks (review 10% of published posts)\n\n---\n\n### Governance Mode Install Set\n**Autonomy Level:** N/A (control & audit focused)\n**Safe Mode:** N/A\n**Use Case:** Admins, compliance teams, workspace management\n\n**Skills:**\n- `bolta.policy.explain` - Authorization troubleshooting\n- `bolta.audit.export_activity` - Compliance exports\n- `bolta.team.create_agent_teammate` - Agent provisioning\n- `bolta.team.rotate_key` - Security operations\n- `bolta.workspace.config` - Workspace administration\n- `bolta.quota.status` - Usage monitoring\n- `bolta.agent.configure` - Agent management\n- `bolta.agent.memory` - Agent memory inspection\n\n**Rationale:** Control plane install set for administrators. Ideal for workspace owners managing teams, compliance officers conducting audits, and security teams rotating keys.\n\n---\n\n## Decision Matrix: Skill Recommendations\n\nThis matrix determines which skills to recommend based on workspace context.\n\n### Input Variables\n1. **Safe Mode** (ON/OFF)\n2. **Autonomy Mode** (assisted/managed/autopilot/governance)\n3. **User Role** (owner/admin/editor/creator/reviewer/viewer)\n4. **Agent Permissions** (if principal is agent)\n5. **Workspace Quotas** (daily post limit, hourly API limit)\n6. **Voice Profile Status** (exists, version number)\n\n### Decision Rules\n\n#### Rule 1: Voice Bootstrapping (First-Time Setup)\n```\nIF voice_profile_count == 0:\n  RECOMMEND: bolta.voice.bootstrap (HIGH PRIORITY)\n  RATIONALE: Cannot create content without voice profile\n```\n\n#### Rule 2: Safe Mode + Autopilot Incompatibility\n```\nIF safe_mode == ON AND autonomy_mode == \"autopilot\":\n  ERROR: Incompatible configuration\n  RECOMMEND: Either disable Safe Mode OR switch to \"managed\"\n  RATIONALE: Autopilot bypasses review; contradicts Safe Mode intent\n```\n\n#### Rule 3: Agent Permission Gating\n```\nIF principal_type == \"agent\":\n  IF agent.permissions NOT IN required_permissions:\n    EXCLUDE: Skills requiring missing permissions\n    RECOMMEND: bolta.policy.explain to understand blockers\n```\n\n#### Rule 4: Role-Based Filtering\n```\nIF role IN [\"viewer\", \"reviewer\"]:\n  EXCLUDE: All write operations (posts:write, voice:write)\n  INCLUDE: Read-only skills (audit.export, policy.explain, analytics, engagement reads)\n\nIF role IN [\"creator\", \"editor\"]:\n  INCLUDE: Content plane + Review plane + Analytics + Engagement skills\n  EXCLUDE: Control plane skills (team.*, workspace.config)\n\nIF role IN [\"admin\", \"owner\"]:\n  INCLUDE: All skills (no restrictions)\n```\n\n#### Rule 5: Quota-Based Warnings\n```\nIF daily_posts_used >= (daily_post_limit * 0.8):\n  WARN: \"Approaching daily quota limit\"\n  RECOMMEND: bolta.quota.status to view usage\n\nIF daily_posts_used >= daily_post_limit:\n  BLOCK: All posts:write skills\n  RECOMMEND: Increase quota via bolta.workspace.config\n```\n\n#### Rule 6: Autonomy Mode Routing\n```\nIF autonomy_mode == \"assisted\":\n  INCLUDE: Content plane (draft only) + Analytics + Engagement (read-only)\n  EXCLUDE: Automation plane (no cron jobs)\n\nIF autonomy_mode == \"managed\":\n  INCLUDE: Content + Review + Analytics + Engagement planes\n  INCLUDE: bolta.cron.generate_to_review (safe automation)\n  EXCLUDE: bolta.cron.generate_and_schedule (requires autopilot)\n\nIF autonomy_mode == \"autopilot\":\n  INCLUDE: All automation + agent skills\n  REQUIRE: Safe Mode OFF\n  RECOMMEND: Quota monitoring (quota.status)\n```\n\n---\n\n## Registry Flow (Detailed)\n\n### Step 1: Gather Workspace Context\n**API Call:** `GET /api/v1/workspaces/{workspace_id}`\n\n**Extract:**\n- `safe_mode` (boolean)\n- `autonomy_mode` (assisted/managed/autopilot/governance)\n- `max_posts_per_day` (int, nullable)\n- `max_api_requests_per_hour` (int, nullable)\n\n### Step 2: Identify Principal\n**API Call:** `GET /api/v1/me` or use request context\n\n**Extract:**\n- `principal_type` (user or agent)\n- `role` (owner/admin/editor/creator/reviewer/viewer)\n- If agent: `permissions` array, `autonomy_override`\n\n### Step 3: Check Voice Profile Status\n**API Call:** `GET /api/v1/workspaces/{workspace_id}/voice-profiles`\n\n**Extract:**\n- `voice_profile_count` (0 = needs bootstrap)\n- Latest `version` (higher version = more refined)\n- `status` (active/draft/archived)\n\n### Step 4: Check Quota Usage\n**API Call:** `GET /api/v1/workspaces/{workspace_id}/quota-status` (via `bolta.quota.status`)\n\n**Extract:**\n- `daily_posts.used` / `daily_posts.limit`\n- `hourly_api_requests.used` / `hourly_api_requests.limit`\n\n### Step 5: Apply Decision Rules\nRun through decision matrix (see above) to filter skills.\n\n**Output:**\n- `recommended_skills` - Array of skill slugs\n- `excluded_skills` - Array with exclusion reasons\n- `warnings` - Array of configuration issues\n\n### Step 6: Return Structured Response\n```json\n{\n  \"workspace_id\": \"uuid\",\n  \"safe_mode\": true,\n  \"autonomy_mode\": \"managed\",\n  \"role\": \"editor\",\n  \"principal_type\": \"user\",\n  \"voice_profile_status\": {\n    \"exists\": true,\n    \"version\": 3,\n    \"status\": \"active\"\n  },\n  \"quota_status\": {\n    \"daily_posts\": { \"used\": 12, \"limit\": 100, \"percentage\": 12 },\n    \"hourly_api_requests\": { \"used\": 45, \"limit\": 1000, \"percentage\": 4.5 }\n  },\n  \"recommended_skills\": [\n    \"bolta.draft.post\",\n    \"bolta.draft_post\",\n    \"bolta.get_account_info\",\n    \"bolta.get_voice_profile\",\n    \"bolta.list_recent_posts\",\n    \"bolta.week.plan\",\n    \"bolta.inbox.triage\",\n    \"bolta.review.digest\",\n    \"bolta.approve_post\",\n    \"bolta.reject_post\",\n    \"bolta.review.approve_and_route\",\n    \"bolta.cron.generate_to_review\",\n    \"bolta.get_post_metrics\",\n    \"bolta.get_best_posting_times\"\n  ],\n  \"excluded_skills\": [\n    {\n      \"skill\": \"bolta.cron.generate_and_schedule\",\n      \"reason\": \"Requires autonomy_mode=autopilot (current: managed)\"\n    },\n    {\n      \"skill\": \"bolta.workspace.config\",\n      \"reason\": \"Requires role owner/admin (current: editor)\"\n    }\n  ],\n  \"warnings\": [],\n  \"next_steps\": [\n    \"Install recommended skills via MCP or API\",\n    \"Configure daily digest via bolta.review.digest\",\n    \"Monitor performance via bolta.get_post_metrics\"\n  ]\n}\n```\n\n---\n\n## Output Examples\n\n### Example 1: New Workspace (First-Time Setup)\n```json\n{\n  \"workspace_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"safe_mode\": true,\n  \"autonomy_mode\": \"assisted\",\n  \"role\": \"owner\",\n  \"principal_type\": \"user\",\n  \"voice_profile_status\": { \"exists\": false, \"version\": 0, \"status\": null },\n  \"quota_status\": {\n    \"daily_posts\": { \"used\": 0, \"limit\": 100, \"percentage\": 0 },\n    \"hourly_api_requests\": { \"used\": 0, \"limit\": 1000, \"percentage\": 0 }\n  },\n  \"recommended_skills\": [\"bolta.voice.bootstrap\"],\n  \"excluded_skills\": [],\n  \"warnings\": [\n    {\n      \"type\": \"missing_voice_profile\",\n      \"message\": \"No voice profile found. Run bolta.voice.bootstrap to get started.\",\n      \"severity\": \"high\"\n    }\n  ],\n  \"next_steps\": [\n    \"1. Run bolta.voice.bootstrap to create your brand voice\",\n    \"2. After voice setup, install content plane skills\",\n    \"3. Create your first post with bolta.draft_post\"\n  ]\n}\n```\n\n### Example 2: Managed Mode (Typical Production)\n```json\n{\n  \"workspace_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n  \"safe_mode\": true,\n  \"autonomy_mode\": \"managed\",\n  \"role\": \"admin\",\n  \"principal_type\": \"user\",\n  \"voice_profile_status\": { \"exists\": true, \"version\": 5, \"status\": \"active\" },\n  \"quota_status\": {\n    \"daily_posts\": { \"used\": 18, \"limit\": 50, \"percentage\": 36 },\n    \"hourly_api_requests\": { \"used\": 142, \"limit\": 1000, \"percentage\": 14.2 }\n  },\n  \"recommended_skills\": [\n    \"bolta.draft.post\",\n    \"bolta.draft_post\",\n    \"bolta.get_account_info\",\n    \"bolta.get_business_context\",\n    \"bolta.get_voice_profile\",\n    \"bolta.list_recent_posts\",\n    \"bolta.week.plan\",\n    \"bolta.inbox.triage\",\n    \"bolta.review.digest\",\n    \"bolta.approve_post\",\n    \"bolta.reject_post\",\n    \"bolta.add_comment\",\n    \"bolta.review.approve_and_route\",\n    \"bolta.cron.generate_to_review\",\n    \"bolta.get_post_metrics\",\n    \"bolta.get_best_posting_times\",\n    \"bolta.get_audience_insights\",\n    \"bolta.team.create_agent_teammate\",\n    \"bolta.audit.export_activity\",\n    \"bolta.quota.status\"\n  ],\n  \"excluded_skills\": [\n    {\n      \"skill\": \"bolta.cron.generate_and_schedule\",\n      \"reason\": \"Requires autonomy_mode=autopilot AND safe_mode=OFF\"\n    }\n  ],\n  \"warnings\": [],\n  \"next_steps\": [\n    \"Configure daily content generation via bolta.cron.generate_to_review\",\n    \"Set up review workflow with digest notifications\",\n    \"Monitor post performance via bolta.get_post_metrics\"\n  ]\n}\n```\n\n### Example 3: Autopilot Mode (High Volume)\n```json\n{\n  \"workspace_id\": \"770e8400-e29b-41d4-a716-446655440002\",\n  \"safe_mode\": false,\n  \"autonomy_mode\": \"autopilot\",\n  \"role\": \"owner\",\n  \"principal_type\": \"user\",\n  \"voice_profile_status\": { \"exists\": true, \"version\": 12, \"status\": \"active\" },\n  \"quota_status\": {\n    \"daily_posts\": { \"used\": 47, \"limit\": 200, \"percentage\": 23.5 },\n    \"hourly_api_requests\": { \"used\": 523, \"limit\": 2000, \"percentage\": 26.15 }\n  },\n  \"recommended_skills\": [\n    \"bolta.draft.post\", \"bolta.draft_post\", \"bolta.get_account_info\",\n    \"bolta.get_business_context\", \"bolta.get_voice_profile\",\n    \"bolta.list_recent_posts\", \"bolta.week.plan\",\n    \"bolta.inbox.triage\", \"bolta.review.digest\",\n    \"bolta.approve_post\", \"bolta.reject_post\", \"bolta.add_comment\",\n    \"bolta.review.approve_and_route\",\n    \"bolta.cron.generate_to_review\", \"bolta.cron.generate_and_schedule\",\n    \"bolta.agent.hire\", \"bolta.agent.configure\", \"bolta.agent.activate_job\",\n    \"bolta.agent.memory\", \"bolta.agent.mention\",\n    \"bolta.get_post_metrics\", \"bolta.get_best_posting_times\",\n    \"bolta.get_audience_insights\",\n    \"bolta.get_comments\", \"bolta.get_mentions\", \"bolta.reply_to_mention\",\n    \"bolta.quota.status\", \"bolta.workspace.config\"\n  ],\n  \"excluded_skills\": [],\n  \"warnings\": [\n    {\n      \"type\": \"high_autonomy\",\n      \"message\": \"Autopilot mode bypasses human review. Monitor quota usage and validate voice compliance regularly.\",\n      \"severity\": \"medium\"\n    }\n  ],\n  \"next_steps\": [\n    \"Monitor quota usage daily via bolta.quota.status\",\n    \"Hire AI agents for specialized content via bolta.agent.hire\",\n    \"Track engagement via bolta.get_mentions and bolta.reply_to_mention\"\n  ]\n}\n```\n\n### Example 4: Agent Principal (Limited Permissions)\n```json\n{\n  \"workspace_id\": \"880e8400-e29b-41d4-a716-446655440003\",\n  \"safe_mode\": true,\n  \"autonomy_mode\": \"managed\",\n  \"role\": \"creator\",\n  \"principal_type\": \"agent\",\n  \"agent\": {\n    \"id\": \"agent-uuid\",\n    \"name\": \"Content Bot\",\n    \"permissions\": [\"posts:write\", \"posts:read\", \"templates:read\"]\n  },\n  \"voice_profile_status\": { \"exists\": true, \"version\": 7, \"status\": \n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7bxrtk8tg6469r5ntmw159bx819p0x\",\n  \"slug\": \"bolta-skills-index\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1775434041773\n}\n\nArchive v0.5.4: 2 files, 16981 bytes\n\nFiles: SKILL.md (57570b), _meta.json (137b)\n\nFile v0.5.4:SKILL.md\n\n# SKILL: bolta.skills.index\n\nDisplay name: Bolta Skills Registry\nSlug: bolta-skills-registry\nVersion: 0.5.4\nTags: registry,catalog,bootstrap,workspace,index,discovery\nOrganization: bolta.ai\nAuthor: Max Fritzhand\nType: registry\nExecutes: false\n\n## Metadata\n\n```json\n{\n  \"name\": \"bolta.skills.index\",\n  \"version\": \"0.5.4\",\n  \"publisher\": \"bolta.ai\",\n  \"verified\": true,\n  \"sourceRepository\": \"https://github.com/boltaai/bolta-skills\",\n  \"requiredEnvironmentVariables\": [\n    {\n      \"name\": \"BOLTA_API_KEY\",\n      \"required\": true,\n      \"sensitive\": true,\n      \"description\": \"Bolta API key (obtain at bolta.ai/register)\",\n      \"format\": \"sk_live_[64 characters]\",\n      \"scope\": \"workspace\"\n    },\n    {\n      \"name\": \"BOLTA_WORKSPACE_ID\",\n      \"required\": true,\n      \"sensitive\": false,\n      \"description\": \"Workspace UUID for API operations\",\n      \"format\": \"UUID\"\n    },\n    {\n      \"name\": \"BOLTA_AGENT_ID\",\n      \"required\": false,\n      \"sensitive\": false,\n      \"description\": \"Agent principal UUID (for audit logging)\",\n      \"format\": \"UUID\"\n    }\n  ],\n  \"trustedDomains\": [\n    \"platty.boltathread.com\",\n    \"bolta.ai\"\n  ],\n  \"permissions\": [\n    \"network:https:platty.boltathread.com\",\n    \"network:https:bolta.ai\"\n  ],\n  \"thirdPartyPackages\": [\n    {\n      \"name\": \"@boltaai/mcp-server\",\n      \"registry\": \"npm\",\n      \"verified\": true,\n      \"sourceRepository\": \"https://github.com/boltaai/bolta-mcp-server\"\n    }\n  ]\n}\n```\n\n## ⚠️ Security Notice\n\n**This skill requires sensitive API credentials. Read this section carefully before installing.**\n\n### Required Credentials\n\n**BOLTA_API_KEY** (REQUIRED, SENSITIVE)\n- **Format:** `sk_live_` followed by 64 alphanumeric characters\n- **Obtain at:** https://bolta.ai/register\n- **Scoping:** Each key is scoped to a SINGLE workspace only\n- **Permissions:** Grant LEAST-PRIVILEGE access (e.g., only `posts:write` if creating content)\n- **Rotation:** Rotate every 90 days using `bolta.team.rotate_key` skill\n- **Storage:** NEVER commit to git - use environment variables or secret managers only\n\n**BOLTA_WORKSPACE_ID** (REQUIRED)\n- **Format:** UUID (e.g., `550e8400-e29b-41d4-a716-446655440000`)\n- **Source:** Provided during agent registration at bolta.ai/register\n- **Purpose:** Identifies which workspace the API key is authorized for\n\n**BOLTA_AGENT_ID** (OPTIONAL, RECOMMENDED)\n- **Format:** UUID\n- **Purpose:** Links API activity to specific agent principal for audit logs\n- **Benefit:** Enables traceability and compliance reporting\n\n### Trusted Network Endpoints\n\nThis skill makes HTTPS requests to:\n- ✅ `https://platty.boltathread.com` - Bolta API server\n- ✅ `https://bolta.ai` - Main application and agent registration portal\n\n**No other domains are contacted.** All requests are authenticated with your API key.\n\n### Third-Party Dependencies\n\nThis skill references:\n- `@boltaai/mcp-server` (npm package for Claude Desktop integration)\n  - **Source:** https://github.com/boltaai/bolta-mcp-server\n  - **Verified:** Yes (official Bolta package)\n  - **Purpose:** Connects Claude Desktop to Bolta API via MCP protocol\n\n### Pre-Installation Checklist\n\n**Before installing this skill, you MUST:**\n- [ ] Verify the source repository: https://github.com/boltaai/bolta-skills\n- [ ] Review the SKILL.md and confirm version matches metadata (currently 0.5.4)\n- [ ] Obtain a LEAST-PRIVILEGE API key from https://bolta.ai/register\n- [ ] Store API key in environment variables (NEVER hardcode or commit)\n- [ ] Verify you trust the domains: `platty.boltathread.com` and `bolta.ai`\n- [ ] Test in a disposable/test workspace first (recommended)\n- [ ] Confirm your API key is scoped ONLY to the intended workspace\n\n**If you cannot verify the above, DO NOT install this skill.**\n\n### Security Best Practices\n\n1. **Credential Management**\n   - Use environment variables: `export BOLTA_API_KEY=\"sk_live_...\"`\n   - Or use secret managers: AWS Secrets Manager, 1Password, etc.\n   - NEVER paste API keys in chat, logs, or public places\n\n2. **Key Rotation**\n   - Rotate keys every 90 days minimum\n   - Use `bolta.team.rotate_key` skill for zero-downtime rotation\n   - Revoke compromised keys immediately at bolta.ai/settings\n\n3. **Permission Scoping**\n   - Grant ONLY required permissions (e.g., `posts:write`, `voice:read`)\n   - Avoid `workspace:admin` unless absolutely necessary\n   - Review permissions quarterly\n\n4. **Monitoring**\n   - Review audit logs weekly via `bolta.audit.export_activity`\n   - Monitor quota usage via `bolta.quota.status`\n   - Set up alerts for unusual API activity\n\n5. **Workspace Isolation**\n   - One API key per workspace (NEVER share keys across workspaces)\n   - Use separate keys for dev/staging/production environments\n   - Revoke keys when decommissioning workspaces\n\n## Purpose\n\n**The canonical registry and orchestration layer for all Bolta skills.**\n\nThis skill serves as the single source of truth for skill discovery, installation recommendations, and workspace-aware capability bootstrapping. It does not execute content operations directly — instead, it provides intelligent routing to the appropriate skills based on:\n\n- **Workspace policy** (Safe Mode, autonomy mode, quotas)\n- **Principal identity** (user role, agent permissions)\n- **Operational context** (what you're trying to accomplish)\n\n**Key Responsibilities:**\n1. **Discovery** - Index all available skills with metadata\n2. **Recommendation** - Suggest install sets based on workspace policy and role\n3. **Orchestration** - Guide multi-skill workflows\n4. **Compatibility** - Enforce skill compatibility with workspace settings\n5. **Bootstrapping** - Help new workspaces get started quickly\n\n**When to Use:**\n- Setting up a new workspace (\"What skills should I install?\")\n- Discovering available capabilities (\"What can Bolta do?\")\n- Troubleshooting skill compatibility (\"Why can't I use this skill?\")\n- Planning multi-step workflows (\"Which skills do I need?\")\n\n**Data Access:**\nThis skill accesses:\n- ✅ Workspace configuration (policy, quotas, autonomy mode)\n- ✅ Voice profile metadata (names, IDs, not full content)\n- ✅ Post counts and quota usage\n- ✅ Agent principal permissions\n\nThis skill does NOT access:\n- ❌ Post content or scheduled posts\n- ❌ Social media credentials\n- ❌ User passwords or authentication tokens\n- ❌ Files or media uploads\n\n## Source & Verification\n\nhttps://github.com/boltaai/bolta-skills\n\n---\n\n## Getting Started: Agent API Setup\n\nBefore using Bolta skills, you need to set up agent API access to authenticate your requests.\n\n### Step 1: Register Your Agent\n\nVisit **[bolta.ai/register](https://bolta.ai/register)** to create your agent principal and obtain an API key.\n\n**What you'll need:**\n- Bolta workspace (create one at bolta.ai if you don't have one)\n- Admin or Owner role in your workspace\n\n### Step 2: Create Agent Principal\n\nDuring registration, you'll configure:\n\n**Agent Name**\n```\nExample: \"Claude Content Agent\"\nDescription: Human-readable name for audit logs\n```\n\n**Agent Role**\n```\nOptions:\n- creator  - Can create drafts (recommended for testing)\n- editor   - Can create + schedule posts\n- reviewer - Can approve/reject posts (review-only access)\n\nRecommended: Start with \"creator\" role for safety\n```\n\n**Permissions**\n```\nMinimum for content skills:\n✓ posts:write  - Create posts\n✓ voice:read   - Read voice profiles\n\nOptional (based on use case):\n□ posts:schedule  - Schedule posts (requires editor+ role)\n□ posts:approve   - Approve posts for publishing\n□ templates:read  - Use content templates\n□ cron:execute    - Run automated jobs\n```\n\n### Step 3: Copy Your API Key\n\nAfter registration, you'll receive:\n\n```\nAPI Key: sk_live_00000000000000000000000000000000\nWorkspace ID: 550e8400-e29b-41d4-a716-446655440000\nAgent ID: 660e8400-e29b-41d4-a716-446655440001\n```\n\n**IMPORTANT:**\n- ⚠️ Store API key securely (never commit to git)\n- ⚠️ Keys cannot be recovered (only regenerated via `bolta.team.rotate_key`)\n- ⚠️ Each key is scoped to ONE workspace\n\n### Step 4: Configure Your Environment\n\n**Set Required Environment Variables:**\n\nBefore using any Bolta skills, you MUST configure these environment variables:\n\n```bash\n# Required: Your Bolta API key (from bolta.ai/register)\nexport BOLTA_API_KEY=\"sk_live_your_actual_key_here\"\n\n# Required: Your workspace UUID (from bolta.ai/register)\nexport BOLTA_WORKSPACE_ID=\"550e8400-e29b-41d4-a716-446655440000\"\n\n# Optional: Agent principal UUID (for audit logging)\nexport BOLTA_AGENT_ID=\"660e8400-e29b-41d4-a716-446655440001\"\n```\n\n**For Claude Desktop (MCP):**\n```json\n{\n  \"mcpServers\": {\n    \"bolta\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@boltaai/mcp-server\"],\n      \"env\": {\n        \"BOLTA_API_KEY\": \"sk_live_your_actual_key_here\",\n        \"BOLTA_WORKSPACE_ID\": \"550e8400-e29b-41d4-a716-446655440000\",\n        \"BOLTA_AGENT_ID\": \"660e8400-e29b-41d4-a716-446655440001\"\n      }\n    }\n  }\n}\n```\n\n**For Direct API Calls:**\n```bash\n# Use environment variables in your requests\ncurl https://platty.boltathread.com/v1/posts \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\" \\\n  -H \"X-Workspace-ID: ${BOLTA_WORKSPACE_ID}\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"prompt\": \"Create a post about productivity\" }'\n```\n\n**For Node.js/TypeScript Applications:**\n```javascript\nimport { BoltaClient } from '@boltaai/sdk';\n\n// Load from environment variables (recommended)\nconst bolta = new BoltaClient({\n  apiKey: process.env.BOLTA_API_KEY,\n  workspaceId: process.env.BOLTA_WORKSPACE_ID,\n  agentId: process.env.BOLTA_AGENT_ID // Optional\n});\n\n// Verify all required vars are set\nif (!process.env.BOLTA_API_KEY || !process.env.BOLTA_WORKSPACE_ID) {\n  throw new Error('Missing required Bolta credentials. Set BOLTA_API_KEY and BOLTA_WORKSPACE_ID');\n}\n```\n\n**Security Reminder:**\n- ⚠️ Never hardcode API keys in your code\n- ⚠️ Use `.env` files locally (add `.env` to `.gitignore`)\n- ⚠️ Use secret managers in production (AWS Secrets Manager, Vercel Secrets, etc.)\n- ⚠️ Rotate keys every 90 days via `bolta.team.rotate_key`\n\n\n### Step 5: Verify Setup\n\nTest your configuration with a simple skill:\n\n# Via API\ncurl https://api.bolta.ai/v1/workspaces/{workspace_id} \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n# Expected response:\n{\n  \"id\": \"550e8400-...\",\n  \"name\": \"My Workspace\",\n  \"safe_mode\": true,\n  \"autonomy_mode\": \"managed\",\n  \"max_posts_per_day\": 100\n}\n```\n\n### Troubleshooting Setup\n\n#### Error: \"Invalid API Key\"\n**Cause:** Key is incorrect or has been rotated\n\n**Solutions:**\n1. Verify key matches exactly (no extra spaces)\n2. Check if key was rotated → Get new key at bolta.ai/register\n3. Ensure you're using the correct workspace key\n\n#### Error: \"Workspace Not Found\"\n**Cause:** Workspace ID mismatch or no access\n\n**Solutions:**\n1. Verify workspace_id matches your registration\n2. Confirm you have access to this workspace (visit bolta.ai/workspaces)\n3. Check if workspace was deleted\n\n#### Error: \"Permission Denied\"\n**Cause:** Agent role lacks required permission\n\n**Solutions:**\n1. Check your agent's permissions at bolta.ai/register\n2. For content creation: Need `posts:write` minimum\n3. For scheduling: Need `posts:schedule` + editor role\n4. For automation: Need `cron:execute` permission\n\n---\n\n## Installation & First Run\n\n### 🎯 Complete Skill Pack Installation\n\n**You're currently viewing the registry skill only.** To access the full Bolta skills library, you should install the complete skill pack.\n\n**Option 1: Install Full Skill Pack (Recommended)**\n\n```bash\n# Clone the complete Bolta skills repository\ngit clone https://github.com/boltaai/bolta-skills.git\n\n# Or download the latest release\ncurl -L https://github.com/boltaai/bolta-skills/archive/refs/heads/main.zip -o bolta-skills.zip\nunzip bolta-skills.zip\n```\n\n**What You Get:**\n```\nbolta-skills/\n├── README.md                    # ⭐ START HERE - Complete getting started guide\n├── skills/\n│   ├── bolta.skills.index/      # ✅ You're here (registry)\n│   ├── voice-plane/\n│   │   ├── bolta.voice.bootstrap/\n│   │   ├── bolta.voice.learn_from_samples/\n│   │   ├── bolta.voice.evolve/\n│   │   └── bolta.voice.validate/\n│   ├── content-plane/\n│   │   ├── bolta.draft.post/\n│   │   ├── bolta.loop.from_template/\n│   │   ├── bolta.week.plan/\n│   │   ├── bolta.content.repurpose/\n│   │   └── bolta.content.thread_builder/\n│   ├── review-plane/\n│   │   ├── bolta.inbox.triage/\n│   │   ├── bolta.review.digest/\n│   │   ├── bolta.review.approve_and_route/\n│   │   ├── bolta.review.suggest_edits/\n│   │   └── bolta.review.compliance_check/\n│   ├── automation-plane/\n│   │   ├── bolta.cron.generate_to_review/\n│   │   ├── bolta.cron.generate_and_schedule/\n│   │   ├── bolta.recurring.from_template/\n│   │   ├── bolta.auto.respond_to_trending/\n│   │   └── bolta.auto.content_gap_fill/\n│   └── control-plane/\n│       ├── bolta.team.create_agent_teammate/\n│       ├── bolta.team.rotate_key/\n│       ├── bolta.policy.explain/\n│       ├── bolta.audit.export_activity/\n│       ├── bolta.quota.status/\n│       └── bolta.workspace.config/\n├── docs/\n│   ├── getting-started.md       # Quickstart guide\n│   ├── autonomy-modes.md        # Understanding autonomy levels\n│   ├── safe-mode.md             # Safe Mode deep dive\n│   ├── quotas.md                # Quota enforcement guide\n│   └── voice-versioning.md      # Voice profile evolution\n└── examples/\n    ├── basic-workflow.md        # Common usage patterns\n    ├── automation-setup.md      # Setting up cron jobs\n    └── multi-agent.md           # Managing multiple agents\n```\n\n**Option 2: Install Individual Skills (Manual)**\n\nIf you only need specific skills, install them individually:\n\n```bash\n# Install voice bootstrap skill\ncurl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/voice-plane/bolta.voice.bootstrap/SKILL.md \\\n  -o bolta.voice.bootstrap.md\n\n# Install draft post skill\ncurl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/content-plane/bolta.draft.post/SKILL.md \\\n  -o bolta.draft.post.md\n```\n\n---\n\n### 📖 First Run: Read the README\n\n**IMPORTANT: After installation, read the README for complete setup instructions.**\n\n**Quick Start Commands:**\n\n```bash\n# After cloning/downloading the skill pack:\ncd bolta-skills\n\n# Read the README (contains critical setup steps)\ncat README.md\n\n# Or open in your editor\ncode README.md  # VS Code\nvim README.md   # Vim\n```\n\n**What the README Covers:**\n3. ✅ Environment variable configuration\n4. ✅ First skill execution (test workflow)\n5. ✅ Troubleshooting common issues\n6. ✅ Recommended skill installation order\n7. ✅ Best practices for production use\n\n**Critical README Sections:**\n\n```markdown\n## README.md Structure\n\n### Quick Start\n- Installation steps\n- API key setup\n- First skill test\n\n### Skill Planes Overview\n- What each plane does\n- When to use each skill\n- Skill dependencies\n\n### Configuration\n- MCP server setup for Claude Desktop\n- Environment variables\n- Workspace policy settings\n\n### Common Workflows\n- Create first post (voice → draft → review)\n- Set up automation (cron jobs)\n- Multi-agent teams\n\n### Troubleshooting\n- API connection errors\n- Permission issues\n- Quota problems\n\n### Security\n- API key rotation\n- Least-privilege permissions\n- Audit logging\n\n### Advanced Topics\n- Custom skill development\n- Skill chaining\n- Performance optimization\n```\n\n---\n\n### 🚀 Recommended First-Run Flow\n\n**After installing the skill pack:**\n\n**Step 1: Read Documentation**\n```bash\n# Must-read files in order:\n1. README.md              # Complete getting started guide\n2. docs/getting-started.md # Quickstart tutorial\n3. docs/autonomy-modes.md  # Understand autonomy levels\n4. docs/safe-mode.md       # Understand safety controls\n```\n\n**Step 2: Verify Installation**\n```bash\n# Check that all skills are present\nls -la skills/*/SKILL.md\n\n# Should see 21+ skills across 5 planes\n# If missing skills, re-run installation\n```\n\n**Step 3: Configure Agent**\n```bash\n# Set environment variables (from README)\nexport BOLTA_API_KEY=\"sk_live_...\"\nexport BOLTA_WORKSPACE_ID=\"...\"\n\n# Test API connectivity\ncurl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \\\n  -H \"Authorization: Bearer ${BOLTA_API_KEY}\"\n\n# Expected: 200 OK with workspace details\n```\n\n```\n\n**Step 5: Install Recommended Skills**\n```bash\n# The registry will recommend skills based on your:\n# - Safe Mode setting\n# - Autonomy mode\n# - User role\n# - Current quotas\n\n# Follow recommendations to install your first skill set\n```\n\n---\n\n### ⚠️ Common First-Run Mistakes\n\n**Mistake 1: Skipping the README**\n```\n❌ Installing skills without reading README\n✅ Read README.md first → understand workflows → install skills\n```\n\n**Mistake 2: Missing Environment Variables**\n```\n❌ Running skills without BOLTA_API_KEY set\n✅ Configure env vars BEFORE running any skill\n```\n\n**Mistake 3: Installing Skills Out of Order**\n```\n❌ Running bolta.draft.post before creating voice profile\n✅ Follow recommended order: voice.bootstrap → draft.post → review\n```\n\n**Mistake 4: Not Understanding Autonomy Modes**\n```\n❌ Using autopilot mode without understanding routing\n✅ Read docs/autonomy-modes.md → start with \"assisted\" → graduate to \"managed\"\n```\n\n**Mistake 5: Hardcoding API Keys**\n```\n❌ Putting API keys directly in skill files\n✅ Use environment variables → .env file → add .env to .gitignore\n```\n\n---\n\n### 📥 Post-Installation Checklist\n\nAfter installing the skill pack, verify:\n\n- [ ] ✅ README.md has been read\n- [ ] ✅ Environment variables configured (BOLTA_API_KEY, BOLTA_WORKSPACE_ID)\n- [ ] ✅ All 21+ skills present in skills/ directory\n- [ ] ✅ docs/ directory contains markdown files\n- [ ] ✅ API connectivity verified (test curl command works)\n- [ ] ✅ MCP server installed (if using Claude Desktop)\n- [ ] ✅ Workspace policy reviewed (safe_mode, autonomy_mode)\n- [ ] ✅ First skill executed successfully (test run)\n- [ ] ✅ Autonomy mode documentation read (docs/autonomy-modes.md)\n- [ ] ✅ Safe Mode documentation read (docs/safe-mode.md)\n\n**Once all items are checked, you're ready to use the full Bolta skill library!**\n\n---\n\n### Next Steps After Setup\n\nOnce your API is configured:\n\n1. **Create Voice Profile** (if new workspace)\n   ```\n   Run: bolta.voice.bootstrap\n   → Establishes your brand voice\n   ```\n\n2. **Test Content Creation**\n   ```\n   Run: bolta.draft.post\n   → Creates a test post in Draft status\n   ```\n\n3. **Install Recommended Skills**\n   ```\n   Run: bolta.skills.index\n   → Returns personalized skill recommendations\n   ```\n\n4. **Configure Workspace Policy**\n   ```\n   Review: Safe Mode (ON/OFF)\n   Review: Autonomy Mode (assisted/managed/autopilot)\n   Set: Daily quota limits\n   ```\n\n---\n\n## Architecture: The Five Planes\n\nSkills are organized into **planes** — logical groupings that separate concerns and enable modular capability composition.\n\n### Voice Plane\n**Purpose:** Brand voice creation, evolution, and validation\n\nVoice is the foundation of all content operations. These skills help establish, refine, and maintain consistent brand voice across all generated content.\n\n**Core Principle:** Voice should be learned from examples, validated against real content, and evolved over time.\n\n**Skills:**\n- `bolta.voice.bootstrap` - Interactive voice profile creation from scratch\n- `bolta.voice.learn_from_samples` - Extract voice patterns from existing content\n- `bolta.voice.evolve` - Refine voice based on approved posts\n- `bolta.voice.validate` - Score content against voice profile (0-100)\n\n**Typical Flow:**\n1. Bootstrap initial voice profile\n2. Learn from sample content\n3. Validate generated content\n4. Evolve voice as brand matures\n\n---\n\n### Content Plane\n**Purpose:** Content creation, planning, and scheduling\n\nThe execution layer for post creation. These skills transform ideas into scheduled social media posts.\n\n**Core Principle:** Content should be intentional, planned, and aligned with voice.\n\n**Skills:**\n- `bolta.draft.post` - Create a single post in Draft status\n- `bolta.loop.from_template` - Generate multiple posts from a template\n- `bolta.week.plan` - Plan a week's worth of content with scheduling\n- `bolta.content.repurpose` - Transform long-form content into social posts\n- `bolta.content.thread_builder` - Create multi-post threads (Twitter, LinkedIn)\n\n**Output:** Draft or Scheduled posts (subject to Safe Mode routing)\n\n---\n\n### Review Plane\n**Purpose:** Human-in-the-loop review and approval workflows\n\nEnables teams to review, approve, and refine agent-generated content before publishing.\n\n**Core Principle:** Autonomy with oversight — agents generate, humans decide.\n\n**Skills:**\n- `bolta.inbox.triage` - Organize pending posts by priority/topic\n- `bolta.review.digest` - Daily summary of posts awaiting review\n- `bolta.review.approve_and_route` - Bulk approve + schedule posts\n- `bolta.review.suggest_edits` - AI-powered improvement suggestions\n- `bolta.review.compliance_check` - Flag posts for policy violations\n\n**Typical Flow:**\n1. Agent creates posts → Pending Approval\n2. `review.digest` sends daily summary\n3. Human reviews via `inbox.triage`\n4. Bulk approve via `approve_and_route`\n\n---\n\n### Automation Plane\n**Purpose:** Scheduled, recurring, and autonomous content generation\n\nThe autonomy layer. These skills enable hands-off content operations with guardrails.\n\n**Core Principle:** Predictable automation with quota enforcement and safety nets.\n\n**Skills:**\n- `bolta.cron.generate_to_review` - Daily content generation → Pending Approval\n- `bolta.cron.generate_and_schedule` - Autonomous scheduling (requires Safe Mode OFF)\n- `bolta.recurring.from_template` - Recurring posts (daily tips, weekly roundups)\n- `bolta.auto.respond_to_trending` - Auto-generate posts from trending topics\n- `bolta.auto.content_gap_fill` - Detect scheduling gaps and auto-fill\n\n**Safety Guardrails:**\n- Quota enforcement (max posts/day, max API requests/hour)\n- Job run tracking (observability for all executions)\n- Autonomy mode compatibility checks\n- Safe Mode routing (autopilot incompatible with Safe Mode ON)\n\n---\n\n### Control Plane\n**Purpose:** Workspace governance, policy, and audit\n\nThe management layer for teams, permissions, security, and compliance.\n\n**Core Principle:** Visibility and control for workspace administrators.\n\n**Skills:**\n- `bolta.team.create_agent_teammate` - Provision agent principals with specific roles\n- `bolta.team.rotate_key` - Rotate API keys for security\n- `bolta.policy.explain` - Explain authorization decisions (\"Why was this blocked?\")\n- `bolta.audit.export_activity` - Export audit logs (PostActivity, JobRuns)\n- `bolta.quota.status` - View current quota usage (daily posts, hourly API calls)\n- `bolta.workspace.config` - View/update autonomy mode, Safe Mode, quotas\n\n**Typical Use Cases:**\n- Onboarding new team members (human or agent)\n- Investigating authorization failures\n- Compliance reporting (SOC2, GDPR data exports)\n- Quota monitoring and adjustment\n\n---\n\n## Full Skill Index\n\n### Voice Plane Skills\n\n#### bolta.voice.bootstrap\n**Path:** `skills/voice-plane/bolta.voice.bootstrap/SKILL.md`\n**Purpose:** Interactive voice profile creation wizard\n**Inputs:** Brand name, industry, target audience\n**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)\n**Permissions:** `voice:write`\n**Safe Mode:** Compatible\n**Typical Duration:** 5-10 minutes (interactive)\n\n#### bolta.voice.learn_from_samples\n**Path:** `skills/voice-plane/bolta.voice.learn_from_samples/SKILL.md`\n**Purpose:** Extract voice patterns from existing content\n**Inputs:** URLs or text samples (3-10 examples)\n**Outputs:** Voice profile draft with auto-detected patterns\n**Permissions:** `voice:write`\n**Safe Mode:** Compatible\n**Typical Duration:** 2-3 minutes\n\n#### bolta.voice.evolve\n**Path:** `skills/voice-plane/bolta.voice.evolve/SKILL.md`\n**Purpose:** Refine voice based on approved posts\n**Inputs:** Date range for approved posts\n**Outputs:** Updated VoiceProfile (version incremented)\n**Permissions:** `voice:write`, `posts:read`\n**Safe Mode:** Compatible\n**Typical Duration:** 1-2 minutes\n**Note:** Creates new VoiceProfileVersion snapshot\n\n#### bolta.voice.validate\n**Path:** `skills/voice-plane/bolta.voice.validate/SKILL.md`\n**Purpose:** Score content against voice profile\n**Inputs:** Post ID or content text\n**Outputs:** Compliance score (0-100), deviation report\n**Permissions:** `voice:read`, `posts:read`\n**Safe Mode:** Compatible\n**Typical Duration:** < 30 seconds\n\n---\n\n### Content Plane Skills\n\n#### bolta.draft.post\n**Path:** `skills/content-plane/bolta.draft.post/SKILL.md`\n**Purpose:** Create a single post in Draft status\n**Inputs:** Topic, platform(s), optional voice profile ID\n**Outputs:** Post ID (Draft status)\n**Permissions:** `posts:write`\n**Safe Mode:** Always routes to Draft\n**Autonomy Mode:** Respects assisted/managed routing\n**Quota Impact:** +1 to daily post count\n**Typical Duration:** 30-60 seconds\n\n#### bolta.loop.from_template\n**Path:** `skills/content-plane/bolta.loop.from_template/SKILL.md`\n**Purpose:** Generate multiple posts from a template\n**Inputs:** Template ID, count (1-50), variation parameters\n**Outputs:** Array of Post IDs\n**Permissions:** `posts:write`, `templates:read`\n**Safe Mode:** Routes all posts to Draft\n**Quota Impact:** +N to daily post count (checked before execution)\n**Typical Duration:** 1-3 minutes (depends on count)\n**Note:** Uses JobRun tracking for observability\n\n#### bolta.week.plan\n**Path:** `skills/content-plane/bolta.week.plan/SKILL.md`\n**Purpose:** Plan a week's content with scheduling\n**Inputs:** Start date, posting frequency, themes\n**Outputs:** 7-day content calendar with scheduled posts\n**Permissions:** `posts:write`, `posts:schedule`\n**Safe Mode:** Routes to Pending Approval if ON\n**Autonomy Mode:** Respects managed/autopilot routing\n**Quota Impact:** +5-15 to daily post count (spread across week)\n**Typical Duration:** 3-5 minutes\n\n#### bolta.content.repurpose\n**Path:** `skills/content-plane/bolta.content.repurpose/SKILL.md`\n**Purpose:** Transform long-form content into social posts\n**Inputs:** Blog URL or full text, target platforms\n**Outputs:** Multiple platform-specific posts\n**Permissions:** `posts:write`\n**Safe Mode:** Routes to Draft\n**Typical Duration:** 2-4 minutes\n\n#### bolta.content.thread_builder\n**Path:** `skills/content-plane/bolta.content.thread_builder/SKILL.md`\n**Purpose:** Create multi-post threads\n**Inputs:** Topic, thread length (2-10 posts), platform\n**Outputs:** Linked post sequence\n**Permissions:** `posts:write`\n**Safe Mode:** Routes to Draft\n**Typical Duration:** 1-2 minutes\n\n---\n\n### Review Plane Skills\n\n#### bolta.inbox.triage\n**Path:** `skills/review-plane/bolta.inbox.triage/SKILL.md`\n**Purpose:** Organize pending posts by priority\n**Inputs:** Optional filters (platform, date range)\n**Outputs:** Categorized list of posts awaiting review\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (read-only)\n**Typical Duration:** < 10 seconds\n\n#### bolta.review.digest\n**Path:** `skills/review-plane/bolta.review.digest/SKILL.md`\n**Purpose:** Daily summary of posts awaiting review\n**Inputs:** None (workspace context)\n**Outputs:** Formatted summary with quick approve links\n**Permissions:** `posts:read`, `posts:review`\n**Safe Mode:** N/A (read-only)\n**Typical Duration:** < 5 seconds\n**Note:** Designed for cron execution (daily 9am)\n\n#### bolta.review.approve_and_route\n**Path:** `skills/review-plane/bolta.review.approve_and_route/SKILL.md`\n**Purpose:** Bulk approve and schedule posts\n**Inputs:** Post IDs or filter criteria\n**Outputs:** Updated post statuses\n**Permissions:** `posts:write`, `posts:approve`, `posts:schedule`\n**Safe Mode:** N/A (human override)\n**Typical Duration:** < 30 seconds\n**Note:** Bypasses Safe Mode (human decision)\n\n#### bolta.review.suggest_edits\n**Path:** `skills/review-plane/bolta.review.suggest_edits/SKILL.md`\n**Purpose:** AI-powered improvement suggestions\n**Inputs:** Post ID\n**Outputs:** Suggested edits with rationale\n**Permissions:** `posts:read`, `voice:read`\n**Safe Mode:** N/A (read-only)\n**Typical Duration:** < 30 seconds\n\n#### bolta.review.compliance_check\n**Path:** `skills/review-plane/bolta.review.compliance_check/SKILL.md`\n**Purpose:** Flag posts for policy violations\n**Inputs:** Post ID or bulk filter\n**Outputs:** Compliance report with severity flags\n**Permissions:** `posts:read`, `policies:read`\n**Safe Mode:** N/A (read-only)\n**Typical Duration:** < 10 seconds\n\n---\n\n### Automation Plane Skills\n\n#### bolta.cron.generate_to_review\n**Path:** `skills/automation-plane/bolta.cron.generate_to_review/SKILL.md`\n**Purpose:** Daily content generation → Pending Approval\n**Inputs:** None (uses workspace settings)\n**Outputs:** Posts in Pending Approval status\n**Permissions:** `posts:write`, `cron:execute`\n**Safe Mode:** Compatible (routes to Pending Approval)\n**Autonomy Mode:** Recommended for managed/governance\n**Quota Impact:** +3-10 posts/day (configurable)\n**Typical Duration:** 2-5 minutes\n**Execution:** Daily cron (configurable time)\n\n#### bolta.cron.generate_and_schedule\n**Path:** `skills/automation-plane/bolta.cron.generate_and_schedule/SKILL.md`\n**Purpose:** Autonomous scheduling (no human review)\n**Inputs:** None (uses workspace settings)\n**Outputs:** Posts in Scheduled status\n**Permissions:** `posts:write`, `posts:schedule`, `cron:execute`\n**Safe Mode:** **INCOMPATIBLE** (requires Safe Mode OFF)\n**Autonomy Mode:** **REQUIRES autopilot**\n**Quota Impact:** +5-15 posts/day (configurable)\n**Typical Duration:** 3-7 minutes\n**Execution:** Daily cron (configurable time)\n**Warning:** Bypasses human review — use with caution\n\n#### bolta.recurring.from_template\n**Path:** `skills/automation-plane/bolta.recurring.from_template/SKILL.md`\n**Purpose:** Recurring posts (daily tips, weekly roundups)\n**Inputs:** Template ID, recurrence pattern (daily/weekly/monthly)\n**Outputs:** RecurringPostReview record + scheduled posts\n**Permissions:** `posts:write`, `templates:read`\n**Safe Mode:** Respects routing\n**Quota Impact:** +N posts per recurrence\n**Typical Duration:** 1-2 minutes (setup)\n\n#### bolta.auto.respond_to_trending\n**Path:** `skills/automation-plane/bolta.auto.respond_to_trending/SKILL.md`\n**Purpose:** Auto-generate posts from trending topics\n**Inputs:** Trending topic sources (Twitter, Google Trends)\n**Outputs:** Posts related to current trends\n**Permissions:** `posts:write`, `integrations:read`\n**Safe Mode:** Routes to Pending Approval\n**Quota Impact:** +1-5 posts/day\n**Typical Duration:** 2-3 minutes\n\n#### bolta.auto.content_gap_fill\n**Path:** `skills/automation-plane/bolta.auto.content_gap_fill/SKILL.md`\n**Purpose:** Detect scheduling gaps and auto-fill\n**Inputs:** Date range to analyze\n**Outputs:** Posts to fill detected gaps\n**Permissions:** `posts:write`, `posts:read`\n**Safe Mode:** Routes to Pending Approval\n**Quota Impact:** Variable (based on gaps detected)\n**Typical Duration:** 3-5 minutes\n\n---\n\n### Control Plane Skills\n\n#### bolta.team.create_agent_teammate\n**Path:** `skills/control-plane/bolta.team.create_agent_teammate/SKILL.md`\n**Purpose:** Provision agent principals with roles\n**Inputs:** Agent name, role (creator/editor/reviewer), permissions\n**Outputs:** AgentPrincipal record + API key\n**Permissions:** `workspace:admin`, `agents:create`\n**Safe Mode:** N/A (admin operation)\n**Role Required:** Owner or Admin\n**Typical Duration:** < 30 seconds\n\n#### bolta.team.rotate_key\n**Path:** `skills/control-plane/bolta.team.rotate_key/SKILL.md`\n**Purpose:** Rotate API keys for security\n**Inputs:** API key ID or agent ID\n**Outputs:** New API key (old key revoked)\n**Permissions:** `workspace:admin`, `agents:manage`\n**Safe Mode:** N/A (admin operation)\n**Role Required:** Owner or Admin\n**Typical Duration:** < 10 seconds\n**Note:** Old key immediately invalidated\n\n#### bolta.policy.explain\n**Path:** `skills/control-plane/bolta.policy.explain/SKILL.md`\n**Purpose:** Explain authorization decisions\n**Inputs:** Action attempt (e.g., \"Why can't I publish?\")\n**Outputs:** Policy analysis with specific blockers\n**Permissions:** None (informational)\n**Safe Mode:** N/A (read-only)\n**Typical Duration:** < 5 seconds\n**Use Case:** Troubleshooting \"Access Denied\" errors\n\n#### bolta.audit.export_activity\n**Path:** `skills/control-plane/bolta.audit.export_activity/SKILL.md`\n**Purpose:** Export audit logs\n**Inputs:** Date range, filters (principal, action type, denied actions)\n**Outputs:** CSV or JSON export of PostActivity records\n**Permissions:** `workspace:admin`, `audit:read`\n**Safe Mode:** N/A (admin operation)\n**Role Required:** Owner or Admin\n**Typical Duration:** < 30 seconds\n**Use Case:** Compliance reporting, SOC2 audits\n\n#### bolta.quota.status\n**Path:** `skills/control-plane/bolta.quota.status/SKILL.md`\n**Purpose:** View current quota usage\n**Inputs:** None (workspace context)\n**Outputs:** Daily post count, hourly API usage, limits, percentage\n**Permissions:** `workspace:read`\n**Safe Mode:** N/A (read-only)\n**Typical Duration:** < 5 seconds\n\n#### bolta.workspace.config\n**Path:** `skills/control-plane/bolta.workspace.config/SKILL.md`\n**Purpose:** View/update workspace settings\n**Inputs:** Settings to update (autonomy_mode, safe_mode, quotas)\n**Outputs:** Updated workspace configuration\n**Permissions:** `workspace:admin`\n**Safe Mode:** N/A (admin operation)\n**Role Required:** Owner or Admin\n**Typical Duration:** < 10 seconds\n**Warning:** Changing autonomy mode affects all agent operations\n\n---\n\n## Recommended Install Sets\n\nInstall sets are curated skill bundles tailored to specific autonomy modes and use cases.\n\n### Assisted Mode Install Set\n**Autonomy Level:** Low (maximum human control)\n**Safe Mode:** Must be ON\n**Use Case:** New users, high-stakes brands, learning Bolta\n\n**Skills:**\n- `bolta.voice.bootstrap` - Set up initial voice profile\n- `bolta.draft.post` - Create individual posts (always Draft)\n- `bolta.loop.from_template` - Scale content creation safely\n- `bolta.week.plan` - Plan content calendar\n\n**Rationale:**\nAssisted mode prioritizes learning and control. All content goes to Draft for manual review before scheduling. Ideal for:\n- Teams new to AI content generation\n- Brands with strict compliance requirements\n- Users who want to learn Bolta patterns before automating\n\n**Expected Workflow:**\n1. Bootstrap voice profile\n2. Create posts in Draft (manually or via templates)\n3. Human reviews and schedules each post\n4. Graduate to Managed when comfortable\n\n---\n\n### Managed Mode Install Set\n**Autonomy Level:** Medium (guided automation with oversight)\n**Safe Mode:** ON (recommended) or OFF\n**Use Case:** Established users, moderate volume, review workflows\n\n**Skills:**\n- All Assisted skills +\n- `bolta.inbox.triage` - Organize posts for review\n- `bolta.review.digest` - Daily review summaries\n- `bolta.review.approve_and_route` - Bulk approval workflow\n- `bolta.voice.validate` - Quality scoring\n- `bolta.cron.generate_to_review` - Daily automated generation\n\n**Rationale:**\nManaged mode balances efficiency with oversight. Agent generates content autonomously, but humans approve before publishing. Ideal for:\n- Teams with 1-2 reviewers\n- Brands publishing 3-10 posts/day\n- Users who trust the voice profile\n\n**Expected Workflow:**\n1. Agent generates posts overnight (via cron) → Pending Approval\n2. Daily digest arrives at 9am\n3. Reviewer triages inbox, validates voice compliance\n4. Bulk approve/schedule approved posts\n5. Refine voice profile based on patterns\n\n---\n\n### Autopilot Mode Install Set\n**Autonomy Level:** High (hands-off automation)\n**Safe Mode:** Must be OFF (incompatible)\n**Use Case:** High volume, trusted voice, minimal oversight\n\n**Skills:**\n- All Managed skills +\n- `bolta.cron.generate_and_schedule` - Autonomous scheduling\n- `bolta.auto.respond_to_trending` - Trend-based posting\n- `bolta.auto.content_gap_fill` - Auto-fill scheduling gaps\n- `bolta.recurring.from_template` - Recurring post automation\n- `bolta.quota.status` - Monitor quota usage\n\n**Rationale:**\nAutopilot mode maximizes efficiency for high-volume operations. Agent schedules directly without human approval. Ideal for:\n- Established brands with proven voice profiles\n- High-frequency posting (10+ posts/day)\n- Teams with minimal manual review capacity\n\n**Expected Workflow:**\n1. Agent generates and schedules posts automatically\n2. Quota enforcement prevents runaway generation\n3. Periodic voice validation checks (weekly)\n4. Human reviews published analytics, adjusts strategy\n\n**Warning:**\nAutopilot bypasses human review. Only use with:\n- Well-tested voice profiles (version 5+)\n- Quota limits configured (max 20 posts/day recommended)\n- Regular validation spot-checks (review 10% of published posts)\n\n---\n\n### Governance Mode Install Set\n**Autonomy Level:** N/A (control & audit focused)\n**Safe Mode:** N/A\n**Use Case:** Admins, compliance teams, workspace management\n\n**Skills:**\n- `bolta.policy.explain` - Authorization troubleshooting\n- `bolta.audit.export_activity` - Compliance exports\n- `bolta.team.create_agent_teammate` - Agent provisioning\n- `bolta.team.rotate_key` - Security operations\n- `bolta.workspace.config` - Workspace administration\n- `bolta.quota.status` - Usage monitoring\n- `bolta.voice.validate` - Quality auditing\n\n**Rationale:**\nGovernance mode is not an autonomy level — it's a control plane install set for administrators. Ideal for:\n- Workspace owners managing teams\n- Compliance officers co\n\nArchive v0.5.3: 2 files, 16091 bytes\n\nFiles: SKILL.md (54696b), _meta.json (137b)\n\nArchive v0.5.2: 2 files, 13588 bytes\n\nFiles: SKILL.md (46406b), _meta.json (137b)\n\nArchive v0.5.1: 2 files, 13625 bytes\n\nFiles: SKILL.md (46475b), _meta.json (137b)\n\nArchive v0.5.0: 2 files, 12279 bytes\n\nFiles: SKILL.md (42726b), _meta.json (137b)\n\nArchive v0.3.0: 2 files, 10774 bytes\n\nFiles: SKILL.md (38522b), _meta.json (137b)\n\nArchive v0.1.0: 2 files, 2620 bytes\n\nFiles: SKILL.md (6239b), _meta.json (137b)","readmeExcerpt":"Skill: Social Media Automation Skills Registry Owner: maxfritzhand Summary: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane Tags: latest:2.0.1, marketing-automation:0.1.0, publishing:0.1.0, social-media-automation:0.1.0, social-media-tools:0.1.0 Version history: v2.0.1 | 2026-04-06T00:34:54.284Z | user bolta-skills-index 2.0.1 - Updated metadata with new truste","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"name\": \"bolta.skills.index\",\n  \"version\": \"2.0.0\",\n  \"publisher\": \"bolta.ai\",\n  \"verified\": true,\n  \"sourceRepository\": \"https://github.com/boltaai/bolta-skills\",\n  \"requiredEnvironmentVariables\": [\n    {\n      \"name\": \"BOLTA_API_KEY\",\n      \"required\": true,\n      \"sensitive\": true,\n      \"description\": \"Bolta API key (obtain at bolta.ai/register)\",\n      \"format\": \"sk_live_[64 characters]\",\n      \"scope\": \"workspace\"\n    },\n    {\n      \"name\": \"BOLTA_WORKSPACE_ID\",\n      \"required\": true,\n      \"sensitive\": false,\n      \"description\": \"Workspace UUID for API operations\",\n      \"format\": \"UUID\"\n    },\n    {\n      \"name\": \"BOLTA_AGENT_ID\",\n      \"required\": false,\n      \"sensitive\": false,\n      \"description\": \"Agent principal UUID (for audit logging)\",\n      \"format\": \"UUID\"\n    }\n  ],\n  \"trustedDomains\": [\n    \"platty.boltathread.com\",\n    \"bolta.ai\",\n    \"mcp.bolta.ai\"\n  ],\n  \"permissions\": [\n    \"network:https:platty.boltathread.com\",\n    \"network:https:bolta.ai\",\n    \"network:https:mcp.bolta.ai\"\n  ],\n  \"relatedRepositories\": [\n    {\n      \"name\": \"bolta-skills\",\n      \"description\": \"Official Bolta Skills Pack\",\n      \"url\": \"https://github.com/boltaai/bolta-skills\"\n    },\n    {\n      \"name\": \"boltaclaw-self-hosted\",\n      \"description\": \"Self-hosted Bolta agent runtime (BoltaClaw)\",\n      \"url\": \"https://github.com/boltaai/boltaclaw-self-hosted\"\n    }\n  ],\n  \"mcpEndpoint\": \"https://mcp.bolta.ai/mcp\",\n  \"apiDocumentation\": \"https://bolta.ai/docs/api\"\n}"},{"language":"text","snippet":"┌─────────────────────────────────────────────────────────────┐\n│                      bolta.ai                               │\n│            Workspace management, dashboards,                │\n│            account connections, review UI                    │\n│                                                             │\n│  API Docs: https://bolta.ai/docs/api                       │\n└──────────────────────┬──────────────────────────────────────┘\n                       │ REST API\n                       ▼\n┌──────────────────────────────────────────────────────────────┐\n│                  MCP Server (mcp.bolta.ai/mcp)               │\n│     Bridges Claude Desktop / Claude Code to the Bolta API    │\n│     Exposes workspace tools: create posts, manage agents,    │\n│     approve content, run analytics — all via MCP protocol    │\n└──────────────────────┬───────────────────────────────────────┘\n                       │ uses\n                       ▼\n┌──────────────────────────────────────────────────────────────┐\n│            Bolta Skills Pack (this repo)                      │\n│     github.com/boltaai/bolta-skills                          │\n│                                                              │\n│     Structured prompts, workflows, and orchestration logic   │\n│     that teach AI agents HOW to use the API effectively:     │\n│     voice creation, content planning, review flows,          │\n│     automation, analytics, engagement, governance            │\n└──────────────────────────────────────────────────────────────┘\n\n┌──────────────────────────────────────────────────────────────┐\n│            BoltaClaw (turnkey self-hosted runtime)            │\n│     github.com/boltaai/boltaclaw-self-hosted                 │\n│                                                              │\n│     Everything above — pre-configured and ready to run.      │\n│     Ships with the skills pack, MCP integration, agent       │\n│     runtime, cron scheduler, and CLI out of the box.         │\n│    "},{"language":"text","snippet":"API Key: bolta_sk_00000000000000000000000000000000\nWorkspace ID: 550e8400-e29b-41d4-a716-446655440000\nAgent ID: 660e8400-e29b-41d4-a716-446655440001"},{"language":"text","snippet":"API Key: bolta_sk_00000000000000000000000000000000"},{"language":"bash","snippet":"# Required: Your Bolta API key (agent or regular)\nexport BOLTA_API_KEY=\"bolta_sk_your_actual_key_here\"\n\n# Required: Your workspace UUID\nexport BOLTA_WORKSPACE_ID=\"550e8400-e29b-41d4-a716-446655440000\"\n\n# Optional: Agent principal UUID (automatic for agent keys, manual for regular keys)\nexport BOLTA_AGENT_ID=\"660e8400-e29b-41d4-a716-446655440001\""},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"bolta\": {\n      \"type\": \"url\",\n      \"url\": \"https://mcp.bolta.ai/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer bolta_sk_your_actual_key_here\",\n        \"X-Workspace-ID\": \"550e8400-e29b-41d4-a716-446655440000\"\n      }\n    }\n  }\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: bolta.skills.index\nversion: 2.0.1\ndescription: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane\ncategory: registry\ntype: documentation\nroles_allowed: []\nagent_types: []\ntools_required: []\ninputs_schema:\n  type: object\n  description: \"This is a registry index, not a callable skill\"\n  properties: {}\noutputs_schema:\n  type: object\n  description: \"This is a registry index, not a callable skill\"\n  properties: {}\norganization: bolta.ai\nauthor: Max Fritzhand\n---\n\n## Metadata\n\n```json\n{\n  \"name\": \"bolta.skills.index\",\n  \"version\": \"2.0.0\",\n  \"publisher\": \"bolta.ai\",\n  \"verified\": true,\n  \"sourceRepository\": \"https://github.com/boltaai/bolta-skills\",\n  \"requiredEnvironmentVariables\": [\n    {\n      \"name\": \"BOLTA_API_KEY\",\n      \"required\": true,\n      \"sensitive\": true,\n      \"description\": \"Bolta API key (obtain at bolta.ai/register)\",\n      \"format\": \"sk_live_[64 characters]\",\n      \"scope\": \"workspace\"\n    },\n    {\n      \"name\": \"BOLTA_WORKSPACE_ID\",\n      \"required\": true,\n      \"sensitive\": false,\n      \"description\": \"Workspace UUID for API operations\",\n      \"format\": \"UUID\"\n    },\n    {\n      \"name\": \"BOLTA_AGENT_ID\",\n      \"required\": false,\n      \"sensitive\": false,\n      \"description\": \"Agent principal UUID (for audit logging)\",\n      \"format\": \"UUID\"\n    }\n  ],\n  \"trustedDomains\": [\n    \"platty.boltathread.com\",\n    \"bolta.ai\",\n    \"mcp.bolta.ai\"\n  ],\n  \"permissions\": [\n    \"network:https:platty.boltathread.com\",\n    \"network:https:bolta.ai\",\n    \"network:https:mcp.bolta.ai\"\n  ],\n  \"relatedRepositories\": [\n    {\n      \"name\": \"bolta-skills\",\n      \"description\": \"Official Bolta Skills Pack\",\n      \"url\": \"https://github.com/boltaai/bolta-skills\"\n    },\n    {\n      \"name\": \"boltaclaw-self-hosted\",\n      \"description\": \"Self-hosted Bolta agent runtime (BoltaClaw)\",\n      \"url\": \"https://github.com/boltaai/boltaclaw-self-hosted\"\n    }\n  ],\n  \"mcpEndpoint\": \"https://mcp.bolta.ai/mcp\",\n  \"apiDocumentation\": \"https://bolta.ai/docs/api\"\n}\n```\n\n## Security Notice\n\n**This skill requires sensitive API credentials. Read this section carefully before installing.**\n\n### Required Credentials\n\n**BOLTA_API_KEY** (REQUIRED, SENSITIVE)\n- **Format:** `bolta_sk_` followed by alphanumeric characters\n- **Obtain at:** https://bolta.ai/register (agent keys) or bolta.ai/settings (regular keys)\n- **Scoping:** Each key is scoped to a SINGLE workspace only\n- **Key Types:** Bolta issues two distinct key types (see [API Key Types](#api-key-types) below)\n- **Rotation:** Rotate every 90 days using `bolta.team.rotate_key` skill\n- **Storage:** NEVER commit to git - use environment variables or secret managers only\n\n**BOLTA_WORKSPACE_ID** (REQUIRED)\n- **Format:** UUID (e.g., `550e8400-e29b-41d4-a716-446655440000`)\n- **Source:** Provided during agent registration at bolta.ai/register\n- **Purpose:** Identifies which workspace the API key is authorized for\n\n**BOLTA_AGENT_ID** (OPTIONAL — required for Agent API keys)"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7bxrtk8tg6469r5ntmw159bx819p0x\",\n  \"slug\": \"bolta-skills-index\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1775435694284\n}"},{"path":"skill-card.md","content":"## Description:\n\nBolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[maxfritzhand](https://clawhub.ai/user/maxfritzhand)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and workspace operators use this registry to discover Bolta social media automation skills, select install sets, and route workflows according to workspace policy, quotas, autonomy mode, and agent permissions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The registry can recommend mutable remote skill content and high-impact automation workflows.\n\nMitigation: Install from a pinned, reviewed release or commit, verify checksums where possible, and review downloaded skills before enabling sensitive workflows.\n\nRisk: Bolta API credentials can grant access to workspace operations and social media automation.\n\nMitigation: Use least-privilege keys, store them in environment variables or a secret manager, rotate them regularly, and start in a test workspace.\n\nRisk: Admin, cron, autopilot, key-rotation, workspace-configuration, and agent-memory workflows can materially change workspace behavior.\n\nMitigation: Enable those workflows only after a separate review and confirm that Safe Mode, autonomy mode, quotas, and role permissions match the intended deployment.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/maxfritzhand/skills/bolta-skills-index)\n- [Bolta API documentation](https://bolta.ai/docs/api)\n- [Bolta MCP endpoint](https://mcp.bolta.ai/mcp)\n- [Bolta Skills Pack](https://github.com/boltaai/bolta-skills)\n- [BoltaClaw self-hosted runtime](https://github.com/boltaai/boltaclaw-self-hosted)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, configuration, shell commands]\n\n**Output Format:** [Markdown guidance with structured examples and inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Registry output includes skill recommendations, compatibility notes, setup guidance, and routing advice rather than direct content operations.]\n\n## Skill Version(s):\n\n2.0.1 (source: server release metadata and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane Skill: Social Media Automation Skills Registry Owner: maxfritzhand Summary: Bolta Skills Registry - canonical index and orchestration layer for all Bolta skills, organized by plane Tags: latest:2.0.1, marketing-automation:0.1.0, publishing:0.1.0, social-media-automation:0.1.0, social-media-tools:0.1.0 Version history: v2.0.1 | 2026-04-06T00:34:54.284Z | user bolta-skills-index 2.0.1 - Updated metadata with new truste","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1343,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:59:38.573Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:04:25.808Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}