A Claude Code / Agent Skill that teaches Claude how to write correct, modern Python against the Globus platform — Transfer, Flows, Compute, Search, and Auth.
It steers the model toward the current globus-sdk v4+ APIs (the GlobusApp / UserApp / ClientApp auth model) and away from deprecated patterns like fair_research_login, globus-automate-client, funcx, and hand-rolled NativeAppAuthClient OAuth flows.
LLMs frequently emit outdated Globus code, because much of the public training data predates the v4 SDK and the 2024 deprecations. This skill loads up-to-date, opinionated reference material on demand so generated code uses the supported interfaces.
If you just joined and want this working in a few minutes:
-
Install Claude Code (or another Agent Skills–compatible client).
-
Install the skill — copy the source folder into your personal skills directory:
git clone https://github.com/ryanchard/globus-skill.git cp -r globus-skill/globus-sdk ~/.claude/skills/You should now have
~/.claude/skills/globus-sdk/SKILL.md. -
Try it — start a new Claude Code session and ask:
"Write a Python script that transfers a file between two Globus collections."
Claude will automatically load this skill and produce modern
globus-sdkv4 code. You're done.
To actually run the generated code you'll also need a Globus account and a registered Client ID — see Registering a Client ID in globus-sdk/SKILL.md. The skill itself needs none of that; it's just guidance Claude reads.
You only need the build step below if you edit the skill and want to share a new .skill bundle.
| Service | Reference | Highlights |
|---|---|---|
| Auth | references/auth.md |
UserApp / ClientApp, scopes, consent handling, GlobusAppConfig |
| Transfer | references/transfer.md |
TransferData, DeleteData, filter rules, task monitoring, ConsentRequired |
| Flows | references/flows.md |
FlowsClient / SpecificFlowClient, flow definitions, input schemas, reuse |
| Compute | references/compute.md |
Executor, writing/registering functions, batch & ShellFunction |
| Search | references/search.md |
SearchClient, indices, ingest, query, use within Flows |
The top-level SKILL.md holds the trigger conditions, the deprecated-pattern warnings, and quick-start auth snippets; Claude reads the relevant reference file(s) before writing code for a given service.
A skill is just a directory containing a SKILL.md. Drop it into your skills directory and Claude Code picks it up.
Option A — install the prebuilt bundle
# .skill files are zip archives; extract into your personal skills dir
unzip dist/globus-sdk.skill -d ~/.claude/skills/Option B — install from source
git clone https://github.com/ryanchard/globus-skill.git
cp -r globus-skill/globus-sdk ~/.claude/skills/Either way you should end up with ~/.claude/skills/globus-sdk/SKILL.md. Restart Claude Code (or start a new session) and ask it to write some Globus code — it will trigger automatically when you mention Globus, globus-sdk, Transfer/Flows/Compute/Search, or research data movement between endpoints.
For a project-local install instead, copy
globus-sdk/into.claude/skills/inside your project.
globus-skill/
├── globus-sdk/ # editable skill source (the canonical copy)
│ ├── SKILL.md
│ └── references/
│ ├── auth.md
│ ├── transfer.md
│ ├── flows.md
│ ├── compute.md
│ └── search.md
├── dist/
│ └── globus-sdk.skill # prebuilt bundle, regenerated by the build script
└── scripts/
└── build-skill.sh # packages globus-sdk/ -> dist/globus-sdk.skill
The skill is the globus-sdk/ folder — editing it is just editing Markdown. Building the .skill bundle is nothing more than zipping that folder.
Edit the Markdown under globus-sdk/, then repackage:
./scripts/build-skill.shThat script is a thin wrapper around a single zip command — equivalent to:
zip -r dist/globus-sdk.skill globus-sdkThe result, dist/globus-sdk.skill, is a zip archive whose top-level entry is globus-sdk/. Anyone can install it by unzipping into ~/.claude/skills/. After editing, commit both the source change and the regenerated bundle.
- Keep
SKILL.md'sdescriptionrich in trigger terms — it's how Claude decides to load the skill. - Put detailed, scannable, code-first guidance in the per-service reference files; keep
SKILL.mdlean. - Prefer showing the supported pattern over merely naming the deprecated one.