agentleFS
GuusLabGuusLab/nemi-plugin/skills/nemi-basics/SKILL.md

nemi-basics

Skill0 starsChanged 46 days agoMITView on GitHub

How Nemi is put together and how to move around it safely. Use whenever the user mentions Nemi, their Nemi workspace, or asks to find, open, change or share anything that lives in Nemi, and before the first Nemi tool call of a conversation.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If a name search in file_list returns nothing, try the Docs, Sheets, Forms and Canvas lists before telling the user it does not exist.

    line 28
  2. Very specific:

    Start with workspace_list when a tool needs a workspace_id and you do not have one.

    line 32
  3. Distinctive:

    Never invent an id, and never guess one from a name.

    line 35
  4. Distinctive:

    Ask before anything that cannot be taken back or that puts something on the open internet, and say exactly what will happen:

    line 48
  5. Distinctive:

    If a tool refuses (a plan limit, a permission, a feature that is not available on the account), tell the user what it said and what they …

    line 59
  6. Distinctive:

    Only the first tab of a spreadsheet is reachable, and cell formatting is set in the app.

    line 66
  7. Very specific:

    When the user asks how to do something in the Nemi app itself (a setting, a button, a plan feature), search the help centre with …

    line 70

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Working in Nemi

Nemi is the user's workspace: files and folders, Nemi Docs, Sheets, Forms and Canvas boards, share and upload links, Rooms, Beam, Meet and calendars made in Nemi. Every tool acts as the signed-in user, with their permissions and nothing more.

Where things live

Nemi keeps different kinds of things in different places, and the tools follow that split. Looking in the wrong place is the most common reason a search "finds nothing".

The user saysWhere it isHow to find it
a file, a PDF, a photo, a folderthe file tree of a workspacefile_list (with query to search by name across every workspace)
a document, a doc, notes written in NemiNemi Docsdoc_list, then doc_get
a spreadsheet, a sheet, a trackerNemi Sheetssheet_list, then sheet_get
a form, a survey, a sign-upNemi Formsform_list, then form_get
a board, a whiteboard, a diagramNemi Canvascanvas_list, then canvas_get
something someone beamed to themBeambeam_list (never in file_list)
a client space, a project page for guestsRoomsroom_list, then room_get
a meeting linkMeetmeet_list
their agendaNemi calendarscalendar_events
a link they sent outshares and upload linksshare_list, upload_link_list
how Nemi itself worksthe help centrehelp_search, then help_article

If a name search in file_list returns nothing, try the Docs, Sheets, Forms and Canvas lists before telling the user it does not exist. A "report" is as likely to be a Nemi Doc as a PDF.

Ids

  • Start with workspace_list when a tool needs a workspace_id and you do not have one. If the user has one workspace, use it without asking. If they have several and the request does not say which, ask, naming the workspaces.
  • Ids are never interchangeable. A file id is not a document id, a document id is not a sheet id, a share id is not a file id. Use the id the tool asks for, taken from the tool that returned that kind of thing.
  • Folder ids accept "root" for the top of a workspace.
  • Never invent an id, and never guess one from a name. List first.

Getting files into Nemi

  • Text you write (notes, Markdown, CSV, JSON, code): file_write. For something people will keep editing, a Nemi Doc or Sheet is usually better.
  • A small binary you already hold, under 1 MB (an icon, a screenshot): file_upload with the bytes base64-encoded.
  • Anything larger, up to 50 MB, or a file on the user's computer: file_upload_url, then PUT the bytes to the returned address (or give the user the curl line), then file_confirm_upload with the upload_ticket. Never base64 a large file into a tool call.
  • Files from other people: an upload link (see the share-and-collect skill).

Before you act

Reads are free: list, search and read as much as you need to be sure.

Ask before anything that cannot be taken back or that puts something on the open internet, and say exactly what will happen:

  • Permanent: folder_delete (always permanent), doc_delete, sheet_delete, form_delete, canvas_delete, share_revoke, meet_delete, and file_delete with permanent or on a free plan (free plans have no trash).
  • Public: share_create, upload_link_create, doc_publish, form_publish, room_create, room_add_file, beam_send, meet_create. A link from these is a real, working address that anyone holding it can open.

When the user has clearly asked for the exact action ("delete the draft called X", "share this with the client"), that request is the confirmation; do not ask twice. When you are about to do more than they said (deleting five files when they named one, publishing when they asked for a draft), stop and check.

Reporting back

  • Links that tools return (shares, upload links, published docs and forms, Rooms, meetings, downloads) go in your reply in full, exactly as returned. Never shorten, rebuild or guess a Nemi address, and never expose a storage address.
  • Say what changed in plain words: "Moved 14 files into 4 folders", not the raw tool output.
  • If a tool refuses (a plan limit, a permission, a feature that is not available on the account), tell the user what it said and what they can do about it. Do not retry the same call hoping for a different answer.
  • An undo button exists only inside Nemi's own assistant. Changes made through this connection are not recorded for undo, which is one more reason to confirm before destructive steps.

What is out of reach

  • Vault files never open through this connection, by design.
  • Calendars connected from Google, Outlook or an ICS feed cannot be read or written; only calendars made in Nemi can. An agenda read here may be incomplete; say so.
  • Only the first tab of a spreadsheet is reachable, and cell formatting is set in the app.
  • Joining a meeting, recording and receiving a Beam happen in a browser.
  • Gallery photo libraries and account settings are not part of this connection.

When the user asks how to do something in the Nemi app itself (a setting, a button, a plan feature), search the help centre with help_search and answer from the article rather than from memory.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.