Metadata
{
"name": "bolta.skills.index",
"version": "2.0.0",
"publisher": "bolta.ai",
"verified": true,
"sourceRepository": "https://github.com/boltaai/bolta-skills",
"requiredEnvironmentVariables": [
{
"name": "BOLTA_API_KEY",
"required": true,
"sensitive": true,
"description": "Bolta API key (obtain at bolta.ai/register)",
"format": "sk_live_[64 characters]",
"scope": "workspace"
},
{
"name": "BOLTA_WORKSPACE_ID",
"required": true,
"sensitive": false,
"description": "Workspace UUID for API operations",
"format": "UUID"
},
{
"name": "BOLTA_AGENT_ID",
"required": false,
"sensitive": false,
"description": "Agent principal UUID (for audit logging)",
"format": "UUID"
}
],
"trustedDomains": [
"platty.boltathread.com",
"bolta.ai",
"mcp.bolta.ai"
],
"permissions": [
"network:https:platty.boltathread.com",
"network:https:bolta.ai",
"network:https:mcp.bolta.ai"
],
"relatedRepositories": [
{
"name": "bolta-skills",
"description": "Official Bolta Skills Pack",
"url": "https://github.com/boltaai/bolta-skills"
},
{
"name": "boltaclaw-self-hosted",
"description": "Self-hosted Bolta agent runtime (BoltaClaw)",
"url": "https://github.com/boltaai/boltaclaw-self-hosted"
}
],
"mcpEndpoint": "https://mcp.bolta.ai/mcp",
"apiDocumentation": "https://bolta.ai/docs/api"
}
Security Notice
This skill requires sensitive API credentials. Read this section carefully before installing.
Required Credentials
BOLTA_API_KEY (REQUIRED, SENSITIVE)
- Format:
bolta_sk_followed by alphanumeric characters - Obtain at: https://bolta.ai/register (agent keys) or bolta.ai/settings (regular keys)
- Scoping: Each key is scoped to a SINGLE workspace only
- Key Types: Bolta issues two distinct key types (see API Key Types below)
- Rotation: Rotate every 90 days using
bolta.team.rotate_keyskill - Storage: NEVER commit to git - use environment variables or secret managers only
BOLTA_WORKSPACE_ID (REQUIRED)
- Format: UUID (e.g.,
550e8400-e29b-41d4-a716-446655440000) - Source: Provided during agent registration at bolta.ai/register
- Purpose: Identifies which workspace the API key is authorized for
BOLTA_AGENT_ID (OPTIONAL — required for Agent API keys)
- Format: UUID
- Purpose: Links API activity to specific agent principal for audit logs
- Benefit: Enables traceability and compliance reporting
- Note: Automatically set when using an Agent API key; must be provided manually with Regular API keys if audit attribution is desired
API Key Types
Bolta has two distinct API key types with different permission models. Skills must handle both correctly.
Regular API Keys (key_type: "regular")
Created in Settings → API Keys by workspace members. Use granular permission scopes — each key is issued with an explicit list of allowed scopes.
Available scopes:
| Scope | Description |
|---|---|
posts:read |
View posts and schedules |
posts:write |
Create and update posts |
posts:delete |
Delete posts and scheduled content |
accounts:read |
View connected social accounts |
accounts:connect |
Initiate OAuth connections |
recurring:manage |
Manage recurring post suggestions |
voice:read |
View brand voice profiles |
voice:write |
Modify brand voice profiles |
ai:generate |
Use AI content generation |
content:bulk |
Perform bulk content operations |
Permission groups (shortcuts):
- READ_ONLY —
posts:read,accounts:read,voice:read - CONTENT_CREATOR — READ_ONLY +
posts:write,ai:generate - FULL_ACCESS — All scopes
When to use: Integrations, CI/CD pipelines, custom scripts, third-party tools that need specific scopes.
Agent API Keys (key_type: "agent")
Created 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.
Agent roles and their scopes:
| Role | Scopes | Best for |
|---|---|---|
viewer |
posts:read, accounts:read, voice:read, workspace:read |
Monitoring, reporting agents |
creator |
viewer + posts:write, voice:write, ai:generate, review:submit, recurring:manage |
Content drafting agents (recommended default) |
editor |
creator + posts:delete, review:approve, content:bulk, audit:export, team:manage_keys |
Content managers, approval workflows |
admin |
editor + accounts:connect, team:manage |
Orchestrator agents, workspace automation |
Agent-only scopes (not available on regular keys):
| Scope | Description |
|---|---|
workspace:read |
View workspace policy and capabilities |
review:submit |
Submit content for approval |
review:approve |
Approve and route reviewed content |
audit:export |
Export workspace audit and activity logs |
team:manage |
Create and manage agent teammates |
team:manage_keys |
Rotate and manage API keys |
Additional agent key behaviors:
- Safe Mode is always enforced for
creatorrole agents - Review required — creator agents cannot publish directly; content goes through approval
- Agent keys carry an
agent_idthat is automatically used for audit attribution - Agent keys link to an
AgentPrincipalrecord for identity tracking
Skill Plane Access by Role
Agent roles determine which skill planes are accessible. Skills should check the caller's role before executing plane-restricted operations.
| Skill Plane | Min Role | Skills |
|---|---|---|
| Review | viewer |
Inbox triage, approve/reject, review digest |
| Control | viewer |
Audit export, key rotation, quota status, workspace config |
| Init (Voice) | creator |
Voice bootstrap, learn from samples |
| Content | creator |
Draft post, week plan, list recent posts |
| Automation | creator |
Cron generate & schedule, generate to review |
A 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.
How Skills Should Handle Key Types
- Check
key_typeon the API response — the server returnskey_type: "regular" | "agent"on authenticated responses - Regular keys: Validate required scopes exist in the key's
permissionsarray before executing - Agent keys: The role determines capabilities — check the role rather than individual scopes
- Agent-only operations (review workflows, audit export, team management) — reject if
key_typeis"regular"since these scopes are not available - Audit attribution: If
key_typeis"agent", theagent_idis automatically attached; for regular keys, passBOLTA_AGENT_IDenv var if attribution is needed
Trusted Network Endpoints
This skill makes HTTPS requests to:
https://platty.boltathread.com- Bolta API serverhttps://bolta.ai- Main application and agent registration portalhttps://mcp.bolta.ai- MCP protocol endpoint (for Claude Desktop / Claude Code)
No other domains are contacted. All requests are authenticated with your API key.
Related Projects & Resources
- Bolta Skills Pack — Official skills repository
- BoltaClaw — Self-hosted Bolta agent runtime
- Bolta MCP Server — Remote MCP endpoint for Claude Desktop / Claude Code integration
- Endpoint:
https://mcp.bolta.ai/mcp
- Endpoint:
- Bolta API Documentation — Full API reference
Pre-Installation Checklist
Before installing this skill, you MUST:
- Verify the source repository: https://github.com/boltaai/bolta-skills
- Review the SKILL.md and confirm version matches metadata (currently 2.0.1)
- Obtain a LEAST-PRIVILEGE API key from https://bolta.ai/register
- Store API key in environment variables (NEVER hardcode or commit)
- Verify you trust the domains:
platty.boltathread.com,bolta.ai, andmcp.bolta.ai - Test in a disposable/test workspace first (recommended)
- Confirm your API key is scoped ONLY to the intended workspace
Security Best Practices
Credential Management
- Use environment variables:
export BOLTA_API_KEY="sk_live_..." - Or use secret managers: AWS Secrets Manager, 1Password, etc.
- NEVER paste API keys in chat, logs, or public places
- Use environment variables:
Key Rotation
- Rotate keys every 90 days minimum
- Use
bolta.team.rotate_keyskill for zero-downtime rotation - Revoke compromised keys immediately at bolta.ai/settings
Permission Scoping
- Grant ONLY required permissions (e.g.,
posts:write,voice:read) - Avoid
workspace:adminunless absolutely necessary - Review permissions quarterly
- Grant ONLY required permissions (e.g.,
Monitoring
- Review audit logs weekly via
bolta.audit.export_activity - Monitor quota usage via
bolta.quota.status - Set up alerts for unusual API activity
- Review audit logs weekly via
Workspace Isolation
- One API key per workspace (NEVER share keys across workspaces)
- Use separate keys for dev/staging/production environments
- Revoke keys when decommissioning workspaces
Purpose
The canonical registry and orchestration layer for all Bolta skills.
This 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:
- Workspace policy (Safe Mode, autonomy mode, quotas)
- Principal identity (user role, agent permissions)
- Operational context (what you're trying to accomplish)
Key Responsibilities:
- Discovery - Index all available skills with metadata
- Recommendation - Suggest install sets based on workspace policy and role
- Orchestration - Guide multi-skill workflows
- Compatibility - Enforce skill compatibility with workspace settings
- Bootstrapping - Help new workspaces get started quickly
When to Use:
- Setting up a new workspace ("What skills should I install?")
- Discovering available capabilities ("What can Bolta do?")
- Troubleshooting skill compatibility ("Why can't I use this skill?")
- Planning multi-step workflows ("Which skills do I need?")
Data Access: This skill accesses:
- Workspace configuration (policy, quotas, autonomy mode)
- Voice profile metadata (names, IDs, not full content)
- Post counts and quota usage
- Agent principal types
This skill does NOT access:
- Post content or scheduled posts
- Social media credentials
- User passwords or authentication tokens
- Files or media uploads
Source & Verification
https://github.com/boltaai/bolta-skills
Bolta Ecosystem: How It All Fits Together
Bolta is composed of four interconnected pieces. Understanding how they relate helps you choose the right setup path.
┌─────────────────────────────────────────────────────────────┐
│ bolta.ai │
│ Workspace management, dashboards, │
│ account connections, review UI │
│ │
│ API Docs: https://bolta.ai/docs/api │
└──────────────────────┬──────────────────────────────────────┘
│ REST API
▼
┌──────────────────────────────────────────────────────────────┐
│ MCP Server (mcp.bolta.ai/mcp) │
│ Bridges Claude Desktop / Claude Code to the Bolta API │
│ Exposes workspace tools: create posts, manage agents, │
│ approve content, run analytics — all via MCP protocol │
└──────────────────────┬───────────────────────────────────────┘
│ uses
▼
┌──────────────────────────────────────────────────────────────┐
│ Bolta Skills Pack (this repo) │
│ github.com/boltaai/bolta-skills │
│ │
│ Structured prompts, workflows, and orchestration logic │
│ that teach AI agents HOW to use the API effectively: │
│ voice creation, content planning, review flows, │
│ automation, analytics, engagement, governance │
└──────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────┐
│ BoltaClaw (turnkey self-hosted runtime) │
│ github.com/boltaai/boltaclaw-self-hosted │
│ │
│ Everything above — pre-configured and ready to run. │
│ Ships with the skills pack, MCP integration, agent │
│ runtime, cron scheduler, and CLI out of the box. │
│ Clone, set your API key, and go. │
└──────────────────────────────────────────────────────────────┘
How they work together
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 withcurlor any HTTP client.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.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.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.
Which path is right for you?
| Goal | Start here |
|---|---|
| Explore the API directly | API Docs |
| Add Bolta tools to Claude Desktop / Claude Code | MCP Server — configure the endpoint |
| Customize agent workflows and prompts | Skills Pack — clone and adapt |
| Manage Bolta from the terminal (CLI) | BoltaClaw — includes the CLI |
| Get everything running immediately, self-hosted | BoltaClaw — turnkey, pre-configured |
Getting Started: API Setup
Before using Bolta skills, you need an API key. Choose the path that matches your use case.
Path A: Agent API Key (Recommended for AI Agents)
Use this if you're setting up an AI agent (Claude, BoltaClaw, custom agent) to operate as a workspace member.
Step 1: Create Agent Principal
Go to Settings → AI Agents → Add Agent in your Bolta workspace.
Configure:
- Agent Name — Human-readable name for audit logs (e.g., "Claude Content Agent")
- Agent Role — Determines permissions and skill plane access:
| Role | What it can do | Recommended for |
|---|---|---|
creator |
Draft content, use voice profiles, submit for review | Most agents (default) |
viewer |
Read-only access to all content | Monitoring / reporting |
editor |
Full content management + approvals | Approval workflow agents |
admin |
Everything + agent/account management | Orchestrators only |
Recommendation: Start with creator role. Safe Mode is enforced and all content requires human review.
Step 2: Copy Your Agent API Key
After creation, you'll see the full key once:
API Key: bolta_sk_00000000000000000000000000000000
Workspace ID: 550e8400-e29b-41d4-a716-446655440000
Agent ID: 660e8400-e29b-41d4-a716-446655440001
The agent ID is automatically linked — no need to set BOLTA_AGENT_ID separately.
Path B: Regular API Key (For Integrations & Scripts)
Use this for CI/CD pipelines, custom integrations, or scripts that need specific scopes.
Step 1: Create API Key
Go to Settings → API Keys → Create New Key.
Select only the scopes you need (least privilege):
- Content creation:
posts:write,voice:read - Full content:
posts:read,posts:write,voice:read,ai:generate - Read-only:
posts:read,accounts:read,voice:read
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.
Step 2: Copy Your API Key
API Key: bolta_sk_00000000000000000000000000000000
IMPORTANT: The full key is shown only once and cannot be recovered (only regenerated via bolta.team.rotate_key).
Configure Your Environment (Both Key Types)
Set Required Environment Variables:
# Required: Your Bolta API key (agent or regular)
export BOLTA_API_KEY="bolta_sk_your_actual_key_here"
# Required: Your workspace UUID
export BOLTA_WORKSPACE_ID="550e8400-e29b-41d4-a716-446655440000"
# Optional: Agent principal UUID (automatic for agent keys, manual for regular keys)
export BOLTA_AGENT_ID="660e8400-e29b-41d4-a716-446655440001"
For Claude Desktop / Claude Code (MCP):
Connect via the remote MCP endpoint at https://mcp.bolta.ai/mcp:
{
"mcpServers": {
"bolta": {
"type": "url",
"url": "https://mcp.bolta.ai/mcp",
"headers": {
"Authorization": "Bearer bolta_sk_your_actual_key_here",
"X-Workspace-ID": "550e8400-e29b-41d4-a716-446655440000"
}
}
}
}
For self-hosted deployments, see BoltaClaw for running your own agent runtime.
For Direct API Calls:
See the full API documentation for all available endpoints.
curl https://platty.boltathread.com/v1/posts \
-H "Authorization: Bearer ${BOLTA_API_KEY}" \
-H "X-Workspace-ID: ${BOLTA_WORKSPACE_ID}" \
-H "Content-Type: application/json" \
-d '{ "prompt": "Create a post about productivity" }'
Security Reminder:
- Never hardcode API keys in your code
- Use
.envfiles locally (add.envto.gitignore) - Use secret managers in production (AWS Secrets Manager, Vercel Secrets, etc.)
- Rotate keys every 90 days via
bolta.team.rotate_key
Verify Setup
Test your configuration:
curl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \
-H "Authorization: Bearer ${BOLTA_API_KEY}"
# Expected response:
# {
# "id": "550e8400-...",
# "name": "My Workspace",
# "safe_mode": true,
# "autonomy_mode": "managed",
# "max_posts_per_day": 100,
# "key_type": "agent", ← indicates which key type authenticated
# "agent_role": "creator" ← present only for agent keys
# }
Troubleshooting Setup
Error: "Invalid API Key"
- Verify key matches exactly (no extra spaces)
- Check if key was rotated — get new key at bolta.ai/settings
- Ensure you're using the correct workspace key
- Confirm key prefix starts with
bolta_sk_
Error: "Workspace Not Found"
- Verify workspace_id matches your registration
- Confirm you have access to this workspace (visit bolta.ai/workspaces)
- Check if workspace was deleted
Error: "Permission Denied"
- Regular keys: Check granted scopes at Settings → API Keys
- Content creation: Need
posts:writeminimum - Voice access: Need
voice:readorvoice:write
- Content creation: Need
- Agent keys: Check agent role at Settings → AI Agents
- Content creation: Need
creatorrole or higher - Approvals: Need
editorrole or higher - Agent management: Need
adminrole
- Content creation: Need
- Agent-only scopes (
review:submit,audit:export, etc.) are not available on regular keys — switch to an Agent API key if you need them
Error: "Insufficient Role" (Agent keys only)
- The agent's role doesn't have access to the requested skill plane
viewercannot access Init, Content, or Automation planes- Upgrade the agent role at Settings → AI Agents, or use a different agent
Installation & First Run
Skill Pack Installation
Option 1: Install Full Skill Pack (Recommended)
# Clone the complete Bolta skills repository
git clone https://github.com/boltaai/bolta-skills.git
# Or download the latest release
curl -L https://github.com/boltaai/bolta-skills/archive/refs/heads/main.zip -o bolta-skills.zip
unzip bolta-skills.zip
What You Get:
bolta-skills/
├── README.md # START HERE - Complete getting started guide
├── skills/
│ ├── bolta.skills.index/ # You're here (registry)
│ ├── voice-plane/
│ │ ├── bolta.voice.bootstrap/
│ │ └── bolta.voice.learn_from_samples/
│ ├── content-plane/
│ │ ├── bolta.draft.post/
│ │ ├── bolta.draft_post/
│ │ ├── bolta.get_account_info/
│ │ ├── bolta.get_business_context/
│ │ ├── bolta.get_voice_profile/
│ │ ├── bolta.list_recent_posts/
│ │ ├── bolta.loop.from_template/
│ │ └── bolta.week.plan/
│ ├── review-plane/
│ │ ├── bolta.add_comment/
│ │ ├── bolta.approve_post/
│ │ ├── bolta.reject_post/
│ │ ├── bolta.inbox.triage/
│ │ ├── bolta.review.approve_and_route/
│ │ └── bolta.review.digest/
│ ├── automation-plane/
│ │ ├── bolta.cron.generate_to_review/
│ │ └── bolta.cron.generate_and_schedule/
│ ├── agent-plane/
│ │ ├── bolta.agent.activate_job/
│ │ ├── bolta.agent.configure/
│ │ ├── bolta.agent.hire/
│ │ ├── bolta.agent.memory/
│ │ ├── bolta.agent.mention/
│ │ └── bolta.job.execute/
│ ├── analytics-plane/
│ │ ├── bolta.get_audience_insights/
│ │ ├── bolta.get_best_posting_times/
│ │ └── bolta.get_post_metrics/
│ ├── engagement-plane/
│ │ ├── bolta.get_comments/
│ │ ├── bolta.get_mentions/
│ │ └── bolta.reply_to_mention/
│ └── control-plane/
│ ├── bolta.team.create_agent_teammate/
│ ├── bolta.team.rotate_key/
│ ├── bolta.policy.explain/
│ ├── bolta.audit.export_activity/
│ ├── bolta.quota.status/
│ └── bolta.workspace.config/
├── docs/
│ ├── getting-started.md
│ ├── autonomy-modes.md
│ ├── safe-mode.md
│ ├── automation-setup.md
│ └── multi-agent.md
Option 2: Install Individual Skills (Manual)
# Install voice bootstrap skill
curl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/voice-plane/bolta.voice.bootstrap/SKILL.md \
-o bolta.voice.bootstrap.md
# Install draft post skill
curl -L https://raw.githubusercontent.com/boltaai/bolta-skills/main/skills/content-plane/bolta.draft.post/SKILL.md \
-o bolta.draft.post.md
First Run: Read the README
IMPORTANT: After installation, read the README for complete setup instructions.
What the README Covers:
- Prerequisites and system requirements
- Installation verification
- Environment variable configuration
- First skill execution (test workflow)
- Troubleshooting common issues
- Recommended skill installation order
- Best practices for production use
Recommended First-Run Flow
Step 1: Read Documentation
# Must-read files in order:
# 1. README.md - Complete getting started guide
# 2. docs/getting-started.md - Quickstart tutorial
# 3. docs/autonomy-modes.md - Understand autonomy levels
# 4. docs/safe-mode.md - Understand safety controls
Step 2: Verify Installation
# Check that all skills are present
ls -la skills/*/SKILL.md skills/*/*/SKILL.md
# Should see 36+ skills across 8 planes
Step 3: Configure Agent
export BOLTA_API_KEY="sk_live_..."
export BOLTA_WORKSPACE_ID="..."
# Test API connectivity
curl https://platty.boltathread.com/v1/workspaces/${BOLTA_WORKSPACE_ID} \
-H "Authorization: Bearer ${BOLTA_API_KEY}"
Step 4: Install Recommended Skills
# The registry will recommend skills based on your:
# - Safe Mode setting
# - Autonomy mode
# - User role
# - Current quotas
Common First-Run Mistakes
- Skipping the README - Installing skills without reading README
- Missing Environment Variables - Running skills without BOLTA_API_KEY set
- Installing Skills Out of Order - Running bolta.draft.post before creating voice profile
- Not Understanding Autonomy Modes - Using autopilot mode without understanding routing
- Hardcoding API Keys - Putting API keys directly in skill files instead of env vars
Post-Installation Checklist
- README.md has been read
- Environment variables set (BOLTA_API_KEY, BOLTA_WORKSPACE_ID)
- All 36+ skills present in skills/ directory
- docs/ directory contains markdown files
- API connectivity verified (test curl command works)
- MCP endpoint configured (if using Claude Desktop / Claude Code — see mcp.bolta.ai/mcp)
- Workspace policy reviewed (safe_mode, autonomy_mode)
- First skill executed successfully (test run)
- Autonomy mode documentation read (docs/autonomy-modes.md)
- Safe Mode documentation read (docs/safe-mode.md)
Next Steps After Setup
Create Voice Profile (if new workspace)
- Run:
bolta.voice.bootstrap - Establishes your brand voice
- Run:
Test Content Creation
- Run:
bolta.draft.postorbolta.draft_post - Creates a test post in Draft status
- Run:
Install Recommended Skills
- Run:
bolta.skills.index - Returns personalized skill recommendations
- Run:
Configure Workspace
- Review: Safe Mode (ON/OFF)
- Review: Autonomy Mode (assisted/managed/autopilot)
- Set: Daily quota limits
Architecture: The Eight Planes
Skills 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.
Plane 0: Voice
Purpose: Brand voice creation, evolution, and validation
Voice is the foundation of all content operations. These skills help establish, refine, and maintain consistent brand voice across all generated content.
Core Principle: Voice should be learned from examples, validated against real content, and evolved over time.
Skills:
| Skill | Purpose |
|---|---|
bolta.voice.bootstrap |
Interactive voice profile creation from scratch |
bolta.voice.learn_from_samples |
Extract voice patterns from existing content |
bolta.voice.evolve |
Refine voice based on approved posts (planned) |
bolta.voice.validate |
Score content against voice profile 0-100 (planned) |
Typical Flow:
- Bootstrap initial voice profile
- Learn from sample content
- Validate generated content
- Evolve voice as brand matures
Plane 1: Content
Purpose: Content creation, planning, data retrieval, and scheduling
The execution layer for post creation. These skills transform ideas into scheduled social media posts, and provide workspace context for informed content decisions.
Core Principle: Content should be intentional, planned, and aligned with voice.
Skills:
| Skill | Purpose |
|---|---|
bolta.draft.post |
Create a single post in Draft status (original interface) |
bolta.draft_post |
Create a draft post using workspace voice profile, routes to Inbox |
bolta.get_account_info |
Retrieve connected social account details |
bolta.get_business_context |
Fetch workspace business DNA and context |
bolta.get_voice_profile |
Read voice profile configuration |
bolta.list_recent_posts |
List recent posts for context and continuity |
bolta.loop.from_template |
Generate multiple posts from a template (deprecated) |
bolta.week.plan |
Plan a week's worth of content with scheduling |
Output: Draft or Scheduled posts (subject to Safe Mode routing)
Plane 2: Review
Purpose: Human-in-the-loop review, approval, and feedback workflows
Enables teams to review, approve, reject, and provide feedback on agent-generated content before publishing.
Core Principle: Autonomy with oversight — agents generate, humans decide.
Skills:
| Skill | Purpose |
|---|---|
bolta.add_comment |
Add feedback comments to posts under review |
bolta.approve_post |
Approve a draft, moving it to Approved status |
bolta.reject_post |
Reject a draft with feedback for revision |
bolta.inbox.triage |
Organize pending posts by priority/topic |
bolta.review.digest |
Daily summary of posts awaiting review |
bolta.review.approve_and_route |
Bulk approve + schedule posts |
Typical Flow:
- Agent creates posts -> Pending Approval
review.digestsends daily summary- Human reviews via
inbox.triage - Approve/reject individual posts or bulk approve via
approve_and_route
Plane 3: Automation
Purpose: Scheduled, recurring, and autonomous content generation
The autonomy layer. These skills enable hands-off content operations with guardrails.
Core Principle: Predictable automation with quota enforcement and safety nets.
Skills:
| Skill | Purpose |
|---|---|
bolta.cron.generate_to_review |
Daily content generation -> Pending Approval |
bolta.cron.generate_and_schedule |
Autonomous scheduling (requires Safe Mode OFF) |
Safety Guardrails:
- Quota enforcement (max posts/day, max API requests/hour)
- Job run tracking (observability for all executions)
- Autonomy mode compatibility checks
- Safe Mode routing (autopilot incompatible with Safe Mode ON)
Plane 4: Agent
Purpose: AI agent lifecycle management — hiring, configuration, job activation, and memory
V2 introduces a dedicated agent plane for managing AI teammates that operate autonomously within your workspace.
Core Principle: Agents are first-class principals with defined roles, jobs, and memory.
Skills:
| Skill | Purpose |
|---|---|
bolta.agent.hire |
Create and onboard a new AI agent from marketplace presets |
bolta.agent.configure |
Update agent settings, permissions, and job parameters |
bolta.agent.activate_job |
Activate or pause an agent's scheduled job |
bolta.agent.memory |
Read/write agent memory for cross-session context |
bolta.agent.mention |
Notify or hand off work to another agent |
bolta.job.execute |
Documentation for job execution lifecycle |
Typical Flow:
- Hire an agent from presets (
agent.hire) - Configure agent settings and jobs (
agent.configure) - Activate the job to start autonomous work (
agent.activate_job) - Agent builds memory over time (
agent.memory) - Agents collaborate via mentions (
agent.mention)
Plane 5: Analytics
Purpose: Performance measurement, audience insights, and posting optimization
Provides data-driven insights to inform content strategy and measure impact.
Core Principle: Measure what matters, optimize what works.
Skills:
| Skill | Purpose |
|---|---|
bolta.get_post_metrics |
Retrieve performance metrics (likes, comments, shares, views) |
bolta.get_best_posting_times |
Analyze historical data for optimal posting windows |
bolta.get_audience_insights |
Audience demographics, growth trends, engagement patterns |
Plane 6: Engagement
Purpose: Community interaction — monitoring mentions, replying, and managing conversations
Closes the feedback loop between publishing and audience interaction.
Core Principle: Respond authentically in brand voice, escalate what needs human judgment.
Skills:
| Skill | Purpose |
|---|---|
bolta.get_comments |
Retrieve comments on published posts |
bolta.get_mentions |
Monitor brand mentions across platforms |
bolta.reply_to_mention |
Draft a reply maintaining brand voice |
Plane 7: Control
Purpose: Workspace governance, policy, security, and audit
The management layer for teams, permissions, security, and compliance.
Core Principle: Visibility and control for workspace administrators.
Skills:
| Skill | Purpose |
|---|---|
bolta.team.create_agent_teammate |
Provision agent principals with specific roles |
bolta.team.rotate_key |
Rotate API keys for security |
bolta.policy.explain |
Explain authorization decisions ("Why was this blocked?") |
bolta.audit.export_activity |
Export audit logs (PostActivity, JobRuns) |
bolta.quota.status |
View current quota usage (daily posts, hourly API calls) |
bolta.workspace.config |
View/update autonomy mode, Safe Mode, quotas |
Typical Use Cases:
- Onboarding new team members (human or agent)
- Investigating authorization failures
- Compliance reporting (SOC2, GDPR data exports)
- Quota monitoring and adjustment
Full Skill Index
Voice Plane Skills
bolta.voice.bootstrap
Path: skills/voice-plane/bolta.voice.bootstrap/SKILL.md
Purpose: Interactive voice profile creation wizard
Inputs: Brand name, industry, target audience, sample content
Outputs: Complete VoiceProfile (tone, dos, don'ts, constraints)
Permissions: voice:write
Safe Mode: Compatible
Roles: Viewer, Creator, Editor, Admin
Typical Duration: 5-10 minutes (interactive)
bolta.voice.learn_from_samples
Path: skills/voice-plane/bolta.voice.learn_from_samples/SKILL.md
Purpose: Extract voice patterns from existing content
Inputs: URLs or text samples (3-10 examples)
Outputs: Voice profile draft with auto-detected patterns
Permissions: voice:write
Safe Mode: Compatible
Typical Duration: 2-3 minutes
bolta.voice.evolve (planned)
Purpose: Refine voice based on approved posts
Inputs: Date range for approved posts
Outputs: Updated VoiceProfile (version incremented)
Permissions: voice:write, posts:read
Safe Mode: Compatible
bolta.voice.validate (planned)
Purpose: Score content against voice profile
Inputs: Post ID or content text
Outputs: Compliance score (0-100), deviation report
Permissions: voice:read, posts:read
Safe Mode: Compatible
Content Plane Skills
bolta.draft.post
Path: skills/content-plane/bolta.draft.post/SKILL.md
Purpose: Create a single post in Draft status (original interface)
Inputs: Topic, platform(s), optional voice profile ID
Outputs: Post ID (Draft status)
Permissions: posts:write
Safe Mode: Always routes to Draft
Autonomy Mode: Respects assisted/managed routing
Quota Impact: +1 to daily post count
Typical Duration: 30-60 seconds
bolta.draft_post
Path: skills/content-plane/bolta.draft_post/SKILL.md
Purpose: Create a draft post using workspace voice profile, routes to Inbox for review
Inputs: content, platform, account_id, optional voice_profile_id
Outputs: Post ID (Draft/Inbox status)
Permissions: posts:write
Safe Mode: Always routes to Inbox
Roles: Viewer, Creator, Editor, Admin
Safe Defaults: never_publish_directly, always_route_to_inbox
bolta.get_account_info
Path: skills/content-plane/bolta.get_account_info/SKILL.md
Purpose: Retrieve connected social account details
Inputs: account_id (optional, returns all if omitted)
Outputs: Account metadata (platform, handle, status)
Permissions: accounts:read
Safe Mode: N/A (read-only)
bolta.get_business_context
Path: skills/content-plane/bolta.get_business_context/SKILL.md
Purpose: Fetch workspace business DNA and context
Inputs: workspace_id
Outputs: Business DNA (industry, audience, positioning)
Permissions: workspace:read
Safe Mode: N/A (read-only)
bolta.get_voice_profile
Path: skills/content-plane/bolta.get_voice_profile/SKILL.md
Purpose: Read voice profile configuration
Inputs: voice_profile_id (optional, returns active if omitted)
Outputs: Voice profile (tone, style, constraints)
Permissions: voice:read
Safe Mode: N/A (read-only)
bolta.list_recent_posts
Path: skills/content-plane/bolta.list_recent_posts/SKILL.md
Purpose: List recent posts for context and continuity
Inputs: account_id, limit, status filter
Outputs: Array of recent posts with metadata
Permissions: posts:read
Safe Mode: N/A (read-only)
bolta.loop.from_template (deprecated)
Path: skills/content-plane/bolta.loop.from_template/SKILL.md
Purpose: Generate multiple posts from a template
Inputs: Template ID, count (1-50), variation parameters
Outputs: Array of Post IDs
Permissions: posts:write, templates:read
Note: Deprecated in V2. Use bolta.agent.hire with template-based presets instead.
bolta.week.plan
Path: skills/content-plane/bolta.week.plan/SKILL.md
Purpose: Plan a week's content with scheduling
Inputs: Start date, posting frequency, themes
Outputs: 7-day content calendar with scheduled posts
Permissions: posts:write, posts:schedule
Safe Mode: Routes to Pending Approval if ON
Quota Impact: +5-15 to daily post count (spread across week)
Review Plane Skills
bolta.add_comment
Path: skills/review-plane/bolta.add_comment/SKILL.md
Purpose: Add feedback comments to posts under review
Inputs: post_id, comment text
Outputs: Comment record
Permissions: posts:read, posts:review
Safe Mode: N/A (feedback operation)
bolta.approve_post
Path: skills/review-plane/bolta.approve_post/SKILL.md
Purpose: Approve a draft post, moving it from Inbox to Approved status
Inputs: draft_id, optional notes, optional schedule_time
Outputs: Updated post status
Permissions: posts:write, posts:approve
Roles: Editor, Admin
Safe Defaults: require_editor_role
bolta.reject_post
Path: skills/review-plane/bolta.reject_post/SKILL.md
Purpose: Reject a draft with feedback for revision
Inputs: draft_id, rejection_reason
Outputs: Updated post status (Rejected)
Permissions: posts:write, posts:review
Roles: Editor, Admin
bolta.inbox.triage
Path: skills/review-plane/bolta.inbox.triage/SKILL.md
Purpose: Organize pending posts by priority
Inputs: Optional filters (platform, date range)
Outputs: Categorized list of posts awaiting review
Permissions: posts:read, posts:review
Safe Mode: N/A (read-only)
bolta.review.digest
Path: skills/review-plane/bolta.review.digest/SKILL.md
Purpose: Daily summary of posts awaiting review
Inputs: None (workspace context)
Outputs: Formatted summary with quick approve links
Permissions: posts:read, posts:review
Safe Mode: N/A (read-only)
Note: Designed for cron execution (daily 9am)
bolta.review.approve_and_route
Path: skills/review-plane/bolta.review.approve_and_route/SKILL.md
Purpose: Bulk approve and schedule posts
Inputs: Post IDs or filter criteria
Outputs: Updated post statuses
Permissions: posts:write, posts:approve, posts:schedule
Safe Mode: N/A (human override)
Note: Bypasses Safe Mode (human decision)
Automation Plane Skills
bolta.cron.generate_to_review
Path: skills/automation-plane/bolta.cron.generate_to_review/SKILL.md
Purpose: Daily content generation -> Pending Approval
Inputs: N
…(truncated)