Use this skill when creating documents meant for iterative LLM–human review, or when reading/revising annotated html-collab files.
/html-collab or /html-collab onExplicitly enable html-collab format for subsequent document generation. Equivalent to the default behavior — use when the user wants to be explicit.
/html-collab offSwitch to plain HTML mode for subsequent output. Use when the user wants a clean, presentation-ready document — no collab-data, no data-cid, no engine script, no sidebar. Typical use case: a finished document ready for an audience, not for further annotation.
Plain HTML output should be well-structured, self-contained, and styled — a document a reader can open directly in a browser with no toolbars or review UI.
When: User asks you to write, draft, or generate a document (and html-collab mode is on).
Steps:
skill/assets/template.html as your base structure. If you do not have local access to this file, do not fetch it automatically — instead, ask the user to install the skill first (clawhub install html-collab) or provide the template file directly.~/Documents/html-collab/-.html . Create the directory if it does not exist (mkdir -p ~/Documents/html-collab). This matches the default folder the browser Save dialog opens in, so all versions stay together. with semantic HTML: for the document title, for sections, for paragraphs,
/ for lists.data-cid attribute to every block element. Rules:- — e.g. p-001, h-001, sec-001, li-001p → , h → –, sec → , li → , bq → , pre → , tbl → - Sequential per type across the whole document (not per section)
- Every block must have one; never skip or duplicate
- Populate
collab-data meta: title: the document titleoriginalCreated and lastRevised: both set to the current ISO timestampmodel: your model identifiermaxImageBytes: 51200 (default = 50 KB; do not change unless user specifies)imageStorage: "base64"comments: []edits: []
- Document-level UI belongs inside the article, not in the framework.
#collab-header (the top bar with the Save button) and #collab-sidebar (the comment panel) belong exclusively to the html-collab engine.- If the document needs custom UI controls (e.g. a language toggle, a table of contents, a theme switch), place them inside
— as a block at the top of the article or a floating element relative to #collab-main. - Putting custom controls in the framework header confuses human reviewers into thinking they're engine features.
- Output the complete
.html file.
READ — Extract context from an annotated file
When: User provides a .html file that has been annotated by a human.
Reading efficiently:
- Skip everything between
and — this is engine CSS/JS you do not need to parse. - If
meta.summary is present in collab-data, read it first for a compact structural index before parsing the full article.
Steps:
- Parse
— this is the document text. - Parse the JSON inside
. - Build and present this context block in the conversation before doing anything else:
[DOCUMENT CONTENT]
<paste the inner HTML of <article id="collab-content"> here>
[HUMAN FEEDBACK]
Comments:
· [<target>] "<quote>" → "<comment text>" [screenshot, <size>, base64]
Edits:
· [<target>] "<original>" → "<revised>"
Always output this block even if there are no comments or edits — it confirms to the user what you read. This conversation record is permanent: REVISE will clear comments and edits from the file, but the feedback is preserved here in the chat history.
- Image handling — per environment:
- Bash tool available (e.g. Claude Code): For each image where
sizeBytes > meta.maxImageBytes, compress it with a script and write the compressed base64 back to data, update sizeBytes, add "compressedBy": "" . Example using Python/Pillow:
```bash
python3 - <<'PYEOF'
import base64, io, sys
from PIL import Image
data = base64.b64decode("""PASTE_BASE64_HERE""")
img = Image.open(io.BytesIO(data))
out = io.BytesIO()
img.save(out, 'JPEG', quality=55, optimize=True)
print(base64.b64encode(out.getvalue()).decode())
PYEOF
```
- Multimodal, no Bash: Receive the image as a visual input for understanding. In output, set
data to null and add "compressedBy": null, "description": "" . - Text-only model: Replace each image with
[screenshot, KB, base64-omitted] in the context block. Do not include the raw base64 string.
- Where the same
data-cid appears in both Comments and Edits: the comment's quote reflects the original (pre-edit) text. In REVISE, apply the edit first, then interpret the comment against the updated text.
REVISE — Produce a new version incorporating human feedback
When: After READ, the user asks you to revise the document.
Steps:
- For each entry in
edits: replace the text of the corresponding data-cid block with revised verbatim. - For each entry in
comments: revise the content of the targeted block to address the feedback. For blocks with both an edit and a comment, apply the edit first, then address the comment. - Add new blocks as needed: assign fresh CIDs continuing from the highest existing number for each type (e.g. if
p-007 exists, next paragraph is p-008). - Remove blocks as needed: retire their CIDs permanently — never reuse them.
- Output the revised
.html file: - Updated
content - All original
data-cid values preserved (do not reassign existing IDs) collab-data reset: comments: [], edits: []meta.lastRevised updated to current timestampmeta.model updated to your model identifiermeta.originalCreated unchangedmeta.versionHash set to "" — the engine recomputes this on next browser savemeta.summary set to "" — the engine recomputes this on next browser save- File output by environment:
- Bash/file access available (e.g. Claude Code): Write directly over the original file. The conversation history preserves the feedback record; no extra file needed.
- Chat environment (no file access): Suggest a filename using the document title and today's date — e.g.
market-analysis-20260606.html. This lets users build a natural version sequence in their folder without manual renaming.
Reference
- Template:
skill/assets/template.html - Example:
examples/example.html - Live demo:
index.html (or https://ljn-hust.github.io/html-collab/)
版本历史
共 5 个版本
-
v0.1.5
当前
2026-06-17 19:50
-
v0.1.3
2026-06-15 00:05
-
v0.1.2
2026-06-11 18:31
-
v0.1.1
2026-06-09 18:59
-
v0.1.0
2026-06-07 13:12 安全 安全
安全检测
腾讯云安全 (Keen)
队列中
腾讯云安全 (Sanbu)
队列中
🔗 相关推荐
dev-programming
Mcporter
steipete 使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 195
📥 67,678
dev-programming
Github
steipete 使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 678
📥 327,601
dev-programming
YouTube
byungkyu 使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142
📥 41,602