coder-file-transfer
Skill4 starsChanged 2 months agoApache-2.0View on GitHub
Upload or download large files to/from a Coder CDE workspace using the coder CLI. Use when transferring files, directories, build artifacts, datasets, or binaries to a Coder workspace, when `rsync -e "coder ssh"` fails or desyncs, or when a copy over `coder ssh` hangs/corrupts. Triggers on "upload to coder", "copy files to workspace", "coder scp", "coder rsync", "transfer to CDE", "push files to my workspace", "coder config-ssh".
- Reads credentials
- Installs packages
In this repository43 other files it gives its agents.
- skills/vercel-react-best-practices/AGENTS.mdAGENTS.md
- agent-notepadSkill
- architecture-reviewerSkill
- backend-service-auditorSkill
- channel-listenerSkill
- code-reviewerSkill
- cold-start-generatorSkill
- creating-skillsSkill
- critical-thinkingSkill
- dark-factory-buildSkill
- dependency-risk-auditorSkill
- df-adversary-gateSkill
- df-app-walkthroughSkill
- df-context-storeSkill
- df-data-transform-lensSkill
- df-dispatch-subagentsSkill
- df-infrastructureSkill
- df-observabilitySkill
- df-product-ownerSkill
- df-qaSkill
- df-solution-architectSkill
- df-tdd-developerSkill
- df-ui-verifySkill
- df-video-intakeSkill
- dx-maintainability-reviewerSkill
- frontend-auditorSkill
- handoffSkill
- microservices-architectSkill
- production-readiness-reviewerSkill
- repo-docsSkill
- requirements-discoverySkill
- sc-auditSkill
- sc-devSkill
- scope-initSkill
- scope-retireSkill
- security-threat-modelerSkill
- service-mapperSkill
- test-quality-gatekeeperSkill
- vercel-react-best-practicesSkill
- vinculum-loopSkill
- vinculum-mapSkill
- web-design-guidelinesSkill
- work-autonomouslySkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 40
If it says openrsync, install GNU rsync:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Coder Workspace File Transfer
Move large files to (or from) a Coder Cloud Development Environment reliably. The naive
path — rsync -e "coder ssh" — is broken on macOS. Use a coder config-ssh host alias
with a protocol-clean, PTY-free SSH channel instead.
When to use
- Uploading a directory, dataset, build artifact, or binary to a Coder workspace.
rsync -e "coder ssh"fails, desyncs mid-transfer, or hangs.- A copy over
coder sshcorrupts or never completes. - You need a resumable transfer over a flaky dev tunnel.
The one-liner
coder config-ssh # one-time per machine
rsync -avP -e "ssh -T" /local/dir <workspace>.coder:/remote/target/dir/Instructions
- Generate SSH host aliases (one-time per machine/workspace):
This adds host entries tocoder config-ssh~/.ssh/config. Note the alias for your workspace from the output — typically<workspace>.coder(e.g. workspaceLoom→ hostLoom.coder). - Confirm you have GNU rsync (macOS ships the incompatible
openrsync):
If it saysrsync --versionopenrsync, install GNU rsync:brew install rsync - Ensure the remote target directory exists:
coder ssh <workspace> -- mkdir -p /remote/target/dir - Transfer — preferred (resumable):
rsync -avP -e "ssh -T" /local/dir <workspace>.coder:/remote/target/dir/-aarchive,-vverbose,-P=--partial --progress→ resumable.-e "ssh -T"disables PTY allocation — the essential fix.
- Transfer — fallback (no resume):
scp -r /local/dir <workspace>.coder:/remote/target/dir/ - Download (reverse direction) — swap the arguments:
rsync -avP -e "ssh -T" <workspace>.coder:/remote/dir ./local/target/
What NOT to do
- ❌
rsync -e "coder ssh" src host:dst— macOSopenrsyncdesyncs against the remote GNU rsync; even with GNU rsync,coder ssh's PTY corrupts the byte stream. - ❌ Omitting
-e "ssh -T"— the default TTY allocation breaks rsync/tar pipelines. - ❌ Trusting the macOS built-in
rsync— always verifyrsync --versionreports GNU.
Why this works
coder config-ssh turns the Coder tunnel into a standard SSH host. Any TCP-clean SSH
tool (rsync, scp, sftp) then works directly, instead of being wrapped by coder ssh,
which forces a PTY. Removing the PTY (ssh -T) and using GNU rsync's protocol gives a
clean binary channel that survives large, resumable transfers.
Reference
Full write-up with the failure matrix and a concrete Loom example:
docs/coder-large-file-upload.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

