{"id":17897,"plugin_id":"plugins_6a7d29277df08191a68f23401570b188","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:27.347Z","digest":"a7c898b28e0f6e5877c93c596e6aac69be923fe28249a69996c3454c27e44f50","against":null,"payload":{"name":"cargo-content","description":"Manage the knowledge a Cargo workspace holds — upload files (PDF, CSV, text), rename and organize them, and build native or connector-backed libraries that sync from an external source, so agents can retrieve them (RAG). Triggers: \"upload this PDF\", \"add these docs as knowledge\", \"build a knowledge base\", \"sync our help center into Cargo\", \"what files are in the workspace\", \"index this folder\", \"attach our pricing sheet\". Skip when: wiring the file or library into an agent — use cargo-ai; uploading a CSV that drives a batch run — that is a workspace-management file upload.","included_files":[{"relative_path":"references/examples/files.md","size_in_bytes":2836},{"relative_path":"references/response-shapes.md","size_in_bytes":1782},{"relative_path":"references/troubleshooting.md","size_in_bytes":1358},{"relative_path":"skill-metadata.json","size_in_bytes":801}],"skill_md_contents":"---\nname: cargo-content\ndescription: \"Manage the knowledge a Cargo workspace holds — upload files (PDF, CSV, text), rename and organize them, and build native or connector-backed libraries that sync from an external source, so agents can retrieve them (RAG). Triggers: \\\"upload this PDF\\\", \\\"add these docs as knowledge\\\", \\\"build a knowledge base\\\", \\\"sync our help center into Cargo\\\", \\\"what files are in the workspace\\\", \\\"index this folder\\\", \\\"attach our pricing sheet\\\". Skip when: wiring the file or library into an agent — use cargo-ai; uploading a CSV that drives a batch run — that is a workspace-management file upload.\"\nversion: \"1.0.1\"\ncompatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token\nhomepage: https://github.com/getcargohq/cargo-skills\n---\n\n# Cargo CLI — Content\n\nWorkspace **knowledge** management: upload and organize **files** (PDFs, CSVs, text) and group or sync them into **libraries**. These are the binary/grouped knowledge resources that ground agent responses (retrieval-augmented generation, RAG).\n\n> **New top-level domain (CLI ≥ 1.0.19).** Files and libraries moved out of the `ai` domain into the `content` domain — `cargo-ai content file …` and `cargo-ai content library …`. The old `cargo-ai ai file …` commands no longer exist; an `unknown command` error means you're on the old path.\n\n> For **attaching** a file or library to an agent (via the release `resources` array), use [`cargo-ai`](../cargo-ai/SKILL.md).\n> For **folders** that organize files, use [`cargo-workspace-management`](../cargo-workspace-management/SKILL.md) (`cargo-ai workspaceManagement folder …`).\n> For batch-run **input** files (CSVs uploaded to drive a batch), that's a different surface — `cargo-ai workspaceManagement file upload` — documented in [`cargo-workspace-management`](../cargo-workspace-management/SKILL.md).\n\n> See `references/examples/files.md` for end-to-end file, library, and attach-to-agent examples.\n> See `references/response-shapes.md` for full JSON response structures.\n> See `references/troubleshooting.md` for common errors and how to fix them.\n\n## Bootstrap\n\nAlready signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.\n\n```bash\nnpm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write\n```\n\nEvery command prints JSON to stdout; failures exit non-zero with `{\"errorMessage\": \"...\"}`. Anything that creates a run or a batch is async — pass `--wait-until-finished` or poll the matching `get`. When the full skill bundle is installed, [`../cargo/references/prerequisites.md`](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin-only surface.\n\n## Discover resources first\n\n```bash\ncargo-ai content file list                 # all uploaded files (uuid, name, contentType, size)\ncargo-ai content library list              # knowledge libraries (native or connector-backed)\n```\n\n## Files\n\nUpload files (PDFs, CSVs, text) so an agent can ground its responses in specific knowledge. The upload response includes the `uuid` you reference when attaching the file to an agent release (see [`cargo-ai`](../cargo-ai/SKILL.md)).\n\n```bash\n# List all files\ncargo-ai content file list\n\n# Get a single file\ncargo-ai content file get <file-uuid>\n\n# Upload a file (optionally straight into a folder)\ncargo-ai content file upload --file ./knowledge-base.pdf\ncargo-ai content file upload --file ./knowledge-base.pdf --folder-uuid <folder-uuid>\n\n# Update a file's name or folder\ncargo-ai content file update --uuid <file-uuid> --name \"Q1 Research Notes\"\ncargo-ai content file update --uuid <file-uuid> --folder-uuid <folder-uuid>\n\n# Remove a file\ncargo-ai content file remove <file-uuid>\n```\n\n> **Reading content files from the context sandbox.** Uploaded content files are also available **read-only** under `.files/` in the context runtime sandbox, so a command run there can consume them — e.g. `cargo-ai context runtime execute --command ls --args '[\"-1\",\".files\"]'`. The directory sits outside the committed context tree (never pushed, not writable); to add or change files use `content file` here. See [`cargo-context`](../cargo-context/SKILL.md).\n\n## Libraries\n\nA library groups files into one resource an agent can reference. There are two kinds:\n\n- **`native`** — workspace-managed collections of uploaded files.\n- **`connector`** — synced from an external source (e.g. a help center or knowledge base) through an unstructured-data extractor (`--extractor-slug`). Get the `connectorUuid` from [`cargo-connection`](../cargo-connection/SKILL.md).\n\n```bash\n# List libraries (filter by kind or connector)\ncargo-ai content library list\ncargo-ai content library list --kind native\ncargo-ai content library list --kind connector --connector-uuid <connector-uuid>\n\n# Get a single library\ncargo-ai content library get <library-uuid>\n\n# Create a connector-backed library\ncargo-ai content library create \\\n  --name \"Help Center\" \\\n  --connector-uuid <connector-uuid> \\\n  --extractor-slug <extractor-slug> \\\n  --folder-uuid <folder-uuid> \\\n  --config '{}'\n\n# Update / remove\ncargo-ai content library update --uuid <library-uuid> --name \"Updated Name\"\ncargo-ai content library remove <library-uuid>\n```\n\n## Attaching to an agent\n\nFiles and libraries are knowledge **resources** — they do nothing until attached to an agent via that agent's draft release `resources` array, then deployed. That wiring lives in [`cargo-ai`](../cargo-ai/SKILL.md) (`ai release update-draft --resources …` → `ai release deploy-draft`). See `references/examples/files.md` for the upload → attach → deploy sequence.\n\n## Help\n\nEvery command supports `--help`:\n\n```bash\ncargo-ai content file upload --help\ncargo-ai content library create --help\n```\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}