anywrite
Helps your agent interact with the Anytype local API. It controls objects, searches, and files. It's useful for managing data in an integrated way.
What it does
Anywrite is a tool that lets you control the Anytype application from your computer. You can use it to organize your notes, tasks, and other content within Anytype, as if you were typing commands in a terminal.
When to use it
- ✓When you want to create, update, or search your notes and tasks in Anytype.
- ✓To organize your content in Anytype using tags, types, or lists.
- ✓If you need to upload files to Anytype or chat within it automatically.
Example of what to ask your AI
“Create a task named 'Buy bread' in Anytype.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You need to have the Anytype application installed and running on your computer. Then, you use Anywrite to send specific commands, like creating a new note or searching for something you've already saved.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill anywriteOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/anywrite/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
anywrite
Overview
anywrite is a single compiled Bun/TypeScript CLI for the Anytype desktop app's local HTTP API — all 52 endpoints across spaces, objects, properties, tags, types, templates, lists, chat, files, members, search, and auth — as one binary with zero runtime dependencies. It exists as a low-context alternative to Anytype's official MCP server: rather than exposing 52 always-loaded tools to every agent session, anywrite is a normal CLI wired as a skill that costs zero context until it's actually invoked, and is equally usable from a terminal or any script.
When to Use This Skill
- Use when the user mentions Anytype or asks to create, update, search, or organize notes, tasks, or PKM objects.
- Use when working with Anytype spaces, properties, tags, types, templates, or lists (sets and collections).
- Use when the user asks to upload files to a space, chat inside a space, or read/write structured objects programmatically.
How It Works
Step 1: Ensure Anytype desktop is running and authenticated
This repository does not ship the anywrite executable. The user must install or build a reviewed upstream release outside the current workspace and provide its explicit absolute path. Before use, verify that path is an executable regular file, is not a symlink, and is not a workspace-relative dist/ artifact. Never auto-discover or execute ./dist/anywrite from the repository being worked on.
The Anytype desktop app must be running locally (default http://localhost:31009). Authenticate once:
"/absolute/path/to/anywrite" auth --status # shows configured yes/no and where the key came from
"/absolute/path/to/anywrite" auth # challenge flow — a 4-digit code appears in the app
"/absolute/path/to/anywrite" auth --code 1234 # non-interactive form of the same exchange
The key is written to ~/.anywrite/config.json and is never printed by any command.
Step 2: Invoke a resource + action
anywrite <resource> <action> [positionals] [--flag value]
Resources: spaces, objects, properties, tags, types, templates, lists, files, members, search, chat, auth. Output is JSON by default; add --pretty for a human view, --json as an escape hatch for anything the typed flags don't model yet. space/type/property positionals accept a name or an id — names are resolved to ids automatically.
Examples
Example 1: Create and update an object
"/absolute/path/to/anywrite" objects create <space> --type task --name "Buy milk"
"/absolute/path/to/anywrite" objects update <space> <object_id> --status "Done"
Example 2: Search and upload a file
"/absolute/path/to/anywrite" search global --query "task" --types task
"/absolute/path/to/anywrite" files upload <space> --file ./image.png
Example 3: Read chat messages
"/absolute/path/to/anywrite" chat messages <space> <chat_id> --all
Best Practices
- ✅ Pass names for
space/type/propertyand let the CLI resolve them to ids. - ✅ Use default JSON output for scripting and
--prettyfor human review. - ✅ Reach for
--jsonwhen a brand-new API field isn't yet covered by a typed flag. - ❌ Don't set an empty-string emoji
--icon; omit the flag entirely instead. - ❌ Don't expect
lists add/removeto work on sets — they only apply to collections.
Limitations
- This skill does not replace environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing.
- Bounded by the Anytype local API itself: no block-level editing (body is whole-markdown replace only), no member invite/role management, no template create/update/delete, no space deletion.
- The object body field is named
--bodyon create but--markdownon update.
Security & Safety Notes
- The API key is stored locally in
~/.anywrite/config.jsonand is never printed by any command, includingauth --status. - Config precedence at runtime:
ANYTYPE_API_KEYenv var, then~/.anywrite/config.json, then a read-only fallback to an existing~/.anytype-cli/config.yaml. - All operations target a locally-running Anytype desktop instance; no data is sent to third-party servers.
- Delete is a soft archive everywhere and is idempotent — a repeated delete stays
200, never410.
Common Pitfalls
…
FAQ
Do I need to install something separate to use Anywrite?
Yes, you need to download and install Anywrite separately. It doesn't come bundled with Anytype.
Does Anywrite send my data anywhere?
No, all operations are performed directly on your computer with Anytype running locally. No data is sent to external servers.
Can I create new content types or templates with Anywrite?
No, Anywrite does not allow creating or modifying templates and content types. It focuses on managing existing content.
Details
Original description by the author
Compiled CLI covering all 52 endpoints of the Anytype local API — objects, properties, tags, search, chat, files — one binary, no MCP server needed.
Popularity
- GitHub stars
- 48k
- Ranking position
- #4637
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
api-connector-builder
Has your agent build new API connections following the existing pattern. Use when you need to add one more integration without creating a new way of doing things.
affaan-m/ECC
api-design
Helps your agent design REST APIs following best practices. It's useful for defining how APIs communicate, how errors are shown, and how to organize data.
affaan-m/ECC
backend-patterns
Helps your agent with server-side architecture patterns and database optimization. It's useful for building or reviewing code that runs on the server.
affaan-m/ECC