Seedance2 API
aiskillstore/marketplace
Out-of-the-box Seedance 2.0 API skill — just one API key to generate AI videos.
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…
$ npx skills add hect0x7/jmcomic-ai --skill jmcomic -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hect0x7/jmcomic-ai jmcomic --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/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-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 "jmcomic" agent skill from https://github.com/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomic into .claude/skills/jmcomic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmcomic", 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/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomicType 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 hect0x7/jmcomic-ai --skill jmcomic -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hect0x7/jmcomic-ai jmcomic --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hect0x7/jmcomic-ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/jmcomic_ai/skills/jmcomic .agents/skills/jmcomic && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jmcomic" agent skill from https://github.com/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomic into .agents/skills/jmcomic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmcomic", 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 hect0x7/jmcomic-ai --skill jmcomic -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hect0x7/jmcomic-ai jmcomic --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hect0x7/jmcomic-ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/jmcomic_ai/skills/jmcomic .cursor/skills/jmcomic && 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 "jmcomic" agent skill from https://github.com/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomic into .cursor/skills/jmcomic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmcomic", 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/hect0x7/jmcomic-ai.git --path src/jmcomic_ai/skills/jmcomic--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 hect0x7/jmcomic-ai --skill jmcomic -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hect0x7/jmcomic-ai jmcomic --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hect0x7/jmcomic-ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/jmcomic_ai/skills/jmcomic .gemini/skills/jmcomic && 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 "jmcomic" agent skill from https://github.com/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomic into .gemini/skills/jmcomic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmcomic", 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 hect0x7/jmcomic-ai jmcomicInstalls 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 hect0x7/jmcomic-ai --skill jmcomic -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hect0x7/jmcomic-ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/jmcomic_ai/skills/jmcomic .github/skills/jmcomic && 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 "jmcomic" agent skill from https://github.com/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomic into .github/skills/jmcomic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmcomic", 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 hect0x7/jmcomic-ai --skill jmcomic -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hect0x7/jmcomic-ai jmcomic --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hect0x7/jmcomic-ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/jmcomic_ai/skills/jmcomic .opencode/skills/jmcomic && 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 "jmcomic" agent skill from https://github.com/hect0x7/jmcomic-ai/tree/master/src/jmcomic_ai/skills/jmcomic into .opencode/skills/jmcomic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmcomic", 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.
jmcomicSearch, 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. 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.
Read from SKILL.md and the folder at commit 0b4df26. 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.
Ships 10 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
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.
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); the scripts in this folder are not scanned.
The full file from hect0x7/jmcomic-ai at commit 0b4df26, republished under its MIT licence (© hect0x7). 1,746 words, ~4,584 tokens.
.claude/skills/jmcomic/SKILL.md (or your agent's skills folder). This skill also uses 26 other files; get the full folder from GitHub.This skill enables you to interact with JMComic (18comic), a popular manga platform, to search, browse, and download manga content.
Activate this skill when the user wants to:
dir_rulehect0x7/JMComic-APKjms --help to obtain the current upstream options, then invoke jms directly for an existing or newly downloaded manga directoryFor APK download, local-reader startup, LAN safety, and download-to-read continuation rules, read
references/ecosystem.md before acting.
Both download_album and download_photo return structured dictionaries:
download_album(album_id: str, ctx: Context = None) returns:
{
"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:
{
"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.
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.
{
"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.
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:
{"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:
{
"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:
{
"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.
This skill supports advanced post-processing of downloaded manga. It returns structured data including the output path of the generated file.
post_process(album_id: str, process_type: str, params: dict = None) returns:
{
"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.
Most search and browsing tools (e.g., search_album, browse_albums) return a consistent structure that supports pagination:
{
"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.
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.
For detailed configuration options, refer to:
references/reference.md: Human-readable configuration guideassets/option_schema.json: JSON Schema for validationCommon configuration examples:
# 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: trueThe 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.
| Script | Purpose |
|---|---|
doctor.py | Environment diagnostics: Python version, deps, config status, network/domain checks. |
check_domains.py | Comprehensive 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.py | Authenticate 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.py | Download multiple albums from a list of IDs (CLI or file) with progress/error summary. |
download_photo.py | Download specific chapters/photos without fetching whole albums. |
validate_config.py | Validate option.yml and convert between YAML and JSON. |
search_export.py | Search 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.py | Query detailed metadata for one or many albums; print or export to JSON. |
album_comments.py | Fetch one page of album comments and recursive replies; print or export to JSON. |
forum_comments.py | Fetch one page of site-wide comments with source album IDs; print or export to JSON. |
favorite_folders.py | List favorite folders as JSON; supports --username, --output, and --option. |
favorite_albums.py | Browse one page of favorites as JSON; supports folder, page, sort, and username filters. |
add_favorite_album.py | Add one favorite and print its structured result as JSON; failures exit non-zero. |
delete_favorite_album.py | Delete one favorite and print its structured result as JSON; failures exit non-zero. |
download_covers.py | Batch download album cover images to a custom output directory. |
ranking_tracker.py | Track day/week/month rankings over time; export snapshots with timestamps. |
post_process.py | Convert 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.py | Download the latest APK published by hect0x7/JMComic-APK; supports optional output_dir, --force, and --json (run --help for current usage). |
The following table clarifies how script CLI parameters map to MCP tools.
| Script | Target Tool | Mapping Level | Notes |
|---|---|---|---|
search_export.py | search_album / browse_albums | Partial | --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.py | post_process | High | --id→album_id, --type→process_type, optional flags to params. --dir-rule + --base-dir map to params.dir_rule. |
album_info.py | get_album_detail | Partial | Batch wrapper over repeated single-album calls; output format is script-defined. |
album_comments.py | get_album_comments | High | --id maps to album_id, --page maps to page, and the JSON response preserves the MCP result shape. |
forum_comments.py | get_forum_comments | High | --page maps to page, and each returned comment preserves its source album_id. |
favorite_folders.py | get_favorite_folders | High | --username maps to username; JSON preserves the MCP result shape. |
favorite_albums.py | browse_favorite_albums | High | --folder-id, --page, --order-by, --username map to the corresponding tool arguments. |
add_favorite_album.py | add_favorite_album | High | --id maps to album_id; an error result exits non-zero. |
delete_favorite_album.py | delete_favorite_album | High | --id maps to album_id; an error result exits non-zero. |
download_covers.py | download_cover | Partial | Batch wrapper over repeated cover calls. |
ranking_tracker.py | browse_albums | Partial | Uses time-range/category browse semantics and exports snapshots. |
batch_download.py | download_album | Partial | Batch wrapper over repeated calls; prints each result's download path and dedicated log path. |
download_photo.py | download_photo | Partial | Batch wrapper over repeated calls; prints each result's download path and dedicated log path. |
validate_config.py | update_option (adjacent) | None | Validation/format conversion utility; not a direct MCP tool wrapper. |
download_latest_apk.py | None | None | Reads the public hect0x7/JMComic-APK GitHub Release API directly. |
login.py | login | High | Supports --username, --password, --impl, --domain, --proxy, and --save to update option.yml. |
check_domains.py | None | None | Diagnostic domain health checker and benchmark utility; not a direct MCP tool wrapper. |
~/.jmcomic/option.ymldownload_path. Start it automatically only when the user also asked to open, read, or view the result.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
SKILL.md and 26 other files (scripts, references, assets) in src/jmcomic_ai/skills/jmcomic of hect0x7/jmcomic-ai.
Open the folder on GitHubat commit 0b4df26
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jmcomic this skillhect0x7/jmcomic-ai | 113 | — | ~4.6k | Automated safety check: Pass | MIT | |
| Seedance2 APIaiskillstore/marketplace | 430 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Anti Detect Browserantibrow/anti-detect-browser-skills | 932 | — | ~9.8k | Automated safety check: Warn | MIT | |
| OpenStoryline Install HelperFireRedTeam/FireRed-OpenStoryline | 3.5k | — | ~1.5k | Automated safety check: Notes | Apache-2.0 | |
| Cassette Video EditCassette-Editor/oh-my-cassette | 157 | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Whiteboard Videognipbao/codex-whiteboard-video-skill | 324 | — | ~7.2k | Automated safety check: Notes | MIT |
aiskillstore/marketplace
Out-of-the-box Seedance 2.0 API skill — just one API key to generate AI videos.
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…
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.
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.
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.
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.
Works with
Categories
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.
Jmcomic fits situations like: manga discovery; comment analysis; post-processing; requests to download the JMComic APK.
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.
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.
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.
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.
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.
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.
Jmcomic is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.