This skill should be used when a user pastes a Senso link (docs.senso.ai, senso.ai) and asks to set it up, or says "connect my agent to Senso", "set up Senso", "sign me in to Senso", "sign me back in to Senso" or "use Senso as my knowledge base", or when a senso command fails because the CLI is missing or the key is rejected. It installs the Senso CLI and skills, signs the user in through the browser, confirms the organization with them, then hands to Shared Context. Works for first-time and returning users. Not for a user already connected who names a task.
npx @senso-ai/shipables install senso-ai/senso-connectThe job: get from "the user pasted a link" to "this agent is signed in to the organization the user chose, and the user has seen it work", with the user doing only the two things only they can do: approve the sign-in in a browser, and say yes to the organization.
Senso, in one sentence for the user: one memory all of your agents share. What one agent saves, every other agent can read, with the source attached.
Run the steps in order. Each step starts by checking whether it is already done, so running this twice, or on a machine that already has Senso, repeats nothing.
senso logout
revokes the key it removes.senso whoami names the organization, not the person.senso --version ; echo "exit=$?"
senso whoami --output json --quiet ; echo "exit=$?"
| Result | Meaning | Go to |
|---|---|---|
command not found | Senso is not installed | Step 2 |
| Version below 0.18.1 | Too old for senso setup | run senso update, then Step 3 |
exit=0 with an orgName | Already signed in (whoami checks the key with the server, so a working key is the only way to get here) | Step 3, then Step 5 |
exit=3, message "the API key was rejected" | Returning user, key expired or revoked | Step 3, then Step 4. Say "Your Senso sign-in has expired, so I'll get you a fresh one." |
exit=3, message "no API key found" | Not signed in on this machine | Step 3, then Step 4 |
When whoami reports apiKeySource as env, the key comes from SENSO_API_KEY in this shell.
senso login does not replace it; tell the user that, and stop at Step 5 to confirm the org.
npm install -g @senso-ai/cli
senso --version
If npm fails on permissions, tell the user what failed and ask before changing npm's
configuration. Do not use sudo without asking.
senso setup
It installs the nine Senso skills globally for every supported agent (Claude Code, Codex, Cursor, Copilot, Gemini CLI, Cline), and on a machine that is already current it changes nothing. They are one set and hand work to each other by name, so always install all of them.
Codex does not load skills installed during a conversation until the app restarts; Claude Code and Cursor pick them up straight away. That is why Step 6 can read the next skill from disk, so the user never has to restart to finish.
Before starting, one line to the user, so they know what is coming: "Next you'll approve this agent in your browser. If you don't have a Senso account yet, create one at https://docs.senso.ai/sign-up first; signing up creates your organization too."
senso login --device-name "AGENT NAME on this computer"
It opens a browser page when it can, and always prints a link and an eight character code. It does not wait. Give the user the link and the code exactly as printed, in a message of their own:
Approve this agent in your browser: LINK. The code is CODE. The page asks "Which organization is this for?"; pick the one you want this agent to use from the list, then continue. The link expires in five minutes.
Then wait for the approval:
senso login --complete
On success it prints Authenticated as "ORG NAME" (ORG ID).
senso whoami --output json --quiet # skip if Step 1 already ran it and nothing changed since
senso kb stats --output json --quiet # total_files is the document count
Ask one question, in one message, and wait for the answer:
You're connected to ORG NAME. Its knowledge base has N documents. Is this the organization you want this agent to use?
N is total_files; write "1 document" and "is empty" for 1 and 0. A user who was already signed
in gets "You're already connected to" in place of "You're connected to", in this same message.
senso logout, then Step 4 again, and ask them to pick the other
organization on the approval page. Confirm again afterwards.orgId to each mention so they can be told apart.Nothing in Step 6 runs before this yes.
Hand off to the skill for what the user wants. If they said "knowledge base", "shared context", "memory" or "what my team knows", that is Shared Context. If they said nothing about what they want, ask in one line: "Do you want a shared knowledge base for your agents (Shared Context), or to check what AI models say about your brand (the Verification Loop)?"
| They want | Skill |
|---|---|
| A knowledge base all their agents share | senso-shared-context |
| What AI models say about their brand | senso-verification-loop |
| To save a specific file or note | senso-context-layer |
On Codex, or whenever the skill is not available to load, read its instructions from disk and follow them; this works on every agent:
cat ~/.agents/skills/senso-shared-context/SKILL.md 2>/dev/null || cat ~/.claude/skills/senso-shared-context/SKILL.md
On an empty knowledge base, senso-shared-context writes Start Here with the user first: the
document every agent on their team reads before anything else. That is the moment the user sees
Senso work.
One message, and stop:
You're connected to ORG NAME. Any agent you open on this computer is signed in to it too. In a new session, ask it "what does Senso know about ..." and it answers from your knowledge base, with sources. The sign-in lasts seven days; when it runs out, say "sign me back in to Senso" and this runs again.
senso logout, then senso login.senso-context-layer; there is no two way sync.| Error | What to do |
|---|---|
401, "the API key was rejected" | Step 4 |
402 | A credit or spending limit. Tell the user to contact Senso at senso.ai about credits, and stop at that step. |
npm: command not found | Node.js is not installed. Point the user to https://nodejs.org and stop. |
senso setup reports a skill under "failed" | Run senso setup once more; if it fails again, report the skill name and continue. The others still work. |