Agent skill

Article Exporter

by actionbook in actionbook/actionbook

Export any web article to a local Obsidian-ready Markdown directory.

Apache-2.0Auto-check passedDevelopment

Install Article Exporter

skills CLI
$ npx skills add actionbook/actionbook --skill article-exporter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install actionbook/actionbook article-exporter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/playground/article-exporter .claude/skills/article-exporter && rm -rf skills-src

Use ~/.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/

Facts

Skill name
article-exporter
GitHub stars
1.6k
Token cost
~3.1k tokens
SKILL.md length
878 words
Files
8 (incl. references)
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Export any web article to a local Obsidian-ready Markdown directory.

  • Works in 10 steps: Fetch Article Content → Extract Metadata → Ask Output Directory → …
  • Tasks that involve Technical documentation
  • SKILL.md covers Lessons from Failed Exports, Quick Reference, Complete Export Workflow and Common Issues, plus 3 more sections
  • Calls curl and npm

What it does

Article Exporter is an agent skill from actionbook/actionbook. Export any web article to a local Obsidian-ready Markdown directory. Fetches page content via actionbook CLI, downloads images locally, rewrites image references to relative paths, and optionally translates the article using AI. Produces a self-contained folder with README.md, images/, and an index.md navigation file.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `TROUBLESHOOTING.md`, `agents/openai.yaml` and `references/batch-export.md`).

It sits in Development, covering Technical documentation and Markdown. It works with Obsidian and X (Twitter). The repository describes itself as: Let your AI agent get the sources behind logins and paywalls. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Technical documentation
  • Tasks that involve Markdown

Example prompts

  • “/article-exporter”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Write, Bash(actionbook:*), Bash(curl:*), Bash(obsidian-cli:*)

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Fetch Article Content
  2. Extract Metadata
  3. Ask Output Directory
  4. Create Directory Structure
  5. Download Images (Parallel if possible)
  6. Update Image References
  7. AI Translation (Optional)
  8. Create Navigation Index
  9. Open in Obsidian
  10. Report Success

What it can do on your machine

