anyproto/anytype-heart/anytype

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Read, search, create and edit Anytype objects through the anytype CLI. Use when the user asks to find notes/tasks/pages in Anytype, create objects, tick checkboxes, edit document text, fill tables, or reorganize content. Task-shaped verbs over the local API; results are numbered handles you pass back — never copy long ids.

Install

npx vskill@latest install anyproto/anytype-heart/anytype

SKILL.md

Anytype task tools

Twelve verbs over the local Anytype API. Everything composes through a session: find numbers its results (1, 2, …) and sets the working space; every other verb takes --object <number>.

Setup: the local Anytype app must be running; ANYTYPE_API_KEY holds an API key from the app's settings (ANYTYPE_API_URL defaults to http://127.0.0.1:31009).

The loop

sh
anytype spaces # space ids, when none is known
# Work — bafyspace1
anytype find --space bafyspace1 --type Task --filter 'done = false'
# 1. Prepare the Q3 report (Task)
# 2. Ship the beta (Task)
anytype edit-text --object 1 --find "Q3" --replace "Q4"
# --block is optional: the snippet locates the block when it matches
# exactly one; an ambiguous snippet refuses and lists the candidates
anytype read --object 1 --mode outline # block ids + structure
  1. spaces when no space id is known — it lists name — id.
  2. find next — it creates the handles and the working space.
  3. describe before you create or set properties — it lists the live

property names and each one's format and options. Address properties by the names describe shows ("Due date"); select option names must match exactly.

  1. read before you edit blocks — block ids come from read

(--mode outline for structure, full mode for text; table row and column ids come from full mode too).

Intent → verb recipes

IntentVerb — not that other thing
complete/close a task objectset-properties --object 1 --set '{"Done":true}' (or the status option describe shows, e.g. {"Status":"Done"}) — NOT check-item, which is for checkbox blocks inside a document
tick a checklist line in a notecheck-item --object 1 --block ab3f2 --checked
change one word/phraseedit-text with a short unique snippet — never retype the block; --block only when the snippet alone is ambiguous (the error lists the candidates)
delete a word/phraseedit-text --find "the phrase" --replace "" — an empty replacement deletes
delete several blocksdelete-block --block "ab3f2,c81d0,e0001" — ONE call, comma-separated; it removes all of them or none — never one call per block
add notes/sections/checklistsadd-blocks --markdown '…' — write markdown, the server parses it
fill one table cellset-cell — never rewrite the table; row/col ids come from full read
clear one table cellset-cell … --value "" — an empty value clears
assign to the current uservalue "@me" — e.g. --set '{"Assignee":"@me"}'
due datestoday, tomorrow, weekday names, +3d, or 2026-08-01
find "my open tasks"--filter 'Assignee = "@me" AND Done = false'

Filter strings

--filter is a compact expression, not JSON: Done = false AND (Due_date < currentWeek() OR Due_date IS EMPTY) · Status IN ("In progress", "Blocked") · Name CONTAINS "report" · Last_modified_date > daysAgo(7). String values take double quotes; date presets are functions (today(), currentWeek(), daysAgo(n)). Property names here are written as identifiers — a multi-word name takes underscores (Due_date for "Due date"); a name no identifier can spell (C++, 50% done) cannot ride a filter string.

Caveats

  • Text is markdown source. edit-text find/replace operates on the

block's markup: **, [, ~~ in a replacement become real formatting. Escape with \ when you mean the literal character.

  • Select options are never created by these verbs. An unknown option

name is an error listing the existing names — fix the spelling (option names are case-sensitive). --create-missing is the deliberate escape. Type and property NAMES are more forgiving: case, _/- and spaces fold away, so due_date, dueDate and Due date all address one property; if two properties answer to one spelling the error names both — it never guesses.

  • Handles expire on the next find. Re-run find and use the new

numbers. Block ids come from read — use them as served, and re-read after a structural edit rather than reusing remembered ones. A block id always names an EXISTING block: new content is authored without ids (add-blocks takes none). Every edit receipt names the object it changed (ok — "Groceries": …) — check it matches your intent.

  • One verb, one intent. There is no batch; run verbs in sequence.

Retries are safe: an identical re-run within a minute is deduplicated, including after a failed or timed-out attempt.

  • Errors are self-describing and name valid alternatives — read them, fix

the named field, retry once. Do not loop blindly.

References

  • anytype tools — the machine-readable manifest: per-tool JSON schema,

worked example, GBNF grammar (constrained decoding), and the filter grammar (EBNF + GBNF). --tier small narrows it to the 8-tool set for ~8B models (large, the default, is all twelve).

  • anytype mcp --tier small|large — serve the same tools over MCP stdio

for LOCAL models (Ollama/LM Studio-class hosts). Coding agents reading this skill should keep using the verbs directly — the CLI is the intended delivery for them; mcp exists for hosts that cannot run commands. Session state is in-memory for the server's lifetime.

  • anytype help — the verb list; anytype <verb> --help — its flags.
  • Spec: core/api/APIV2.md §7 (the wrapper contract), github.com/anyproto/any-block/format/v2/SPEC.md

(the document format the full-read mode returns).

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/anyproto/anytype-heart/anytype/badge)](https://verified-skill.com/skills/anyproto/anytype-heart/anytype)

Something wrong with this skill or its page? Tell us.