Agent skill

Jmcomic

by hect0x7 in hect0x7/jmcomic-ai

Search, browse, inspect album-specific or site-wide comments, list favorite folders, browse, add, and delete favorites, and download manga from JMComic (18comic), obtain the latest Android APK from…

MITAuto-check passedMedia & Creative

Install Jmcomic

skills CLI
$ npx skills add hect0x7/jmcomic-ai --skill jmcomic -a claude-code

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

GitHub CLI
$ gh skill install hect0x7/jmcomic-ai jmcomic --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/hect0x7/jmcomic-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/jmcomic_ai/skills/jmcomic .claude/skills/jmcomic && 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
jmcomic
GitHub stars
113
Token cost
~4.6k tokens
SKILL.md length
1,746 words
Files
27 (incl. scripts, references, assets)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Search, browse, inspect album-specific or site-wide comments, list favorite folders, browse, add, and delete favorites, and download manga from JMComic (18comic), obtain the latest Android APK from…

  • Manga discovery
  • SKILL.md covers When to Use This Skill, Core Capabilities, Configuration Reference and Available Command-Line Tools, plus 3 more sections
  • Runs Python scripts from its folder; calls python
  • Comment analysis

What it does

Jmcomic is an agent skill from hect0x7/jmcomic-ai. Search, browse, inspect album-specific or site-wide comments, list favorite folders, browse, add, and delete favorites, and download manga from JMComic (18comic), obtain the latest Android APK from hect0x7/JMComic-APK, and invoke the upstream jm-view-server jms command for local reading. Use for manga discovery, ranking, comment analysis, favorites, downloads, post-processing, configuration, requests to download the JMComic APK, requests to start a local or phone-accessible manga reader, and download-then-read…

Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 29 other files, including scripts, reference files and assets (for example `assets/option_schema.json`, `references/browse_albums.md` and `references/ecosystem.md`).

It sits in Media & Creative, covering Comics and storyboards. It works with Android, Model Context Protocol and Python. The repository describes itself as: 禁漫天堂 Agent Skills MCP | JMComic integration via Skills and MCP for AI Agents. The licence is MIT.

When your agent uses it

  • Manga discovery
  • Comment analysis
  • Post-processing
  • Requests to download the JMComic APK

Example prompts

  • “/jmcomic”

Requirements

  • Python 3

What it can do on your machine

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

  • Tool permissions

    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.

  • Runs code

    Ships 10 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python

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

  • Network

    No URLs in SKILL.md.

    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

Jmcomic loads about 4.6k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 134 tokens; SKILL.md has 1,746 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from hect0x7/jmcomic-ai at commit 0b4df26, republished under its MIT licence (© hect0x7). 1,746 words, ~4,584 tokens.

