Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

140 changes: 138 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,138 @@
# skills
Code Ocean skills
# Code Ocean Skills

Skills for AI coding agents to interact with the [Code Ocean](https://codeocean.com) computational research platform.

## Available Skills

### `codeocean`

Teaches AI agents how to use the Code Ocean API through three access methods:

- **MCP Server** (26 tools) — primary interface for AI agents
- **Python SDK** (`codeocean` package) — for writing Python scripts
- **REST API** (curl/wget) — for shell commands and manual API calls

Covers capsules, pipelines, computations, data assets, custom metadata, authentication, permissions, search, and pagination.

## Prerequisites

1. A Code Ocean account with API access
2. An API access token (generated from Account > Access Tokens)
3. One or more of:
- The Code Ocean MCP server (`codeocean-mcp-server`) for agent-based interaction
- The Python SDK (`pip install codeocean`) for programmatic access
- `curl` for direct REST API calls

## Quick Start

### 1. Generate an API Token

1. Sign into your Code Ocean instance
2. Go to **Account > Access Tokens > Generate New Token**
3. Select scopes (Capsule Read/Write, Datasets Read/Write)
4. Copy the token immediately — it is only shown once

### 2. Install the MCP Server (for AI agents)

Install `uv` and Python 3.10+, then configure your agent. Example for Claude Desktop:

```json
{
"mcpServers": {
"codeocean": {
"command": "uvx",
"args": ["codeocean-mcp-server"],
"env": {
"CODEOCEAN_DOMAIN": "https://your-instance.codeocean.com",
"CODEOCEAN_TOKEN": "<YOUR_TOKEN>",
"AGENT_ID": "Claude Desktop"
}
}
}
}
```

See `codeocean/references/mcp-server-install.md` for configs for VS Code, Cline, Roo Code, Cursor, and Windsurf.

### 3. Install the Skill

- This skill lives in the [`codeocean/skills`](https://github.com/codeocean/skills) repository.
- The skill folder is at [`<skill-path-in-repo>`](https://github.com/codeocean/skills/tree/main/<skill-path-in-repo>). The entry point is `SKILL.md`.
- **Install the entire skill folder**, not just `SKILL.md` — supporting files (references, templates, examples) are referenced by the entry point.
- The fastest cross-agent option is [`gh skill`](#github-cli-universal-installer) if available.

| Agent | Install method | Exact path / command | Notes |
| ----------------------------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Claude Code** | Manual folder copy | Project: `.claude/skills/<skill-name>/`<br>User: `~/.claude/skills/<skill-name>/`<br>Plugin: `<plugin>/skills/<skill-name>/` | Copy full folder from [`<skill-path-in-repo>`](https://github.com/codeocean/skills/tree/main/<skill-path-in-repo>). Claude watches these directories automatically. |
| **Codex** | A. Manual folder copy<br>B. Plugin install | A. `$CWD/.agents/skills/<skill-name>/`<br>`$REPO_ROOT/.agents/skills/<skill-name>/`<br>`$HOME/.agents/skills/<skill-name>/`<br>`/etc/codex/skills/<skill-name>/`<br>B. In-app: add from plugin directory<br>CLI: `/plugins` → Install plugin | Clone/download from `codeocean/skills`, copy the folder at `<skill-path-in-repo>`. Codex supports skills natively; packaged distribution is often via plugins. |
| **Cursor** | Plugin-first | Install plugin from marketplace / team marketplace | No official direct raw GitHub skill install documented. Use `gh skill` row below for GitHub-based install. |
| **OpenCode** | Manual folder copy | `.opencode/skills/<skill-name>/`<br>`~/.config/opencode/skills/<skill-name>/`<br>Also compatible:<br>`.claude/skills/<skill-name>/`<br>`~/.claude/skills/<skill-name>/`<br>`.agents/skills/<skill-name>/`<br>`~/.agents/skills/<skill-name>/` | Copy full folder from [`<skill-path-in-repo>`](https://github.com/codeocean/skills/tree/main/<skill-path-in-repo>). |
| **Antigravity** | Manual folder copy | `.agents/skills/<skill-name>/`<br>`~/.gemini/antigravity/skills/<skill-name>/` | Defaults to `.agents/skills`. Copy full folder. |
| **Windsurf** | Manual folder copy | `.windsurf/skills/<skill-name>/`<br>`~/.codeium/windsurf/skills/<skill-name>/`<br>Enterprise: macOS `/Library/Application Support/Windsurf/skills/`, Linux/WSL `/etc/windsurf/skills/`, Windows `C:\ProgramData\Windsurf\skills\` | Each skill is a subdirectory containing `SKILL.md`. Copy full folder. |
| **GitHub Copilot CLI** | Manual folder copy | Project: `.github/skills/<skill-name>/`, `.claude/skills/<skill-name>/`, `.agents/skills/<skill-name>/`<br>Personal: `~/.copilot/skills/<skill-name>/`, `~/.claude/skills/<skill-name>/`, `~/.agents/skills/<skill-name>/` | Clone/download from `codeocean/skills`, copy the full folder at `<skill-path-in-repo>`. |
| **VS Code / Copilot agent plugins** | Plugin from Git source | Run `Chat: Install Plugin From Source` → enter Git repo URL | This is for **plugins**, not raw skill folders. Applies only if the skill is wrapped as a plugin. Does not apply to raw skill repos like `codeocean/skills`. |
| **Gemini CLI** | Native GitHub install | `gemini skills install https://github.com/codeocean/skills.git --path <skill-path-in-repo>`<br>`gemini skills install /path/to/local/<skill-name> --scope workspace`<br>`gemini skills link /path/to/local/<skill-name> --scope workspace` | Supports Git repo, local dir, zipped `.skill`, monorepo subpath, workspace/user scope. Use `--path` for monorepo subpath. |
| **Cline** | Manual folder copy | `.cline/skills/<skill-name>/`<br>`~/.cline/skills/<skill-name>/` | Enable Skills in Settings → Features → Enable Skills. Experimental. |
| **Kiro IDE** | Native GitHub import | Agent Steering & Skills → `+` → Import a skill → GitHub → paste `https://github.com/codeocean/skills/tree/main/<skill-path-in-repo>` | URL must point to the subdirectory, not the repo root. Imported skills are copied into the skills directory. |
| **Kiro CLI** | Manual folder copy | `.kiro/skills/<skill-name>/`<br>`~/.kiro/skills/<skill-name>/` | Default agent auto-loads skills. Custom agents need `skill://` resources configured. |
| **`gh skill` (GitHub CLI)** | Universal GitHub install | `gh skill install codeocean/skills <skill-name>`<br>`gh skill install codeocean/skills <skill-name> --agent claude-code`<br>`gh skill install codeocean/skills <skill-name> --agent cursor`<br>`gh skill install codeocean/skills <skill-name> --agent codex`<br>`gh skill install codeocean/skills <skill-name> --agent gemini`<br>`gh skill install codeocean/skills <skill-name> --agent antigravity` | Installs to the correct host directory automatically. Can pin versions/commits. Cleanest cross-agent GitHub-hosted option. |

#### Shared patterns

- **Manual folder copy**: Claude Code, Codex, OpenCode, Antigravity, Windsurf, GitHub Copilot CLI, Cline, Kiro CLI — copy the skill directory (containing `SKILL.md` and supporting files) into the agent's watched skills path.
- **Native GitHub import/install**: Gemini CLI (`gemini skills install`), Kiro IDE (GitHub import UI) — install directly from `codeocean/skills` repo.
- **Plugin-first**: Cursor, VS Code / Copilot agent plugins — skill distribution is via marketplace or Git-source plugins, not raw skill folders.
- **Universal GitHub installer**: `gh skill install codeocean/skills <skill-name>` — routes to the correct agent directory automatically; works across Claude Code, Codex, Cursor, Gemini, Antigravity.

#### References

- [Claude Code — Skills](https://code.claude.com/docs/en/skills)
- [Codex — Skills](https://developers.openai.com/codex/skills)
- [Codex — Plugins](https://developers.openai.com/codex/plugins)
- [OpenCode — Skills](https://opencode.ai/docs/skills)
- [Antigravity — Skills](https://antigravity.google/docs/skills)
- [Windsurf — Skills](https://docs.windsurf.com/windsurf/cascade/skills)
- [GitHub Copilot CLI — Skills](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills)
- [VS Code — Agent plugins](https://code.visualstudio.com/docs/copilot/customization/agent-plugins)
- [Gemini CLI — Skills](https://geminicli.com/docs/cli/skills/)
- [Cline — Skills](https://docs.cline.bot/customization/skills)
- [Kiro IDE — Skills](https://kiro.dev/docs/skills/)
- [Kiro CLI — Skills](https://kiro.dev/docs/cli/skills/)
- [`gh skill` — GitHub CLI](https://github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/)

## Skill Structure

```
codeocean/
├── SKILL.md # Main skill — workflows, decision tree, concepts
└── references/
├── mcp-guide.md # MCP workflow patterns and anti-patterns
├── mcp-tools-catalog.md # All 26 MCP tools with parameter schemas
├── mcp-server-install.md # Install configs for 6 editors/agents
├── cli-guide.md # curl/wget endpoint reference
├── sdk-guide.md # Python SDK setup and examples
├── setup-and-auth.md # Token generation and environment variables
├── capsules.md # Capsule data model and operations
├── pipelines.md # Pipeline-specific operations
├── computations.md # Running, waiting, result retrieval
├── data-assets.md # Data asset creation and lifecycle
├── custom-metadata.md # Admin-defined metadata schema
├── search-and-pagination.md # Query syntax and pagination
└── permissions.md # User/group access control
```

## How It Works

The skill uses **progressive disclosure**:

1. **SKILL.md** loads when the skill triggers — contains workflow patterns and a decision tree
2. **Reference files** load on demand — agents only read the files relevant to their current task

This keeps context window usage efficient while providing deep coverage of the entire Code Ocean API.

## Links

- [Code Ocean User Guide](https://docs.codeocean.com/user-guide) — platform documentation
- [Code Ocean API Documentation](https://docs.codeocean.com/user-guide/code-ocean-api) — REST API reference
- [Code Ocean Python SDK](https://github.com/codeocean/codeocean-sdk-python) — GitHub repo
- [Code Ocean MCP Server](https://github.com/codeocean/codeocean-mcp-server) — GitHub repo
Loading