Artifacts

Artifacts are files and outputs generated by skill executions. They’re automatically saved to your account for later access.

What is an Artifact?

When a skill execution produces files (documents, code, images, etc.), these are saved as artifacts. Each artifact includes:

  • ID - Unique numeric identifier
  • Title - Descriptive name (often derived from the skill or input)
  • Skill Name - The skill that created it
  • File Type - MIME type of the primary file
  • Files - One or more generated files
  • Metadata - Creation time, execution context, etc.

Artifact Types

TypeDescriptionExamples
text/markdownMarkdown documentsREADMEs, documentation
text/plainPlain text filesLogs, notes
application/jsonJSON dataAPI responses, configs
application/zipArchivesMulti-file outputs
image/*ImagesDiagrams, generated graphics

Viewing Artifacts

Via Mobile App

  1. Go to the Artifacts tab
  2. Tap an artifact to view details
  3. Tap Download or Share

Via MCP

{
  "tool": "list-artifacts",
  "arguments": {
    "limit": 20
  }
}

Via REST API

# List all artifacts
GET /api/v1/artifacts

# Get specific artifact
GET /api/v1/artifacts/:id

# Download artifact
GET /api/v1/artifacts/:id/download

List Artifacts via MCP

Via MCP

{
  "tool": "list-artifacts",
  "arguments": {
    "limit": 10
  }
}

Downloading Artifacts

Via MCP

Get a download URL:

{
  "tool": "download-artifact",
  "arguments": {
    "id": 123
  }
}

Response:

{
  "success": true,
  "data": {
    "id": 123,
    "title": "README.md",
    "downloadUrl": "/api/v1/artifacts/123/download"
  }

Direct Download

curl -O https://clanker.net/api/v1/artifacts/123/download \
  -H "x-auth-token: YOUR_AUTH_TOKEN"

Iterating on Artifacts

You can retrieve an artifact and use it as context for a new execution:

Via MCP

Retrieve artifact content first:

{
  "tool": "get-artifact",
  "arguments": {
    "id": "123"
  }
}

Then start a skill run via the REST API with that content in your input (skills are not executed over MCP):

curl -X POST https://clanker.net/api/v1/skills/readme-generator/run \
  -H "x-api-key: ck_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "input": "Here is my current README. Please add a section about installation." }'

Via REST API

# Get artifact details
GET /api/v1/artifacts/:id

# Start a new execution with the artifact content as context
POST /api/v1/skills/:slug/run
Content-Type: application/json

{
  "input": "Here is my current README. Please add a section about installation."
}

Deleting Artifacts

Via MCP

{
  "tool": "delete-artifact",
  "arguments": {
    "id": 123
  }
}

Via REST API

DELETE /api/v1/artifacts/:id

Artifact Storage

Artifacts are stored securely in object storage:

  • Retention: Artifacts are kept indefinitely
  • Size limits: Individual files up to 100MB
  • Access: Only accessible to the owning user

Multi-File Artifacts

Some skills generate multiple files. These are bundled into a single artifact with a manifest:

{
  "id": 123,
  "title": "Project Scaffold",
  "files": [
    { "path": "README.md", "size": 2048 },
    { "path": "src/index.ts", "size": 1024 },
    { "path": "package.json", "size": 512 }
  ]
}

Access individual files:

GET /api/v1/artifacts/:id/file/src/index.ts

Best Practices

  1. Review before deleting - Artifacts can’t be recovered after deletion
  2. Use search - Semantic search is powerful for finding old artifacts
  3. Resume when possible - Iterating on artifacts is more efficient than starting fresh
  4. Download important files - Keep local backups of critical outputs