Read from SKILL.md and the folder at commit 0e31254. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash(actionbook:*)
    • Bash(curl:*)
    • Bash(obsidian-cli:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Article Exporter loads about 3.1k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 878 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~84
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from actionbook/actionbook at commit 0e31254, republished under its Apache-2.0 licence (© actionbook). 878 words, ~3,099 tokens.

Download SKILL.mdSave it as .claude/skills/article-exporter/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
article-exporter
description
Export any web article to a local Obsidian-ready Markdown directory. Fetches page content via actionbook CLI, downloads images locally, rewrites image references to relative paths, and optionally translates the article using AI. Produces a self-contained folder with README.md, images/, and an index.md navigation file.
allowed-tools
Read, Write, Bash(actionbook:*), Bash(curl:*), Bash(obsidian-cli:*)
when_to_use
Use when the user wants to save an online article, blog post, or social thread into Obsidian or a Markdown knowledge base. Also use when the user asks to…
argument-hint
[output-dir]
arguments
output_dir

Article Exporter - Export Articles to Obsidian

Version: 0.5.0 | Last Updated: 2026-03-13

You are an expert at web content archiving and Obsidian workflow automation.

Lessons from Failed Exports

These rules were extracted from real export failures. Each one prevents a specific class of error:

  1. Twitter/X needs AI reformatting — fetch returns flat text because Twitter uses custom UI without semantic HTML. The AI reformatting step reconstructs headings, lists, and code blocks. See references/twitter-handling.md.
  2. Ask for output path first — users have different vault locations. Assuming a default creates files in the wrong place and wastes time moving them.
  3. Check actionbook version >= 0.9.1 — the --wait-hint parameter was added in 0.9.1. Without it, dynamic content (SPAs, lazy-loaded pages) returns empty or partial results.
  4. Wait after navigation — use --wait-hint heavy for Twitter, Medium, and other dynamic sites. Without it, the page hasn't finished rendering when content is extracted.
  5. Rate limit batch exports — 3-5s delay between requests prevents being flagged as a bot (ToS compliance).

Quick Reference

TaskCommandSuccess Criteria
Check depsactionbook --versionShows version >= 0.9.1
Fetch articleactionbook browser fetch <url> --wait-hint heavyReturns plain text (AI reformats to Markdown in Step 1b)
TranslateAI session directlyREADME_CN.md created
Open in Obsidianobsidian-cli open "path/index.md"File opens in Obsidian

Complete Export Workflow

Goal: Export web article to Obsidian directory with images and optional translation

Success criteria:

  • Article directory created with README.md
  • All images downloaded to images/
  • index.md navigation file created
  • Optional: README_CN.md translation
  • Opened in Obsidian (if obsidian-cli available)

Step 1: Fetch Article Content

Execution: Direct (Bash)

bash
# Fetch article as readability text (with log cleaning)
actionbook browser fetch "$URL" --wait-hint heavy 2>/dev/null | \
  sed '/^[[:space:]]*$/d;/^\x1b\[/d;/^INFO/d' > /tmp/article_raw.txt

Success criteria:

  • /tmp/article_raw.txt exists and size > 0 bytes
  • Content contains the article's main text

The fetch command returns readability-extracted plain text (not Markdown). AI reformatting in Step 1b is always needed to produce proper Markdown.

Rules:

  • Use --wait-hint heavy for Twitter, Medium, dynamic content
  • Use --wait-hint light for static blogs
  • 2>/dev/null suppresses stderr logs
  • sed removes ANSI codes, INFO lines, empty lines

Twitter/X Special Handling

Twitter uses non-semantic HTML, so fetch output loses all structure (headings become flat text, code blocks disappear). If the URL contains x.com or twitter.com, pay extra attention to structure reconstruction in Step 1b. See references/twitter-handling.md.


Step 1b: AI Reformat to Markdown

Execution: Direct (AI session)

Read /tmp/article_raw.txt and convert the plain text into well-structured Markdown. Save the result to /tmp/article.md.

Reformatting rules:

  • Reconstruct headings (#, ##, ###) from the text structure
  • Preserve original image URLs as ![alt](url) references
  • Format code blocks, lists, tables, and blockquotes
  • Keep the original article title as the first # H1 heading

Success criteria:

  • /tmp/article.md exists and starts with # <Title>
  • Image URLs are preserved as Markdown image syntax

Step 2: Extract Metadata

Execution: Direct (Bash)

bash
# Extract title (first H1 heading from AI-reformatted markdown)
TITLE=$(grep -m 1 "^# " /tmp/article.md | sed 's/^# //')

# Extract image URLs (filter out data: URLs)
IMAGE_URLS=$(grep -o '!\[[^]]*\]([^)]*)' /tmp/article.md | \
    sed -E 's/!\[[^]]*\]\(([^)]*)\)/\1/' | \
    grep -v '^data:')

Success criteria:

  • $TITLE is non-empty
  • $IMAGE_URLS count matches expected (use wc -l)

Step 3: Ask Output Directory

Execution: [human] Human checkpoint: Confirm output location before creating files

Ask user: "Where should I save the exported article?"

Suggested paths:

  • ~/Work/Write/Articles (default)
  • ~/Documents/Obsidian/Articles
  • ~/Notes/Imported
  • (or custom path from $output_dir argument)

Success criteria: User confirms output directory

Artifacts: $OUTPUT_DIR variable set


Step 4: Create Directory Structure

Execution: Direct (Bash)

bash
# Use argument if provided, otherwise use confirmed path
OUTPUT_DIR="${output_dir:-$USER_CONFIRMED_PATH}"

# Sanitize title for directory name
SAFE_TITLE=$(echo "$TITLE" | sed 's/[/:*?"<>|]//g' | cut -c1-100 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')

# Create output directory
ARTICLE_DIR="$OUTPUT_DIR/$SAFE_TITLE"
mkdir -p "$ARTICLE_DIR/images"

Success criteria:

  • Directory $ARTICLE_DIR exists
  • Subdirectory images/ exists
  • Directory is writable

Rules:

  • Remove special characters: / : * ? " < > |
  • Limit title length to 100 characters
  • Trim leading/trailing whitespace

Show full SKILL.md (350 more words)Show less
Step 5: Download Images (Parallel if possible)

Execution: Direct (Bash)

bash
counter=1
for url in $IMAGE_URLS; do
    ext=$(echo "$url" | grep -oE '\.(jpg|jpeg|png|gif|webp|svg)' || echo ".jpg")
    curl -L -s "$url" -o "$ARTICLE_DIR/images/image_${counter}${ext}"

    # Check file size (detect 0-byte failures)
    if [ ! -s "$ARTICLE_DIR/images/image_${counter}${ext}" ]; then
        # Try alternative format (Twitter)
        curl -L -s "${url}?format=jpg&name=orig" -o "$ARTICLE_DIR/images/image_${counter}.jpg"
    fi

    counter=$((counter + 1))
done

Success criteria:

  • All image files exist and size > 0 bytes
  • File count matches $IMAGE_URLS count

Rules:

  • Use curl -L to follow redirects
  • Check file size after download
  • Try alternative formats for Twitter images

Step 6: Update Image References

Execution: Direct (Bash)

bash
# Replace remote URLs with local paths
counter=1
for url in $IMAGE_URLS; do
    ext=$(echo "$url" | grep -oE '\.(jpg|jpeg|png|gif|webp|svg)' || echo ".jpg")
    sed -i.bak "s|$url|./images/image_${counter}${ext}|g" /tmp/article.md
    counter=$((counter + 1))
done

# Save updated markdown
cp /tmp/article.md "$ARTICLE_DIR/README.md"
rm /tmp/article.md.bak

Success criteria:

  • README.md contains ./images/image_N.* references
  • No remote URLs remain in image links

Step 7: AI Translation (Optional)

Execution: Direct (AI session)

Human checkpoint: Ask user: "Do you want to translate the article? (y/n)"

If yes:

  1. Read $ARTICLE_DIR/README.md
  2. Translate using AI capabilities (no external API)
  3. Write to $ARTICLE_DIR/README_CN.md (or other language code)

Translation Prompt Template:

Translate the following Markdown article to [LANGUAGE] while preserving:
- All Markdown formatting (headings, lists, code blocks, tables)
- Image references exactly as-is: ![alt](./images/image_N.*)
- Links and URLs unchanged
- Code blocks and technical terms in original language

Only output the translated Markdown content.

---
[Paste README.md content]

Success criteria: Translation file exists and size ≈ original ± 20%

Supported languages: en, zh, es, fr, de, ja, ko


Step 8: Create Navigation Index

Execution: Direct (Bash)

bash
# Auto-detect source from URL
case "$URL" in
    *x.com*|*twitter.com*) SOURCE="X" ;;
    *medium.com*) SOURCE="Medium" ;;
    *dev.to*) SOURCE="Dev.to" ;;
    *openai.com*) SOURCE="OpenAI Blog" ;;
    *substack.com*) SOURCE="Substack" ;;
    *github.com*) SOURCE="GitHub" ;;
    *) SOURCE=$(echo "$URL" | sed 's|https\?://||' | cut -d/ -f1) ;;
