# Osd Agents

Use for anything about the workbench's own sessions, Screens, terminals and settings, ...

- Repository: https://github.com/ai4s-research/open-science (2069 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ai4s-research/open-science --skill osd-agents -g -a claude-code -y`
Codex: `npx skills add ai4s-research/open-science --skill osd-agents -g -a codex -y`
Cursor: `npx skills add ai4s-research/open-science --skill osd-agents -g -a cursor -y`
Gemini CLI: `npx skills add ai4s-research/open-science --skill osd-agents -g -a gemini-cli -y`

## Description

Use for anything about the workbench's own sessions, Screens, terminals and settings, opening a Screen, splitting it into several sessions or terminals, closing one; reading another conversation or the Claude Code / Codex in a terminal and messaging it; or acting on an "[OSD session]", "[OSD terminal]" or "[OSD screen]" reference the user pasted; or a setting the task needs changed (terminals, remote access, approval mode, proxy). All of it goes through the `osd` command.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# The workbench: sessions, Screens, terminals

`osd` is on your PATH and already connected to this workbench. Three things
are reachable through it:

- **Sessions**: conversations, each with its own folder.
- **Screens**: the tabs at the top of the app. Each one is split into panes,
  and each pane shows a session or a terminal.
- **Terminals**: shells, some running Claude Code or Codex.

`osd screen ls` shows all of it at once, with the ids every other command
takes. `osd session find <words>` finds a conversation by what was said in it.

## Screens

```
osd screen new --sessions 6 --name "Six"          # a new Screen, split evenly among 6 new conversations
osd screen new ses_a ses_b --terminals 1          # existing conversations and a terminal, side by side
osd screen new --terminals 3 --run claude          # three terminals, each starting Claude Code
osd screen add g12 --new                           # one more pane: a new conversation (or a SESSION_ID, or --terminal)
osd screen add --here --new                        # a new conversation right of you, on the Screen you are on
osd screen show g12                                # bring it up in the user's window
osd screen close g12                               # close it; the conversations are kept
```

New conversations and terminals start in your folder unless you pass
`--directory DIR` or `--project NAME`. A new Screen appears in the user's
tab bar right away, and the user stays on the Screen they were looking at.

## Reading and messaging

| You have | Read it | Send to it |
|---|---|---|
| a session `ses_…` | `osd session show <id> --last 2` (its last two turns) | `osd session send <id> "<message>" --wait` |
| a terminal running Claude Code or Codex | `osd term read <id>` (`--turns 3` for more) | `osd term send <id> "<message>" --wait` |
| a terminal running a plain shell | `osd term read <id>` (last 40 lines; `--lines N`) | `osd term send <id> "<command>"`. **This runs the command.** |

The rest: https://github.com/ai4s-research/open-science/blob/HEAD/runtime/skills/core/osd-agents/SKILL.md
