# Tools Index

> Auto-generated from `server/tools.ts` by `scripts/generate-public-docs.ts`. Do not hand-edit.

**341 public tools** wired into the persona dispatcher. Every call passes through the destructive-tool policy gate (`server/safety/destructive-tool-policy.ts`) and the AHB intent gate before execution. Tools flagged `trustedPersonasOnly:true` (introspection, raw SQL/shell, secret-rotation, undo, mass-comms) are intentionally **excluded** from this index so adversarial agents cannot fingerprint internal-only surface; 20 such tools are filtered.

| Tool | Description |
|------|-------------|
| `add_competitor` | Add a competitor to the watchlist for ongoing monitoring. Provide their website and optionally their pricing, product, and changelog URLs for targeted tracking. |
| `add_customer` | Add a new customer/prospect to the CRM. Track company info, contact details, deal stage, and value. |
| `advance_sequence` | Process all outreach enrollments that are due. Sends personalized emails for the current step, then schedules the next step. Run this periodically or via Heartbeat to automate outreach. |
| `agent_cost_summary` | Break down agent/tool costs by tool and model for a period, showing which tools are driving spend. Owner-only. |
| `agent_security_scan` | Run a security audit on the VisionClaw agent platform with OWASP Top 10 mapping. Scans 5 categories: Input Handling (injection, validation), Auth & Access Control (broken auth, IDOR, session management), Data Protecti... |
| `agent_status` | Use at session start for a one-glance view of platform activity, when Bob asks "what is everyone doing right now", or before launching a heavy multi-agent plan. Returns a unified roll-up of active agents, background t... |
| `agentic_cache_stats` | View statistics about the tool-level cache that saves money on repeat Firecrawl, Perplexity, and search queries. Shows hits, misses, hit rate, and size. |
| `analyze_pdf` | Extract and analyze text from a PDF document. Accepts a URL or local file path. Returns extracted text, page count, and metadata. Use for reading documents, reports, contracts, or any PDF content. |
| `analyze_portfolio` | Analyze a portfolio of holdings: fetches live prices, computes weights, concentration risk (HIGH/MODERATE/LOW), HHI-based diversification score (0-100), and structural recommendations. NEVER returns buy/sell advice — ... |
| `approve_felix_proposal` | Approve a Felix proposal so it moves from pending → approved. NOTE: approving does NOT automatically execute the action — execution requires a separate explicit follow-up. This is a deliberate two-step rail to prevent... |
| `approve_procedure_edit` | Approve a proposed procedure edit. Moves status proposed→approved but does NOT yet write the file — call apply_procedure_edit to actually mutate. Reviewer name is recorded. |
| `attribute_failure` | R106 N1 — Record an L0–L5 failure attribution against a scoped reference (grade_deliverable, build_html_app, commitment, subagent_chunk, etc.) so the reflexive auto-revise loop knows what to do next. STRICT-PROGRESSIV... |
| `audit_reasoning_step` | R77.5 (KisMATH 2507.11408v2) — audits a chain-of-thought reasoning trace by step-masking each step and re-deriving from there with a cheap regenerator, then measuring divergence vs the original final answer. Returns p... |
| `auto_memorize_now` | Run the auto-memorize pass immediately: scan recent conversation messages, extract durable lessons (preferences, decisions, error patterns), dedupe against existing memory, and store the survivors. Normally runs autom... |
| `autonomous_task` | Launch a fire-and-forget autonomous conversation. Creates a new conversation that runs independently in the background — the agent works on the task without blocking. Results are announced to the operations channel wh... |
| `browser` | Control a remote browser via Chrome DevTools Protocol. Each user gets isolated browser sessions. Actions: navigate, screenshot, content, click, type, evaluate, smart_browse (navigate+screenshot+extract in one step), f... |
| `browser_workflow` | Save and manage reusable browser workflow templates. Records step-by-step browser instructions as named workflows that can be stored, listed, replayed, and deleted. Steps are natural language descriptions of browser a... |
| `build_html_app` | R98.12 W5 — Build a single-file downloadable HTML utility app (password generator, tip calculator, unit converter, timer, todo list, form, simple game, dashboard). Generates one self-contained <!doctype html> document... |
| `build_presentation_distributed` | Build a presentation using distributed parallel processing — the EFFICIENT way to create decks. Instead of one massive LLM call for all slides, this tool: 1) Plans a deck outline (sections + layouts), 2) Dispatches ea... |
| `build_video_from_brief` | R112 — BRIEF-DRIVEN VIDEO. The 'AI-Tinkers pattern' for video. ONE tool call: takes a customer brief, internally plans chapters+scenes via an LLM director, kicks off a background render with auto-finalize + auto-deliv... |
| `build_voice_profile` | R79 (MarTech Bundle, after Charlie Hills' voice-builder MIT) — synthesize a per-tenant brand-voice profile (about-me.md + voice.md + topic pillars + audience) from interview answers plus 1-10 raw writing samples. Stor... |
| `business_health_score` | Calculate an overall business health score (0-100, grade A-F) based on collection rate, profit margin, overdue invoices, customer win rate, and KPI performance. A quick executive snapshot. |
| `calendar_sync` | Multi-provider calendar aggregation and sync. Connects to Google Calendar, Outlook/Office 365 via Microsoft Graph, iCloud via CalDAV, and any calendar via ICS/iCal feed URLs. Aggregates events across all connected cal... |
| `cancel_scheduled_message` | Use when Bob says "stop sending those" — also when retiring a stale automation or replacing it with a new schedule. Permanent: the schedule row is deleted, not paused. Returns success. If a temporary pause is wanted i... |
| `cancel_scheduled_post` | Cancel a pending scheduled cross-platform post by id. Only works while the post is still 'pending' — already-publishing or already-sent posts cannot be unsent. Returns {ok, cancelled} where cancelled=false means the r... |
| `cash_flow_summary` | Cash flow summary — monthly cash in (payments received) vs cash out (expenses) with net position. |
| `check_background_task` | Check the status of a background task launched with run_background_task. Returns status (pending/running/completed/failed), elapsed time, progress updates, and the result when complete. |
| `check_inbox` | Use at session start when triaging customer/prospect mail, when Bob asks "anything new in the inbox", or BEFORE drafting outbound to avoid replying to something already answered. Returns the latest emails received in ... |
| `check_system_status` | Use at session start when Bob asks "how is everything", when investigating a slow/odd response, or before a complex multi-tool plan to confirm the platform is healthy. Returns uptime, conversation count, message count... |
| `check_video_job` | R98.14 W1.3 — Poll the status of a background video job started by start_video_job. Returns full job state {status, total_chapters, chapters:[{idx,title,status,duration_sec,error}], final_file_path?, final_drive_url?,... |
| `chunk_code` | Split a source file into context-aware chunks (cAST: Context-Aware Splitting Tree). Splits at top-level function/class/export boundaries (TS/JS/Python supported), with a header per chunk recording parentFile + symbol ... |
| `classify_reply` | Classify a reply to an outreach email. Determines if it's positive, interested, meeting request, objection, unsubscribe, out-of-office, etc. Automatically pauses or stops the sequence based on classification. |
| `code_slice` | R117 token-saver: extract ONLY the named symbols (functions, classes, types, exports) or line ranges from a source file, instead of pulling the whole file with read_file. Saves 70–95% of tokens when you only need to r... |
| `codebase_diff_impact` | R98.27.8 — Compute blast-radius for the current uncommitted change set (or against a specific git ref). Returns directly-changed files plus the transitive set of files that import them, layer-tagged so you can SEE whi... |
| `codebase_graph_query` | R98.27.8 — Query the self-knowledge graph of the VisionClaw codebase (Understand-Anything-inspired). Returns nodes (files) + their direct dependencies and dependents, layer-tagged (API / Lib / Data / Tools / Safety / ... |
| `commit_decision` | Make a high-stakes decision with an explicit self-confidence score. The model picks the best option from the candidates, scores its own confidence 0-1, and if confidence is below the threshold (default 0.7) automatica... |
| `commitment_cancel` | R104 — Cancel a commitment that will not be fulfilled. Provide a reason — this leaves a clear audit trail. |
| `commitment_complete` | R104 — Mark a commitment completed. Include a final note summarizing what was delivered. |
| `commitment_create` | R104 — Register a long-running commitment (an obligation a persona is taking on that will outlive the current chat turn). The platform tracks status, expects periodic heartbeats, and escalates to the owner via the dai... |
| `commitment_heartbeat` | R104 — Record a heartbeat against an active commitment: a short note explaining current progress, optionally with structured evidence (links, ids, metrics). Resets the staleness timer. |
| `commitment_list` | R104 — List commitments for the calling tenant. Optionally filter by status (active\|paused\|completed\|cancelled\|escalated). |
| `competitor_briefing` | Generate an executive intelligence briefing summarizing all competitor changes over a period. Groups by competitor, highlights high-significance changes, and provides strategic recommendations. |
| `compliance_audit` | Perform a compliance gap analysis against regulatory frameworks including GDPR, CCPA, ADA, PCI-DSS, HIPAA, SOC 2, CAN-SPAM, and more. Analyzes a website URL, privacy policy, terms of service, or business description a... |
| `compose_social_post` | Create a complete social media post with both text content AND a matching AI-generated image. Returns a ready-to-publish package with the drafted text, generated image (uploaded to Google Drive), and a preview. This i... |
| `compress_context` | Compress a long list of chat messages by keeping the head + tail and summarizing the middle through a cheap auxiliary model. Repairs orphan tool_call/tool_result pairs that would otherwise crash a strict provider. Use... |
| `context_budget_audit` | Audit the token overhead of the agent system — measures how many tokens are consumed by persona prompts, tool definitions, skills, memories, governance rules, and agency expansion blocks. Returns a detailed report wit... |
| `create_adr` | Record an ARCHITECTURE DECISION RECORD (ADR). Use whenever you make a structural choice the rest of the system has to live with: picked one library/approach over another, chose a data shape, ruled out a strategy, set ... |
| `create_contract` | Create a contract record linked to a customer. Track type, dates, value, and status. |
| `create_crew` | Create and manage Crews — autonomous agent teams inspired by crewAI. A Crew has agents (with role/goal/backstory), tasks (with description/expected_output), and a process type (sequential or hierarchical). Sequential ... |
| `create_document` | Create a professional Word document (.docx) with styled headings, body text, bullet lists, and data tables. Includes headers, footers with page numbers, and VisionClaw branding. Automatically uploads to Google Drive. ... |
| `create_flow` | Create and manage Flows — event-driven workflow orchestration inspired by crewAI Flows. Flows have steps with three types: @start (entry points), @listen (triggered when dependencies complete), @router (conditional br... |
| `create_invoice` | Create a business invoice with line items, auto-calculate totals, and track in the accounting system. Use for billing clients. Returns invoice ID and total. The invoice is stored in the database for tracking, aging re... |
| `create_knowledge` | Add a new entry to the permanent knowledge base. Use for storing reference material, guides, or important documentation. |
| `create_memory` | Store a new fact in the Memory Palace. Automatically checks for duplicates and resolves contradictions. Use for important preferences, personal details, or things the user asks you to remember. Assign a wing (project/... |
| `create_mind` | Create or manage a Mind — an autonomous multi-agent system inspired by Imbue's Minds framework. A Mind has 4 roles: talking (user-facing), thinking (orchestration brain), working (execution), verifying (quality judge)... |
| `create_pdf` | Low-level PDF tool for fillable forms and simple documents ONLY. For reports, analyses, deliverables, or any professional document, use create_styled_pdf instead — it produces premium executive-quality output with bra... |
| `create_plan` | Minerva's planner: compose a structured multi-step plan for an objective. Each plan step names an agent, tools, dependencies, cost estimate, and time estimate. Plans are persisted with status=awaiting_approval, a rost... |
| `create_sequence` | Create a multi-step outreach email sequence. Define each step's subject, body template, and wait time. Templates support {{name}}, {{company}}, {{email}} placeholders. Steps are personalized with AI when personal cont... |
| `create_slides` | Create a professional Google Slides presentation with rich visual layouts, diagrams, charts, tables, and themes. Builds real, editable Google Slides with native shapes and elements. Use for presentations, pitch decks,... |
| `create_slideshow_video` | Create a cinematic video from slide images + audio using FFmpeg. Supports per-slide audio sync, Ken Burns motion effects (zoom/pan on stills for cinematic feel), 30+ transition types (fade, wipe, slide, dissolve, zoom... |
| `create_spreadsheet` | Create a professional Excel spreadsheet (.xlsx) with formatted headers, alternating row colors, auto-filters, frozen header row, and Excel formulas. Supports multiple sheets. Automatically uploads to Google Drive. Use... |
| `create_styled_report` | Create a PREMIUM styled PDF report with professional cover page, branded colors, stats grid, data tables, highlight boxes, two-column layouts, and auto-uploaded to Google Drive. This is the TOP-TIER PDF system — use i... |
| `create_tension` | Record a TENSION — a structured 'predicted ≠ actual' conflict so the next persona can pick up where you stopped instead of relearning the wall. Use whenever a result contradicts your assumption: a bug that violates yo... |
| `critique_response` | Request a quality critique of content before sending it. A specialized Critique Agent evaluates accuracy, completeness, relevance, and clarity on a 1-10 scale and provides improvement suggestions. Use this for importa... |
| `cross_critique` | Three-AI adversarial review panel (Donahoe Trident). Fires Claude/OpenAI/Gemini in parallel against the same target with different lenses (ux/technical/strategic), ranks counter-arguments by 'rebuttal survival score',... |
| `customer_pipeline` | View the sales pipeline — shows deal counts and values at each stage (prospect → lead → qualified → proposal → negotiation → closed). Includes win rate and lifetime revenue. |
| `debate` | Initiate a Chain of Debates — convene 3-4 relevant specialist personas to deliberate on a complex question from their unique perspectives (financial, legal, technical, strategic, etc.). Each persona argues their posit... |
| `decide_approval` | Approve or reject a pending approval request. Resumes the paused agent run if approved; marks it failed if rejected. Only the owner tenant can decide. |
| `deep_research` | Conduct multi-source research on a topic. Generates diverse search queries, searches the web, fetches top sources, and synthesizes findings into a structured report with sources, confidence level, and follow-up questi... |
| `define_icp` | Define an Ideal Customer Profile (ICP) with scoring criteria. Used by score_leads to automatically qualify leads. Describe your target customer characteristics and scoring weights. |
| `delegate_task` | Delegate a task to another agent (persona). One-shot tasks (schedule='once') execute INLINE — the specialist runs immediately and returns their result in this conversation. Recurring tasks (cron schedule) are queued f... |
| `deliver_product` | Full automated digital product delivery pipeline. Creates a dated subfolder in Google Drive, uploads the file, makes it publicly shareable, sends a branded delivery email to the customer, and logs the entire transacti... |
| `delivery_status` | Use AFTER any send_message / scheduled-delivery to confirm receipt, when a recipient says "I never got it", or when auditing recent multi-channel deliveries. Returns delivery rows with channel, status (sent/delivered/... |
| `detect_competitor_changes` | Compare the latest snapshot of competitor pages against previous snapshots. Uses AI to identify meaningful changes in pricing, features, messaging, and positioning. Ignores cosmetic changes. |
| `detect_emotional_state` | Safety: scan a user message for shame-spiral / catastrophic / self-attack language patterns. Returns intensity (low/medium/high), pattern names matched, and whether intervention is needed. CRITICAL: if needsImmediateI... |
| `detect_fatigue` | Wellness: scan a user message for late-night fatigue / craving / stress signals. Returns detected boolean, confidence (0-100), fatigue type (late_night \| general_exhaustion \| stress_craving), and matched keywords. Use... |
| `doc_search` | Search indexed document collections (like QMD). Modes: keyword (BM25-style), semantic (vector), hybrid (BM25+vector fusion, auto-reranked by Cohere when COHERE_API_KEY is set — strongly preferred). Use for notes, docs... |
| `draft_social_post` | Draft a social media post for VisionClaw Health marketing. Generates platform-optimized content using AI with brand voice guidelines. Returns draft text ready for review/posting. |
| `edit_pdf` | Edit an existing PDF — add text, add fillable form fields, add blank pages, or remove pages. The output remains editable. Use for modifying, annotating, or extending existing PDFs. |
| `emit_event` | Emit a business event to the event bus. Other personas subscribed to this event type will be notified and can take action. Use this when you detect something that other departments should know about — new leads, conte... |
| `enrich_lead` | Enrich a lead with company data scraped from their website. Extracts industry, company size, products, and target market. Stores enriched data for scoring. |
| `enroll_in_sequence` | Enroll a contact in an outreach sequence. They'll receive step 1 immediately when the sequence is advanced, then subsequent steps at the defined intervals. |
| `ensemble_query` | Mixture-of-Agents (MoA): when you face a hard reasoning, factual, or judgment question and want the most reliable answer, run the same question through 4 diverse frontier models in parallel (GPT-5.4, Claude Sonnet 4.6... |
| `estimate_cost` | Predict resource consumption before executing a plan — estimate token usage, API costs, time, and risk level. Use before plan_and_execute or orchestrate to give the user visibility into what an operation will cost. |
| `evaluate_against_contract` | R115.5 — Record an evaluator verdict against a pinned sprint contract. The contract is looked up by (refKind, refId) with status='open'; the row's sha256 is re-checked against the stored doneCondition (tamper detectio... |
| `execute_code` | Execute JavaScript code in a secure sandbox. Supports math, data transforms, JSON processing, string manipulation, regex, and logic. No file system, network, or module access. Use for calculations, data analysis, form... |
| `execute_felix_proposal` | Run an APPROVED Felix proposal through the SWD verification rail: capture pre-state from the verifier table, fire the action (LIVE MODE ONLY — currently dry-run until 2026-05-12), capture post-state, verify actual del... |
| `expense_report` | Generate an expense report broken down by category with totals, averages, and deductible amounts. Perfect for tax prep or monthly reviews. |
| `expire_triple` | Mark a knowledge triple as expired by setting its valid_until date. Use when a fact is no longer true (e.g. someone changed roles, a tool was replaced). |
| `export_persona` | Export any VisionClaw persona as a portable agent definition file. Produces a comprehensive package with the persona's identity (SOUL), trust profile, skills, tools, governance rules, express lanes, and knowledge doma... |
| `felix_loop_run_now` | Manually trigger a Felix Loop run right now (bypasses the 4-hour interval and wake-hours gate). Useful for testing the loop end-to-end or for forcing a fresh read after a major event. Still respects kill switch and mo... |
| `felix_loop_status` | Get the current status of Felix's autonomous loop (R74.13w). Returns: current mode (dry_run vs live), live_after date, kill switch state, wake hours, monthly cap and current month spend, count of pending proposals awa... |
| `figma` | Read or comment on Figma designs via Figma's REST API. Actions: get_design_context (summary + screenshot of a node), get_file (file metadata), get_nodes (specific nodes), render_images (export PNG/SVG), get_components... |
| `fill_pdf` | Fill in form fields of an existing fillable PDF. Set values for text fields, check/uncheck checkboxes, and select dropdown options. Optionally flatten the form (make it non-editable). Use for completing forms, applica... |
| `finalize_video` | R98.14 W1.4 — Concatenate completed chapters into the final MP4 (and upload to Drive if enabled). IDEMPOTENT + RESUMABLE: if concat fails, the chapter MP4s stay on disk; calling finalize_video again retries JUST the c... |
| `finance_market_overview` | Get a snapshot of major market indices with current values and daily change percentages. Covers Chinese A-share market indices. Use for quick market pulse checks, daily briefings, or as context for financial analysis. |
| `finance_news` | Fetch real-time financial and trending news from multiple global sources. Returns ranked headlines with links. Sources include Cailian Press, WallStreetCN, Xueqiu (Snowball), Hacker News, Weibo, Baidu, and more. Use f... |
| `finance_stock_price` | Get historical stock price data (OHLCV) for A-Share and Hong Kong stocks. Returns daily open/high/low/close/volume with change percentages and a summary. Use for stock analysis, price tracking, trend identification, o... |
| `finance_stock_search` | Search for stock tickers by company name or code. Supports A-Share (Shanghai/Shenzhen) and Hong Kong markets. Returns matching ticker codes and company names. Use when you need to find the ticker code for a company be... |
| `financial_snapshot` | Unified financial snapshot — one call gives you everything: revenue with period-over-period variance and trend (up/down/stable), collections aging (current/30/60/90+ day buckets), average receivable age, expenses with... |
| `findings_publish` | R106 N2 — Publish a finding to the parallel-job bulletin board so SIBLING in-flight subtasks (other chunks of the same chunk-and-parallel job) can pick it up on their next read. Use when you discover something high-co... |
| `findings_read` | R106 N2 — Read NEW findings posted by SIBLING subtasks on a parallel-build job (excludes your own postings). Cursor-paged: pass since_id from the last read to only see new ones. Default minConfidence 0.6 strips low-co... |
| `firecrawl_crawl` | Crawl an entire website using Firecrawl — follows links from a starting URL, scrapes multiple pages, and stores all content in the database. Great for indexing competitor sites, documentation portals, or any multi-pag... |
| `firecrawl_map` | Quickly discover all URLs on a website without scraping them. Returns a sitemap-like list of all reachable pages. Use to plan a targeted crawl or understand a site's structure before scraping. |
| `firecrawl_scrape` | Scrape a single URL using Firecrawl, extract clean markdown content, and save it to the scraped pages database for later retrieval. Returns the page content and a database ID. Use when you need to capture and store a ... |
| `firecrawl_search` | Search the web using Firecrawl and get clean, LLM-ready markdown results. Better than web_search for getting actual page content — returns full scraped markdown from top results. Use for deep research when you need th... |
| `forecast_ticker` | Generate a directional market forecast for a single stock/crypto symbol over the next N trading days. Pulls 90 days of free OHLC history, computes SMAs + volatility, then asks an LLM analyst for a calibrated trend (bu... |
| `fork_conversation` | Fork (clone) a conversation to create a branch. Copies all messages up to an optional limit into a new conversation. Use to try different approaches, save state before risky operations, or branch a discussion. |
| `format_post` | R79 (MarTech Bundle, after Charlie Hills' post-formatter MIT) — render a topic into a ready-to-publish post using a named copy framework: PAS (Problem/Agitate/Solution), AIDA (Attention/Interest/Desire/Action), BAB (B... |
| `generate_audio` | Generate audio narration from text using text-to-speech. Default provider (R110.3+): Fish Audio s2-pro (primary, ~$0.001/scene, ~10 req/s capacity). Auto-cascades Fish → OpenAI → Edge on rate-limit/quota error. Saves ... |
| `generate_chart` | Generate an interactive chart that will be rendered inline in the chat. Use when the user asks for data visualization, comparisons, trends, or any visual representation of data. |
| `generate_content_matrix` | R79 (MarTech Bundle, after Charlie Hills' content-matrix MIT) — build a pillars x formats grid (Justin Welsh style) producing 32+ specific post ideas in one call. Default 8 formats: list / story / contrarian / how-to ... |
| `generate_dashboard` | Generate an interactive HTML dashboard that will be rendered in a live canvas inside the chat. Use for rich visualizations, status boards, KPI displays, data tables, or any complex visual output that goes beyond a sim... |
| `generate_hooks` | R79 (MarTech Bundle, after Charlie Hills' hook-generator MIT) — generate 6 (default) two-line LinkedIn hook variations for a topic, each <=40 chars per line, every variation including a digit and a 'How I'/'I' stateme... |
| `generate_legal_document` | Generate professional legal documents from specifications. Supports NDAs (mutual, one-way, employee, vendor), terms of service, privacy policies, freelancer agreements, partnership agreements, SOWs (statements of work... |
| `generate_schema_markup` | Generate JSON-LD structured data (schema.org markup) for any web page. Supports Article, Product, FAQPage, HowTo, Organization, LocalBusiness, SoftwareApplication, BreadcrumbList, Event, and more. Returns valid JSON-L... |
| `generate_social_image` | Generate an AI image for social media posts, marketing materials, or visual content. Creates the image using AI, uploads it to Google Drive, and returns a shareable link. Use this when you need a visual to accompany a... |
| `get_agent_run` | Use when investigating what a specific agent run actually did (after a failure, when Bob asks "show me the trace", or for post-mortem analysis). Returns the full step-by-step trace including each decision, specialist ... |
| `get_daily_notes` | Use when reconstructing what happened on a specific day ("what did we ship Tuesday"), when picking up after time away, or when auditing agent activity. Returns the activity log + agent notes for the requested date or ... |
| `get_done_condition` | R115.5 — Look up the pinned 'done condition' for (refKind, refId) so the evaluator grades against the verbatim contract instead of a re-imagined criterion. Default status='open'. Returns {ok, contract} or {ok:false, e... |
| `get_eval_report` | Use BEFORE Bob ships a persona prompt change, after running a benchmark sweep, or when answering "is the platform getting better or worse over time". Returns pass rates, per-task scores, and timing across all 16 perso... |
| `get_experiments` | Use BEFORE trying an approach that might already have been tried — also when answering "what have we learned about X". Returns the experiment log filtered by topic/persona/date with hypothesis, approach, outcome, and ... |
| `get_minerva_roster` | Read-only: return Minerva's capability snapshot — the list of active agents, tools, integrations, and event types currently registered. This is what Minerva uses as ground truth before composing any plan. Anything not... |
| `get_plan` | Use when drilling into one specific plan after list_plans surfaced it — typically to read the full step list before approving, to debug a failure, or to extract Minerva's reasoning for replication. Returns plan_json (... |
| `get_unified_memory_context` | R122 — Single read surface across 11 memory-adjacent tables (memory_entries, agent_knowledge, conversation_facts, mind_tickets, procedure_edits, agent_runs, agent_trace_spans, graph_memory, knowledge_triples, mind_eve... |
| `get_usage_analytics` | Pull this tenant's chat-usage analytics for the last N days: total sessions/messages, estimated tokens in/out, estimated cost in USD, breakdown by model, tool-usage histogram, activity by hour-of-day and day-of-week, ... |
| `get_user_info` | Get the current user's account information including their name, email, and plan. Use this when you need to send files, reports, or communications to the current user and need their email address. |
| `get_voice_profile` | R79 — fetch a stored voice profile (about-me + voice + pillars + audience) for the current tenant. Use to inspect what is currently in force or to copy a profile into another channel-specific persona. Returns null whe... |
| `google_drive` | Manage files in Google Drive. R98: when `projectId` is given on upload, the file lands DIRECTLY in the project's named Drive folder (e.g. '[Your Product]') and a project_files DB row is auto-written for later lookup ... |
| `google_workspace` | Access Google Workspace services: Gmail, Calendar, Contacts, Sheets, Docs, and Slides. Requires Google account to be connected via Settings > General > Connect Subscription. Use this for reading/sending emails, managi... |
| `grade_deliverable` | R98.13 W3 — VISION/AUDIO QUALITY GRADER. Per-format rubric scoring (0-100) with detailed issues + critique for auto-revise. Video: ffprobe + black-detect + AV-drift + meta-narration scan. Audio: ffprobe + LUFS + end-c... |
| `graph_memory` | Structured graph-based memory system with trigger conditions, rollback, and identity persistence. Unlike flat vector embeddings, graph memory organizes knowledge in hierarchical nodes with parent-child relationships, ... |
| `grounding_intervention` | Safety: generate a grounding intervention script (somatic / breathwork / sensory) for a detected shame-spiral state. Call AFTER detect_emotional_state confirms intervention is needed. Selects intervention based on int... |
| `hypothesis_attach_evidence` | R108 B — Attach a piece of evidence to a pinned hypothesis (Causal Graph Reasoning, LuaN1aoAgent cherry-pick). Use to GROUND a load-bearing claim instead of asserting it: a memory entry id, finding id, tool-result sni... |
| `hypothesis_evidence_chain` | R108 B — Read the full evidence chain attached to a single pinned hypothesis, ordered by confidence DESC. Use BEFORE making a decision that depends on a pinned hypothesis to verify the grounding is still strong (e.g. ... |
| `hypothesis_list_pinned` | R106 N4 — List currently-active pinned hypotheses for the calling tenant + persona (and optionally the current conversation). Read this at the start of any long task to recover context that a prior compression step mi... |
| `hypothesis_pin` | R106 N4 — Pin a load-bearing hypothesis so it SURVIVES chat-engine context compression. Use when a long-running task depends on a working assumption you must not lose if older messages get summarized away (e.g. 'user'... |
| `ideation_session` | Run a structured ideation session using proven innovation frameworks (SCAMPER, First Principles, Jobs to Be Done, Pre-mortem, How Might We, Constraint-Based). Takes a raw idea through 3 phases: Diverge (expand with 5-... |
| `ingest_paper` | Ingest a research paper (PDF or arXiv source tarball) into the knowledge library so future ensemble_query / search_knowledge / autoresearch can cite it. Idempotent — re-running on the same source is a no-op. Use when ... |
| `init_character_portraits` | R99 — Felix Visual Continuity (ViMax #1). Generate the canonical multi-view portrait set for one or more recurring characters/assets and store them in the registry. IDEMPOTENT — portraits already in the registry are s... |
| `introspect_tools` | Inspect your own tool registry. Use 'list' to see all available tools, 'inspect' to get a specific tool's full parameter schema, or 'search' to find tools matching a capability query. This is your self-awareness layer... |
| `invoice_aging_report` | Generate accounts receivable aging report — shows current, 30-day, 60-day, and 90+ day overdue invoices with totals. Essential for cash flow management. |
| `knowledge_navigate` | WALK a long uploaded document by its heading structure (TOC-style) instead of vector search. Use for long PDFs/contracts/reports where you need a specific section by name and chunk-vector retrieval might miss cross-se... |
| `knowledge_nudge_stats` | View statistics about proactively-saved knowledge nudges — information the system auto-detected as high-value from user messages and saved without being asked. Shows total nudges, recent activity, and categories. |
| `kpi_dashboard` | View the KPI dashboard — shows latest values for all tracked metrics with target percentages, organized by category. |
| `kpi_trend` | View the trend history for a specific KPI metric over time. Shows values, targets, and whether it's improving or declining. |
| `learn_from_reference` | R98.14 — TASTE TRANSFER. Point Felix at a real high-quality example on the open web (YouTube video, polished webpage, public PDF, slide deck, HTML utility) and he extracts 3-8 specific, copyable patterns that make it ... |
| `legal_review` | Analyze a contract or legal document with comprehensive risk scoring. Returns a Contract Safety Score (0-100) with letter grade, clause-by-clause risk analysis with severity ratings, missing protections detection, obl... |
| `list_adrs` | List ARCHITECTURE DECISION RECORDS for this tenant. CALL THIS BEFORE designing anything new so you don't relitigate settled choices. Filter by status (accepted\|deprecated\|superseded) or tag. |
| `list_agent_runs` | List recent agent runs (parallel research, supervisor dispatches, etc.) with their status, timing, and summary. Useful for reviewing what the agentic system has been doing. |
| `list_background_tasks` | Use when checking on long-running work ("is my video done?"), when investigating why a follow-up tool call is blocked, or before launching another expensive job to avoid stacking. Returns active/queued/completed tasks... |
| `list_character_portraits` | R99 — Felix Visual Continuity (ViMax #1). List every portrait in this tenant's registry, optionally filtered to one identifier. Call this BEFORE start_video_job to check whether a recurring character already has portr... |
| `list_competitors` | Use BEFORE producing competitive analysis, pricing decisions, or positioning copy — also when Bob asks "what changed at <competitor>" the watchlist will show snapshot deltas. Returns each tracked competitor with snaps... |
| `list_contracts` | Use BEFORE renewals, when reviewing legal exposure, or when Bob asks "what contracts are expiring" — also before customer outreach to know what they signed. Returns contract rows with party, status, value, and dates. ... |
| `list_conversations` | Use when Bob asks "find the chat where we discussed X" or when continuing work from a prior session and you need the conversation_id. Returns recent conversations with title, date, model, and message count. Pair with ... |
| `list_critiques` | Use BEFORE re-running cross_critique on the same target (don't pay twice for the same review), when Bob asks "what did the panel say about X", or when reviewing brand-voice/code-change history. Returns recent cross-cr... |
| `list_custom_tools` | Use when auditing what custom tools the learning system has registered, when troubleshooting "the agent has a tool I don't recognize", or before delete_custom_tool. Returns custom-tool rows with name, description, usa... |
| `list_customers` | Use when reviewing the pipeline at session start, when Bob asks "who is in the funnel", before drafting outreach to avoid duplicates, or when a follow-up is overdue. Returns customer/prospect rows with name, deal stag... |
| `list_expenses` | Use when preparing a P&L view, answering "how much did we spend on X", before approving a recurring charge, or when categorizing for tax/accounting. Returns expense rows with date, amount, vendor, category, and notes ... |
| `list_felix_loop_runs` | Use when auditing what Felix has been READING (not just what he proposed), when answering "why did Felix decide X", or when correlating loop runs with outcomes. Returns recent runs with context summary, intent (Felix'... |
| `list_felix_proposals` | Use when Bob asks "what has Felix been thinking about", before any approval session, or when auditing the loop. Returns Felix's drafted proposals filtered by status (pending \| approved \| rejected \| executed \| expired)... |
| `list_invoices` | Use when reviewing receivables at session start, when Bob asks "who owes us money", before sending payment-reminder outreach, or when reconciling against Stripe. Returns invoices with status, amounts, and overdue flag... |
| `list_models` | Use when picking a model for a specific job, when an unfamiliar model_id appears in logs, or when troubleshooting "why did my call route to X". Returns every available model with name, provider, tier (free/cheap/premi... |
| `list_open_tensions` | Use BEFORE reasoning on any hard problem so you don't re-litigate a known conflict. A "tension" is a documented gap between expectation and reality (e.g. "user thinks X should auto-publish, code requires manual approv... |
| `list_pdf_fields` | Use BEFORE filling a PDF form so you know exactly which field names exist and what type (text/checkbox/dropdown) each accepts. Required first step in the PDF-fill workflow — guessing field names usually fails. Returns... |
| `list_pending_approvals` | Use at session start to surface anything blocking agent work, when Bob asks "what needs my attention", or after a known-pending workflow. Returns approval requests still awaiting Bob's decision with requester, target ... |
| `list_plans` | Use when Bob asks "what is Minerva planning" or "what is Felix deciding", before approving any plan to see related history, or when auditing what plans came through this week. Returns plans for this tenant with status... |
| `list_procedure_edits` | List this tenant's proposed/approved/applied/rolled_back procedure edits. Read-only. Filterable by status and targetId. Use to inspect the AEvo review queue. |
| `list_scheduled_messages` | List all recurring scheduled messages for the current tenant. Returns id, title, cron, next_run_at, status. Use before scheduling to avoid duplicates. |
| `list_scheduled_posts` | List this tenant's scheduled cross-platform posts. Optional status filter (pending \| publishing \| sent \| partial \| failed \| cancelled). Returns the most recent 50 by default, ordered by scheduled_for DESC. Read-only. |
| `list_sequences` | Use when auditing outreach performance, before launching a new campaign (to learn from what worked), or when Bob asks "which sequence is converting". Returns each sequence with enrollment, completion, and reply-rate s... |
| `list_skill_candidates` | Use when reviewing what the platform has LEARNED to do but hasn't been promoted to a formal skill yet — typically when Bob asks "what is the system trying to teach itself". Returns pending skill_candidate rows with na... |
| `list_uploads` | List all previously uploaded files (images, PDFs, etc.) stored in the system. Use this to find uploaded logos, images, or documents before referencing them in create_pdf headerImage or other tools. Returns filename, o... |
| `llm_task` | Run a focused JSON-only LLM sub-task with optional schema validation. Ideal for structured extraction, classification, summarization, or drafting within workflows. The sub-model returns only valid JSON — no commentary. |
| `log_expense` | Record a business expense for tracking and tax purposes. Categories: software, hosting, api_costs, marketing, travel, meals, office, equipment, professional_services, insurance, taxes, payroll, utilities, subscription... |
| `log_experiment` | Use AFTER trying a non-trivial new approach (prompt change, tool combo, workflow tweak) so the platform learns what worked. Captures hypothesis, approach, and outcome into the experiments log. Returns the recorded exp... |
| `log_interaction` | Log a customer interaction (call, email, meeting, demo, proposal, follow_up, note). Automatically updates last contact date. |
| `lookup_output_skill` | Pull a structured scaffolding template for a corporate / small-business deliverable on demand. Use when you're about to produce a PRD, OKR, board deck narrative, investor update, contract review, NDA analysis, complia... |
| `manage_content_calendar` | Use when scheduling social posts ahead of time, when answering "what is going out this week", or when removing a post that no longer fits. Three sub-ops: add (schedule new post), view (list upcoming), remove (cancel s... |
| `manage_desk` | Manage your persistent working state — update task progress, add items to your desk, mark things as blocked or completed. Your desk persists across conversations and heartbeat cycles so you always know what you were w... |
| `manage_social_accounts` | View and manage connected social media accounts for publishing. List connected platforms, check connection status, or get setup instructions. |
| `manage_watchlist` | Manage persistent monitoring watchlists. Set up tracking for competitors, industry trends, customer mentions, technology changes, or regulatory updates. Items are automatically scanned on schedule and alerts are gener... |
| `marketing_analytics` | Use AFTER posts have published to log results and learn — also when Bob asks "is the content strategy working" or before planning the next campaign. Returns post-level metrics (impressions/likes/shares/conversions), c... |
| `marketing_experiment` | Use when testing a marketing variable (subject line, CTA copy, posting time, image style) on social/email. Captures hypothesis + variants, then determines a winner once results are in. Returns the experiment row with ... |
| `memory_geometry_scan` | R107 — Geometry of Consolidation audit (Vangara & Gopinath 2026, MIT). Samples the tenant's active memory embeddings (optionally filtered by persona / wing / category), computes per-cluster geometry (mean within-clust... |
| `messaging_status` | Use BEFORE scheduling or sending on a specific channel to confirm it's configured AND running — also when diagnosing a delivery failure ("did SMS just stop working?"). Returns telegram/sms/whatsapp/email/web status wi... |
| `micro_sabbatical` | Wellness: generate a sensory-rich micro-sabbatical intervention (60-120 sec) to replace a craving with a 'receive instead of reach' experience. Call AFTER detect_fatigue confirms fatigue. Returns an intervention with ... |
| `mind_ticket` | Manage tickets within a Mind system. Tickets track work that needs to be done. Supports creating tickets with priorities (0=critical, 1=high, 2=normal, 3=low), delegating to worker agents, and verifying completed work... |
| `monid_catalog_browse` | FREE local browse of the curated VCA-fit Monid endpoint snapshot (no API call, no spend). Returns category-organized endpoint slugs with descriptions, prices, and SQS quality scores. USE THIS FIRST to recognize 'is th... |
| `monid_discover` | DISCOVER-FIRST: Search Monid's catalog of hundreds of agentic web/data endpoints (scrapers, enrichment, social media, search, product/company/people data, content monitoring) BEFORE writing a custom scraper or telling... |
| `monid_inspect` | Read a Monid endpoint's input schema (pathParams / queryParams / body / bodyType), pricing, and docs BEFORE calling monid_run. ALWAYS inspect before running — never guess at parameter shape. The `input` field returned... |
| `monid_run` | Execute a Monid endpoint with structured input. Endpoints are PAID per call ($0.001–$0.05 typical) — ONLY call after monid_inspect confirms the right endpoint AND tells you the exact param shape. Mapping is 1:1: inspe... |
| `mpeg_add_audio` | Use when finalizing a video deliverable that needs voice-over, music bed, or sound mix — typically AFTER produce_video has rendered the visual track and generate_audio has produced the narration. Two modes: replace or... |
| `mpeg_concat` | Concatenate multiple video clips into a single MP4. Supports transitions between clips. Use for joining separate video segments, combining b-roll, or assembling multi-part videos. |
| `mpeg_produce` | HIGH-PERFORMANCE MPEG video production engine with PARALLEL TTS generation. Creates MP4 videos from scenes with narration, images, transitions, and Ken Burns effects. Has a generous 10-minute timeout so it can produce... |
| `mpeg_produce_parallel` | PARALLEL CHAPTER-BASED video production. Splits a video into chapters, each built by a separate parallel worker (TTS + images + encoding all concurrent), then concatenates into the final MP4. Has a generous 10-minute ... |
| `nudge_self` | Self-nudge — record a fact about the user, the project, or your own behavior that you noticed without being asked. Stored in long-term memory so future sessions remember it. Use sparingly for genuinely useful observat... |
| `orchestrate` | CEO Orchestrator: Break a complex, multi-step objective into a DAG execution plan and delegate each step to the right specialist persona. Use this when a request requires multiple departments (research + writing, anal... |
| `parallel_research` | Research multiple topics in parallel using Perplexity and Firecrawl. Dramatically faster than researching topics one at a time. Returns a structured result per topic with answers, citations, and timing. Use when the u... |
| `pin_done_condition` | R115.5 — Pin a 'done condition' contract at job kickoff BEFORE any generation begins. Per the Osmani / Anthropic harness pattern: separating generation from evaluation outperforms self-grading, and writing the accepta... |
| `plan_and_execute` | Autonomously break a complex goal into ordered steps and execute them. The planner decomposes the goal, runs each step (using tools or LLM sub-tasks), handles dependencies between steps, and returns a structured repor... |
| `plan_deliverable` | R98.13 W4 — PROMPT→CONTRACT ROUTER. Felix calls this FIRST for any customer request that smells like a deliverable (video, audio, PDF, slides, HTML app, spreadsheet, document, image, or research). Returns {format, con... |
| `plan_graph_edit` | R106 N5 — Apply a batch of structured edit operations to a Plan-on-Graph DAG. Three op kinds: ADD_NODE (create a planning node with optional dependsOn[]), UPDATE_NODE (change label/status/deps/metadata), DEPRECATE_NOD... |
| `plan_graph_query` | R106 N5 — Query a Plan-on-Graph by plan_id. Returns ALL nodes plus the topological partition: ready[] (deps satisfied — fire these in parallel NOW), blocked[] (waiting on incomplete deps), completed[], failed[]. Use B... |
| `plan_video_production` | R98.3 — VIDEO DIRECTOR. Use this BEFORE produce_video whenever a user asks for a high-quality narrated video on ANY subject (e.g. 'make a video explaining heat pumps', 'I need a 60-second cinematic ad for my coffee sh... |
| `post_to_channel` | Post a message to an internal communication channel. Other personas subscribed to the channel will receive and can act on your message. Use for briefs, alerts, status updates, and cross-team communication. |
| `produce_video` | ONE-SHOT CINEMATIC VIDEO production with per-slide audio sync. Generates TTS narration for EACH slide, measures exact audio durations, and assembles an MP4 with perfect sync. Supports Ken Burns motion effects, 25+ tra... |
| `profit_and_loss` | Generate a Profit & Loss (P&L) statement — revenue vs expenses with net income and profit margin. The core financial report for any business. |
| `project` | Manage projects — the filing cabinet system. Every customer/job gets a project folder. All files, conversations, notes, and assets are linked to the project so agents can pick up where they left off. Commands: create,... |
| `promote_skill_candidate` | Approve a skill_candidate and promote it to a live skill. Once promoted, it surfaces in the persona's skills documentation on next persona-sync. Use after reviewing a candidate from list_skill_candidates. |
| `propose_procedure_edit` | Propose a minimal surgical edit to an output-skill playbook based on accumulated evidence (lookup telemetry, delivery failures, near-miss grades). The meta-agent reads the current playbook + evidence summary and propo... |
| `propose_skill` | R98.21 — SKILL AUTO-EMISSION. Call this when you notice a reusable pattern worth saving as a future skill (a recurring multi-step recipe, a tricky failure-mode workaround, a known-good prompt template, a third-party A... |
| `publish_social_post` | Publish a social media post to a connected platform account (X/Twitter, LinkedIn, or Instagram). Requires the platform account to be connected via Settings → Social Media. Can publish text-only or text+image posts. |
| `qualify_leads` | View the lead qualification pipeline — shows qualified, nurture, and disqualified leads with their ICP scores and grades. |
| `quality_baseline_check` | R98.7 — Re-scan the codebase and compare to a previously-saved baseline. CALL THIS before declaring any multi-file coding task done. Returns score delta, new god files, god files that grew >50 LOC, file/LOC deltas, an... |
| `quality_baseline_save` | R98.7 — Take a structural snapshot of the codebase and save it under a label. Inspired by sentrux's structural-signal sensor. CALL THIS at the START of any multi-file coding task (label='before-<task-name>'). Computes... |
| `query_causal` | GraphRAG causal retrieval. Returns cause→effect chains extracted from this tenant's memories and tensions. Use when the user asks 'why did X happen', 'what causes X', or 'what does X lead to'. Direction: forward = wha... |
| `query_communities` | GraphRAG global retrieval. Search community summaries built from your knowledge graph (Louvain-clustered memories + triples) for the current tenant. Use when the user asks 'what are the themes / topics / clusters', or... |
| `query_evidence` | Search the evidence store for previously saved research findings. Filter by query, theme, or minimum confidence. Returns claims with their citations and confidence scores. |
| `query_triples` | Query temporal knowledge triples. Search by subject, predicate, and/or object. By default returns only currently-valid facts. Set include_expired=true to see historical facts. Use for answering 'what is X?', 'who does... |
| `read_channels` | Read recent messages from internal communication channels. Use to stay updated on what other personas are communicating about. |
| `read_file` | Read the contents of a local file. Use this to read scripts, text files, configs, or any file in the workspace. Safe — read-only, cannot modify files. Supports text files only. |
| `read_output_blob` | R117 token-saver: partial read of a sandbox blob (offloaded large tool output). When a previous tool returned a wrapped result like {truncated:true, sandboxLabel:'web_fetch-20260519...', head, tail, hint}, use this to... |
| `read_scratchpad` | Read all entries from the delegation scratchpad for a given chain. Returns entries written by any agent in the chain. |
| `readability_extract` | Extract clean article text from any URL using Mozilla's Readability.js (the Firefox Reader View engine). Free, runs locally, zero per-call API cost. Best for articles, blog posts, docs, news. Returns title, byline, ex... |
| `recall_context` | Recall earlier conversation history that was compacted (summarized) to save context space. Use this when you need to remember details from earlier in a conversation or from OTHER conversations in the same project. Sea... |
| `recall_failure_patterns` | R98.7 — Pull your past strategic mistakes so you don't repeat them. CALL THIS at the START of any non-trivial task and AGAIN before declaring it done. Returns the most recently-recorded patterns for this persona/tenan... |
| `recall_references` | R98.14 — Recall references previously learned via learn_from_reference. Filter by deliverable_type and/or style_tags. Returns up to N matching references with full pattern lists. Use at task start (alongside recall_st... |
| `recall_strategic_wins` | R98.12 W7 — Pull strategic wins recorded by record_strategic_win, tenant + persona scoped. Optional tag filter. CALL THIS at task start (alongside recall_failure_patterns) so you start from your best known patterns in... |
| `recommend_best_tool` | TOOL SELECTION GATE (R112.18 Layer 2). Returns the top-3 tools most likely to handle a given intent, ranked by embedding similarity against the 341-tool inventory plus per-tenant historical performance. MANDATORY befo... |
| `record_failure_pattern` | R98.7 — Record a strategic mistake you (or another persona) just made so you don't repeat it next session. Persisted into memory_entries with category='strategic_lesson' and surfaced by recall_failure_patterns at the ... |
| `record_kpi` | Record a KPI metric value. Categories: revenue, growth, engagement, operations, financial, marketing, sales, product. Tracks against optional targets. |
| `record_strategic_win` | R98.12 W7 — Mirror of record_failure_pattern for SUCCESSES. Persist a strategic WIN (a planning move, tool combination, prompt approach, or workflow that produced an unusually good outcome) so recall_strategic_wins ca... |
| `recursive_synthesize` | Synthesize an answer across LONG content (research dumps, many documents, long transcripts, scraped pages — anything larger than a single direct LLM call can handle reliably). Implements Algorithm 1 from the Recursive... |
| `register_character_portrait` | R99 — Felix Visual Continuity (ViMax #1). Manually add ONE canonical portrait of a recurring character or environment to the tenant's portrait registry. Identifier+view is the natural key (UPSERT — second call for sam... |
| `reject_felix_proposal` | Use when Bob explicitly rejects a Felix proposal AND can articulate why (the reason teaches Felix). Bob-only operation. Returns success. The reason is stored in the proposal row and feeds Felix's lesson loop — vague r... |
| `reject_procedure_edit` | Reject a proposed procedure edit. Status proposed→rejected. The edit row is preserved for audit but cannot be applied. |
| `reject_skill_candidate` | Reject a skill_candidate so it does not pollute the skill library. Always include a brief reason for the rejection — helps the synthesizer learn what kinds of patterns are not worth saving. |
| `remember_for_this_session` | R112.15: Pin a fact to THIS conversation's L2 session memory. Use when something important was just established that you'll need later in this same conversation but isn't durable enough to belong in persona-lifetime m... |
| `render_diagram` | Render a Mermaid diagram (flowchart, sequence diagram, architecture map, state diagram, class diagram, gantt chart, etc.) as a PNG image, upload it to Google Drive, and return a shareable link. Use this for system arc... |
| `repurpose_content` | Take one piece of long-form source content (transcript, article, blog post, video description) and emit platform-shaped variants in a single LLM call. Each variant respects the destination platform's character limit a... |
| `request_approval` | Pause an agent run and request human approval before proceeding with a sensitive action (spending money, sending mass email, signing contracts, publishing, deleting data). Creates a pending approval that Bob can appro... |
| `research_digest` | Generate a weekly research digest that consolidates all nightly research findings, code proposals, and actionable improvements into a structured brief. Writes to .local/research-digest.md and uploads to Google Drive. ... |
| `resolve_tension` | Mark a TENSION as resolved with the fix and supporting evidence. Future personas reading list_resolved_tensions (or the graph explorer) will learn from your resolution. ALWAYS include resolution_evidence — at minimum ... |
| `revenue_report` | Monthly revenue breakdown with top customers. Shows invoiced vs collected amounts and average invoice size. |
| `revenue_vs_cost` | Show a unified revenue-vs-agent-cost dashboard for a period. Sums Stripe + Coinbase revenue, subtracts estimated AI/tool costs from the ledger, and returns burn ratio and a health verdict. Use when the user asks 'how ... |
| `run_agent_eval` | Benchmark an agent persona against standardized eval tasks. Measures pass rate, score, and response time. Use to compare persona performance or validate quality after changes. |
| `run_background_task` | Launch a long-running tool in the background without blocking. Returns a task_id you can poll with check_background_task. Use this for slow operations like deep_research, produce_video, orchestrate, browser tasks, or ... |
| `run_self_improvement` | Launch an autonomous self-improvement cycle with signal extraction and stagnation detection. Scans runtime logs for error patterns, detects repeated failures, auto-selects evolution strategy (balanced/innovate/harden/... |
| `run_supervisor` | Dispatch a task to a supervisor that routes subtasks to specialist agents (researcher, writer, analyst, critic) and synthesizes a final answer. Use for complex multi-step tasks where different skills are needed, e.g. ... |
| `save_evidence` | Save a research finding as structured evidence with source citation, confidence score, and theme. Evidence is stored separately from final answers and can be re-synthesized later. Use this after web_search or deep_res... |
| `scan_file` | Security: scan a file using Google Magika ML to identify its TRUE content type from raw bytes (not extension or claimed MIME). Returns detected label, confidence score, whether it's text, and a security verdict. Use B... |
| `scan_for_prompt_injection` | Security: scan a block of untrusted text for prompt-injection threats (role override, instruction override, system-prompt leak, exfiltration, jailbreak phrases, invisible unicode, etc.) BEFORE you pass it as context t... |
| `scan_for_secrets` | R110 +sec security: scan text or a file for credential-shaped secrets using the 48-pattern catalog (AWS keys, GCP service-account JSON, GitHub PATs, Stripe live keys, Anthropic sk-ant, OpenAI sk-, ElevenLabs, Slack to... |
| `schedule_message` | Schedule a recurring message to a user at a cadence. Accepts natural language ('every Monday at 7am') OR a literal cron expression. The prompt can be a literal message OR (if expandViaPersona is set) a prompt that get... |
| `score_leads` | Score all enriched leads against the active ICP criteria using AI. Assigns scores (0-100), grades (A-F), and qualification status (qualified/nurture/disqualified). Requires define_icp to be called first. |
| `score_post` | R79 (MarTech Bundle, after Charlie Hills' post-scorer MIT) — score a draft post 0-100 against the tenant's voice profile and (optionally) historical performance data. Returns scoreOutOf100, letter grade, sub-scores (v... |
| `scraped_page_read` | Read the full content of a specific scraped page by its database ID. Use after scraped_pages_query to get the complete markdown content of a page. |
| `scraped_pages_delete` | Use when cleaning up the scraped-pages cache — typically before re-scraping fresh content, when removing pages from a deprecated source, or when pruning to free DB space. Three sub-ops: by ID(s), by domain, or by age ... |
| `scraped_pages_query` | Search and browse the database of previously scraped/crawled web pages. Filter by domain, search content, or browse by tags. Returns page summaries with content previews. |
| `sculptor_review` | Review a completed sculptor session's work. An AI reviewer evaluates the output for quality, completeness, and correctness, providing a verdict (approve/revise/reject), score, strengths, issues, and suggestions. |
| `sculptor_session` | Launch a structured agent session with an execution plan. The agent follows the plan step-by-step with progress tracking. Use for complex tasks that benefit from structured execution. Can also launch parallel sessions... |
| `search_knowledge` | Use BEFORE freeform reasoning on any topic the platform might already have learned about — facts about Bob, [Your Product] operating procedures, product specs, customer history, prior decisions. Cheap hybrid (vector + keywo... |
| `search_memory` | Search the agent's Memory Palace for facts about the user. Supports hierarchical search by wing (project/domain) and room (topic). Use when the user asks 'do you remember...' or when you need to recall stored informat... |
| `search_stock_media` | Search for free, high-quality stock photos and videos from Pexels. Returns professional images and video clips with direct download URLs. Perfect for sourcing slide backgrounds, social media visuals, video footage, an... |
| `select_best_image` | R99 — Felix Visual Continuity (ViMax #2). Given N candidate images (typically 3-4 generated for the same target frame) plus their reference shots, ask a vision LLM to grade each on character_consistency / spatial_cons... |
| `select_references_for_frame` | R99 — Felix Visual Continuity (ViMax #1, second half). For a target frame description and a video job_id, pick the ≤8 most-relevant references from the pool (tenant portraits + recent prior frames in this job) AND ret... |
| `self_diagnose` | Diagnose why a tool execution didn't produce the expected result. Analyzes the tool's schema against the parameters you used and the result you got, then suggests corrections. Automatically stores actionable lessons i... |
| `self_heal` | Manually trigger Blueprint's self-healing supervisor on a failed run or arbitrary failure context. Diagnoses the failure and proposes a fix (replan, custom_tool, code_snippet, escalate, give_up). Reversible fixes auto... |
| `self_heal_inspect` | Read the full record of one self-heal attempt — diagnosis, proposed fix, generated code snippet (if any), and outcome. Use this when you want to see whether a past auto-fix should be promoted into the main platform. |
| `self_heal_log` | List past self-heal attempts for the tenant — outcomes, fix types, and which ones are candidates for promotion into platform code. Use this to audit which auto-fixes worked, which failed, and what gaps the agents have... |
| `send_email` | Send an email from the platform corporate inbox. Use for outreach, notifications, customer communication, or automated correspondence. IMPORTANT: If you're delivering a file to a customer, prefer using deliver_product... |
| `send_message` | Deliver a message to a user via any channel: telegram, sms, whatsapp, email, or web (in-app). Use to reach users wherever they are. Auto-falls-back if a target fails. Returns delivery status. |
| `seo_content_audit` | Analyze content for SEO quality, readability, and keyword optimization. Returns a comprehensive SEO score (0-100) with category breakdowns: readability (Flesch Reading Ease, Flesch-Kincaid Grade Level), keyword densit... |
| `sessions_history` | Use when continuing another agent's work, when auditing inter-agent communication, or when Bob asks "what did <persona> say about X in that other thread". Returns the full transcript of a target session by id. Pair wi... |
| `sessions_list` | List active agent sessions (conversations) across the VisionClaw platform. Use to discover other agents/personas and their active sessions before sending inter-agent messages. Returns session keys, persona info, model... |
| `sessions_send` | Send a message to another agent session. The target session's persona will process the message and generate a reply. Use for inter-agent coordination, delegation, and cross-persona collaboration. Reply with REPLY_SKIP... |
| `sessions_spawn` | Spawn a background sub-agent run to perform a task asynchronously. The sub-agent runs in its own session and announces results back when finished. Use for parallelizing research, long tasks, or slow tool work without ... |
| `set_my_profile_photo` | R98.6 — Register the user's own face photo at the platform level so produce_video can auto-attach it to first-person slides ('I lost 234 lbs', 'my journey'). One-time setup: the user uploads a photo, you call this wit... |
| `show_diff` | Generate a diff between two texts, or format a unified patch. Shows additions, deletions, and change statistics. Use when comparing versions of text, code, configs, or any content. |
| `simulate_plan` | IMAGINATION-SPACE PLAN ROLLOUT (R74.13z-quint Nugget 3, LeWorldModel-inspired). BEFORE committing to a multi-step plan that costs real money / time / side-effects, call this to score the plan against historical step t... |
| `site_login` | Log into a website using credentials stored in the Credential Vault. Navigates to the site, finds the login form, auto-fills username/password from the vault, and submits. If no vault entry exists for the site, return... |
| `skill_seeker` | Self-evolution engine: when you realize you can't do something, use this tool to research, learn, and build the capability. It searches the web, GitHub, and npm for solutions, analyzes feasibility, and automatically c... |
| `skillify` | Extract a reusable skill from the current conversation. Analyzes the session's tool calls, delegation chains, user corrections, and outcomes to create a structured skill definition that can be replayed in future conve... |
| `start_video_job` | R98.14 W1.3 — LEGACY. Start a long-running video render as a BACKGROUND JOB. Returns {job_id, status:'rendering', total_chapters} immediately. PREFER `build_video_from_brief` for new requests — it plans chapters+scene... |
| `stealth_browse` | Browse websites using Rayobrowse stealth browser — a fingerprint-spoofing Chromium that bypasses bot detection, CAPTCHAs, and anti-scraping systems. Unlike standard headless Chrome, Rayobrowse spoofs WebGL, fonts, tim... |
| `stealth_browse_camofox` | Browse websites using Camofox — a Camoufox-based stealth browser microservice (Firefox fork with C++-level fingerprint spoofing for navigator.hardwareConcurrency, WebGL, AudioContext, screen geometry, WebRTC). Bypasse... |
| `store_triple` | Store a temporal knowledge triple (subject-predicate-object fact with time validity). Use for entity-relationship facts that may change over time. Examples: ('Alice', 'is CEO of', 'Acme Corp', from: '2025-01-01') or (... |
| `strategic_interview` | Conduct a structured Socratic interview to clarify vague or complex requests before execution. Asks focused questions across 7 business dimensions (goal, audience, constraints, differentiation, risks, metrics, scope),... |
| `stress_intervention` | Wellness: provides a directive, somatic-based intervention script for breaking inertia during stress-induced frozen states. Use when a user reports being 'stuck', 'frozen', 'staring at the fridge', 'can't move', or wh... |
| `subagents` | Use when checking on a delegated specialist run ("did the architect finish"), when killing a stuck sub-agent before retry, or when auditing what work the platform has spawned. Returns active/completed sub-agent runs w... |
| `supersede_adr` | Mark an OLD ADR as superseded by a NEW ADR with the reason for the change. Both ADRs must already exist (create_adr the new one first). Builds the supersession chain visible in /graph-explorer. |
| `sync_personas` | Synchronize all persona documents (tools_doc and agents_doc) with the current state of the platform. Run this after creating custom tools, toggling skills, or when you want to ensure all agents have up-to-date knowled... |
| `synthesize_research` | Synthesize all evidence for a query into a structured research memo or report. Every claim is cited, contradictions are flagged, and open questions are listed. Use after saving multiple evidence items via save_evidence. |
| `synthesize_skill` | After successfully completing a complex task, propose a reusable skill (playbook) for next time a similar task arrives. Stored as a 'skill_candidate' awaiting human/supervisor approval. Personas should call this proac... |
| `take_competitor_snapshot` | Crawl a competitor's tracked pages (website, pricing, product, changelog) and save a snapshot. Used as a baseline or for periodic monitoring. Snapshots are compared to detect changes. |
| `template_scrape` | Extract typed structured data from a webpage using a Zod-style schema. First call uses an LLM to generate a deterministic CSS-selector recipe; subsequent calls of the same (domain + schema) re-use the cached recipe at... |
| `template_scraper_stats` | Show all cached template-scrape recipes, how many times each has run from cache, and which have graduated to fully-deterministic execution. Use to audit cost savings from the template scraper. |
| `test_api_keys` | Test all configured AI provider API keys for connectivity. Returns status, latency, and details for each provider (OpenAI, Anthropic, xAI, Google, Perplexity, OpenRouter, Replit). |
| `tool_performance_report` | Get a performance report for all tracked tools — success rates, failure rates, average durations, and last error messages. Use to identify underperforming tools, diagnose recurring failures, or monitor platform health... |
| `track_intervention` | Wellness: log an intervention outcome to the wellbeing_interventions table so the system learns what works for this tenant. Call after the user has had a chance to respond to a micro_sabbatical or grounding_intervention. |
| `track_outcome` | Track an action's expected outcome for later measurement. Use after performing trackable actions (emails sent, content published, deals proposed, outreach completed) to enable learning from results. You can also recor... |
| `tree_of_thought` | Apply Tree-of-Thought reasoning — generate multiple distinct reasoning paths for a complex question, score each branch on soundness/completeness, and select or synthesize the best answer. Use when a problem has multip... |
| `trend_research` | Multi-source trend research tool inspired by /last30days. Searches Reddit, Hacker News, Polymarket prediction markets, and X/Twitter in parallel, then deduplicates, scores by relevance+engagement, and detects cross-pl... |
| `update_contract_status` | Update a contract's status. Setting to 'signed' auto-records the signing timestamp. |
| `update_customer` | Use AFTER any meaningful customer interaction (call, email, demo) to advance pipeline state — change deal_stage, add a note, update value. Two-step pattern: get_customer first to confirm current state, then update_cus... |
| `update_invoice_status` | Update an invoice's status (draft → sent → paid) and optionally record payment amount. |
| `update_memory` | Update an existing memory entry — change the fact text, category, or archive it. Use when information about the user changes or becomes outdated. |
| `user_model_query` | Query the dialectic user model — a progressively-built profile of the user's communication style, decision patterns, preferences, and personality traits. Built automatically from conversation analysis. Use to understa... |
| `verify_deliverable` | R76 — Verify a customer-facing artifact against its deliverable contract before claiming success. Returns passed/failed with concrete failure reasons (extension mismatch, MIME mismatch, render-check failure, size out ... |
| `verify_delivery_proof` | R98.12 W2 — REFUSE-TO-DECLARE-DONE GATE. Felix MUST call this before saying a deliverable is done. Confirms three independent proofs of delivery exist: (1) artifact passes deliverable-contract verification (extension/... |
| `verify_felix_proposal_spec` | Read-only sanity check: validates a Felix proposal's expected_post_state spec without executing anything. Tells you whether the proposal is safe to approve+execute (verifier registered, spec well-formed, columns white... |
| `verify_math_chain` | R77.5 (KisMATH-style Causal CoT graph for arithmetic) — re-executes a sequence of named arithmetic steps (revenue/cost/profit-style) deterministically and reports per-step pass/fail, claimed vs computed value mismatch... |
| `verify_outbound_safety` | R95 outbound redaction preflight. Scan a payload (email body, file contents, inter-agent message, public post) for tenant secrets, API keys, private keys, credit-card numbers, SSNs, JWTs, and bearer tokens BEFORE you ... |
| `verify_with_cove` | R123 — Chain-of-Verification (Dhuliawala et al., Meta FAIR, arXiv:2309.11495). Takes a DRAFT longform answer you (or another persona) just generated and runs a 4-step factuality pass: (1) extract atomic factual claims... |
| `vibevoice_transcribe` | Transcribe audio using Microsoft VibeVoice ASR — a frontier speech-to-text model that handles up to 60 minutes of audio in a single pass. Returns structured transcriptions with speaker diarization (who said what), tim... |
| `video_burn_captions` | Burn TikTok/Reels-style captions onto a video — short UPPERCASE chunks (default 2 words at a time) timed to the speech. Pass the words[] from video_transcribe_words. Returns a new MP4 with captions baked in. Optional ... |
| `video_cut_fillers` | Auto-edit a raw video by cutting filler words (um, uh, like, you know...) and dead silence. Pass the words[] from video_transcribe_words. Renders a polished MP4 with 30ms audio fades at every cut so it sounds clean. O... |
| `video_transcribe_words` | Transcribe a video or audio file with WORD-LEVEL timestamps and speaker labels using ElevenLabs Scribe. Returns words[] with {word, start, end, speaker}. Use this BEFORE video_cut_fillers or video_burn_captions — both... |
| `vision_browse` | Vision-first web page analysis. Captures a screenshot and page content, then uses AI vision to analyze and understand the page layout, extract data, and describe what it sees. Powered by Magnitude concepts. Superior t... |
| `web_fetch` | Use when you ALREADY have a specific URL and need its content (do NOT use to discover URLs — that is web_search). Cheap, fast. Multi-tier extraction: Readability (Jina AI) → Firecrawl (stealth/cached) → basic HTML cle... |
| `web_search` | Search the web for information. Uses Perplexity Sonar (when configured) for AI-powered research with citations, with Wikipedia and Jina AI as fallbacks. Use when the user asks a factual question, needs current informa... |
| `whatsapp` | Send messages via WhatsApp. Use this to send text messages to phone numbers through the connected WhatsApp account. Can also check connection status. |
| `workspace_finalize` | R98.27.7 — Close out a workspace with a final summary + optional handoff note for any successor session. Writes final_summary.md and stamps current_status.md with FINALIZED. Doesn't delete the directory — the breadcru... |
| `workspace_init` | R98.27.7 — Open a durable per-task workspace on disk for a multi-step or long-running job (Anthropic long-running-agent pattern). Creates `data/task-workspaces/<tenant>/<job_id>/{task_plan,current_status,next_steps,op... |
| `workspace_list` | R98.27.7 — List workspaces for the current tenant so a persona can DISCOVER resumable jobs without remembering job_ids. Returns the most-recently-modified workspaces first with {jobId, finalized, last_modified, artifa... |
| `workspace_log_artifact` | R98.27.7 — Drop a small text artifact (tool result, diagnostic log, intermediate plan, transcript) into the workspace's tool_results/ folder. NOT for binary deliverables — those still go through deliverDigitalProduct ... |
| `workspace_read` | R98.27.7 — Read back everything currently persisted for a workspace: task_plan, current_status, next_steps, open_questions, and the list of tool_results/ artifacts (paths + sizes, not contents). CALL THIS at the start... |
| `workspace_update_status` | R98.27.7 — Append a status line and/or rewrite next_steps / open_questions for an open workspace. Use after EVERY meaningful tool call so the next loop (or resumed session) sees ground truth instead of guessing. statu... |
| `write_daily_note` | Write or append to today's daily notes. Use to log important events, decisions, lessons learned, or anything worth recording during the conversation. Memory rule: if you want to remember it, write it down NOW. |
| `write_file` | Write content to a file in the workspace AND automatically upload it to Google Drive. Creates the file if it doesn't exist, overwrites if it does. Creates parent directories automatically. Use for creating HTML, scrip... |
| `write_scratchpad` | Write a key-value entry to the delegation scratchpad — shared state visible to parent and sibling agents in the same delegation chain. Use to pass intermediate results, discovered facts, or status updates between agen... |
| `x_get_me` | Use at session start when working on social media to confirm WHICH account is authenticated — also when reporting follower-count progress to Bob. Returns the authenticated user profile (id, name, username, bio, follow... |
| `x_get_mentions` | Use when triaging incoming social-media engagement — at the start of a session, before drafting public replies, or when Bob asks "what is X saying about us". Returns the most recent @mentions of the authenticated acco... |
| `x_get_timeline` | Use when monitoring a specific X/Twitter account (competitor, partner, prospect, public figure) — before crafting outreach, during competitive intel, or when researching a person before a meeting. Returns up to N most... |
| `x_get_tweet` | Use when you need the full content of one specific tweet by its ID — typically after x_search returns hits, or when a user references a tweet URL/ID, or when investigating engagement. Returns the tweet text, author, c... |
| `x_like_tweet` | Use when amplifying a partner/customer/community member through a low-effort signal of acknowledgement — also after their reply to one of our threads. Returns success/failure. Do NOT auto-like everything — bot-like pa... |
| `x_post_tweet` | Post a tweet to X/Twitter. Can also reply to a tweet or quote tweet. Uses OAuth 1.0a with the configured API keys. |
| `x_retweet` | Use when amplifying content that aligns with our brand voice and wellness/agentic-AI mission — partner launches, customer wins, relevant news. Returns success/failure. Higher-stakes than a like; run cross_critique ... |
| `x_search` | Use BEFORE responding to public commentary about a topic, brand, or product — also for monitoring an event, hashtag, or breaking news in real time. Returns recent tweets matching the query with author, text, and metri... |
| `youtube` | Manage YouTube channel via YouTube Data API v3. Requires YouTube OAuth to be connected. Actions: channel_info (get channel stats), list_videos (recent uploads), video_details (get info about a specific video), search_... |