esac

# Create index.md
cat > "$ARTICLE_DIR/index.md" <<EOF
# $TITLE

> **Export Date**: $(date +%Y-%m-%d)
> **Original URL**: $URL
> **Source**: $SOURCE

## 📚 Language Versions

- 🇬🇧 **English**: [[README]]
- 🇨🇳 **Chinese**: [[README_CN]]  <!-- if translated -->

## 📊 Metadata

| Property | Value |
|----------|-------|
| **Source** | $SOURCE |
| **Images** | $(ls images/ 2>/dev/null | wc -l) images |
| **Export Tool** | actionbook CLI |
| **Export Date** | $(date +%Y-%m-%d) |

---

**Exported using**: actionbook browser automation + AI assistant
EOF

Success criteria: index.md exists with metadata table


Step 9: Open in Obsidian

Execution: Direct (Bash)

bash
if command -v obsidian-cli &> /dev/null; then
    VAULT_ROOT="$OUTPUT_DIR"
    REL_PATH=$(echo "$ARTICLE_DIR" | sed "s|$VAULT_ROOT/||")
    obsidian-cli open "$REL_PATH/index.md"
    echo "✓ Opened in Obsidian: $REL_PATH/index.md"
else
    # Fallback: Open in file manager
    case "$(uname)" in
        Darwin)  open "$ARTICLE_DIR" ;;
        Linux)   xdg-open "$ARTICLE_DIR" ;;
        CYGWIN*|MINGW*|MSYS*) start "$ARTICLE_DIR" ;;
    esac
    echo "⚠️  Install obsidian-cli for automatic opening: npm install -g obsidian-cli"
