
Cargo Content
- 3.2k installs
- 15 repo stars
- Updated August 3, 2026
- getcargohq/cargo-skills
cargo-content is a Claude Code skill that uploads and organizes files and libraries in the Cargo content domain to ground AI agents with RAG.
About
cargo-content is a Claude Code skill that manages workspace knowledge in the Cargo content domain. It uploads and organizes files such as PDFs, CSVs, and text, and creates native or connector-backed libraries so an AI agent can ground its responses in retrieval-augmented generation. A developer uses it after installing the Cargo CLI to build a knowledge base and then attach those files or libraries to an agent release. It is knowledge and agent-tooling infrastructure, not marketing or SEO copy.
- Uploads and organizes files (PDFs, CSVs, text) into Cargo workspace knowledge libraries
- Creates native or connector-backed libraries for retrieval-augmented generation (RAG)
- Runs through the @cargo-ai/cli npm package against a Cargo account
Cargo Content by the numbers
- 3,228 all-time installs (skills.sh)
- +535 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #246 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
cargo-content capabilities & compatibility
Requires a Cargo account and CLI; auth via browser --oauth or an API token.
- Capabilities
- file upload · knowledge library · rag grounding · connector sync
- Use cases
- research
- Runs
- Local or remote
- Pricing
- Bring your own API key
- Requires keys
- CARGO_API_TOKEN
What cargo-content says it does
Manage workspace knowledge files and libraries in the Cargo content domain
These are the binary/grouped knowledge resources that ground agent responses (retrieval-augmented generation, RAG).
Requires @cargo-ai/cli (npm) and a Cargo account (browser sign-in via --oauth, or an API token)
npx skills add https://github.com/getcargohq/cargo-skills --skill cargo-contentAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.2k |
|---|---|
| repo stars | ★ 15 |
| Last updated | August 3, 2026 |
| Repository | getcargohq/cargo-skills ↗ |
How do I get my PDFs and CSVs into an agent so it can answer from them?
Upload and organize workspace knowledge files and libraries via the Cargo CLI so an AI agent can ground its answers in RAG.
Who is it for?
Developers building a Cargo AI agent who need to upload knowledge files and libraries for RAG grounding.
Skip if: Skip if you want marketing copy or SEO content; this only manages knowledge resources.
When should I use this skill?
When the user wants to upload or organize knowledge files, build a knowledge library, or sync an external knowledge source in Cargo.
What you get
Files and libraries are uploaded and organized, each with a uuid to attach to an agent release.
- Uploaded knowledge files with uuids
- Native or connector-backed libraries
By the numbers
- Requires CLI >= 1.0.19 for the content domain
Files
Cargo CLI — Content
Workspace 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).
New top-level domain (CLI ≥ 1.0.19). Files and libraries moved out of theaidomain into thecontentdomain —cargo-ai content file …andcargo-ai content library …. The oldcargo-ai ai file …commands no longer exist; anunknown commanderror means you're on the old path.
For attaching a file or library to an agent (via the release resources array), use `cargo-ai`.For folders that organize files, use `cargo-workspace-management` (cargo-ai workspaceManagement folder …).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`.See references/examples/files.md for end-to-end file, library, and attach-to-agent examples.See references/response-shapes.md for full JSON response structures.See references/troubleshooting.md for common errors and how to fix them.Prerequisites
See `../cargo/references/prerequisites.md` for install, login (--oauth / --token), JSON output conventions, and error shapes. Verify the session with cargo-ai whoami before running any of the commands below.
Discover resources first
cargo-ai content file list # all uploaded files (uuid, name, contentType, size)
cargo-ai content library list # knowledge libraries (native or connector-backed)Files
Upload 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`).
# List all files
cargo-ai content file list
# Get a single file
cargo-ai content file get <file-uuid>
# Upload a file (optionally straight into a folder)
cargo-ai content file upload --file-path ./knowledge-base.pdf
cargo-ai content file upload --file-path ./knowledge-base.pdf --folder-uuid <folder-uuid>
# Update a file's name or folder
cargo-ai content file update --uuid <file-uuid> --name "Q1 Research Notes"
cargo-ai content file update --uuid <file-uuid> --folder-uuid <folder-uuid>
# Remove a file
cargo-ai content file remove <file-uuid>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 usecontent filehere. See `cargo-context`.
Libraries
A library groups files into one resource an agent can reference. There are two kinds:
- `native` — workspace-managed collections of uploaded files.
- `connector` — synced from an external source (e.g. a help center or knowledge base) through an unstructured-data extractor (
--extractor-slug). Get theconnectorUuidfrom `cargo-connection`.
# List libraries (filter by kind or connector)
cargo-ai content library list
cargo-ai content library list --kind native
cargo-ai content library list --kind connector --connector-uuid <connector-uuid>
# Get a single library
cargo-ai content library get <library-uuid>
# Create a connector-backed library
cargo-ai content library create \
--name "Help Center" \
--connector-uuid <connector-uuid> \
--extractor-slug <extractor-slug> \
--folder-uuid <folder-uuid> \
--config '{}'
# Update / remove
cargo-ai content library update --uuid <library-uuid> --name "Updated Name"
cargo-ai content library remove <library-uuid>Attaching to an agent
Files 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` (ai release update-draft --resources … → ai release deploy-draft). See references/examples/files.md for the upload → attach → deploy sequence.
Help
Every command supports --help:
cargo-ai content file upload --help
cargo-ai content library create --helpFile & library examples
CLI ≥ 1.0.19: files and libraries live in the top-level `content` domain (cargo-ai content file …,cargo-ai content library …). The oldcargo-ai ai file …commands no longer exist.
Files
List all files
cargo-ai content file listUpload a file
cargo-ai content file upload --file-path ./knowledge-base.pdfSupported content types include PDFs, CSVs, plain text, and other common document formats. The response includes the uuid and s3Filename needed to reference the file.
Upload and attach to an agent
# 1. Upload the file
cargo-ai content file upload --file-path ./product-docs.pdf
# → file.uuid
# 2. Add the file as a resource on the agent's draft release
cargo-ai ai release update-draft --agent-uuid <agent-uuid> \
--resources '[{"kind":"file","slug":"product_docs","name":"Product Docs","description":null,"prompt":null,"items":[{"kind":"file","fileUuid":"<file-uuid>"}]}]'
# 3. Deploy
cargo-ai ai release deploy-draft --agent-uuid <agent-uuid> \
--language-model-slug gpt-4o \
--integration-slug openaiUpload to a folder
Folders are managed by the `cargo-workspace-management` skill — see its references/examples/folders.md for create/list/update.
# 1. Find the folder (kind: "file")
cargo-ai workspaceManagement folder list
# 2a. Upload straight into the folder…
cargo-ai content file upload --file-path ./notes.pdf --folder-uuid <folder-uuid>
# 2b. …or move an existing file afterwards
cargo-ai content file update --uuid <file-uuid> --folder-uuid <folder-uuid>Rename a file
cargo-ai content file update --uuid <file-uuid> --name "Q1 Research Notes"Remove a file
cargo-ai content file remove <file-uuid>Audit files by size
cargo-ai content file list
# → Check the "size" field (in bytes) for each file
# → 1048576 bytes = 1 MBLibraries
A library groups files into one resource an agent can reference. native libraries are workspace-managed; connector-backed libraries sync documents from an external source through an unstructured-data extractor.
# List libraries, optionally filtered
cargo-ai content library list
cargo-ai content library list --kind native
cargo-ai content library list --kind connector --connector-uuid <connector-uuid>
# Get one
cargo-ai content library get <library-uuid>
# Create a connector-backed library
cargo-ai content library create \
--name "Help Center" \
--connector-uuid <connector-uuid> \
--extractor-slug <extractor-slug> \
--folder-uuid <folder-uuid> \
--config '{}'
# Update / remove
cargo-ai content library update --uuid <library-uuid> --name "Updated Name"
cargo-ai content library remove <library-uuid>Content response shapes
Full JSON response structures for the content domain. All commands output JSON to stdout; failures exit non-zero with {"errorMessage": "..."}.
cargo-ai content file list
{
"files": [
{
"uuid": "file-uuid",
"workspaceUuid": "...",
"libraryUuid": "library-uuid",
"userUuid": null,
"name": "knowledge-base.pdf",
"isTemporary": false,
"folderUuid": null,
"s3Filename": "...",
"openAiFileId": "...",
"contentType": "application/pdf",
"size": 1048576,
"isIndexedInOpenAiVectorStore": true,
"externalId": null,
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-15T00:00:00Z",
"deletedAt": null,
"kind": "native"
}
]
}Each file is a discriminated union on kind: "native" (as above) or "connector", which adds a connectorUuid: string.
Key fields: uuid (used to reference in agent release resources — see `cargo-ai`), libraryUuid (the library the file belongs to), name, contentType, size (in bytes), folderUuid (null unless filed into a folder), isIndexedInOpenAiVectorStore (whether it's retrievable for RAG yet), kind (native or connector; the latter carries connectorUuid).
cargo-ai content library list
The exact JSON envelope isn't pinned here (capture it from a livecargo-ai content library listwhen you need field-level certainty). Each library carries at least:uuid(referenced in agent releaseresources),name,kind(nativeorconnector), and — forconnector-backed libraries — theconnectorUuidand the extractor it syncs through. Filter the list with--kind native|connectorand--connector-uuid <uuid>.
Content troubleshooting
Common errors in the content domain and how to fix them.
unknown command 'file' / unknown command 'library'
File and library commands moved from the ai domain to the new top-level `content` domain in CLI ≥ 1.0.19. Use cargo-ai content file … / cargo-ai content library … — the old cargo-ai ai file … path no longer exists. If you still hit this on the new path, bump the CLI: npm install -g @cargo-ai/cli@latest.
fileNotFound
The file UUID does not exist or has been deleted. Run cargo-ai content file list to get the current list.
folderNotFound
The folder UUID passed to --folder-uuid does not exist. Folders are managed by the `cargo-workspace-management` skill — run cargo-ai workspaceManagement folder list to find valid folder UUIDs, or cargo-ai workspaceManagement folder create --kind file ... to create one.
Upload fails or times out
Large files may take longer to upload. Ensure the file path is correct and the file is not locked by another process.
Library created but the agent doesn't use it
A file or library is inert until it's attached to an agent's deployed release. Add it to the draft release resources array and deploy — see `cargo-ai` and examples/files.md.