Skip to content
Back to skills

Cordane

ASecurity

Hand files to the people you work with from inside Cordane — a terminal in a Cordane space, or a ticket worktree. Use when asked to send, share, show, export, download or attach a file, screenshot, report, log or build artifact, or when you produced one the person should look at. Covers `cordane get <path>` (offer a file or directory for download right now), `.cordane/outputs/` (attach files to the ticket when the run ends) and where files the humans attached land (`.cordane/attachments/`).

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
developmentgoshellgit

Works with

  • terminal
  • cli
  • mcp

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add cordane/cordane --skill cordane --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cordane?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cordane
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cordane-cordane/badge)](https://www.skillsdirectory.com/skills/cordane-cordane)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cordane
description: Hand files to the people you work with from inside Cordane — a terminal in a Cordane space, or a ticket worktree. Use when asked to send, share, show, export, download or attach a file, screenshot, report, log or build artifact, or when you produced one the person should look at. Covers `cordane get <path>` (offer a file or directory for download right now), `.cordane/outputs/` (attach files to the ticket when the run ends) and where files the humans attached land (`.cordane/attachments/`).
---

<!-- cordane-skill v2: installed by the Cordane hub and rewritten when the hub ships a newer one — edits made here are lost. Source: https://github.com/cordane/cordane/tree/main/skills -->

# Handing files to the humans (Cordane)

This machine is a Cordane worker. The people you work with watch a web UI (the hub), not this terminal, so a file you leave on disk is invisible to them until you hand it over. There are two channels; pick by timing.

| You want the person to… | Do | Where it lands |
|---|---|---|
| see a file **now** — a screenshot, a log, a report, an export | `cordane get <path>` | a download button for everyone watching this space, immediately |
| keep a file **with the ticket** — deliverables, the final report | write it into `.cordane/outputs/`, next to `.cordane/TICKET.md` | attached to the ticket when your run ends |

Both are fine for the same file. Never paste a file's contents or base64 into the conversation to "send" it, and never try to upload it somewhere else.

## `cordane get` — offer a file for download, right now

```
cordane get <path> [<path>...]
```

- Files or whole directories (a directory arrives as a `.tar.gz`); several paths at once are fine.
- Prints one line per path, e.g. `offered file report.pdf (1.2 MiB) — download it from the space's files ▾ menu`. That line is your confirmation: tell the person the file is offered, by name.
- Nothing is copied at offer time — the bytes are pulled through when someone clicks. Offering a large directory is cheap, but the file must still exist when they click, so don't delete or overwrite it right after.
- It only works inside a Cordane terminal. **Check `$CORDANE_SESSION_ID` first: if it is empty you are not in one** (a headless run, a plain ssh shell) — use `.cordane/outputs/` instead and say so. `cordane get` refuses with a clear message in that case, and a hub or worker that predates the command says so too.
- The offer goes to the **space** — the people watching this terminal — not to the ticket.

## `.cordane/outputs/` — attach to the ticket when the run ends

When you work a ticket, the directory your session started in (Cordane's prompts call it `$WORKING_DIR`) holds `.cordane/TICKET.md`. Write deliverables to `.cordane/outputs/` beside it, creating the directory if it is missing. When your run ends, every regular file there — up to 25 MB each; folders and symlinks are ignored — becomes an attachment on the ticket. The directory is git-excluded and is NOT for source changes: code stays in the repo.

On a multi-repo ticket that directory is the workspace root that CONTAINS the repo checkouts, not one of them.

## The board tools (`cordane mcp`)

If you have tools from an MCP server named `cordane` — `get_ticket`, `list_tickets`, `create_ticket`, `comment`, `request_human`, `attach_file`, `set_status_note` — they act on the ticket this session works:

- `attach_file <path>` puts a file from the worktree on the ticket **now**, without waiting for the run to end — the ticket-side twin of `cordane get`.
- `request_human` is how you say you are blocked or need a decision; it flags the ticket's card until a person resolves it. Don't stop silently and don't ask only in your final message.
- `create_ticket` files out-of-scope work you discovered into the Backlog; `comment` records findings on the ticket.

No such tools? The server is not registered with your CLI on this machine (`cordane mcp install` does it), or this is not a Cordane session. Everything above still works without it.

## Files from the humans

Files attached to the ticket are synced into the worktree at `.cordane/attachments/`, and `TICKET.md` lists them. Read them from there rather than asking for them again.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…