fi

Success criteria:

  • File opens in Obsidian OR directory opens in file manager
  • User sees success message

Step 10: Report Success

Execution: Direct (Output)

bash
echo ""
echo "════════════════════════════════════════════"
echo "✓ Article exported successfully!"
echo ""
echo "📁 Location: $ARTICLE_DIR"
echo "📄 Files:"
echo "     - README.md (original)"
[ -f "$ARTICLE_DIR/README_CN.md" ] && echo "     - README_CN.md (translation)"
echo "     - index.md (navigation)"
echo "🖼️  Images: $(ls images/ 2>/dev/null | wc -l) files"
echo "════════════════════════════════════════════"

Common Issues

IssueCauseSolution
"actionbook: command not found"CLI not installednpm install -g @actionbookdev/cli@latest
"unknown flag: --wait-hint"Version < 0.9.1Upgrade: npm install -g @actionbookdev/cli@latest
Twitter format brokenfetch loses structureUse AI reformatting (see references/twitter-handling.md)
Images 0 bytesURL expiredTry ?format=jpg&name=orig
obsidian-cli not foundNot installednpm install -g obsidian-cli
Batch export blockedToo fast, flagged as botAdd 3-5s sleep between requests

Detailed troubleshooting: See ./references/troubleshooting.md


Edge Cases Handled

  • Long titles → Auto-truncate to 100 chars
  • Special characters → Sanitized (/ : * ? " < > | removed)
  • No images → Steps 5-6 skip gracefully
  • 0-byte images → Auto-retry with alternative formats
  • Data URLs → Filtered out in Step 2

When Using This Skill

  1. Check dependencies first — actionbook --version >= 0.9.1
  2. Test with one article — Verify before batch processing
  3. Twitter/X requires special handling — See references/twitter-handling.md
  4. Respect ToS — Personal use only, rate limit batch exports

References (Progressive Disclosure)

For detailed documentation, see:

  • ./references/twitter-handling.md — Twitter/X special handling (AI reformatting)
  • ./references/batch-export.md — Batch export with rate limiting
  • ./references/troubleshooting.md — Detailed troubleshooting guide
  • ./references/obsidian-setup.md — obsidian-cli setup and configuration
  • ./references/supported-websites.md — Complete website compatibility list

Last Updated: 2026-03-13 | Version: 0.5.0

© actionbook, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (references) in playground/article-exporter of actionbook/actionbook.

  • SKILL.md
  • TROUBLESHOOTING.md
  • agents/openai.yaml
  • references/batch-export.md
  • references/obsidian-setup.md
  • references/supported-websites.md
  • references/troubleshooting.md
  • references/twitter-handling.md

Open the folder on GitHubat commit 0e31254

Compare with similar skills

Article Exporter 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.

Article Exporter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Article Exporter this skillactionbook/actionbook1.6k—~3.1kAutomated safety check: PassApache-2.0
WooCommerce Markdown Guidelineswoocommerce/woocommerce11k1 repos~1.7kAutomated safety check: PassCustom licence
Docs Conventionsflet-dev/flet17k—~1.6kAutomated safety check: PassApache-2.0
Markdown Without Hard Wrapsprisma/orm48k—~472Automated safety check: PassApache-2.0
Open Source Project Articledigoal/blog8.6k—~1.3kAutomated safety check: PassGPL-2.0
GitHub Weekly Trendingdigoal/blog8.6k—~1.5kAutomated safety check: PassGPL-2.0

Similar skills

  • WooCommerce Markdown Guidelines

    woocommerce/woocommerce

    Rules for writing and editing markdown in the WooCommerce repository, with the project's markdownlint settings for headings, lists and code blocks.

    11k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed
  • Docs Conventions

    flet-dev/flet

    A skill your agent uses when writing or reviewing Flet documentation, including Python docstrings (Google style, reST roles, admonitions), Markdown docs (cross-references, images, code examples)…

    17k GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Keeps Markdown prose on one line per paragraph instead of wrapping at a fixed column, so renderers can reflow it and diffs stay clean.

    48k GitHub stars~472 tokensUpdated today
    DevelopmentAuto-check passed
  • Analyze an open-source project from a repository URL and write a deeply sourced Chinese Markdown article.

    8.6k GitHub stars~1.3k tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • 解读用户粘贴的 GitHub 每周 Trending 或开源项目榜单内容,基于用户提供的候选项目、项目 README、GitHub 项目页和 DeepWiki 生成适合公众号发布的 Markdown 文章,并输出到当前项目 markdown 目录。用于 GitHub 周榜解读、每周开源热点、热门开源项目分析、公众号开源项目推荐。

    8.6k GitHub stars~1.5k tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • X Article Draft Uploader

    mcncarl/yichen-skills

    将 Obsidian 或本地 Markdown 文章上传到 X/Twitter Articles 草稿;支持 Markdown pipe 表格转成 X 原生表格块;如果文章最上方有图片,则按当前 X 界面提示的 5:2 封面图上传;如果没有封面图,则跳过封面区域,直接上传标题、正文、表格和正文图片,完成后提醒用户补一张 5:2 封面。X Article 当前实测正文最多 25…

    4.3k GitHub stars~2.9k tokensUpdated 4 days ago
    Writing & ContentAuto-check: warnings

More from actionbook/actionbook

All 13 skills in this repo
  • Extract

    actionbook/actionbook

    Extract structured data from websites and produce an executable Playwright script plus extracted data.

    1.6k GitHub starsUsed in 2 repos~3.4k tokens
    Auto-check passed
  • Actionbook

    actionbook/actionbook

    Activate when the user needs to interact with any website — browser automation, web scraping, screenshots, form filling, UI testing, monitoring, or building AI agents.

    1.6k GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Actionbook Web Test

    actionbook/actionbook

    Run browser-based web tests against websites using Actionbook CLI.

    1.6k GitHub stars~9.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Actionbook

    actionbook/actionbook

    Browser action engine. An agent skill from actionbook/actionbook.

    1.6k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Arxiv Viewer

    actionbook/actionbook

    View, search, and download academic papers from arXiv. An agent skill from actionbook/actionbook.

    1.6k GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check passed
  • JSON UI

    actionbook/actionbook

    CRITICAL: Use for json-ui component rendering and development.

    1.6k GitHub stars~2.7k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Article Exporter

What does Article Exporter do?

Export any web article to a local Obsidian-ready Markdown directory. Article Exporter is an agent skill from actionbook/actionbook. Export any web article to a local Obsidian-ready Markdown directory.

When should I use Article Exporter?

Article Exporter fits situations like: tasks that involve Technical documentation; tasks that involve Markdown.

How do I install Article Exporter in Claude Code?

Run `npx skills add actionbook/actionbook --skill article-exporter -a claude-code`. Or copy the skill folder (playground/article-exporter in actionbook/actionbook) into .claude/skills/article-exporter in your project. Claude Code loads it when a task matches its description.

How do I install Article Exporter in Codex?

Run `npx skills add actionbook/actionbook --skill article-exporter -a codex`. Or copy the skill folder (playground/article-exporter in actionbook/actionbook) into .agents/skills/article-exporter in your project. Codex loads it when a task matches its description.

Can I use Article Exporter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add actionbook/actionbook --skill article-exporter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/article-exporter, .gemini/skills/article-exporter, .github/skills/article-exporter and .opencode/skills/article-exporter in your project.

What does Article Exporter need to run?

Going by SKILL.md and its folder, Article Exporter needs the command-line tools its instructions call (curl and npm). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Bash(actionbook:*), Bash(curl:*), Bash(obsidian-cli:*).

Does Article Exporter access the network?

SKILL.md contains no URLs. Its commands use curl and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Article Exporter safe to install?

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.

What licence does Article Exporter use?

Article Exporter is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Article Exporter use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Article Exporter?

Skills that share tags, products or a category with Article Exporter: WooCommerce Markdown Guidelines (woocommerce/woocommerce, 11k stars), Docs Conventions (flet-dev/flet, 17k stars), Markdown Without Hard Wraps (prisma/orm, 48k stars) and Open Source Project Article (digoal/blog, 8.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Article Exporter?

actionbook (a GitHub organization) maintains it in actionbook/actionbook, which has 1,611 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 8, 2026.

Source: actionbook/actionbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.