Khazix WeChat Article Writer
KKKKhazix/khazix-skills
Writes long-form WeChat official account articles in the personal style of the Khazix account, from briefs, links, PDFs or rough notes, with a topic quality check.
A skill your agent uses whenever the user wants to write or draft an article, blog post, essay, report, or any long-form content.
$ npx skills add vellum-ai/vellum-assistant --skill document-editor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vellum-ai/vellum-assistant document-editor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/assistant/src/config/bundled-skills/document-editor .claude/skills/document-editor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "document-editor" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editor into .claude/skills/document-editor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "document-editor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vellum-ai/vellum-assistant --skill document-editor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vellum-ai/vellum-assistant document-editor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .agents/skills && cp -r skills-src/assistant/src/config/bundled-skills/document-editor .agents/skills/document-editor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "document-editor" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editor into .agents/skills/document-editor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "document-editor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vellum-ai/vellum-assistant --skill document-editor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vellum-ai/vellum-assistant document-editor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/assistant/src/config/bundled-skills/document-editor .cursor/skills/document-editor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "document-editor" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editor into .cursor/skills/document-editor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "document-editor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vellum-ai/vellum-assistant.git --path assistant/src/config/bundled-skills/document-editor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vellum-ai/vellum-assistant --skill document-editor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vellum-ai/vellum-assistant document-editor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/assistant/src/config/bundled-skills/document-editor .gemini/skills/document-editor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "document-editor" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editor into .gemini/skills/document-editor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "document-editor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vellum-ai/vellum-assistant document-editorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vellum-ai/vellum-assistant --skill document-editor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .github/skills && cp -r skills-src/assistant/src/config/bundled-skills/document-editor .github/skills/document-editor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "document-editor" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editor into .github/skills/document-editor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "document-editor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vellum-ai/vellum-assistant --skill document-editor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vellum-ai/vellum-assistant document-editor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/assistant/src/config/bundled-skills/document-editor .opencode/skills/document-editor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "document-editor" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/assistant/src/config/bundled-skills/document-editor into .opencode/skills/document-editor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "document-editor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
document-editorA skill your agent uses whenever the user wants to write or draft an article, blog post, essay, report, or any long-form content.
Document Editor is an agent skill from vellum-ai/vellum-assistant. Use whenever the user wants to write or draft an article, blog post, essay, report, or any long-form content. Creates the content in a rich text editor instead of dumping it in chat, so it can be streamed, reviewed, edited, and exported.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files (for example `TOOLS.json`, `tools/comment-list.ts` and `tools/comment-reply.ts`). Compatibility notes: Designed for Vellum personal assistants
It sits in Writing & Content, covering Blog and article writing. The repository describes itself as: An AI Assistant that’s easy to setup, does your work 24/7, knows your preferences and gets better over time. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c92ead1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (TypeScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Vellum personal assistants
From compatibility in the SKILL.md frontmatter.
Document Editor loads about 2.7k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 1,336 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vellum-ai/vellum-assistant at commit c92ead1, republished under its MIT licence (© vellum-ai). 1,336 words, ~2,659 tokens.
.claude/skills/document-editor/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.Write and edit long-form documents using the built-in rich text editor. Documents open in workspace mode with chat docked to the side. When a request is about writing prose (an article, blog post, report, essay, story, or similar), create it here rather than writing it into the chat response.
surface_id for subsequent updates. This is the entry point for any new piece of writing.surface_id. Supports replace (overwrite) and append (add to end) modes.surface_id when it belongs to the current conversation, or when the current actor is the guardian/local user. Use to verify content before editing.query, lists the current conversation's documents. With query, searches by title; guardian/local users can search across conversations, while other actors are scoped to the current conversation.surface_id. Use this when a document exists but isn't visible in the editor — for example after the user switches devices, refreshes the page, or when the editor panel was closed. Fetches the document from storage and sends it to the client.surface_id. Use to clean up unwanted documents.This is the default path when the user asks you to write something.
document_create with a title (inferred from the request). Call the tool immediately, not after conversational preamble. Anything you pass as initial_content is saved right then, so the first document_update must start with the next chunk rather than repeating it.# for titles, ## for sections), bold, italic, code blocks, tables, lists, blockquotes as appropriate.document_update MULTIPLE times, not just once. Break content into logical chunks (paragraphs, sections, or every 200-300 words). Call document_update with mode: "append" for EACH chunk separately. Each append carries ONLY that chunk: content already in the document is committed, and resending it would print it twice. When you are streaming into the document you just created, surface_id is optional: omit it and pass only content, and the update targets that document. The user experiences real-time content appearing as you write.If a document_update call fails with an Invalid input error, do NOT call document_create again — that produces a duplicate for the user. The most common cause is a missing content field: resend the call with the chunk's Markdown in content. You can omit surface_id to target the document you are currently writing; pass it explicitly only when editing a different existing document.
When the user requests changes to a document:
surface_id from the <active_documents> context block.document_update with the existing surface_id — do NOT call document_create again.document_update with mode: "append" — adding new content to the end.document_update with mode: "replace" — ONLY for full rewrites where the majority of the document is changing.document_find + document_replace_text — for everything else. Fixing typos, renaming terms, swapping sections, reordering content, adjusting formatting, or any edit that touches only part of the document. This is the default choice for edits. It avoids rewriting the entire document and eliminates the risk of accidentally dropping content.document_update with mode: "replace" for targeted edits. Rewriting the entire document to change a few words or rearrange sections is wasteful and error-prone.When the user asks to see, open, or pull up a document:
<active_documents> block in your context — it lists all documents in this conversation with their surface_id and title.<active_documents>, call document_list with a query matching the document title. For guardian/local users, this searches across previous conversations and sessions.surface_id, call document_open to open the editor panel. This surfaces the editor on the client and returns document metadata (surface_id, title, word_count) — not the full content. If you need the actual document text, follow up with document_read.Never search the filesystem, conversation history, or archives to find a document. Always use document_list with a query.
If the user says they can't see a document you know exists (e.g. after switching from macOS to web, or after a page refresh), call document_open with the surface_id to re-surface the editor panel on their current client.
Use document_find and document_replace_text for surgical edits that target specific text patterns without rewriting the entire document.
Search a document for literal text or regex patterns. Parameters:
surface_id (required) — the document to searchquery (required) — the search string or regex patternregex (optional, default false) — treat query as a regular expressioncase_sensitive (optional, default false) — match case exactlyReturns a list of matches with line numbers, line content, match positions, and matched text. Use this to preview what will be affected before making replacements.
Targeted find-and-replace within a document. Parameters:
surface_id (required) — the document to modifyfind (required) — the search string or regex patternreplace (required) — the replacement string (supports $1, $2 backreferences when regex is true)regex (optional, default false) — treat find as a regular expressioncase_sensitive (optional, default false) — match case exactlymax_replacements (optional) — limit the number of replacements madeReturns the number of replacements made and whether the content changed.
document_find to preview matches and confirm the pattern is correct.document_replace_text to apply the changes.Examples:
"recieve", replace with "receive"."widget" (case-insensitive), replace with "component".(\d{2})/(\d{2})/(\d{4}) with regex: true, replace with $3-$1-$2 to convert MM/DD/YYYY to YYYY-MM-DD.document_read to get the content, identify the sections to swap, then call document_replace_text to replace the first section with the second and vice versa. For complex rearrangements, use multiple document_replace_text calls with max_replacements: 1.Users can leave inline comments on documents. Open comments are surfaced in a <document_comments> context block so you can see pending feedback.
surface_id. Use this to check for feedback before or after editing, especially when the user asks you to address comments.comment_id. Use this after you have addressed the feedback in the document content. Always edit the document first, then resolve the comment.comment_id. Use this to ask clarifying questions or explain why you made (or declined) a change before resolving.<document_comments> block or call comment_list to see open comments.comment_resolve on comments you have addressed.comment_reply to ask for clarification instead of guessing.app_create for blog posts, articles, or written content. Use document_create — apps are for interactive content with state/data.document_create, not in chat and not into a .md file in the workspace. Acknowledge what you're doing and stream to the editor.document_update with mode: "append" so users see progress in real time.mode parameter on document_update defaults to append.© vellum-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 12 other files in assistant/src/config/bundled-skills/document-editor of vellum-ai/vellum-assistant.
Open the folder on GitHubat commit c92ead1
Document Editor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Document Editor this skillvellum-ai/vellum-assistant | 1.4k | — | ~2.7k | Automated safety check: Pass | MIT | |
| Khazix WeChat Article WriterKKKKhazix/khazix-skills | 21k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Figurevectorize-io/hindsight | 47k | — | ~1.9k | Automated safety check: Pass | MIT | |
| SepiaNanako0129/sepia | 3k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Blog Post Draftingluongnv89/claude-howto | 42k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Notion To Blogwasp-lang/wasp | 19k | — | ~922 | Automated safety check: Pass | MIT |
KKKKhazix/khazix-skills
Writes long-form WeChat official account articles in the personal style of the Khazix account, from briefs, links, PDFs or rough notes, with a topic quality check.
vectorize-io/hindsight
Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post.
Nanako0129/sepia
Make AI-generated writing read as human-written, in fiction and in professional prose.
luongnv89/claude-howto
Guides drafting a blog post from an idea and optional source material: research, brainstorming, outlining and version-tracked drafts, with user approval at each step.
wasp-lang/wasp
Transfer a blog post from Notion to the Wasp blog. An agent skill from wasp-lang/wasp.
nteract/semiotic
Author a new entry for the Semiotic blog. An agent skill from nteract/semiotic.
vellum-ai/vellum-assistant
Create and configure a GitHub App so the assistant can push commits, open PRs, and comment under its own bot identity.
vellum-ai/vellum-assistant
Connect a Discord bot to the assistant via the Discord Gateway with guided application creation and intent configuration
vellum-ai/vellum-assistant
Create and configure a Sentry internal integration so the assistant can manage issues, alerts, and releases under its own identity
vellum-ai/vellum-assistant
Ingest a large dataset into memory as a skimmed map. An agent skill from vellum-ai/vellum-assistant.
vellum-ai/vellum-assistant
A skill your agent uses when the user wants to build, scaffold, ship, or edit a Vellum plugin that bundles multiple surfaces (hooks, tools, skills, and more) into one installable package.
vellum-ai/vellum-assistant
Connect a Slack app to the Vellum Assistant via Socket Mode.
Categories
A skill your agent uses whenever the user wants to write or draft an article, blog post, essay, report, or any long-form content. Document Editor is an agent skill from vellum-ai/vellum-assistant. Use whenever the user wants to write or draft an article, blog post, essay, report, or any long-form content.
Document Editor fits situations like: the user wants to write; draft an article; any long-form content.
Run `npx skills add vellum-ai/vellum-assistant --skill document-editor -a claude-code`. Or copy the skill folder (assistant/src/config/bundled-skills/document-editor in vellum-ai/vellum-assistant) into .claude/skills/document-editor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vellum-ai/vellum-assistant --skill document-editor -a codex`. Or copy the skill folder (assistant/src/config/bundled-skills/document-editor in vellum-ai/vellum-assistant) into .agents/skills/document-editor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vellum-ai/vellum-assistant --skill document-editor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/document-editor, .gemini/skills/document-editor, .github/skills/document-editor and .opencode/skills/document-editor in your project.
Going by SKILL.md and its folder, Document Editor needs TypeScript for the scripts in its folder. Our summary lists: Node.js. Compatibility (from SKILL.md): Designed for Vellum personal assistants.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Document Editor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Document Editor: Khazix WeChat Article Writer (KKKKhazix/khazix-skills, 21k stars), Figure (vectorize-io/hindsight, 47k stars), Sepia (Nanako0129/sepia, 3k stars) and Blog Post Drafting (luongnv89/claude-howto, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vellum-ai (a GitHub organization) maintains it in vellum-ai/vellum-assistant, which has 1,397 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 7, 2026.
Source: vellum-ai/vellum-assistant on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.