본문으로 건너뛰기
cccskills
무료GitHub에 공개

anywrite

Compiled CLI covering all 52 endpoints of the Anytype local API — objects, properties, tags, search, chat, files — one binary, no MCP server needed.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md5.7 KB
  • SKILL_CN.md5.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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/property and let the CLI resolve them to ids.
  • ✅ Use default JSON output for scripting and --pretty for human review.
  • ✅ Reach for --json when 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/remove to 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 --body on create but --markdown on update.

Security & Safety Notes

  • The API key is stored locally in ~/.anywrite/config.json and is never printed by any command, including auth --status.
  • Config precedence at runtime: ANYTYPE_API_KEY env 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, never 410.

Common Pitfalls

  • Problem: lists add/remove silently does nothing on a set. Solution: These only work on collections, not sets.
  • Problem: Re-uploading an identical file returns an existing object id instead of a new one. Solution: This is intentional — file upload dedupes by content hash.
  • Problem: Chat messages don't paginate like everything else. Solution: Chat paginates by cursor; every other resource paginates by offset.

Related Skills

  • @docx - When the deliverable is a Word document rather than an Anytype object.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

lingxling/awesome-skills-cn3162026년 10월 7일 업데이트

007

무료

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

lingxling/awesome-skills-cn3162026년 10월 7일 업데이트

Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

lingxling/awesome-skills-cn3162026년 10월 7일 업데이트

Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

lingxling/awesome-skills-cn3162026년 10월 7일 업데이트

AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any "make slides", "create a deck", or "slides from this document" request.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

lingxling/awesome-skills-cn3162026년 10월 7일 업데이트

360 feedback register: reviewer, subject, review cycle, visibility, due date and score, as CSV, SQL, JSON Schema or Notion on request. Use for 360 reviews or peer feedback cycles.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

lingxling/awesome-skills-cn3162026년 10월 7일 업데이트

lingxling의 스킬 모두 보기

이 스킬의 문제 신고