with one click
with one click
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | slay-artifacts |
| description | Manage task artifacts (files, folders) via the slay CLI |
| trigger | auto |
Artifacts are files attached to tasks, stored on disk at {data-dir}/artifacts/{taskId}/{artifactId}.ext. They can be text files, images, or any binary content. Use artifacts to attach specifications, screenshots, logs, or any reference material to a task.
The --task flag defaults to $SLAYZONE_TASK_ID for create, upload, and mkdir. Note: list requires an explicit task ID argument.
slay tasks artifacts list <taskId> [--json] [--tree] — list all artifacts for a task.
--tree shows an indented folder structureslay tasks artifacts read <artifactId> — output artifact content to stdout.
slay tasks artifacts search <query> [--task <id>] [--all-tasks] [--folder <id>] [--titles-only] [--content-only] [--regex] [--case-sensitive] [--limit <n>] [--max-matches <n>] [--json] — search artifact titles and file contents.
--task (or $SLAYZONE_TASK_ID) unless --all-tasks is set--regex treats query as a JS RegExp; invalid regex exits 1[{ artifactId, taskId, title, matches: [{ type, line?, snippet, contextBefore?, contextAfter? }] }]slay tasks artifacts create <title> [--task <id>] [--folder <id>] [--copy-from <path>] [--render-mode <mode>] [--json] — create a new artifact.
--copy-from[title](artifact:<artifact-id>)slay tasks artifacts upload <sourcePath> [--task <id>] [--title <name>] [--json] — upload a file from disk as an artifact.
slay tasks artifacts update <artifactId> [--title <name>] [--render-mode <mode>] [--json] — update artifact metadata.
slay tasks artifacts write <artifactId> [--mutate-version [ref]] — replace the artifact's content entirely from stdin (pipe required).
--mutate-version (bare): autosave to current version (auto-branches if locked)--mutate-version <ref>: bypass lock and mutate the target version in placeslay tasks artifacts append <artifactId> [--mutate-version [ref]] — append to the artifact's content from stdin (pipe required).
writeslay tasks artifacts delete <artifactId> — delete an artifact and its file.
slay tasks artifacts path <artifactId> — print the artifact's absolute file path on disk.
Artifacts can be organized into folders. Folder operations support cycle detection — you can't move a folder into its own child.
slay tasks artifacts mkdir <name> [--task <id>] [--parent <id>] [--json] — create a folder, optionally nested under a parent.slay tasks artifacts rmdir <folderId> [--json] — delete a folder.
slay tasks artifacts mvdir <folderId> --parent <id|"root"> [--json] — move a folder to a new parent.
"root" to move to top levelslay tasks artifacts mv <artifactId> --folder <id|"root"> [--json] — move an artifact into a folder.
"root" for top levelEvery artifact has immutable, content-addressed version history. Writes via write/append/create or the app UI create new versions automatically. Versions can be referenced by: integer (5), hash prefix (a1b2), name (milestone-1), relative (-1, -2), or HEAD~N.
slay tasks artifacts versions list <artifactId> [--limit <n>] [--offset <n>] [--json] — list version history, newest first.
slay tasks artifacts versions read <artifactId> <version> — print content of a specific version to stdout.
slay tasks artifacts versions diff <artifactId> <a> [b] [--no-color] [--json] — diff two versions.
b defaults to latestslay tasks artifacts versions current <artifactId> [--json] — print the current (HEAD) version.
slay tasks artifacts versions set-current <artifactId> <version> [--json] — set the current (HEAD) version.
slay tasks artifacts versions create <artifactId> [--name <name>] [--json] — create a version from the working copy (no-op if content unchanged).
slay tasks artifacts versions rename <artifactId> <version> [newName] [--clear] [--json] — set, change, or clear a version's name.
--clear or omit newName to clearpruneslay tasks artifacts versions prune <artifactId> [--keep-last <n>] [--no-keep-named] [--no-keep-current] [--dry-run] [--json] — remove old versions.
Download artifacts in various formats. Default type is raw (original file).
slay tasks artifacts download <artifactId> [--type raw|pdf|png|html] [--output <path>] [--json] — download a single artifact.slay tasks artifacts download --type zip [--task <id>] [--output <path>] [--json] — download all task artifacts as a ZIP archive (no artifactId needed).Available types by render mode:
| Type | Available for |
|---|---|
| raw | all files |
| markdown, code, html, svg, mermaid | |
| png | svg, mermaid |
| html | markdown, code, mermaid |
| zip | all (task-level) |
pdf, png, and html exports require the SlayZone app to be running. --output defaults to the current directory with an auto-generated filename.
echo "Meeting notes from standup" | slay tasks artifacts create "standup-notes.md"
cat report.csv | slay tasks artifacts write <artifactId>
curl -s https://example.com/data.json | slay tasks artifacts append <artifactId>