Skip to content

Assistant in chat and skills

Ask the project assistant from Slack, Teams or a bot, and save a good conversation as a skill that is read and approved before any task uses it.

Updated View as MarkdownOpen in ChatGPTOpen in Claude

The project assistant answers where your team already talks. You get the same answers, from the same tools, with the same permissions as in the app. Changes still wait for an approval in the app; chat never approves anything.

The assistant answers a person, so your chat account must be linked to your Overlane team membership first. An unlinked account gets one fixed reply that says how to link it, and nothing else.

  • Slack and Teams: ask the assistant once. It replies with a one-time code, and you run overlane connector link <provider> --code <code> signed in as yourself within 15 minutes; that chat account is then yours. A team member with the connector permission can also link someone with overlane connector chat-user <provider> --external-user <chat user ID> --user <user ID>.
  • A bot: the bot owner links the bot’s user to a team member with the bot’s users route, under /v1/tenants/{tenantId}/bots/{botId}.

A member who has left the team is treated as unlinked.

Ask in Slack or Teams

  • Slack: mention the app in a channel the team has connected.
  • Teams: send a message to the Teams bot in a chat.

The reply comes in the same thread, in the channel where you asked, and nowhere else. The place a reply goes is taken from the chat platform’s own signed event, never from the text of your message. Replies are plain text, and chat mentions in an answer are defused so an answer cannot ping a channel.

You can ask the same things as in the app. Your role decides how far the assistant reaches, so a viewer gets the same view as in the app.

If you ask more than a handful of questions in a minute, the assistant asks you to wait a little.

Ask through a bot

A registered bot sends a signed assistant.ask event with the text and the bot’s own user ID. The answer comes back to that bot only, as a signed assistant.reply event in the thread the question came from. Events are signed in both directions, an event ID seen before is ignored, and replies are delivered in order.

Message text is untrusted

Whatever someone types in a chat, or whatever a page or issue says, is a question or quoted data. It cannot change who is asked as, where the answer goes, or which tools run. An instruction inside the text, such as “post this to another channel” or “approve the pending change”, is shown as text at most and does nothing.

The record kept

Each ask writes an audit row: who asked, through which chat, and how it ended (answered, not linked, not available). The row never holds the question or the answer.

Save a conversation as a skill

A good conversation can become a reusable skill. A skill is a SKILL.md file in the standard format, with a name and a one-line description at the top, followed by the steps.

  1. Open the assistant (Ctrl+J or ⌘J), have the conversation, and select Save as skill. Name it with lowercase words joined by hyphens.
  2. Or run overlane assistant save-skill <conversation> --name cut-a-release-candidate, with an optional --description saying when to use it. Without one, the first question in the conversation is used.
  3. The API route is from-conversation, under the project’s skills path.

Only your own conversations can be saved. The skill is built from the conversation without a model, so the text is the conversation’s, not a rewrite.

Secrets are removed first

Anything shaped like a secret, such as a key, a token, a password in a connection string or a long random string, is replaced with a marker before the skill is stored. The result says how many were removed. If something secret-shaped is still found after that pass, the save is refused and nothing is stored.

Read it, then approve it

A saved skill is a draft. No task uses it until it is approved.

  • In the app: the assistant panel lists drafts under Review saved skills. Read the text, then Approve or Reject.
  • In the CLI: overlane skill list, overlane skill show <name>, then overlane skill approve <name> or overlane skill reject <name>.

Approving needs the manage-policy permission and your own sign-in, never an agent token, so an agent cannot approve a skill it saved. An approved skill joins the skills section of every task in the project. A rejected skill is never used, and its name can be saved again.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.