agentsclimarketplace

Cowrite

Skill SpaceZephyr/cowrite/skills/cowrite

Write or edit Markdown pages in the user's local Cowrite canvas. Use when the user asks to create an article/document "in cowrite", modify existing cowrite content, or fulfill a cowrite page's creation prompt. Also triggers on pasted commands that mention cowrite page IDs.From its SKILL.md

Install
npx -y skills add SpaceZephyr/cowrite --skill cowrite

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

6.9 KB, as published. Nobody here has run it

Cowrite

Cowrite is a local Notion-like writing canvas. An installed plugin automatically prepares and starts the production canvas at http://127.0.0.1:4320; source development uses Vite (normally http://127.0.0.1:4321). The user sees every page in a live browser editor and can edit at any time. You operate the same pages through the cowrite_* MCP tools; your writes appear in the user's editor within seconds.

Tools

  1. cowrite_get_status — verify the service and return the local browser canvas URL. Use when the user asks to start/open Cowrite.

  2. cowrite_list_pages — list pages (title, creation prompt, revision; no content). Pages with a prompt and revision: 1 are waiting to be written.

  3. cowrite_get_page — read one page with full Markdown content and current revision. Always call immediately before updating.

  4. cowrite_create_page — create a page with finished Markdown content. Use when the user says "在 cowrite 里创建/写一篇 …".

  5. cowrite_update_page — replace a page's Markdown content. Requires expected_revision from cowrite_get_page.

  6. cowrite_upload_asset — copy a local image or self-contained HTML file into Cowrite's asset store; returns a /assets/... url.

  7. cowrite_insert_after — insert one Markdown/HTML block right after the paragraph containing an exact anchor substring. Requires expected_revision.

Typical tasks

  • Create: the user describes what to write → write the article in Markdown → cowrite_create_page with a clear title and the full content. Tell the user the page is ready in Cowrite.

  • Fulfill a creation prompt: a pasted command names a page ID, or cowrite_list_pages shows a pending page → read it, write content that satisfies its prompt, update it.

  • Modify: the user references an existing page ("那篇 X 的文章") → find it via cowrite_list_pages, read it, apply the requested change while preserving everything else, write back.

  • Create from the current Page (pasted command from the top-level cowrite button): read the named page as both context and write target, follow the supplied creation requirement, and choose the best bundled Skill. Append continuations or derivative content unless the user explicitly asks to rewrite or replace something. Update the complete Markdown with expected_revision and preserve unrelated content.

  • Illustrate a passage (pasted command with anchor text, asking for 配图): MUST use the bundled image-studio Skill and Codex's built-in image_gen tool. The Cowrite command supplies explicit confirmations for type, content, style, and automatic prompt mode. Never call an external image provider or CLI fallback. Upload the accepted generated image with cowrite_upload_asset, then insert ![插图](url) with cowrite_insert_after.

  • Illustrate a complete Page (pasted command from the Page-level 配图 button): MUST use bundled article-batch-illustration to plan a restrained 2-6 image set and bundled image-studio with repeated built-in image_gen calls to generate it. Keep one visual system across the set, upload only inspected accepted images, re-read the latest page, then insert each result after its exact anchor from bottom to top with the latest revision. Never decorate every paragraph, call an external model, or rewrite the article.

  • HTML/PPT explainer (pasted command asking for HTML or 解释图): MUST use the bundled text-logic-diagram Skill in its Cowrite embed profile. Produce ONE self-contained 16:9 light-theme HTML/SVG slide, upload it, then insert the iframe with cowrite_insert_after.

  • Polish selected text (pasted command asking for 优化): MUST use bundled ai-writing-assistant, Method 5 / Cowrite local optimization mode. Replace only the exact selected passage and preserve the rest of the page byte-for-byte.

  • Convert a Page to Slides (pasted command from the Page-level Slide button): MUST use bundled space-multi-design-ppt. The command already confirms PPTX or HTML, smart brand matching, automatic page count, and one-click outline authorization. Read the complete current page, generate only the requested final .pptx or deck.html, upload it, re-read the latest revision, and insert one Markdown delivery link immediately after the first heading. Never replace page content with the deck or insert intermediate files.

  • Lay out a Page for WeChat (pasted command from the Page-level 排版 button): MUST use bundled space-wechat-layout. Treat style as “你来定” and select Claude, OpenAI, or Google from the article type. Preserve the article, produce one self-contained index.html with copyable inline-styled rich HTML, upload it, re-read the latest revision, and insert one Markdown preview link immediately after the first heading. Never replace the Markdown article or insert source code.

  • Lay out a Page for Xiaohongshu (pasted command from 排版 → 小红书排版): MUST use bundled baoyu-xhs-images for analysis, two required confirmations, three outline strategies, and prompt assembly; use bundled image-studio with one Codex built-in image_gen call per final 3:4 image. Upload only the inspected accepted image series and insert it as one ordered Markdown image block after the first heading. Preserve the source article and never skip the Skill's first-time preference setup or two confirmations.

  • Send a Page to Feishu (pasted command from 发送 → 飞书): the user has already confirmed the external write in Cowrite. Use the locally installed lark-doc Skill and lark-cli docs +create --api-version v2 --as user --doc-format markdown; preserve the supplied Markdown, create exactly one document, return its URL, and do not modify the Cowrite source page. If authentication is missing, follow lark-shared split-flow and wait for the user to finish authorization.

Writing rules

  • Content is Markdown. Use headings, lists, and tables; no HTML unless asked.
  • Follow the user's writing style guide if the workspace has one (e.g. 10 mirror/写作风格.md in the Obsidian vault).
  • The user may edit while you work: always pass expected_revision; on a 409 conflict, re-read, merge your change into the latest content, and retry once. Never overwrite human edits.
  • Preserve existing content unless the user asked for a rewrite. For partial edits, change only the requested part.

Service check

Installed plugin: the MCP runner starts the production canvas automatically. Call cowrite_get_status; if startup failed, report its stderr message (Node/npm, port 4320, build, or permissions) and retry after fixing it. Source development: run npm run dev in the Cowrite repository.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.