Web Article Extractor
dongbeixiaohuo/writing-agent
使用隔离的 Chrome DevTools MCP 从博客、新闻、公众号等网页提取正文,返回结构化内容,或保存 Markdown 和远程图片。用户要求提取文章、抓取网页正文、保存为 Markdown、下载文章图片或排查正文选择器时调用。
Publish Markdown articles to Substack as drafts. An agent skill from sugarforever/01coder-agent-skills.
$ npx skills add sugarforever/01coder-agent-skills --skill publish-substack-article -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sugarforever/01coder-agent-skills publish-substack-article --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/sugarforever/01coder-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/publish-substack-article .claude/skills/publish-substack-article && 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 "publish-substack-article" agent skill from https://github.com/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-article into .claude/skills/publish-substack-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-substack-article", 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/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-articleType 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 sugarforever/01coder-agent-skills --skill publish-substack-article -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sugarforever/01coder-agent-skills publish-substack-article --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sugarforever/01coder-agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/publish-substack-article .agents/skills/publish-substack-article && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "publish-substack-article" agent skill from https://github.com/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-article into .agents/skills/publish-substack-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-substack-article", 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 sugarforever/01coder-agent-skills --skill publish-substack-article -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sugarforever/01coder-agent-skills publish-substack-article --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sugarforever/01coder-agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/publish-substack-article .cursor/skills/publish-substack-article && 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 "publish-substack-article" agent skill from https://github.com/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-article into .cursor/skills/publish-substack-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-substack-article", 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/sugarforever/01coder-agent-skills.git --path skills/publish-substack-article--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 sugarforever/01coder-agent-skills --skill publish-substack-article -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sugarforever/01coder-agent-skills publish-substack-article --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sugarforever/01coder-agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/publish-substack-article .gemini/skills/publish-substack-article && 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 "publish-substack-article" agent skill from https://github.com/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-article into .gemini/skills/publish-substack-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-substack-article", 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 sugarforever/01coder-agent-skills publish-substack-articleInstalls 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 sugarforever/01coder-agent-skills --skill publish-substack-article -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sugarforever/01coder-agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/publish-substack-article .github/skills/publish-substack-article && 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 "publish-substack-article" agent skill from https://github.com/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-article into .github/skills/publish-substack-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-substack-article", 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 sugarforever/01coder-agent-skills --skill publish-substack-article -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sugarforever/01coder-agent-skills publish-substack-article --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sugarforever/01coder-agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/publish-substack-article .opencode/skills/publish-substack-article && 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 "publish-substack-article" agent skill from https://github.com/sugarforever/01coder-agent-skills/tree/main/skills/publish-substack-article into .opencode/skills/publish-substack-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-substack-article", 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.
publish-substack-articlePublish Markdown articles to Substack as drafts. An agent skill from sugarforever/01coder-agent-skills.
Publish Substack Article is an agent skill from sugarforever/01coder-agent-skills. Publish Markdown articles to Substack as drafts. Use when user wants to publish a Markdown file to Substack, or mentions "发布到 Substack", "Substack article", "publish to Substack". Handles Markdown-to-HTML conversion and saves as draft (never auto-publish).
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Writing & Content, covering Newsletters and Markdown. It works with Substack, Model Context Protocol, Playwright and Chrome DevTools. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e51fb6e. 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.
Shell commands in SKILL.md call:
pipnodepython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
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.
Publish Substack Article loads about 3.8k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 1,558 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 sugarforever/01coder-agent-skills at commit e51fb6e, republished under its MIT licence (© sugarforever). 1,558 words, ~3,770 tokens.
.claude/skills/publish-substack-article/SKILL.md (or your agent's skills folder).Publish Markdown content to Substack post editor, converting Markdown to HTML and pasting as rich text. Saves as draft for user review before publishing.
mcp__chrome-devtools__*)mcp__playwright__*)markdown package (pip install markdown)copy_to_clipboard.py script (shared from publish-zsxq-article skill)This skill works with both Chrome DevTools MCP and Playwright MCP:
| Action | Chrome DevTools MCP | Playwright MCP |
|---|---|---|
| Navigate | navigate_page | browser_navigate |
| Take snapshot | take_snapshot | browser_snapshot |
| Take screenshot | take_screenshot | browser_take_screenshot |
| Click element | click | browser_click |
| Fill text | fill | browser_type |
| Upload file | upload_file | browser_file_upload |
| Press key | press_key | browser_press_key |
| Evaluate JS | evaluate_script | browser_evaluate |
Priority: Default to Playwright MCP. Use Chrome DevTools MCP only when Playwright MCP is unavailable.
Detection: At runtime, prefer mcp__playwright__browser_navigate. Fall back to mcp__chrome-devtools__navigate_page only if Playwright tools are not available.
https://{publication}.substack.com/publishhttps://{publication}.substack.com/publish/post/{postId}The Substack publication subdomain (e.g., verysmallwoods in verysmallwoods.substack.com) is required to navigate to the dashboard. Do not hardcode a default.
Before any navigation, resolve the publication in this order:
SUBSTACK_PUBLICATION (optional, for users who publish repeatedly to the same publication).请提供 Substack publication subdomain(例如 verysmallwoods.substack.com 里的
verysmallwoods)。
Do not proceed to Step 3 (Navigate) without a resolved publication subdomain.
The Substack post editor uses Tiptap (ProseMirror-based WYSIWYG editor).
textbox "title" (placeholder: "Title")textbox "Add a subtitle…".ProseMirror (Tiptap editor, "Start writing...")button "Saved" (auto-saves)button "Preview"button "Continue" (publish flow - DO NOT USE)button "Settings" (title, description, thumbnail)When "Settings" or "File Settings" is open:
textbox "Add a title..."textbox "Add a description..."Bold, Italic, Strikethrough, Code, Link, Image, Audio, Video, Quote, Lists (bullet/ordered), Button, More (Code block, Divider, Footnote, LaTeX, etc.)
CRITICAL: Use clipboard paste with HTML content, NOT direct fill or plain Markdown paste.
The Tiptap editor handles HTML paste natively and renders it as rich content. The workflow is:
markdown librarycopy_to_clipboard.py htmlWhy HTML paste?
fill tool → Content treated as plain text, no formattingKnown limitation: Substack's editor does NOT support HTML tables. Tables will be collapsed into plain text. See Step 0: Pre-Processing for converting tables to images.
Substack does NOT render HTML tables. They collapse into plain text. Any Markdown table must be converted to a PNG image and uploaded separately.
Workflow:
Detect tables in the Markdown file (lines with | forming table structure)
Convert each table to PNG using the diagram-to-image skill:
# Extract table to temp file
cat > /tmp/table1.md << 'TABLE_EOF'
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Data 1 | Data 2 | Data 3 |
TABLE_EOF
# Convert via diagramless.xyz API (auto-detects as table)
node ~/.claude/skills/diagram-to-image/scripts/diagram-to-image.mjs /tmp/table1.md -o /tmp/table1.pngNote the position of each table in the article for later insertion (after which heading/paragraph)
Remove table Markdown from the content before HTML conversion (so it won't appear as plain text in the pasted content)
Image upload happens after pasting the main content — see Step 7.
Read the Markdown file and extract:
title field, or H1 header # Title, or filenameexcerpt or description fieldUse Python's markdown library with tables and fenced_code extensions:
import markdown
import re
with open('/path/to/article.md', 'r') as f:
content = f.read()
# Strip YAML frontmatter
content = re.sub(r'^---\n.*?\n---\n', '', content, flags=re.DOTALL)
# Strip cross-reference links (e.g., English version link)
# Adjust pattern as needed for your articles
content = re.sub(r'^> .* available at.*\n\n?', '', content, flags=re.MULTILINE)
# Convert to HTML
html = markdown.markdown(content, extensions=['tables', 'fenced_code'])
# Write to temp file
with open('/tmp/substack_article.html', 'w') as f:
f.write(html)IMPORTANT: Do NOT use nl2br extension - it converts single newlines to <br> tags, causing extra line breaks in the editor.
Navigate to the Substack dashboard and create a new post:
# Navigate to Substack dashboard
navigate to: https://{publication}.substack.com/publishIf not logged in, prompt user to log in:
请先登录 Substack,登录完成后告诉我。
Please log in to Substack first, then let me know.From the dashboard, create a new text post:
Alternatively, if the editor is already open with an empty post, proceed directly.
textbox "title")textbox "Add a subtitle…")click: title textbox
fill/type: article title
click: subtitle textbox
fill/type: article subtitleCRITICAL: Do NOT use fill tool - it inserts plain text without formatting.
python3 /path/to/copy_to_clipboard.py html --file /tmp/substack_article.htmlClick the editor content area (.ProseMirror or paragraph element inside it)
Press Cmd+V to paste:
press_key: Meta+v (macOS)
press_key: Control+v (Windows/Linux)This triggers Tiptap's HTML paste handler, which renders the content as rich text with proper formatting.
If the article had tables converted to images in Step 0, insert them now:
Navigate to the correct position in the editor — click on the paragraph or empty line where the table should appear (after the relevant heading/text)
Click the Image toolbar button (button "Image") — a dropdown menu appears with options: Image, Gallery, Stock photos, Generate image
Click "Image" menuitem from the dropdown — a file chooser dialog opens
Upload the image via file chooser:
browser_file_upload with the image pathupload_file with the image pathImportant notes:
/tmp/, copy it to the project directory firstAfter pasting:
The editor auto-saves, so no explicit save action is needed.
草稿已保存到 Substack。请在 Substack 中预览并手动发布。
Draft saved to Substack. Please preview and publish manually.
Post URL: https://{publication}.substack.com/publish/post/{postId}User: "把 /path/to/my-article.md 发布到 Substack"
0. Pre-process tables (if any)
- Detect Markdown tables
- Create styled HTML for each table
- Render to screenshots (open in browser, screenshot, close tab)
- Remove table Markdown from content
- Note insertion positions
1. Read /path/to/my-article.md
- Extract title from frontmatter or H1
- Extract subtitle from frontmatter excerpt
- Get full Markdown content (with tables removed)
2. Convert Markdown to HTML
- Strip frontmatter
- Use markdown.markdown() with ['tables', 'fenced_code']
- Write to /tmp/substack_article.html
3. Navigate to Substack dashboard or new post
4. Check if logged in
- If not, prompt user to login
5. Fill title and subtitle
6. Copy HTML to clipboard + Paste
- python3 copy_to_clipboard.py html --file /tmp/substack_article.html
- Click editor content area
- Press Cmd+V
7. Insert table images at correct positions
- For each table: click position → Image button → Image menuitem → file upload
8. Verify draft saved
- Check "Saved" status
9. Report success
- "草稿已保存,请手动预览并发布"nl2br extension - Causes double line breaksSUBSTACK_PUBLICATION env var, or user prompt before any navigation (see Publication Resolution)If you see raw HTML tags or unformatted text:
fill tool instead of clipboard pastecopy_to_clipboard.py + Cmd+V method (see Step 6)Substack's Tiptap editor does not support HTML tables. They collapse into inline plain text.
If page shows login prompt:
请先登录 Substack: https://{publication}.substack.com
登录完成后告诉我。If editor elements are not visible:
If copy_to_clipboard.py fails:
pip install pyobjc-framework-Cocoa (macOS)| Element | Selector/Identifier | Description |
|---|---|---|
| Title input | textbox "title" | Post title |
| Subtitle input | textbox "Add a subtitle…" | Post subtitle |
| Content area | .ProseMirror (Tiptap editor) | Post content |
| Save status | button "Saved" | Auto-save indicator |
| Preview button | button "Preview" | Preview post |
| Continue button | button "Continue" | DO NOT USE - starts publish flow |
| Settings button | button "Settings" | Open settings sidebar |
| Exit button | button "Exit" | Exit editor |
| Image button | button "Image" | Opens image upload dropdown |
| Image menuitem | menuitem "Image" | Opens file chooser for image upload |
| Author button | button "{PublicationName}" | Author/publication selector |
Markdown file
↓ (Python markdown library)
HTML string
↓ (copy_to_clipboard.py)
System clipboard (text/html + text/plain)
↓ (Cmd+V keyboard shortcut)
Tiptap ProseMirror editor
↓ (auto-save)
Substack draftThe following Markdown elements are correctly rendered after HTML conversion and paste:
| Markdown Element | Substack Support | Notes |
|---|---|---|
| Headings (H2-H6) | Yes | H1 not recommended (title is separate) |
| Bold / Italic | Yes | |
| Inline code | Yes | |
| Code blocks | Yes | Syntax highlighting may vary |
| Links | Yes | |
| Blockquotes | Yes | |
| Bullet lists | Yes | |
| Ordered lists | Yes | |
| Horizontal rules | Yes | |
| Tables | No → Image | Convert via diagram-to-image skill, upload as image |
| Images | Manual | Upload via Image toolbar button → file chooser |
© sugarforever, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/publish-substack-article of sugarforever/01coder-agent-skills.
Open the folder on GitHubat commit e51fb6e
Publish Substack Article 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 |
|---|---|---|---|---|---|---|
| Publish Substack Article this skillsugarforever/01coder-agent-skills | 136 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Web Article Extractordongbeixiaohuo/writing-agent | 435 | — | ~740 | Automated safety check: Pass | MIT | |
| Doc Snapshot AgentFelo-Inc/felo-skills | 248 | — | ~5.4k | Automated safety check: Pass | MIT | |
| Take Doc Screenshotspgplex/pgconsole | 155 | — | ~841 | Automated safety check: Pass | Apache-2.0 | |
| Browser NavigationFactory-AI/factory-plugins | 110 | — | ~2.7k | Automated safety check: Pass | None | |
| X Article Draft Uploadermcncarl/yichen-skills | 4.3k | — | ~2.9k | Automated safety check: Warn | Custom licence |
dongbeixiaohuo/writing-agent
使用隔离的 Chrome DevTools MCP 从博客、新闻、公众号等网页提取正文,返回结构化内容,或保存 Markdown 和远程图片。用户要求提取文章、抓取网页正文、保存为 Markdown、下载文章图片或排查正文选择器时调用。
Felo-Inc/felo-skills
Automatically illustrate Markdown documents by turning image markers into browser screenshots or AI-generated images, then writing an image-enriched Markdown output.
pgplex/pgconsole
Take screenshots of the running pgconsole app for documentation.
Factory-AI/factory-plugins
Automate browser interactions for web testing, form filling, screenshots, and data extraction.
mcncarl/yichen-skills
将 Obsidian 或本地 Markdown 文章上传到 X/Twitter Articles 草稿;支持 Markdown pipe 表格转成 X 原生表格块;如果文章最上方有图片,则按当前 X 界面提示的 5:2 封面图上传;如果没有封面图,则跳过封面区域,直接上传标题、正文、表格和正文图片,完成后提醒用户补一张 5:2 封面。X Article 当前实测正文最多 25…
alchaincyf/huashu-md-html
Converts files and web pages into clean Markdown, then turns Markdown into polished HTML, Word, PDF and EPUB using four templates.
sugarforever/01coder-agent-skills
Designs typography-driven video covers and thumbnails in HTML/CSS and screenshots them with Chrome DevTools at 16:9, 16:10, 9:16 and 3:4.
sugarforever/01coder-agent-skills
Reviews one finished Claude Code session from its exported markdown and decides whether a skill is worth creating, updating or reusing for similar work.
sugarforever/01coder-agent-skills
Fixes speech-recognition mistakes in .srt subtitle files, in Chinese or English, using terms you supply and leaving every timestamp untouched.
sugarforever/01coder-agent-skills
Lists Claude Code session transcripts and exports them to organized Markdown with a digest, a clean conversation and linked tool-call details.
sugarforever/01coder-agent-skills
Lists, filters and exports local Codex session transcripts to organized Markdown with a digest, timeline and tool-call details, in full or pick-one mode.
sugarforever/01coder-agent-skills
Converts Mermaid diagrams and markdown tables into PNG images through a hosted rendering API, for platforms without rich formatting.
Categories
Publish Markdown articles to Substack as drafts. An agent skill from sugarforever/01coder-agent-skills. Publish Substack Article is an agent skill from sugarforever/01coder-agent-skills. Publish Markdown articles to Substack as drafts.
Publish Substack Article fits situations like: user wants to publish a Markdown file to Substack; mentions 发布到 Substack; substack article; publish to Substack.
Run `npx skills add sugarforever/01coder-agent-skills --skill publish-substack-article -a claude-code`. Or copy the skill folder (skills/publish-substack-article in sugarforever/01coder-agent-skills) into .claude/skills/publish-substack-article in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sugarforever/01coder-agent-skills --skill publish-substack-article -a codex`. Or copy the skill folder (skills/publish-substack-article in sugarforever/01coder-agent-skills) into .agents/skills/publish-substack-article 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 sugarforever/01coder-agent-skills --skill publish-substack-article -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publish-substack-article, .gemini/skills/publish-substack-article, .github/skills/publish-substack-article and .opencode/skills/publish-substack-article in your project.
Going by SKILL.md and its folder, Publish Substack Article needs the command-line tools its instructions call (pip, node and python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. 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.
Publish Substack Article is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k 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 Publish Substack Article: Web Article Extractor (dongbeixiaohuo/writing-agent, 435 stars), Doc Snapshot Agent (Felo-Inc/felo-skills, 248 stars), Take Doc Screenshots (pgplex/pgconsole, 155 stars) and Browser Navigation (Factory-AI/factory-plugins, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sugarforever (a GitHub user) maintains it in sugarforever/01coder-agent-skills, which has 136 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on June 19, 2026.
Source: sugarforever/01coder-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.