[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JC2T239AY182YX40G1PQ2M":3,"skill-same:01M6JC2T239AY182YX40G1PQ2M":213},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":28,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6JC2T239AY182YX40G1PQ2M","baoyu-comic",null,"Knowledge comics (知识漫画): educational, biography, tutorial.","S3YED\u002Fappie-kit","S3YED","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F62743867?v=4","01M6JBKBRRVP6KMS0VWZ27T3R6","01M6JBKBX0KG30284PW1DBYJT1",14,"MIT","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[29,30,31,32,33,34,35,36,37,38,39],"baoyu comic","image","github","https","knowledge","tutorial","creative","image-generation","biography","generation","Educational","2026-11-10 10:12:30",false,"---\nname: baoyu-comic\ndescription: \"Knowledge comics (知识漫画): educational, biography, tutorial.\"\nversion: 1.56.1\nauthor: 宝玉 (JimLiu)\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [comic, knowledge-comic, creative, image-generation]\n    homepage: https:\u002F\u002Fgithub.com\u002FJimLiu\u002Fbaoyu-skills#baoyu-comic\n---\n\n# Knowledge Comic Creator\n\nAdapted from [baoyu-comic](https:\u002F\u002Fgithub.com\u002FJimLiu\u002Fbaoyu-skills) for Hermes Agent's tool ecosystem.\n\nCreate original knowledge comics with flexible art style × tone combinations.\n\n## When to Use\n\nTrigger this skill when the user asks to create a knowledge\u002Feducational comic, biography comic, tutorial comic, or uses terms like \"知识漫画\", \"教育漫画\", or \"Logicomix-style\". The user provides content (text, file path, URL, or topic) and optionally specifies art style, tone, layout, aspect ratio, or language.\n\n## Reference Images\n\nHermes' `image_generate` tool is **prompt-only** — it accepts a text prompt and an aspect ratio, and returns an image URL. It does **NOT** accept reference images. When the user supplies a reference image, use it to **extract traits in text** that get embedded in every page prompt:\n\n**Intake**: Accept file paths when the user provides them (or pastes images in conversation).\n- File path(s) → copy to `refs\u002FNN-ref-{slug}.{ext}` alongside the comic output for provenance\n- Pasted image with no path → ask the user for the path via `clarify`, or extract style traits verbally as a text fallback\n- No reference → skip this section\n\n**Usage modes** (per reference):\n\n| Usage | Effect |\n|-------|--------|\n| `style` | Extract style traits (line treatment, texture, mood) and append to every page's prompt body |\n| `palette` | Extract hex colors and append to every page's prompt body |\n| `scene` | Extract scene composition or subject notes and append to the relevant page(s) |\n\n**Record in each page's prompt frontmatter** when refs exist:\n\n```yaml\nreferences:\n  - ref_id: 01\n    filename: 01-ref-scene.png\n    usage: style\n    traits: \"muted earth tones, soft-edged ink wash, low-contrast backgrounds\"\n```\n\nCharacter consistency is driven by **text descriptions** in `characters\u002Fcharacters.md` (written in Step 3) that get embedded inline in every page prompt (Step 5). The optional PNG character sheet generated in Step 7.1 is a human-facing review artifact, not an input to `image_generate`.\n\n## Options\n\n### Visual Dimensions\n\n| Option | Values | Description |\n|--------|--------|-------------|\n| Art | ligne-claire (default), manga, realistic, ink-brush, chalk, minimalist | Art style \u002F rendering technique |\n| Tone | neutral (default), warm, dramatic, romantic, energetic, vintage, action | Mood \u002F atmosphere |\n| Layout | standard (default), cinematic, dense, splash, mixed, webtoon, four-panel | Panel arrangement |\n| Aspect | 3:4 (default, portrait), 4:3 (landscape), 16:9 (widescreen) | Page aspect ratio |\n| Language | auto (default), zh, en, ja, etc. | Output language |\n| Refs | File paths | Reference images used for style \u002F palette trait extraction (not passed to the image model). See [Reference Images](#reference-images) above. |\n\n### Partial Workflow Options\n\n| Option | Description |\n|--------|-------------|\n| Storyboard only | Generate storyboard only, skip prompts and images |\n| Prompts only | Generate storyboard + prompts, skip images |\n| Images only | Generate images from existing prompts directory |\n| Regenerate N | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |\n\nDetails: [references\u002Fpartial-workflows.md](references\u002Fpartial-workflows.md)\n\n### Art, Tone & Preset Catalogue\n\n- **Art styles** (6): `ligne-claire`, `manga`, `realistic`, `ink-brush`, `chalk`, `minimalist`. Full definitions at `references\u002Fart-styles\u002F\u003Cstyle>.md`.\n- **Tones** (7): `neutral`, `warm`, `dramatic`, `romantic`, `energetic`, `vintage`, `action`. Full definitions at `references\u002Ftones\u002F\u003Ctone>.md`.\n- **Presets** (5) with special rules beyond plain art+tone:\n\n  | Preset | Equivalent | Hook |\n  |--------|-----------|------|\n  | `ohmsha` | manga + neutral | Visual metaphors, no talking heads, gadget reveals |\n  | `wuxia` | ink-brush + action | Qi effects, combat visuals, atmospheric |\n  | `shoujo` | manga + romantic | Decorative elements, eye details, romantic beats |\n  | `concept-story` | manga + warm | Visual symbol system, growth arc, dialogue+action balance |\n  | `four-panel` | minimalist + neutral + four-panel layout | 起承转合 structure, B&W + spot color, stick-figure characters |\n\n  Full rules at `references\u002Fpresets\u002F\u003Cpreset>.md` — load the file when a preset is picked.\n\n- **Compatibility matrix** and **content-signal → preset** table live in [references\u002Fauto-selection.md](references\u002Fauto-selection.md). Read it before recommending combinations in Step 2.\n\n## File Structure\n\nOutput directory: `comic\u002F{topic-slug}\u002F`\n- Slug: 2-4 words kebab-case from topic (e.g., `alan-turing-bio`)\n- Conflict: append timestamp (e.g., `turing-story-20260118-143052`)\n\n**Contents**:\n| File | Description |\n|------|-------------|\n| `source-{slug}.md` | Saved source content (kebab-case slug matches the output directory) |\n| `analysis.md` | Content analysis |\n| `storyboard.md` | Storyboard with panel breakdown |\n| `characters\u002Fcharacters.md` | Character definitions |\n| `characters\u002Fcharacters.png` | Character reference sheet (downloaded from `image_generate`) |\n| `prompts\u002FNN-{cover\\|page}-[slug].md` | Generation prompts |\n| `NN-{cover\\|page}-[slug].png` | Generated images (downloaded from `image_generate`) |\n| `refs\u002FNN-ref-{slug}.{ext}` | User-supplied reference images (optional, for provenance) |\n\n## Language Handling\n\n**Detection Priority**:\n1. User-specified language (explicit option)\n2. User's conversation language\n3. Source content language\n\n**Rule**: Use user's input language for ALL interactions:\n- Storyboard outlines and scene descriptions\n- Image generation prompts\n- User selection options and confirmations\n- Progress updates, questions, errors, summaries\n\nTechnical terms remain in English.\n\n## Workflow\n\n### Progress Checklist\n\n```\nComic Progress:\n- [ ] Step 1: Setup & Analyze\n  - [ ] 1.1 Analyze content\n  - [ ] 1.2 Check existing directory\n- [ ] Step 2: Confirmation - Style & options ⚠️ REQUIRED\n- [ ] Step 3: Generate storyboard + characters\n- [ ] Step 4: Review outline (conditional)\n- [ ] Step 5: Generate prompts\n- [ ] Step 6: Review prompts (conditional)\n- [ ] Step 7: Generate images\n  - [ ] 7.1 Generate character sheet (if needed) → characters\u002Fcharacters.png\n  - [ ] 7.2 Generate pages (with character descriptions embedded in prompt)\n- [ ] Step 8: Completion report\n```\n\n### Flow\n\n```\nInput → Analyze → [Check Existing?] → [Confirm: Style + Reviews] → Storyboard → [Review?] → Prompts → [Review?] → Images → Complete\n```\n\n### Step Summary\n\n| Step | Action | Key Output |\n|------|--------|------------|\n| 1.1 | Analyze content | `analysis.md`, `source-{slug}.md` |\n| 1.2 | Check existing directory | Handle conflicts |\n| 2 | Confirm style, focus, audience, reviews | User preferences |\n| 3 | Generate storyboard + characters | `storyboard.md`, `characters\u002F` |\n| 4 | Review outline (if requested) | User approval |\n| 5 | Generate prompts | `prompts\u002F*.md` |\n| 6 | Review prompts (if requested) | User approval |\n| 7.1 | Generate character sheet (if needed) | `characters\u002Fcharacters.png` |\n| 7.2 | Generate pages | `*.png` files |\n| 8 | Completion report | Summary |\n\n### User Questions\n\nUse the `clarify` tool to confirm options. Since `clarify` handles one question at a time, ask the most important question first and proceed sequentially. See [references\u002Fworkflow.md](references\u002Fworkflow.md) for the full Step 2 question set.\n\n**Timeout handling (CRITICAL)**: `clarify` can return `\"The user did not provide a response within the time limit. Use your best judgement to make the choice and proceed.\"` — this is NOT user consent to default everything.\n\n- Treat it as a default **for that one question only**. Continue asking the remaining Step 2 questions in sequence; each question is an independent consent point.\n- **Surface the default to the user visibly** in your next message so they have a chance to correct it: e.g. `\"Style: defaulted to ohmsha preset (clarify timed out). Say the word to switch.\"` — an unreported default is indistinguishable from never having asked.\n- Do NOT collapse Step 2 into a single \"use all defaults\" pass after one timeout. If the user is genuinely absent, they will be equally absent for all five questions — but they can correct visible defaults when they return, and cannot correct invisible ones.\n\n### Step 7: Image Generation\n\nUse Hermes' built-in `image_generate` tool for all image rendering. Its schema accepts only `prompt` and `aspect_ratio` (`landscape` | `portrait` | `square`); it **returns a URL**, not a local file. Every generated page or character sheet must therefore be downloaded to the output directory.\n\n**Prompt file requirement (hard)**: write each image's full, final prompt to a standalone file under `prompts\u002F` (naming: `NN-{type}-[slug].md`) BEFORE calling `image_generate`. The prompt file is the reproducibility record.\n\n**Aspect ratio mapping** — the storyboard's `aspect_ratio` field maps to `image_generate`'s format as follows:\n\n| Storyboard ratio | `image_generate` format |\n|------------------|-------------------------|\n| `3:4`, `9:16`, `2:3` | `portrait` |\n| `4:3`, `16:9`, `3:2` | `landscape` |\n| `1:1` | `square` |\n\n**Download step** — after every `image_generate` call:\n1. Read the URL from the tool result\n2. Fetch the image bytes using an **absolute** output path, e.g.\n   `curl -fsSL \"\u003Curl>\" -o \u002Fabs\u002Fpath\u002Fto\u002Fcomic\u002F\u003Cslug>\u002FNN-page-\u003Cslug>.png`\n3. Verify the file exists and is non-empty at that exact path before proceeding to the next page\n\n**Never rely on shell CWD persistence for `-o` paths.** The terminal tool's persistent-shell CWD can change between batches (session expiry, `TERMINAL_LIFETIME_SECONDS`, a failed `cd` that leaves you in the wrong directory). `curl -o relative\u002Fpath.png` is a silent footgun: if CWD has drifted, the file lands somewhere else with no error. **Always pass a fully-qualified absolute path to `-o`**, or pass `workdir=\u003Cabs path>` to the terminal tool. Incident Apr 2026: pages 06-09 of a 10-page comic landed at the repo root instead of `comic\u002F\u003Cslug>\u002F` because batch 3 inherited a stale CWD from batch 2 and `curl -o 06-page-skills.png` wrote to the wrong directory. The agent then spent several turns claiming the files existed where they didn't.\n\n**7.1 Character sheet** — generate it (to `characters\u002Fcharacters.png`, aspect `landscape`) when the comic is multi-page with recurring characters. Skip for simple presets (e.g., four-panel minimalist) or single-page comics. The prompt file at `characters\u002Fcharacters.md` must exist before invoking `image_generate`. The rendered PNG is a **human-facing review artifact** (so the user can visually verify character design) and a reference for later regenerations or manual prompt edits — it does **not** drive Step 7.2. Page prompts are already written in Step 5 from the **text descriptions** in `characters\u002Fcharacters.md`; `image_generate` cannot accept images as visual input.\n\n**7.2 Pages** — each page's prompt MUST already be at `prompts\u002FNN-{cover|page}-[slug].md` before invoking `image_generate`. Because `image_generate` is prompt-only, character consistency is enforced by **embedding character descriptions (sourced from `characters\u002Fcharacters.md`) inline in every page prompt during Step 5**. The embedding is done uniformly whether or not a PNG sheet is produced in 7.1; the PNG is only a review\u002Fregeneration aid.\n\n**Backup rule**: existing `prompts\u002F…md` and `…png` files → rename with `-backup-YYYYMMDD-HHMMSS` suffix before regenerating.\n\nFull step-by-step workflow (analysis, storyboard, review gates, regeneration variants): [references\u002Fworkflow.md](references\u002Fworkflow.md).\n\n## References\n\n**Core Templates**:\n- [analysis-framework.md](references\u002Fanalysis-framework.md) - Deep content analysis\n- [character-template.md](references\u002Fcharacter-template.md) - Character definition format\n- [storyboard-template.md](references\u002Fstoryboard-template.md) - Storyboard structure\n- [ohmsha-guide.md](references\u002Fohmsha-guide.md) - Ohmsha manga specifics\n\n**Style Definitions**:\n- `references\u002Fart-styles\u002F` - Art styles (ligne-claire, manga, realistic, ink-brush, chalk, minimalist)\n- `references\u002Ftones\u002F` - Tones (neutral, warm, dramatic, romantic, energetic, vintage, action)\n- `references\u002Fpresets\u002F` - Presets with special rules (ohmsha, wuxia, shoujo, concept-story, four-panel)\n- `references\u002Flayouts\u002F` - Layouts (standard, cinematic, dense, splash, mixed, webtoon, four-panel)\n\n**Workflow**:\n- [workflow.md](references\u002Fworkflow.md) - Full workflow details\n- [auto-selection.md](references\u002Fauto-selection.md) - Content signal analysis\n- [partial-workflows.md](references\u002Fpartial-workflows.md) - Partial workflow options\n\n## Page Modification\n\n| Action | Steps |\n|--------|-------|\n| **Edit** | **Update prompt file FIRST** → regenerate image → download new PNG |\n| **Add** | Create prompt at position → generate with character descriptions embedded → renumber subsequent → update storyboard |\n| **Delete** | Remove files → renumber subsequent → update storyboard |\n\n**IMPORTANT**: When updating pages, ALWAYS update the prompt file (`prompts\u002FNN-{cover|page}-[slug].md`) FIRST before regenerating. This ensures changes are documented and reproducible.\n\n## Pitfalls\n\n- Image generation: 10-30 seconds per page; auto-retry once on failure\n- **Always download** the URL returned by `image_generate` to a local PNG — downstream tooling (and the user's review) expects files in the output directory, not ephemeral URLs\n- **Use absolute paths for `curl -o`** — never rely on persistent-shell CWD across batches. Silent footgun: files land in the wrong directory and subsequent `ls` on the intended path shows nothing. See Step 7 \"Download step\".\n- Use stylized alternatives for sensitive public figures\n- **Step 2 confirmation required** - do not skip\n- **Steps 4\u002F6 conditional** - only if user requested in Step 2\n- **Step 7.1 character sheet** - recommended for multi-page comics, optional for simple presets. The PNG is a review\u002Fregeneration aid; page prompts (written in Step 5) use the text descriptions in `characters\u002Fcharacters.md`, not the PNG. `image_generate` does not accept images as visual input\n- **Strip secrets** — scan source content for API keys, tokens, or credentials before writing any output file\n","# Knowledge Comic Creator\n\nAdapted from [baoyu-comic](https:\u002F\u002Fgithub.com\u002FJimLiu\u002Fbaoyu-skills) for Hermes Agent's tool ecosystem.\n\nCreate original knowledge comics with flexible art style × tone combinations.\n\n## When to Use\n\nTrigger this skill when the user asks to create a knowledge\u002Feducational comic, biography comic, tutorial comic, or uses terms like \"知识漫画\", \"教育漫画\", or \"Logicomix-style\". The user provides content (text, file path, URL, or topic) and optionally specifies art style, tone, layout, aspect ratio, or language.\n\n## Reference Images\n\nHermes' `image_generate` tool is **prompt-only** — it accepts a text prompt and an aspect ratio, and returns an image URL. It does **NOT** accept reference images. When the user supplies a reference image, use it to **extract traits in text** that get embedded in every page prompt:\n\n**Intake**: Accept file paths when the user provides them (or pastes images in conversation).\n- File path(s) → copy to `refs\u002FNN-ref-{slug}.{ext}` alongside the comic output for provenance\n- Pasted image with no path → ask the user for the path via `clarify`, or extract style traits verbally as a text fallback\n- No reference → skip this section\n\n**Usage modes** (per reference):\n\n| Usage | Effect |\n|-------|--------|\n| `style` | Extract style traits (line treatment, texture, mood) and append to every page's prompt body |\n| `palette` | Extract hex colors and append to every page's prompt body |\n| `scene` | Extract scene composition or subject notes and append to the relevant page(s) |\n\n**Record in each page's prompt frontmatter** when refs exist:\n\n```yaml\nreferences:\n  - ref_id: 01\n    filename: 01-ref-scene.png\n    usage: style\n    traits: \"muted earth tones, soft-edged ink wash, low-contrast backgrounds\"\n```\n\nCharacter consistency is driven by **text descriptions** in `characters\u002Fcharacters.md` (written in Step 3) that get embedded inline in every page prompt (Step 5). The optional PNG character sheet generated in Step 7.1 is a human-facing review artifact, not an input to `image_generate`.\n\n## Options\n\n### Visual Dimensions\n\n| Option | Values | Description |\n|--------|--------|-------------|\n| Art | ligne-claire (default), manga, realistic, ink-brush, chalk, minimalist | Art style \u002F rendering technique |\n| Tone | neutral (default), warm, dramatic, romantic, energetic, vintage, action | Mood \u002F atmosphere |\n| Layout | standard (default), cinematic, dense, splash, mixed, webtoon, four-panel | Panel arrangement |\n| Aspect | 3:4 (default, portrait), 4:3 (landscape), 16:9 (widescreen) | Page aspect ratio |\n| Language | auto (default), zh, en, ja, etc. | Output language |\n| Refs | File paths | Reference images used for style \u002F palette trait extraction (not passed to the image model). See [Reference Images](#reference-images) above. |\n\n### Partial Workflow Options\n\n| Option | Description |\n|--------|-------------|\n| Storyboard only | Generate storyboard only, skip prompts and images |\n| Prompts only | Generate storyboard + prompts, skip images |\n| Images only | Generate images from existing prompts directory |\n| Regenerate N | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |\n\nDetails: [references\u002Fpartial-workflows.md](references\u002Fpartial-workflows.md)\n\n### Art, Tone & Preset Catalogue\n\n- **Art styles** (6): `ligne-claire`, `manga`, `realistic`, `ink-brush`, `chalk`, `minimalist`. Full definitions at `references\u002Fart-styles\u002F\u003Cstyle>.md`.\n- **Tones** (7): `neutral`, `warm`, `dramatic`, `romantic`, `energetic`, `vintage`, `action`. Full definitions at `references\u002Ftones\u002F\u003Ctone>.md`.\n- **Presets** (5) with special rules beyond plain art+tone:\n\n  | Preset | Equivalent | Hook |\n  |--------|-----------|------|\n  | `ohmsha` | manga + neutral | Visual metaphors, no talking heads, gadget reveals |\n  | `wuxia` | ink-brush + action | Qi effects, combat visuals, atmospheric |\n  | `shoujo` | manga + romantic | Decorative elements, eye details, romantic beats |\n  | `concept-story` | manga + warm | Visual symbol system, growth arc, dialogue+action balance |\n  | `four-panel` | minimalist + neutral + four-panel layout | 起承转合 structure, B&W + spot color, stick-figure characters |\n\n  Full rules at `references\u002Fpresets\u002F\u003Cpreset>.md` — load the file when a preset is picked.\n\n- **Compatibility matrix** and **content-signal → preset** table live in [references\u002Fauto-selection.md](references\u002Fauto-selection.md). Read it before recommending combinations in Step 2.\n\n## File Structure\n\nOutput directory: `comic\u002F{topic-slug}\u002F`\n- Slug: 2-4 words kebab-case from topic (e.g., `alan-turing-bio`)\n- Conflict: append timestamp (e.g., `turing-story-20260118-143052`)\n\n**Contents**:\n| File | Description |\n|------|-------------|\n| `source-{slug}.md` | Saved source content (kebab-case slug matches the output directory) |\n| `analysis.md` | Content analysis |\n| `storyboard.md` | Storyboard with panel breakdown |\n| `characters\u002Fcharacters.md` | Character definitions |\n| `characters\u002Fcharacters.png` | Character reference sheet (downloaded from `image_generate`) |\n| `prompts\u002FNN-{cover\\|page}-[slug].md` | Generation prompts |\n| `NN-{cover\\|page}-[slug].png` | Generated images (downloaded from `image_generate`) |\n| `refs\u002FNN-ref-{slug}.{ext}` | User-supplied reference images (optional, for provenance) |\n\n## Language Handling\n\n**Detection Priority**:\n1. User-specified language (explicit option)\n2. User's conversation language\n3. Source content language\n\n**Rule**: Use user's input language for ALL interactions:\n- Storyboard outlines and scene descriptions\n- Image generation prompts\n- User selection options and confirmations\n- Progress updates, questions, errors, summaries\n\nTechnical terms remain in English.\n\n## Workflow\n\n### Progress Checklist\n\n```\nComic Progress:\n- [ ] Step 1: Setup & Analyze\n  - [ ] 1.1 Analyze content\n  - [ ] 1.2 Check existing directory\n- [ ] Step 2: Confirmation - Style & options ⚠️ REQUIRED\n- [ ] Step 3: Generate storyboard + characters\n- [ ] Step 4: Review outline (conditional)\n- [ ] Step 5: Generate prompts\n- [ ] Step 6: Review prompts (conditional)\n- [ ] Step 7: Generate images\n  - [ ] 7.1 Generate character sheet (if needed) → characters\u002Fcharacters.png\n  - [ ] 7.2 Generate pages (with character descriptions embedded in prompt)\n- [ ] Step 8: Completion report\n```\n\n### Flow\n\n```\nInput → Analyze → [Check Existing?] → [Confirm: Style + Reviews] → Storyboard → [Review?] → Prompts → [Review?] → Images → Complete\n```\n\n### Step Summary\n\n| Step | Action | Key Output |\n|------|--------|------------|\n| 1.1 | Analyze content | `analysis.md`, `source-{slug}.md` |\n| 1.2 | Check existing directory | Handle conflicts |\n| 2 | Confirm style, focus, audience, reviews | User preferences |\n| 3 | Generate storyboard + characters | `storyboard.md`, `characters\u002F` |\n| 4 | Review outline (if requested) | User approval |\n| 5 | Generate prompts | `prompts\u002F*.md` |\n| 6 | Review prompts (if requested) | User approval |\n| 7.1 | Generate character sheet (if needed) | `characters\u002Fcharacters.png` |\n| 7.2 | Generate pages | `*.png` files |\n| 8 | Completion report | Summary |\n\n### User Questions\n\nUse the `clarify` tool to confirm options. Since `clarify` handles one question at a time, ask the most important question first and proceed sequentially. See [references\u002Fworkflow.md](references\u002Fworkflow.md) for the full Step 2 question set.\n\n**Timeout handling (CRITICAL)**: `clarify` can return `\"The user did not provide a response within the time limit. Use your best judgement to make the choice and proceed.\"` — this is NOT user consent to default everything.\n\n- Treat it as a default **for that one question only**. Continue asking the remaining Step 2 questions in sequence; each question is an independent consent point.\n- **Surface the default to the user visibly** in your next message so they have a chance to correct it: e.g. `\"Style: defaulted to ohmsha preset (clarify timed out). Say the word to switch.\"` — an unreported default is indistinguishable from never having asked.\n- Do NOT collapse Step 2 into a single \"use all defaults\" pass after one timeout. If the user is genuinely absent, they will be equally absent for all five questions — but they can correct visible defaults when they return, and cannot correct invisible ones.\n\n### Step 7: Image Generation\n\nUse Hermes' built-in `image_generate` tool for all image rendering. Its schema accepts only `prompt` and `aspect_ratio` (`landscape` | `portrait` | `square`); it **returns a URL**, not a local file. Every generated page or character sheet must therefore be downloaded to the output directory.\n\n**Prompt file requirement (hard)**: write each image's full, final prompt to a standalone file under `prompts\u002F` (naming: `NN-{type}-[slug].md`) BEFORE calling `image_generate`. The prompt file is the reproducibility record.\n\n**Aspect ratio mapping** — the storyboard's `aspect_ratio` field maps to `image_generate`'s format as follows:\n\n| Storyboard ratio | `image_generate` format |\n|------------------|-------------------------|\n| `3:4`, `9:16`, `2:3` | `portrait` |\n| `4:3`, `16:9`, `3:2` | `landscape` |\n| `1:1` | `square` |\n\n**Download step** — after every `image_generate` call:\n1. Read the URL from the tool result\n2. Fetch the image bytes using an **absolute** output path, e.g.\n   `curl -fsSL \"\u003Curl>\" -o \u002Fabs\u002Fpath\u002Fto\u002Fcomic\u002F\u003Cslug>\u002FNN-page-\u003Cslug>.png`\n3. Verify the file exists and is non-empty at that exact path before proceeding to the next page\n\n**Never rely on shell CWD persistence for `-o` paths.** The terminal tool's persistent-shell CWD can change between batches (session expiry, `TERMINAL_LIFETIME_SECONDS`, a failed `cd` that leaves you in the wrong directory). `curl -o relative\u002Fpath.png` is a silent footgun: if CWD has drifted, the file lands somewhere else with no error. **Always pass a fully-qualified absolute path to `-o`**, or pass `workdir=\u003Cabs path>` to the terminal tool. Incident Apr 2026: pages 06-09 of a 10-page comic landed at the repo root instead of `comic\u002F\u003Cslug>\u002F` because batch 3 inherited a stale CWD from batch 2 and `curl -o 06-page-skills.png` wrote to the wrong directory. The agent then spent several turns claiming the files existed where they didn't.\n\n**7.1 Character sheet** — generate it (to `characters\u002Fcharacters.png`, aspect `landscape`) when the comic is multi-page with recurring characters. Skip for simple presets (e.g., four-panel minimalist) or single-page comics. The prompt file at `characters\u002Fcharacters.md` must exist before invoking `image_generate`. The rendered PNG is a **human-facing review artifact** (so the user can visually verify character design) and a reference for later regenerations or manual prompt edits — it does **not** drive Step 7.2. Page prompts are already written in Step 5 from the **text descriptions** in `characters\u002Fcharacters.md`; `image_generate` cannot accept images as visual input.\n\n**7.2 Pages** — each page's prompt MUST already be at `prompts\u002FNN-{cover|page}-[slug].md` before invoking `image_generate`. Because `image_generate` is prompt-only, character consistency is enforced by **embedding character descriptions (sourced from `characters\u002Fcharacters.md`) inline in every page prompt during Step 5**. The embedding is done uniformly whether or not a PNG sheet is produced in 7.1; the PNG is only a review\u002Fregeneration aid.\n\n**Backup rule**: existing `prompts\u002F…md` and `…png` files → rename with `-backup-YYYYMMDD-HHMMSS` suffix before regenerating.\n\nFull step-by-step workflow (analysis, storyboard, review gates, regeneration variants): [references\u002Fworkflow.md](references\u002Fworkflow.md).\n\n## References\n\n**Core Templates**:\n- [analysis-framework.md](references\u002Fanalysis-framework.md) - Deep content analysis\n- [character-template.md](references\u002Fcharacter-template.md) - Character definition format\n- [storyboard-template.md](references\u002Fstoryboard-template.md) - Storyboard structure\n- [ohmsha-guide.md](references\u002Fohmsha-guide.md) - Ohmsha manga specifics\n\n**Style Definitions**:\n- `references\u002Fart-styles\u002F` - Art styles (ligne-claire, manga, realistic, ink-brush, chalk, minimalist)\n- `references\u002Ftones\u002F` - Tones (neutral, warm, dramatic, romantic, energetic, vintage, action)\n- `references\u002Fpresets\u002F` - Presets with special rules (ohmsha, wuxia, shoujo, concept-story, four-panel)\n- `references\u002Flayouts\u002F` - Layouts (standard, cinematic, dense, splash, mixed, webtoon, four-panel)\n\n**Workflow**:\n- [workflow.md](references\u002Fworkflow.md) - Full workflow details\n- [auto-selection.md](references\u002Fauto-selection.md) - Content signal analysis\n- [partial-workflows.md](references\u002Fpartial-workflows.md) - Partial workflow options\n\n## Page Modification\n\n| Action | Steps |\n|--------|-------|\n| **Edit** | **Update prompt file FIRST** → regenerate image → download new PNG |\n| **Add** | Create prompt at position → generate with character descriptions embedded → renumber subsequent → update storyboard |\n| **Delete** | Remove files → renumber subsequent → update storyboard |\n\n**IMPORTANT**: When updating pages, ALWAYS update the prompt file (`prompts\u002FNN-{cover|page}-[slug].md`) FIRST before regenerating. This ensures changes are documented and reproducible.\n\n## Pitfalls\n\n- Image generation: 10-30 seconds per page; auto-retry once on failure\n- **Always download** the URL returned by `image_generate` to a local PNG — downstream tooling (and the user's review) expects files in the output directory, not ephemeral URLs\n- **Use absolute paths for `curl -o`** — never rely on persistent-shell CWD across batches. Silent footgun: files land in the wrong directory and subsequent `ls` on the intended path shows nothing. See Step 7 \"Download step\".\n- Use stylized alternatives for sensitive public figures\n- **Step 2 confirmation required** - do not skip\n- **Steps 4\u002F6 conditional** - only if user requested in Step 2\n- **Step 7.1 character sheet** - recommended for multi-page comics, optional for simple presets. The PNG is a review\u002Fregeneration aid; page prompts (written in Step 5) use the text descriptions in `characters\u002Fcharacters.md`, not the PNG. `image_generate` does not accept images as visual input\n- **Strip secrets** — scan source content for API keys, tokens, or credentials before writing any output file\n",{"name":5,"author":45,"license":14,"version":46,"metadata":47,"description":7},"宝玉 (JimLiu)","1.56.1",{"hermes":48},{"tags":49,"homepage":52},[50,51,35,36],"comic","knowledge-comic","https:\u002F\u002Fgithub.com\u002FJimLiu\u002Fbaoyu-skills#baoyu-comic","master","8ec37df6d71fb664ea19d32c079e7d3ff931a8e0","skills\u002Fcontent\u002Fbaoyu-comic",3,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit","https:\u002F\u002Fweblyfe.ai","https:\u002F\u002Fgithub.com\u002FS3YED","2026-08-27 01:54:02",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add S3YED\u002Fappie-kit --skill baoyu-comic",{"tool":67,"command":68},"bunx","bunx skills add S3YED\u002Fappie-kit --skill baoyu-comic",{"tool":70,"command":71},"pnpm","pnpm dlx skills add S3YED\u002Fappie-kit --skill baoyu-comic","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002FSKILL.md",true,[75,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"PORT_NOTES.md","REFERENCE","参考文档",5721,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002FPORT_NOTES.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fanalysis-framework.md",5481,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fanalysis-framework.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fart-styles\u002Fchalk.md",2790,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fart-styles\u002Fchalk.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fart-styles\u002Fink-brush.md",2569,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fart-styles\u002Fink-brush.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fart-styles\u002Fligne-claire.md",2384,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fart-styles\u002Fligne-claire.md",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fart-styles\u002Fmanga.md",2608,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fart-styles\u002Fmanga.md",{"path":102,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fart-styles\u002Fminimalist.md",3402,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fart-styles\u002Fminimalist.md",{"path":106,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fart-styles\u002Frealistic.md",2775,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fart-styles\u002Frealistic.md",{"path":110,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Fauto-selection.md",3581,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fauto-selection.md",{"path":114,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Fbase-prompt.md",3140,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fbase-prompt.md",{"path":118,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fcharacter-template.md",4876,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fcharacter-template.md",{"path":122,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Flayouts\u002Fcinematic.md",450,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Fcinematic.md",{"path":126,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Flayouts\u002Fdense.md",415,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Fdense.md",{"path":130,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Flayouts\u002Ffour-panel.md",1388,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Ffour-panel.md",{"path":134,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":135,"sourceHtmlUrl":136},"references\u002Flayouts\u002Fmixed.md",429,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Fmixed.md",{"path":138,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Flayouts\u002Fsplash.md",471,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Fsplash.md",{"path":142,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Flayouts\u002Fstandard.md",440,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Fstandard.md",{"path":146,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Flayouts\u002Fwebtoon.md",778,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Flayouts\u002Fwebtoon.md",{"path":150,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":151,"sourceHtmlUrl":152},"references\u002Fohmsha-guide.md",2978,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fohmsha-guide.md",{"path":154,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":155,"sourceHtmlUrl":156},"references\u002Fpartial-workflows.md",3051,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fpartial-workflows.md",{"path":158,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":159,"sourceHtmlUrl":160},"references\u002Fpresets\u002Fconcept-story.md",5644,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fpresets\u002Fconcept-story.md",{"path":162,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":163,"sourceHtmlUrl":164},"references\u002Fpresets\u002Ffour-panel.md",4660,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fpresets\u002Ffour-panel.md",{"path":166,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":167,"sourceHtmlUrl":168},"references\u002Fpresets\u002Fohmsha.md",4484,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fpresets\u002Fohmsha.md",{"path":170,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":171,"sourceHtmlUrl":172},"references\u002Fpresets\u002Fshoujo.md",3273,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fpresets\u002Fshoujo.md",{"path":174,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":175,"sourceHtmlUrl":176},"references\u002Fpresets\u002Fwuxia.md",2972,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fpresets\u002Fwuxia.md",{"path":178,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":179,"sourceHtmlUrl":180},"references\u002Fstoryboard-template.md",3982,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fstoryboard-template.md",{"path":182,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":183,"sourceHtmlUrl":184},"references\u002Ftones\u002Faction.md",2269,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Faction.md",{"path":186,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":187,"sourceHtmlUrl":188},"references\u002Ftones\u002Fdramatic.md",1913,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Fdramatic.md",{"path":190,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":191,"sourceHtmlUrl":192},"references\u002Ftones\u002Fenergetic.md",2173,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Fenergetic.md",{"path":194,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":195,"sourceHtmlUrl":196},"references\u002Ftones\u002Fneutral.md",1356,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Fneutral.md",{"path":198,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":199,"sourceHtmlUrl":200},"references\u002Ftones\u002Fromantic.md",2143,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Fromantic.md",{"path":202,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":203,"sourceHtmlUrl":204},"references\u002Ftones\u002Fvintage.md",2162,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Fvintage.md",{"path":206,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":207,"sourceHtmlUrl":208},"references\u002Ftones\u002Fwarm.md",1862,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Ftones\u002Fwarm.md",{"path":210,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":211,"sourceHtmlUrl":212},"references\u002Fworkflow.md",16205,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fcontent\u002Fbaoyu-comic\u002Freferences\u002Fworkflow.md",[214,243,278,304,335,360],{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":225,"publishedAt":40},"01M6JFD4M6N4DSGC7TXEJ5R3J2","ai-music","AI music generation and audio tools: HeartMuLa lyrics-to-music generation, songwriting craft (+ Suno prompts), and audio spectrogram\u002Ffeature visualization.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fwethlete\u002Fai-music\u002FSKILL.md",[220,223,224],{"categoryNo":221,"categoryName":222,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[226,227,228,229,230,231,232,233,234,235,236,237,238,239,38,240,241,242],"music","ai music","humanizer","visualization","Tools","Audio","hermes","hermes agent","songwriting","suno","lyrics","prompts","heartmula","craft","feature","ai music generation","music generation",{"skillNo":244,"name":245,"nameZh":6,"description":246,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":247,"categories":248,"keywords":257,"publishedAt":40},"01M6JFCZE4XNFQFMNZDHKHT5V5","agentic-webdesign-design-system-ingestion","Use v0 Design Systems 2.0, Bolt Design System Agents, or Lovable to generate production UI from a client's real design system components — not generic Tailwind. Use when building a client website where brand consistency matters.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-design\u002Fagentic-webdesign-design-system-ingestion\u002FSKILL.md",[249,252],{"categoryNo":250,"categoryName":251,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":253,"categoryName":254,"taxonomyType":255,"taxonomyTypeDesc":256},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277],"design","agentic","design system","system","ingestion","webdesign","agentic webdesign design system ingestion","components","generate","design systems","website","ui","Tailwind","bolt","lovable","v0","design-system","wed","design system components","appie",{"skillNo":279,"name":280,"nameZh":6,"description":281,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":282,"categories":283,"keywords":286,"publishedAt":40},"01M6JFCVPX3913CFAS6QQJ33ZB","agentic-webdesign-agent-elements","Use 21st.dev Agent Elements — 25 shadcn\u002Fui components purpose-built for AI agent UIs. Tool cards (Bash, Edit, Search, Plan, Subagent, MCP), chat, input, streaming. Open source, shadcn-registry install, no runtime lock-in.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-design\u002Fagentic-webdesign-agent-elements\u002FSKILL.md",[284,285],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":253,"categoryName":254,"taxonomyType":255,"taxonomyTypeDesc":256},[259,287,263,288,289,290,265,291,292,293,294,295,296,297,298,299,300,301,302,303],"elements","agentic webdesign agent elements","MCP","ai agent","registry","search","streaming","open source","open","Bash","plan","subagent","edit","install","input","lock","source",{"skillNo":305,"name":306,"nameZh":6,"description":307,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":308,"categories":309,"keywords":314,"publishedAt":40},"01M6JFCQC7H65M9QJ6TRE71BS1","vercel-deployment","Deploy static sites and frontends to Vercel — handles both CLI and REST API paths, including the CLI token sanitization workaround.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Fvercel-deployment\u002FSKILL.md",[310,313],{"categoryNo":311,"categoryName":312,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334],"deployment","vercel deployment","vercel","macos","cli","linux","windows","deploy","vercel deploy","REST","api","site","deploy to vercel","token","rest api","host","sites","paths","sanitization","static site",{"skillNo":336,"name":337,"nameZh":6,"description":338,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":339,"categories":340,"keywords":342,"publishedAt":40},"01M6JFCM4SMTXBM5A01BK2YQG1","software-quality-workflows","Umbrella workflow for TDD, debugging, code simplification, spikes, pre-commit review, and debugger-assisted investigation.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Fsoftware-quality-workflows\u002FSKILL.md",[341],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359],"workflows","quality","software","software quality workflows","review","tdd","workflow","commit","debugging","code","debugger","pre-commit","investigation","code simplification","user","simplification","for",{"skillNo":361,"name":362,"nameZh":6,"description":363,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":364,"categories":365,"keywords":373,"publishedAt":40},"01M6JFCGD0M6CEATY01W7YN6DB","react-component-refactoring","Safely refactor large React components into smaller, maintainable pieces using proven patterns","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Freact-component-refactoring\u002FSKILL.md",[366,369,372],{"categoryNo":367,"categoryName":368,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":370,"categoryName":371,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[374,375,376,377,378,379,380,381,318,382,383,265,384,321,385,352,386,387,388,389],"react","component","refactoring","component refactoring","react component","react component refactoring","frontend","writing","safe","typescript","react components","modular","refactor","simplify","patterns","test-driven-development"]