helpin-ai/helpin/document-editing
Claude Code and agent skill by helpin-ai/helpin
- community
Checking that the SKILL.md file is still in the repository.
Read, search, and edit existing Helpin documents efficiently. Use for wording fixes, section rewrites, adding diagrams or examples, and inspecting long documents without reading block by block.
Install
npx vskill@latest install helpin-ai/helpin/document-editingSKILL.md
Read once, edit once
Use read_document with its default adaptive mode. A fitting document returns full readable blocks and a version; a large document returns an outline with heading IDs and inclusive block ranges. The title is stored separately from the document body.
- For a relevant heading, call
get_document_blockswithsection_id. This includes subsections up to the next equal or higher heading. - For a known passage, call
get_document_blockswithquery. It searches inside this document, matching all query terms case-insensitively, and includes neighboring blocks. Use short, distinctive terms. - For a focused block, call it with
anchor_block_idandaround, or fetch several knownblock_idstogether. - Use
search_documentsto find documents, then follow the matching block reference. Do not search the workspace again to read more of a known document. - Use
read_documentwithmode: fullwhen the entire long document is needed. Follownext_cursorusing onlydocument_idandcursor. Oversized readable blocks returnfragment_format: markdown: readcontent_fragmentdirectly as the next text slice, with the same block ID and a characterfragment_offset. Slices may split Markdown fences or formatting; do not treat them as standalone replacement content. Only structureditem_jsonfragments require concatenatingcontent_fragmentbyfragment_offsetbefore decoding. content_textis the legacy plain-text preview; itscontent_text_truncatedflag does not describe the returned full blocks. Readblocks,complete, andcontent_completeinstead.completedescribes the requested selection/page, not proof you read the whole document. An outline describes structure only. Summary reads always havecontent_complete: false, even when every block is listed. Sequential block pages also carrynext_offsetwhen more blocks exist.- Ask for
format: jsononly when the exact rich block structure is needed. Markdown and embed descriptions are reading representations, not lossless backups.
Targeted editing
Use edit_document with the read's exact expected_version and up to 20 operations. Resolve every operation against that original snapshot. Combine inserts at the same boundary. Keep unaffected rich blocks intact rather than rewriting the document from Markdown.
Wording fix (replace example IDs and version with read results):
An exact text match must occur once within a paragraph or code block. It may cross adjacent formatting nodes, but not separate paragraphs or embeds. Use a longer match if ambiguous. Text replacements preserve the block ID and surrounding formatting; replacement text inherits formatting from the start of the match.
Section rewrite:
Both endpoints are inclusive. Include the heading when replacing its whole section. Range replacement creates new IDs; later calls use the returned IDs or a fresh read. To retain an embedded block, exclude it from replacement ranges or provide its exact structured content deliberately.
Diagram plus explanation in one insertion:
Use Mermaid or nwdiag for diagrams they can express. For custom layouts, use a fenced svg code block (the editor's /svg command creates the same block). Supply a complete, static <svg xmlns="http://www.w3.org/2000/svg" viewBox="…"> with shapes, paths and text, explicit colors and an accessible <title>. Use system fonts and keep it self-contained: no scripts, animation, external assets or foreignObject. Do not build new diagrams using JavaScript-generated HTML. SVG stays editable as source, exports as an SVG image in HTML/MDX, and becomes PNG in DOC. Existing complex HTML blocks remain sandboxed in HTML/MDX and need an SVG or PNG replacement for Word export.
insert also supports before_block_id or position: start|end. content accepts Markdown or an array of TipTap block objects. delete_range takes the same inclusive endpoints as replace_range and no content.
On a conflict, nothing was applied: reread the affected content, reassess the edit, and retry with its version. After success, use the returned version and changed block revisions; do not reread or repeat a mutation merely to confirm it. An unusually large receipt may be marked receipt_complete: false; retrieve only the missing context needed for further work.
Use write_document_content for a deliberate full replacement, supplying expected_version for existing content. Keep the existing review/proposal workflow when the task requires review; direct editing does not replace publication approval. Inspect authoritative sources before changing factual claims.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingserver/skills/system/document_editing/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/helpin-ai/helpin/document-editing)