bundled-skills/anywrite/SKILL.md
Compiled CLI covering all 52 endpoints of the Anytype local API — objects, properties, tags, search, chat, files — one binary, no MCP server needed.
npx skillsauth add FrancoStino/opencode-skills-antigravity anywriteInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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.
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.
"/absolute/path/to/anywrite" objects create <space> --type task --name "Buy milk"
"/absolute/path/to/anywrite" objects update <space> <object_id> --status "Done"
"/absolute/path/to/anywrite" search global --query "task" --types task
"/absolute/path/to/anywrite" files upload <space> --file ./image.png
"/absolute/path/to/anywrite" chat messages <space> <chat_id> --all
space/type/property and let the CLI resolve them to ids.--pretty for human review.--json when a brand-new API field isn't yet covered by a typed flag.--icon; omit the flag entirely instead.lists add/remove to work on sets — they only apply to collections.--body on create but --markdown on update.~/.anywrite/config.json and is never printed by any command, including auth --status.ANYTYPE_API_KEY env var, then ~/.anywrite/config.json, then a read-only fallback to an existing ~/.anytype-cli/config.yaml.200, never 410.lists add/remove silently does nothing on a set.
Solution: These only work on collections, not sets.@docx - When the deliverable is a Word document rather than an Anytype object.tools
Authorized security assessment of LLM applications and AI agents: prompt injection, tool abuse, RAG exposure, memory poisoning, system-prompt extraction, and agent-compliance engineering per OWASP LLM/ASI Top 10.
development
Builds two parameterized UI modes—流光溢彩白 (iridescent white) and 五彩斑斓黑 (colorful black)—with OKLCH, WebGL/CSS fallback, vision gating, screenshot QA, and total/per-color intensity reports. Use when a UI request names either mode or needs measured color parameters.
tools
Delegate coding tasks to the Kimi Code CLI (`kimi`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
Front-end JavaScript reverse engineering: locate signature chains, analyze encrypted request parameters, sample runtime behavior, and reproduce logic locally in Node for evidence-based output.