OtisDocs

Developer tools

Coding agents

Connect Claude Code, Codex, Cursor or another coding agent to Otis with the Otis skills, and see what each skill does.

The Otis skills connect your coding agent to Otis. With them, your agent can ask Otis how your product is used, instrument your app with the Otis SDK, and check that the instrumentation works. The skills run in your own agent, in your own repository.

The skills use the open Agent Skills format. They work in Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, and other agents that support it.

Each skill works through the Otis MCP server. MCP (Model Context Protocol) is the standard way coding agents connect to outside tools. The server gives your agent live data from your Otis project and the current instructions for each skill. If your agent doesn't support skills, connect it to the MCP server alone.

Installing the skills

Use one install method for each agent. If you install the skills twice for the same agent, it gets two copies of every skill.

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, so that the command writes skills for that agent only:

npx skills add runotis/agent-skills -a cursor

Use -a github-copilot for GitHub Copilot and -a gemini-cli for Gemini CLI. The skills CLI documentation lists the name for every agent it supports.

The skills CLI doesn't connect the MCP server. Add it yourself, at https://app.runotis.com/mcp. MCP server gives the command for each agent.

The Claude Code and Codex plugins connect the MCP server for you. Don't add the server a second time by hand, or your agent gets two copies of it.

Signing in

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. There are no API keys to create, and no secrets are written to your repository.

If you belong to more than one Otis team, the sign-in page asks you to choose a team. To work with another team, sign in again and choose it.

Choosing a project

If your team has one project, your agent uses it. If your team has several, your agent can pick the project whose linked GitHub repository matches the one it is working in, or you can name the project in your request. MCP server describes how a project is chosen.

The skills

SkillWhat it does
otisAsks Otis about product usage, metrics, and the insights Otis has found. Answers come from your telemetry, not from your code.
otis-analyzeProfiles your codebase and recommends what to measure.
otis-instrumentInstalls the SDK, adds instrumentation, runs your tests, and opens one pull request.
otis-verifyChecks the instrumentation and confirms that data is arriving.
otis-statusShows instrumentation progress for each measurement.

Running a skill

Describe the task to your agent in plain language, such as "instrument this app with Otis" or "ask Otis what users struggled with this week". Your agent also chooses a skill on its own when your request matches it.

You can also call a skill by name. Each agent has its own way to list and call skills. Claude Code lists a plugin's skills under the plugin's name, so otis-analyze appears there as /otis:otis-analyze.

Asking Otis about your product

The otis skill hands your question to Otis. Otis answers from your product's telemetry, the insights it has found, and what it has learned about your product. Your coding agent doesn't have this context on its own.

For example:

  • "What are users struggling with this week?"
  • "Why are people dropping off in onboarding?"
  • "What do we know about our power users?"

You don't need to name the skill. When you ask your agent about product usage, it recognizes the question and consults Otis. Otis replies with an answer and a link to the full view in the Otis app. Otis only reads over this connection, so it doesn't change your project.

A question gets a sharper answer when it names a period, a group of users or a measure, such as "in the last 14 days" or "for self-serve signups".

An agent without the skill can still ask Otis through the askOtis MCP tool. For its options, such as discussing a specific insight or continuing a conversation, see MCP server.

Instrumenting your app

Four of the skills add the Otis SDK to your app and keep the instrumentation correct. A typical run looks like this:

otis-analyze      → profile the codebase and recommend what to measure
otis-instrument   → add the SDK and instrumentation, run tests, open a pull request
# merge the pull request and deploy
otis-verify       → check the instrumentation and confirm data is arriving

You can start with otis-instrument. It analyzes the codebase first when your project has no analysis yet. otis-status shows progress at any point, and it only reads.

Agent skills in the SDK section describes each step, including what the pull request contains.

Skill updates

Each skill file is short. It tells your agent to fetch the full instructions from the Otis MCP server, so your agent always follows the current version. You don't need to update the skills to get new instructions.

An update changes only a skill's name, its description, or the plugin's settings. To update:

  • Claude Code. Run claude plugin marketplace update otis, then claude plugin update otis@otis, and restart Claude Code.
  • Codex. Run codex plugin marketplace upgrade otis, then codex plugin add otis@otis.
  • Skills CLI. Run npx skills update.

Skills and the MCP server

The skills and the MCP server aren't alternatives. Every skill calls the MCP server, and the server works without the skills.

  • Use the skills when your agent supports them. A skill tells your agent when to consult Otis and which workflow to follow, so you don't have to.
  • Use the MCP server alone when your agent doesn't support skills. The server serves the same workflows through its getOtisWorkflow tool, and you ask your agent to fetch one and follow it. MCP server describes how.

MCP server is also the reference for the tools, prompts and resources that the skills use.

On this page