outlit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited outlit (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use Outlit to ground customer intelligence work in real customer data. Outlit joins product activity, conversations, billing, support, CRM, and web signals into a customer context graph and timeline for agents.
Use the highest-level interface already available:
outlit_* MCP or Pi tools are present, use those tools.outlit CLI is installed, use the CLI.outlit CLI, then run outlit onboard --agent <agent> --json first. It starts browser auth when no API key is present outside CI, installs the Outlit skill, checks integration readiness, and prints next actions.outlit setup --yes or outlit setup skills.Use the outlit-sdk skill instead when the user wants to instrument an application with tracking SDKs.
| Need | MCP/Pi tool | CLI |
|---|---|---|
| Browse customers | outlit_list_customers | outlit customers list |
| Browse users/contacts | outlit_list_users | outlit users list |
| Browse workspace users | outlit_list_workspace_users | - |
| Single account profile | outlit_get_customer | outlit customers get |
| Chronology | outlit_get_timeline | outlit customers timeline |
| Known structured signals | outlit_list_facts | outlit facts list |
| Exact fact | outlit_get_fact | outlit facts get |
| Deterministic source enumeration | outlit_list_sources | outlit sources list |
| Exact source artifact | outlit_get_source | outlit sources get |
| Thematic/fuzzy question | outlit_search_customer_context | outlit search |
| Custom analytics | outlit_schema + outlit_query | outlit schema + outlit sql |
| Send/post a notification | outlit_send_notification | outlit notify |
| Integration status/setup | Use CLI unless explicit tools exist | outlit integrations capabilities/setup/status |
Use customer lookups before SQL. SQL is for aggregates, cohorts, joins, time-series checks, and custom reporting.
facts list to browse known structured intelligence for one account.factTypes for public customer-memory fact classes such as CHURN_RISK, EXPANSION, SENTIMENT, BUDGET, REQUIREMENTS, PRODUCT_USAGE, CHAMPION_RISK, or CONTACT_INFO.CORE_ACTION_DECAY, CADENCE_BREAK, QUIET_ACCOUNT, ACTIVATION_RATE_DROP, or FUNNEL_DROPOFF.facts get when you already have a fact ID and need the canonical payload or best-effort evidence.search for a specific question/theme, including cross-customer questions. Search returns grouped source and fact artifacts, not raw vector chunks.sources list when you need deterministic enumeration of emails, calls, calendar events, support tickets, or CRM opportunities.sources get when a fact/search/list result points to a concrete source and you need the exact artifact.timeline when order, recency, or sequence matters.Supported generic source types are EMAIL, CALL, CALENDAR_EVENT, SUPPORT_TICKET, and OPPORTUNITY. CRM and CRM_OPPORTUNITY are accepted aliases for opportunity filters.
Notification tools are action tools. Use them only when the user explicitly asks you to send, post, or notify.
outlit notify --title "..." --markdown "...".--payload-file <path>, --markdown-file <path>.--message, --severity low|medium|high, --source, --subject.--destination slack for the default Slack notifier, or --destination slack:<channelId> for a specific channel. Use comma-separated destinations for multiple targets.Do not notify by default just because an analysis found risk.
Call schema before writing SQL.
activity, customers, users, revenue.LIMIT.100 for display.For ClickHouse syntax and query patterns, read references/sql-reference.md.
Fast install:
curl -fsSL https://outlit.ai/install.sh | bashAlternative installs:
npm install -g @outlit/cli
brew install outlitai/tap/outlitAuth resolution order is --api-key, OUTLIT_API_KEY, then stored credentials.
outlit auth login --browser --json
outlit auth login
outlit auth login --key ok_your_api_key
outlit auth status
outlit auth whoamiAgent onboarding:
outlit onboard --agent codex --json
outlit onboard --agent claude-code --json
outlit onboard --agent gemini --json
outlit onboard --agent droid --json
outlit onboard --agent opencode --json
outlit onboard --agent pi --json
outlit onboard --agent openclaw --json
outlit doctor --jsonoutlit onboard is the first command for coding agents. It resolves an existing API key, starts browser auth when no key is available outside CI, validates the key, installs the Outlit skill for the named agent, checks integration setup readiness, and returns next actions. It does not connect integrations or ask for third-party credentials by itself; use outlit integrations setup <provider> for that. If onboard is missing, run outlit upgrade and fall back to the older agent setup commands:
outlit setup --yes
outlit setup codex
outlit setup claude-code
outlit setup gemini
outlit setup droid
outlit setup opencode
outlit setup pi
outlit setup openclaw
outlit setup skillsoutlit setup skills opens the interactive Skills installer for outlit and optional extras like outlit-sdk.
--json, CI, or dumb terminal: JSON.--json.AI agents commonly receive JSON automatically because stdout is piped.
Get the workspace URL from Settings > CLI & MCP in Outlit. It looks like:
https://mcp.outlit.ai/w/<workspace-slug>/mcpAdd that URL directly to the MCP client and complete OAuth in the client. Verify with outlit_schema or by asking for available analytics views.
For Pi agents:
pi install npm:@outlit/pi
export OUTLIT_API_KEY=ok_your_api_key
pi@outlit/pi registers default customer intelligence tools and notification action tools. SQL tools are available but not enabled by default; use analytical/custom toolsets only for agents that should run read-only SQL.
For custom TypeScript tool clients, use @outlit/tools and its exported customerToolContracts, defaultAgentToolNames, actionToolNames, sqlToolNames, analyticalAgentToolNames, and allCustomerToolNames.
Use integration commands only when the user asks to inspect or set up connected data sources. Disconnect integrations through the Outlit web app; the CLI does not expose destructive integration removal.
outlit integrations capabilities --json
outlit integrations capabilities hubspot --json
outlit integrations setup hubspot --json
outlit integrations setup salesforce --json
outlit integrations setup granola --config '{"apiKey":"..."}' --json
outlit integrations setup pylon --config '{"apiToken":"..."}' --json
outlit integrations status --session <sessionId> --json
outlit integrations status hubspot --json
outlit integrations list --jsonUse capabilities before setup. It tells you the provider setupMode, credential type, whether CLI setup is supported, required credential fields, and follow-up steps such as CRM pipeline/stage mapping or webhooks. Provider-specific setup belongs after the provider name, for example outlit integrations setup hubspot and later provider subflows like outlit integrations setup hubspot mappings or outlit integrations setup pylon webhooks.
For browser-based providers, setup returns a connectUrl and sessionId; surface the URL/code to the user when browser approval is required, then poll with outlit integrations status --session <sessionId> --json.
For direct credential providers, pass JSON config and do not expect a session ID:
outlit integrations setup stripe --config '{"apiKey":"rk_..."}' --json
outlit integrations setup pylon --config '{"apiToken":"..."}' --json
outlit integrations setup fireflies --config '{"apiKey":"..."}' --json
outlit integrations setup granola --config '{"apiKey":"..."}' --json
outlit integrations setup posthog --config '{"apiKey":"...","region":"us","projectId":"..."}' --json
outlit integrations setup supabase --config '{"projectUrl":"https://...","serviceRoleKey":"..."}' --json
outlit integrations setup clerk --config '{"secretKey":"sk_..."}' --jsonCRM providers can require pipeline/stage mappings after authentication. Run the follow-up command returned by capabilities or setup, such as outlit integrations setup hubspot mappings --json, without config first to fetch available pipelines, then rerun with --config '{"mappings":[...]}' to save mappings and start CRM syncs.
Pylon, Stripe, PostHog, Gong, and other providers can require webhook setup after credentials are connected. Run the follow-up command returned by capabilities or setup, such as outlit integrations setup pylon webhooks --json, to get manual provider setup details such as webhook URL, required headers/secrets, required events, docs links, and current status. Stripe can also accept --config '{"webhookSecret":"whsec_..."}'. These follow-up commands do not use --session.
If capabilities mark a follow-up as unsupported by the CLI, use the Outlit platform settings or ask the user before proceeding.
outlit onboard --agent <agent> --json for coding agents, or tell the user to set OUTLIT_API_KEY / run outlit auth login --browser --json for non-agent setup.outlit doctor --json.outlit upgrade; set OUTLIT_NO_UPDATE_NOTIFIER=1 to suppress update notices.onboard or integrations capabilities: upgrade the CLI before continuing.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.