Download SKILL.mdSave it as .claude/skills/jmcomic/SKILL.md (or your agent's skills folder). This skill also uses 26 other files; get the full folder from GitHub.
name
jmcomic
description
Search, browse, inspect album-specific or site-wide comments, list favorite folders, browse, add, and delete favorites, and download manga from JMComic (18comic), obtain the latest Android APK from hect0x7/JMComic-APK, and invoke the upstream jm-view-server `jms` command for local reading. Use for manga discovery, ranking, comment analysis, favorites, downloads, post-processing, configuration, requests to download the JMComic APK, requests to start a local or phone-accessible manga reader, and download-then-read workflows.

JMComic Skill

This skill enables you to interact with JMComic (18comic), a popular manga platform, to search, browse, and download manga content.

When to Use This Skill

Activate this skill when the user wants to:

  • Search for manga by keyword or category
  • Browse popular manga rankings (daily, weekly, monthly)
  • Read album-specific or site-wide comments and nested replies, including spoiler flags
  • List favorite folders, browse saved albums, add an album to favorites, or delete an album from favorites
  • Download entire albums or specific chapters (Returns structured dict with status, paths, and metadata)
  • Get detailed information about a manga album
  • Configure download settings (paths, concurrency, proxies)
  • Post-process downloaded content (Zip, PDF, LongImage) with native parameters or dir_rule
  • Download the latest Android APK published by hect0x7/JMComic-APK
  • Run jms --help to obtain the current upstream options, then invoke jms directly for an existing or newly downloaded manga directory

For APK download, local-reader startup, LAN safety, and download-to-read continuation rules, read references/ecosystem.md before acting.

📥 Download Tools Return Structured Data

Both download_album and download_photo return structured dictionaries:

download_album(album_id: str, ctx: Context = None) returns:

python
{
    "status": "success" | "failed",
    "album_id": str,
    "title": str,
    "download_path": str,  # Absolute path to download directory
    "duration": float | None,  # Total elapsed time in seconds
    "image_paths": list[str],  # Actual downloaded or cached image paths
    "export_files": dict[str, list[str]],  # Plugin outputs grouped by suffix
    "task_id": str,        # Dedicated ID for this download invocation
    "log_path": str,       # Absolute path to this task's log file
    "error": str | None
}

download_photo(photo_id: str, ctx: Context = None) returns:

python
{
    "status": "success" | "failed",
    "photo_id": str,
    "image_count": int,    # Number of actual image paths in this result
    "download_path": str,  # Absolute path to download directory
    "duration": float | None,  # Total elapsed time in seconds
    "image_paths": list[str],  # Actual downloaded or cached image paths
    "export_files": dict[str, list[str]],  # Plugin outputs grouped by suffix
    "task_id": str,        # Dedicated ID for this download invocation
    "log_path": str,       # Absolute path to this task's log file
    "error": str | None
}

Real-time Progress Tracking: Both methods accept an optional ctx: Context parameter (automatically injected by FastMCP). When provided, progress updates are sent via MCP notifications in real-time, allowing AI agents to monitor download progress.

Persistent Task Logs: Every download invocation creates an isolated log file and returns its task_id and log_path, including failed downloads. Logs default to ~/.jmcomic-ai/logs; set JM_TASK_LOG_DIR to use another directory.

Artifact Handoff: Use image_paths and export_files for packaging, sending, or cleanup instead of rescanning the configured directory. download_path comes from the completed upstream download result rather than a pre-download path prediction.

File-only Logging: Regular jmcomic, jmcomic_ai, and MCP runtime logs share ~/.jmcomic-ai/jmcomic_ai.log and are not emitted to stdout or stderr. Set JM_LOG_PATH to override the global log file. MCP protocol messages and explicit CLI result output are unaffected.

Upstream Rich Terminal Progress: jmcomic 2.7.7 includes the optional download_progress plugin with log_file and terminal_log_lines. Recommend it only when the user explicitly wants Rich progress in an interactive terminal. Do not enable it for jmai MCP/stdio downloads, which already use MCP Context notifications and isolated task logs.

Album Comments

Use get_album_comments(album_id: str, page: int = 1) to read one page of comments. This is a read-only tool; it does not post comments or replies.

python
{
    "album_id": str,
    "page": int,
    "page_size": int,
    "total": int | None,
    "page_count": int | None,
    "comment_count": int,
    "comments": [
        {
            "comment_id": str | None,
            "album_id": str | None,
            "user_id": str | None,
            "parent_comment_id": str | None,
            "content": str,
            "username": str,
            "nickname": str,
            "is_spoiler": bool,
            "created_at": object,
            "likes": int | None,
            "replies": [...]  # Recursive nested replies
        }
    ]
}

Use get_forum_comments(page: int = 1) for the latest site-wide comments. It returns the same comment objects and pagination fields without an album_id filter; each comment's own album_id identifies its source album. This is also read-only.

Favorites

All favorite tools require an authenticated client. Call login in the same MCP session or configure valid cookies. For HTML queries authenticated only by Cookie, pass username; after login, it can be omitted. The API client ignores username and always queries the current account. Separate script processes need authentication in their configuration; they do not inherit an MCP session's login.

get_favorite_folders(username: str = "") returns:

python
{"folders": [{"id": str, "name": str}]}

The directory can be empty. Use folder_id="0" to browse all favorites even if this ID is absent from the returned directory.

browse_favorite_albums(folder_id: str = "0", page: int = 1, order_by: str = "favorite_time", username: str = "") returns:

python
{
    "albums": [{"id": str, "title": str, "tags": list, "cover_url": str}],
    "total_count": int,
    "page": int,
    "folder_id": str,
    "error": str  # Present only for invalid page, folder ID, or sort parameters
}

Pagination starts at 1; folder_id="0" means all favorites. An empty result retains pagination and folder metadata. order_by accepts favorite_time (default) and update_time; the favorites list has its own upstream sort vocabulary, which differs from browse_albums. The service does not sort a page locally. Invalid arguments return an empty list with error; authentication and request failures propagate as tool errors, not empty collections.

add_favorite_album(album_id: str) returns:

python
{
    "status": "success" | "error",
    "album_id": str,
    "title": str,   # Album title
    "message": str
}

album_id accepts a numeric ID, a JM-prefixed ID, or an album URL and is normalized when parsing succeeds. The album is saved to the account's default favorites placement. Adding an album that is already saved returns status="error" and leaves the saved state unchanged.

delete_favorite_album(album_id: str) returns the same fields and takes the same album_id forms. Deleting an album that is not saved returns status="error" and leaves the saved state unchanged.

Both tools behave identically whichever client implementation the configuration selects, and both return the album title. Name every affected album as title (ID); when title is empty or absent, reuse an earlier search, browse, or detail result, or fetch the name with get_album_detail(album_id) or python scripts/album_info.py --id ID.

Core Capabilities

🛠️ Post-Processing

This skill supports advanced post-processing of downloaded manga. It returns structured data including the output path of the generated file.

  • 📦 Zip Compression: Pack an entire album or individual chapters into a ZIP file.
  • 📄 PDF Conversion: Merge all images of an album into a single PDF document.
  • 🖼️ Long Image Merging: Combine all pages of a chapter into one continuous long image.

post_process(album_id: str, process_type: str, params: dict = None) returns:

python
{
    "status": "success" | "error",
    "process_type": str,  # Process type used
    "album_id": str,  # Album ID processed
    "output_path": str,  # Absolute path to generated file/directory (empty string on error)
    "output_paths": list[str],  # All files actually registered by the upstream plugin
    "is_directory": bool,  # True if output is a directory (e.g., photo-level zip), False on error
    "message": str  # Success/error message
}

All fields are always present. On error, output_path is empty, output_paths is empty, and is_directory is False.

Output Control: Use dir_rule (a {"rule": "DSL_STRING", "base_dir": "BASE_PATH"} dict) for custom output paths. If omitted, files are saved in the configured default directory. The DSL supports Bd (base_dir), Axxx/Pxxx album/photo attributes, and {attr} Python format placeholders. When looping over albums into one base_dir, include {Aid} or {Atitle} to avoid overwrites.

For the full set of ZIP/PDF/LongImg × album/photo dir_rule examples, see references/post_process.md.

This skill provides command-line utilities for JMComic operations. All utilities are Python scripts located in the scripts/ directory and should be executed using Python.

Data Structure Notes

Most search and browsing tools (e.g., search_album, browse_albums) return a consistent structure that supports pagination:

json
{
  "albums": [ ... ],
  "total_count": 1234
}

total_count provides the total number of items available across all pages, allowing you to calculate the number of remaining pages and decide if further searching is needed.

Important: Browse Albums Data Limitations

browse_albums is the unified tool for browsing albums by category, time_range, and order_by (ranking + category browsing in one interface). Its response is lightweight — each album has only id, title, tags, and cover_url, and no stats (likes/views/author). To get those, call get_album_detail(album_id) per album.

order_by accepts: latest (default), likes, views, pictures, score, comments. For the full enumeration, use-case recipes (rankings, category browsing, combined queries), and the "top 10 with details" workflow, see references/browse_albums.md.

Configuration Reference

For detailed configuration options, refer to:

  • references/reference.md: Human-readable configuration guide
  • assets/option_schema.json: JSON Schema for validation

Common configuration examples:

yaml
# Change download directory
dir_rule:
  base_dir: "/path/to/downloads"
  rule: "Bd / Ptitle"

# Adjust concurrency
download:
  threading:
    image: 30  # Max concurrent image downloads
    photo: 5   # Max concurrent chapter downloads

# Set proxy
client:
  async_impl: async_api  # Used by jmcomic native async APIs
  cache: level_option    # Reuse metadata across clients from this option
  postman:
    meta_data:
      proxies:
        http: "http://proxy.example.com:8080"
        https: "https://proxy.example.com:8080"

# Or use system proxy
client:
  postman:
    meta_data:
      proxies: system

# Configure login cookies
client:
  postman:
    meta_data:
      cookies:
        AVS: "your_avs_cookie_value"

# Use plugins
plugins:
  after_album:
    - plugin: zip
      kwargs:
        level: photo
        suffix: zip
        delete_original_file: true
Show full SKILL.md (729 more words)Show less

Available Command-Line Tools

The scripts/ directory provides utility tools for common tasks. All tools support the --help flag for detailed usage. The table below summarizes each script; for full per-script examples and feature lists, see references/scripts.md.

ScriptPurpose
doctor.pyEnvironment diagnostics: Python version, deps, config status, network/domain checks.
check_domains.pyComprehensive domain health checker: tests latency, HTTP status, redirect chains (301/302), Cloudflare WAF challenges (403), and SSL validity across API and HTML candidate domains; outputs best recommended domains.
login.pyAuthenticate with JMComic (API/HTML/both), query user statistics (UID, coins, EXP, level, favorites), and optionally persist session cookies (AVS) directly to option.yml (--save).
batch_download.pyDownload multiple albums from a list of IDs (CLI or file) with progress/error summary.
download_photo.pyDownload specific chapters/photos without fetching whole albums.
validate_config.pyValidate option.yml and convert between YAML and JSON.
search_export.pySearch by keyword/ranking/category and export to CSV or JSON (multi-page); --tags keeps only albums carrying every given tag, --enrich fills per-album stats.
album_info.pyQuery detailed metadata for one or many albums; print or export to JSON.
album_comments.pyFetch one page of album comments and recursive replies; print or export to JSON.
forum_comments.pyFetch one page of site-wide comments with source album IDs; print or export to JSON.
favorite_folders.pyList favorite folders as JSON; supports --username, --output, and --option.
favorite_albums.pyBrowse one page of favorites as JSON; supports folder, page, sort, and username filters.
add_favorite_album.pyAdd one favorite and print its structured result as JSON; failures exit non-zero.
delete_favorite_album.pyDelete one favorite and print its structured result as JSON; failures exit non-zero.
download_covers.pyBatch download album cover images to a custom output directory.
ranking_tracker.pyTrack day/week/month rankings over time; export snapshots with timestamps.
post_process.pyConvert downloads to ZIP/PDF/LongImg, with optional encryption and dir_rule DSL; --outdir uses a safe file rule and missing deps are auto-installed (--no-install-deps to opt out).
download_latest_apk.pyDownload the latest APK published by hect0x7/JMComic-APK; supports optional output_dir, --force, and --json (run --help for current usage).

Script Parameters ↔ MCP Tools Mapping

The following table clarifies how script CLI parameters map to MCP tools.

ScriptTarget ToolMapping LevelNotes
search_export.pysearch_album / browse_albumsPartial--keyword maps to search_album; --ranking / --category maps to browse_albums. Ranking is a convenience mode based on time_range + configurable sort, not a separate backend API.
post_process.pypost_processHigh--id→album_id, --type→process_type, optional flags to params. --dir-rule + --base-dir map to params.dir_rule.
album_info.pyget_album_detailPartialBatch wrapper over repeated single-album calls; output format is script-defined.
album_comments.pyget_album_commentsHigh--id maps to album_id, --page maps to page, and the JSON response preserves the MCP result shape.
forum_comments.pyget_forum_commentsHigh--page maps to page, and each returned comment preserves its source album_id.
favorite_folders.pyget_favorite_foldersHigh--username maps to username; JSON preserves the MCP result shape.
favorite_albums.pybrowse_favorite_albumsHigh--folder-id, --page, --order-by, --username map to the corresponding tool arguments.
add_favorite_album.pyadd_favorite_albumHigh--id maps to album_id; an error result exits non-zero.
delete_favorite_album.pydelete_favorite_albumHigh--id maps to album_id; an error result exits non-zero.
download_covers.pydownload_coverPartialBatch wrapper over repeated cover calls.
ranking_tracker.pybrowse_albumsPartialUses time-range/category browse semantics and exports snapshots.
batch_download.pydownload_albumPartialBatch wrapper over repeated calls; prints each result's download path and dedicated log path.
download_photo.pydownload_photoPartialBatch wrapper over repeated calls; prints each result's download path and dedicated log path.
validate_config.pyupdate_option (adjacent)NoneValidation/format conversion utility; not a direct MCP tool wrapper.
download_latest_apk.pyNoneNoneReads the public hect0x7/JMComic-APK GitHub Release API directly.
login.pyloginHighSupports --username, --password, --impl, --domain, --proxy, and --save to update option.yml.
check_domains.pyNoneNoneDiagnostic domain health checker and benchmark utility; not a direct MCP tool wrapper.
Mapping Policy
  • MCP tools are the source of truth for agent-facing contracts (name, args, return structure).
  • Scripts are operational helpers for local package workflows and may expose different output formatting.
  • If strict schema guarantees are required, prefer calling MCP tools directly instead of scripts.

Important Notes

  • Legal Compliance: Ensure you have the right to download content
  • Rate Limiting: The platform may rate-limit requests; adjust threading if needed
  • Storage: Downloads can be large; ensure sufficient disk space
  • Configuration: Default config is at ~/.jmcomic/option.yml
  • Next action: After a successful manga download, offer to start the local reader for the returned download_path. Start it automatically only when the user also asked to open, read, or view the result.

Troubleshooting

  • Connection errors: Try updating the domain list in client config
  • Slow downloads: Reduce threading concurrency
  • Scrambled images: Ensure download.image.decode is set to true

© hect0x7, MIT. 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 26 other files (scripts, references, assets) in src/jmcomic_ai/skills/jmcomic of hect0x7/jmcomic-ai.

  • SKILL.md
  • assets/option_schema.json
  • references/browse_albums.md
  • references/ecosystem.md
  • references/examples.md
  • references/post_process.md
  • references/reference.md
  • references/scripts.md
  • scripts/_script_utils.py
  • scripts/add_favorite_album.py
  • scripts/album_comments.py
  • scripts/album_info.py
  • scripts/batch_download.py
  • scripts/check_domains.py
  • scripts/delete_favorite_album.py
  • scripts/doctor.py
  • scripts/download_covers.py
  • scripts/download_latest_apk.py
  • … and 9 more

Open the folder on GitHubat commit 0b4df26

Compare with similar skills

Jmcomic 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.

Jmcomic compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jmcomic this skillhect0x7/jmcomic-ai113—~4.6kAutomated safety check: PassMIT
Seedance2 APIaiskillstore/marketplace430—~3.7kAutomated safety check: PassMIT
Anti Detect Browserantibrow/anti-detect-browser-skills932—~9.8kAutomated safety check: WarnMIT
OpenStoryline Install HelperFireRedTeam/FireRed-OpenStoryline3.5k—~1.5kAutomated safety check: NotesApache-2.0
Cassette Video EditCassette-Editor/oh-my-cassette1571 repos~3.4kAutomated safety check: PassMIT
Whiteboard Videognipbao/codex-whiteboard-video-skill324—~7.2kAutomated safety check: NotesMIT

Similar skills

  • Seedance2 API

    aiskillstore/marketplace

    Out-of-the-box Seedance 2.0 API skill — just one API key to generate AI videos.

    430 GitHub stars~3.7k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Anti Detect Browser

    antibrow/anti-detect-browser-skills

    Drive Chromium from standard Playwright APIs with a real-device fingerprint applied in the kernel, one persistent isolated profile per identity, and a per-profile proxy whose exit IP sets timezone…

    932 GitHub stars~9.8k tokensUpdated 1 mo ago
    Testing & QAAuto-check: warnings
  • OpenStoryline Install Helper

    FireRedTeam/FireRed-OpenStoryline

    Installs, repairs and starts a local source checkout of FireRed-OpenStoryline, from prerequisites and a venv to resources, config and the MCP and web servers.

    3.5k GitHub stars~1.5k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Cassette Video Edit

    Cassette-Editor/oh-my-cassette

    Edit, trim, cut, caption, subtitle, reframe, combine, add background music to, or export video, audio, and image files through Cassette.

    157 GitHub starsUsed in 1 repo~3.4k tokens
    Media & CreativeAuto-check passed
  • Whiteboard Video

    gnipbao/codex-whiteboard-video-skill

    Generate smooth hand-drawn whiteboard and story videos directly inside Codex from text scripts, GPT Image 2 color storyboards, scene plans, SVGs, line art, or local images.

    324 GitHub stars~7.2k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: notes
  • Fal AI Generation

    witnesstodark/mr-mak-workspace

    Generate and edit images, create video, audio, 3D assets or material maps through fal.ai MCP or the Python queue client.

    336 GitHub stars~1k tokensUpdated 3 days ago
    Media & CreativeAuto-check: notes

Questions about Jmcomic

What does Jmcomic do?

Search, browse, inspect album-specific or site-wide comments, list favorite folders, browse, add, and delete favorites, and download manga from JMComic (18comic), obtain the latest Android APK from…. Jmcomic is an agent skill from hect0x7/jmcomic-ai. Search, browse, inspect album-specific or site-wide comments, list favorite folders, browse, add, and delete favorites, and download manga from JMComic (18comic), obtain the latest Android APK from hect0x7/JMComic-APK, and invoke the upstream jm-view-server jms command for local reading.

When should I use Jmcomic?

Jmcomic fits situations like: manga discovery; comment analysis; post-processing; requests to download the JMComic APK.

How do I install Jmcomic in Claude Code?

Run `npx skills add hect0x7/jmcomic-ai --skill jmcomic -a claude-code`. Or copy the skill folder (src/jmcomic_ai/skills/jmcomic in hect0x7/jmcomic-ai) into .claude/skills/jmcomic in your project. Claude Code loads it when a task matches its description.

How do I install Jmcomic in Codex?

Run `npx skills add hect0x7/jmcomic-ai --skill jmcomic -a codex`. Or copy the skill folder (src/jmcomic_ai/skills/jmcomic in hect0x7/jmcomic-ai) into .agents/skills/jmcomic in your project. Codex loads it when a task matches its description.

Can I use Jmcomic 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 hect0x7/jmcomic-ai --skill jmcomic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jmcomic, .gemini/skills/jmcomic, .github/skills/jmcomic and .opencode/skills/jmcomic in your project.

What does Jmcomic need to run?

Going by SKILL.md and its folder, Jmcomic needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Jmcomic access the network?

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.

Is Jmcomic 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Jmcomic use?

Jmcomic is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jmcomic use?

About 4.6k tokens (SKILL.md is roughly 18k 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 9.7k tokens, read only when the agent opens those files.

What are the alternatives to Jmcomic?

Skills that share tags, products or a category with Jmcomic: Seedance2 API (aiskillstore/marketplace, 430 stars), Anti Detect Browser (antibrow/anti-detect-browser-skills, 932 stars), OpenStoryline Install Helper (FireRedTeam/FireRed-OpenStoryline, 3.5k stars) and Cassette Video Edit (Cassette-Editor/oh-my-cassette, 157 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jmcomic?

hect0x7 (a GitHub user) maintains it in hect0x7/jmcomic-ai, which has 113 GitHub stars. The repository was last updated on September 29, 2026.

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