catalyst-stratus — Claude Code skill: Catalyst object storage
A skill for Catalyst Stratus object storage: file uploads, signed URLs, multipart upload. Useful when your project keeps files in Stratus.
npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a claude-codeWhat catalyst-stratus does
The skill teaches the agent how Catalyst Stratus works: uploading, downloading and deleting objects, generating signed URLs, and multipart upload. It also covers the 250 GB limit for a single-shot upload. For files of 100 MB and up, the skill recommends switching to multipart.
One thing to know up front: Stratus is not S3-API-compatible. It has its own SDK, so code written for boto3 or aws-sdk will not carry over. Moving from AWS S3 or GCS goes through the Stratus Migration Tool. Bucket names are globally unique, and the skill suggests a {app-name}-{project-id-prefix} pattern to avoid collisions.
There is also a default about response code. When a function returns a Stratus result to the client, the skill writes native Node.js syntax rather than Express: res.status() and res.json() do not exist unless Express is wired as middleware. Worth checking in your own template, or the response comes out in the wrong shape.
What it helps with
- upload a file to a Stratus bucket
- generate a signed URL for a download
- set up multipart upload for large files
- migrate data from AWS S3 or GCS
- pick a bucket name that will not collide
Example prompts for the agent
- upload this file to Stratus and give me a download link
- generate a signed URL for this object in the bucket
- set up multipart upload for a 200 MB file
How to install catalyst-stratus
1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a claude-code2Manually: put the files in place
~/.claude/skills/catalyst-stratus/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/catalyst-stratus/
1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a codex2Manually: put the files in place
.agents/skills/catalyst-stratus/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a cursor2Manually: put the files in place
.cursor/skills/catalyst-stratus/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install catalystbyzoho/agent-skills catalyst-stratus2Manually: put the files in place
.github/skills/catalyst-stratus/SKILL.md1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a gemini-cli2Platform CLI
gemini skills install https://github.com/catalystbyzoho/agent-skills --path skills/catalyst-stratusManually: put the files in place
.devin/skills/catalyst-stratus/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about catalyst-stratus
How do I install catalyst-stratus in Claude?
Run npx skills add catalystbyzoho/agent-skills --skill catalyst-stratus -a claude-code. The skill lands in ~/.claude/skills/catalyst-stratus/SKILL.md.
What does catalyst-stratus do?
It gives the agent working knowledge of Catalyst Stratus object storage: file upload and download, signed URLs, multipart upload, and bucket naming rules.
Is Stratus compatible with the S3 API?
No. Stratus uses its own SDK calls, so AWS S3 code will not work as is. The Stratus Migration Tool handles the move.
Source text
SKILL.md · Apache-2.0
---
name: catalyst-stratus
description: "Catalyst Stratus — object storage service with upload/download, signed URLs, and multipart upload support. Stratus uses its own SDK-based APIs (not S3-API-compatible). Migrate from AWS S3 or GCS using the Stratus Migration Tool. Trigger on 'Stratus', 'object storage', 'upload file', 'signed URL', 'putObject', 'getObject', or 'bucket'."
metadata:
version: "2.1.2"
---
## How It Works
1. **Bucket naming** — Bucket names are globally unique. Use `{app-name}-{project-id-prefix}` pattern to avoid collisions.
2. **Load `references/stratus-basics.md`** — for upload/download/delete patterns, the 250 GB single-upload limit, signed URL generation, and multipart setup.
3. **Large files** — Multipart upload is recommended (not required) for files ≥ 100 MB. Single-shot upload supports up to 250 GB per object. Load the multipart section of `stratus-basics.md`.
4. **Signed URLs** — For user-facing direct downloads/uploads, generate a signed URL server-side and return it to the client.
## Response Syntax Default
When writing function code that returns a Stratus result to the client, **default to native Node.js response syntax** — not Express. Advanced I/O exposes raw `http.ServerResponse`; `res.status()` and `res.json()` do not exist unless the user explicitly chose the Express template.
- Native (default): `res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(data));`
- Express (opt-in only): only if the user has `express` installed and wired as middleware
## Triggers
Use this skill for: "Stratus", "object storage", "file storage", "upload file", "download file", "signed URL", "pre-signed URL", "multipart upload", `putObject`, `getObject`, "bucket", "Stratus bucket", "store files on Catalyst", "Stratus vs File Store", "250GB limit", or "file download link".
## References
| Reference | Load when the query is about… |
|-----------|-------------------------------|
| `references/stratus-basics.md` | Upload/download/delete, 250GB single-shot limit, multipart (recommended for ≥100 MB), signed URLs, busboy upload pattern, bucket naming rules |
© catalystbyzoho · Apache-2.0 · catalystbyzoho/agent-skills