OtisDocs

Getting started

The steps that take you from a new Otis project to your first insight, and where to read more about each one.

Otis is product intelligence for AI-native applications. The Otis SDK captures how people use your product, and Otis analyzes that data to show your team what users are trying to do and where they struggle.

Getting started has five steps: create a project, set up the agent skills, instrument your app, check that telemetry arrives, and read what Otis finds. This page describes each step and links to the page that covers it in full.

Creating a project

A team admin creates a project in the Otis app by entering the product's name. Otis then opens an onboarding chat, which every member of your team can see.

In the chat, Otis asks five questions about your product: what it does, its key features, how people use it, the stage of the business, and the measure you care about most. Otis saves each answer and uses it to decide which findings matter to your team. The chat then guides you through the steps below.

The chat's last step offers to connect GitHub, which is optional. A connected repository gives Otis context about your codebase, pull requests and deployments. GitHub App describes how to connect one.

Onboarding describes each step of the chat and what its progress bar measures.

Setting up agent skills

The Otis skills connect your coding agent to Otis. With them, your agent can instrument your app with the Otis SDK and ask Otis how your product is used. Each skill works through the Otis MCP server, which gives your agent your project's data and the current instructions for the skill. MCP (Model Context Protocol) is the standard way coding agents connect to outside tools.

The plugin installs the skills and the Otis MCP server together:

claude plugin marketplace add runotis/agent-skills
claude plugin install otis@otis

Then start Claude Code and run /mcp to sign in to Otis.

The plugin installs the skills and the Otis MCP server together:

codex plugin marketplace add runotis/agent-skills
codex plugin add otis@otis

Then sign in to Otis:

codex mcp login otis

Install the skills with the skills CLI. Run the command from the root of your repository, and name your agent with -a:

npx skills add runotis/agent-skills -a cursor

Use -a github-copilot for GitHub Copilot and -a gemini-cli for Gemini CLI.

Then connect your agent to the Otis MCP server at https://app.runotis.com/mcp. MCP server gives the command for each agent.

The first time your agent connects, it opens a browser window for you to sign in. Use the account you use for the Otis app.

Coding agents describes each skill and how the skills stay current.

Instrumenting your app

Otis works from telemetry that the Otis SDK (@runotis/sdk) sends from your code. The SDK is written in TypeScript, and it runs in Node.js, in serverless runtimes and in the browser.

With the skills set up, ask your agent to instrument your app with Otis. Your agent uses the otis-instrument skill, which does the following:

  1. It profiles your codebase and recommends what to measure, if your project has no analysis yet.
  2. It asks you to keep or skip each recommended measurement, unless you have already reviewed them in the Otis app.
  3. It installs the SDK, adds the instrumentation that your measurements need, and runs your tests.
  4. It opens a pull request with the changes.

Review the pull request, merge it and deploy. Agent skills describes each step.

To add the SDK by hand, follow the guide for your runtime in the SDK section. If your app already uses OpenTelemetry, you can add Otis to that setup without rewriting it. OpenTelemetry describes how.

API keys

The SDK needs an API key. The otis-instrument skill creates one if your environment file has none, which requires an admin of the project. To create a key yourself, use the Ingestion tab in your project's settings.

Each key is for production or for development. Otis analyzes production telemetry only. It keeps development telemetry for one day and doesn't analyze it.

Checking that telemetry arrives

After you deploy, check that your telemetry reaches Otis.

  • The Ingestion tab in your project's settings shows the spans received for each environment. Its counts update while the tab is open.
  • Otis verifies each measurement once telemetry arrives from production. It checks that the expected events arrive and that they carry a user ID and a session ID. The project's home page shows a card when it finds a problem.
  • The otis-verify skill lists the problems next to your code, and suggests a fix for each. Ask your agent to verify the Otis instrumentation.

If the Ingestion tab shows spans and no results follow, check two things:

  • Your deployed app uses a production key. Otis doesn't analyze telemetry sent with a development key.
  • Your app identifies its users. Otis can't attribute telemetry that has no user ID, and verification reports it as a blocking problem. Identity and properties and Sessions cover the IDs your app sends.

First results

Otis starts analyzing as soon as production telemetry arrives. Onboarding doesn't have to be complete first.

ResultWhen it first appears
Sessions and tasksOnce a session has been idle for 30 minutes and is large enough to analyze
MeasurementsWithin a few hours
First insightAfter the next early-morning investigation that has a candidate
First briefingThe next morning with something to report, if Slack is connected

The first tested findings need seven days of telemetry. Onboarding lists what each kind of result waits for.

Insights, briefings and chat

Otis reports what it finds in three ways.

  • Insights. An insight is a finding that Otis writes about your product, with the evidence behind it and a suggestion for what to do. The Otis app lists insights under "Your insights". If your team connects Slack, Otis also posts each new insight to a channel you choose. Insights explains how to read one.
  • The daily briefing. The briefing is a short summary that Otis posts to Slack each morning. Briefings covers how to set it up.
  • Chat. You can ask Otis a question about your product in the Otis app, in Slack, or from your coding agent with the otis skill.

Documentation sections

On this page