agentsclimarketplace

Elnora files

Skill Elnora-AI/elnora-plugins/elnora/skills/elnora-files

Elnora AI plugins marketplace — universal Agent Skills + MCP for bioprotocol generation

Install
npx -y skills add Elnora-AI/elnora-plugins --skill elnora-files

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

This skill should be used when the user asks to "list files", "read a file", "get file content", "view protocol output", "file versions", "version history", "download protocol", "upload file", "upload batch", "bulk upload", "create file", "archive file", "fork file", "promote file", "working copy", "commit working copy", "update file", "restore version", "share a file", "unshare a file", "file shares", "who can access a file", "move a file to a folder", or any task involving Elnora Platform file management. NOT for searching file contents across files — use elnora-search for that.

SKILL.md

9.1 KB, as published. Nobody here has run it

Elnora Files

Browse, read, create, upload, version, and manage files on the Elnora AI Platform.

Tool Access

Elnora is available via two methods. Use whichever is configured.

Option A — CLI via Bash (preferred)

Run commands via your Bash/Shell tool as elnora <group> <action> .... Verify with elnora --version. CLI uses ~5× fewer tokens than MCP.

Option B — MCP tools (when CLI isn't installed)

Look for tools prefixed mcp__elnora__ in your available tools. Call them with structured parameters (camelCase — e.g. projectId, not project-id). See the "MCP Tool Names" table below for the mapping.

If neither is available, tell the user to install one:

  • CLI: curl -fsSL https://cli.elnora.ai/install.sh | bash (macOS/Linux) or irm https://cli.elnora.ai/install.ps1 | iex (Windows)
  • MCP: claude mcp add elnora --transport http --scope user https://mcp.elnora.ai/mcp then /mcp to authenticate.

Never fabricate tool names. Valid commands are in the Commands section; their MCP equivalents are in the MCP Tool Names table.

Invocation

CLI="elnora"

Commands

List Files

$CLI --compact files list --project <PROJECT_ID>
$CLI --compact files list --project <PROJECT_ID> --page 2 --page-size 50
$CLI --compact --fields "id,name" files list --project <PROJECT_ID>

--project is required.

Get File Metadata

$CLI --compact files get <FILE_ID>

Returns metadata (name, type, size, timestamps) without actual content.

Get File Content

$CLI files content <FILE_ID>

Returns raw file content to stdout. Pipe to save:

$CLI files content <FILE_ID> > protocol.md

Note: --compact or --fields wraps output in JSON. Omit both for raw text.

Download File

$CLI files download <FILE_ID>

Downloads file content via the /download endpoint (may differ from content in backend handling).

Get Version History

$CLI --compact files versions <FILE_ID>
$CLI --compact files versions <FILE_ID> --page-size 10

Get Version Content

$CLI files version-content <FILE_ID> <VERSION_ID>

Both <FILE_ID> and <VERSION_ID> are positional. Returns raw content.

Create Version

$CLI --compact files create-version <FILE_ID>
$CLI --compact files create-version <FILE_ID> --content "Updated protocol text"

Restore Version

$CLI --compact files restore <FILE_ID> <VERSION_ID>

Both positional. Destructive — confirm with user first.

Create File

$CLI --compact files create --project <PROJECT_ID> --name "protocol.md" --type Document
$CLI --compact files create --project <PROJECT_ID> --name "data.csv" --type Dataset --folder <FOLDER_ID>
FlagRequiredNotes
--projectYesProject UUID
--nameYesFile name
--typeYesFile type (e.g. Document, Protocol, Dataset)
--folderNoFolder UUID

Upload File

$CLI --compact files upload --project <PROJECT_ID> --file-path /path/to/file.md
$CLI --compact files upload --project <PROJECT_ID> --file-path /path/to/data.csv --file-name "renamed.csv" --content-type "text/csv"

Three-step process (handled automatically): presigned URL, upload, confirm.

FlagRequiredNotes
--projectYesProject UUID
--file-pathYesLocal file path
--file-nameNoOverride filename
--content-typeNoMIME type (defaults to application/octet-stream)

Upload Batch

$CLI --compact files upload-batch --project <PROJECT_ID> --file-paths "a.pdf,b.docx,c.txt"
$CLI --compact files upload-batch --project <PROJECT_ID> --file-paths "file1.md,file2.md" --folder <FOLDER_ID>

Uploads up to 50 files. Returns per-file success/failure results.

FlagRequiredNotes
--projectYesProject UUID
--file-pathsYesComma-separated local file paths
--folderNoFolder UUID (applies to all files)

Confirm Upload

$CLI --compact files confirm-upload <FILE_ID>

Only needed if upload was interrupted after the PUT step.

Update File

$CLI --compact files update <FILE_ID> --name "new-name.md"
$CLI --compact files update <FILE_ID> --folder <FOLDER_ID>

Must provide at least one of --name or --folder.

Archive File

$CLI --compact files archive <FILE_ID>
# -> {"archived":true,"fileId":"<UUID>"}

Destructive — confirm with user before running.

Promote File

$CLI --compact files promote <FILE_ID> --visibility <LEVEL>

--visibility is required.

Fork File

$CLI --compact files fork <FILE_ID> --target-project <PROJECT_ID>

<FILE_ID> is positional (fileId). --target-project is a flag (targetProject doesn't end in "Id").

Working Copy

$CLI --compact files working-copy <FILE_ID>
$CLI --compact files working-copy <FILE_ID> --task <TASK_ID>

Commit Working Copy

$CLI --compact files commit <FILE_ID>

Search File Content

$CLI --compact files search-content --query "annealing temperature"
$CLI --compact files search-content --query "BRCA1" --project <PROJECT_ID>
$CLI --compact files search-content --query "gel electrophoresis" --page-size 10

Full-text search inside file contents. Also available as search file-content.

FlagRequiredNotes
--queryYesSearch query string (no -q shorthand)
--projectNoProject UUID to filter
--pageNoPage number (default 1)
--page-sizeNoResults per page (default 25, max 100)

Move File

$CLI --compact files move <FILE_ID> <PARENT_FOLDER_ID>

Move a file into a different Knowledge Base folder. Both <FILE_ID> and <PARENT_FOLDER_ID> are positional. You need write access on both the file's current folder and the destination.

Share File

$CLI --compact files share <FILE_ID> --user-id <USER_ID>
$CLI --compact files share <FILE_ID> --user-id <USER_ID> --role viewer
$CLI --compact files share <FILE_ID> --org-wide

Grant access to a file. Provide exactly one recipient: --user-id (a specific member) or --org-wide (everyone in the organization).

Flag/ArgRequiredNotes
<FILE_ID>YesPositional — file UUID
--user-id*Member's numeric user id. Find it with orgs directory.
--org-wide*Share with the whole organization
--roleNoviewer, editor (default), or admin

* Exactly one of --user-id / --org-wide is required.

List / Revoke File Shares

$CLI --compact files shares <FILE_ID>              # list current shares (each has an "id" = ACE id)
$CLI --compact files unshare <FILE_ID> <ACE_ID>    # revoke one share

MCP Tool Names

CLI commandMCP tool name
files listelnora_files_list
files getelnora_files_get
files contentelnora_files_content
files downloadelnora_files_download
files versionselnora_files_versions
files version-contentelnora_files_versionContent
files create-versionelnora_files_createVersion
files restoreelnora_files_restore
files createelnora_files_create
files uploadelnora_files_upload
files upload-batchelnora_files_uploadBatch
files confirm-uploadelnora_files_confirmUpload
files updateelnora_files_update
files archiveelnora_files_archive
files promoteelnora_files_promote
files forkelnora_files_fork
files working-copyelnora_files_workingCopy
files commitelnora_files_commit
files search-contentelnora_files_searchContent
files moveelnora_files_move
files shareelnora_files_share
files unshareelnora_files_unshare
files shareselnora_files_shares

Agent Recipes

Read a protocol from a project:

$CLI --compact --fields "id,name" files list --project <PROJECT_ID>
$CLI files content <FILE_ID>

Upload a file and reference it in a task:

$CLI --compact files upload --project <PROJECT_ID> --file-path /path/to/protocol.md
# Use the returned file ID:
$CLI --compact tasks send <TASK_ID> --message "Optimize this protocol" --file-refs "<FILE_ID>" --wait

Edit-in-place (working copy):

WC=$($CLI --compact files working-copy <FILE_ID> | jq -r '.id')
# ... make edits externally ...
$CLI --compact files commit "$WC"

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.