mirror of
https://github.com/JimLiu/baoyu-skills.git
synced 2026-08-08 01:43:03 +08:00
[codex] Refactor skills into focused references (#135)
* docs: add runtime-neutral User Input Tools convention across skills Introduce docs/user-input-tools.md as the author-side canonical source and inline the tool-selection rule into every SKILL.md that prompts the user. Also add Skill Self-Containment and User Input Tools sections to CLAUDE.md and the copy-verbatim template to docs/creating-skills.md, so skills stay portable across Claude Code, Codex, Hermes, and other runtimes. * feat: runtime-neutral image generation convention across skills - Introduce inline `## Image Generation Tools` rule in every rendering SKILL.md so skills delegate backend choice instead of hard-coding one; author-side canonical copy lives in docs/image-generation-tools.md. - Add `## Reference Images` support (`--ref`, frontmatter `references:` with direct/style/palette usage) to all seven image-rendering skills. - Move build-batch.ts (with ref propagation into batch JSON) from baoyu-article-illustrator to baoyu-imagine so non-backend skills don't own backend-specific scripts; update baoyu-image-gen stub in sync and relax the CLAUDE.md deprecation note accordingly. * refactor: slim heavy SKILL.md files and move detail to references/ Trim the four largest active skills and move presets, option tables, and confirmation scripts into per-skill references/ so SKILL.md stays focused on the decision flow. - baoyu-slide-deck: 761→258, + styles-gallery.md, confirmation.md - baoyu-image-cards: 657→280, + gallery.md, confirmation.md - baoyu-post-to-wechat: 518→267, + multi-account.md, api-setup.md - baoyu-imagine: 500→230, + providers/, usage-examples.md Also un-deprecate baoyu-image-gen (drop stub warning) so it stays functional alongside baoyu-imagine, and update CLAUDE.md to reflect that both superseded skills are kept in sync rather than stubbed. * refactor: slim four medium SKILL.md files into references/ Continue the P2 pattern on the next tier of skills — move option catalogs, per-provider/adapter detail, and repeated EXTEND.md path boilerplate into their own references so SKILL.md stays focused on the decision flow. - baoyu-comic: 380→297 (art/tone/preset tables → auto-selection.md; Step 7 expanded detail → workflow.md) - baoyu-infographic: 312→207 (layouts/styles/combinations/keywords → gallery.md; ASCII box tables → markdown tables) - baoyu-format-markdown: 376→296 (title + summary generation → title-summary.md; ASCII box tables → markdown tables) - baoyu-url-to-markdown: 334→169 (quality gate + recovery → quality-gate.md; adapters + media download → adapters.md) * chore: sync deprecated skills with their replacements Per project policy, baoyu-xhs-images and baoyu-image-gen are kept functional alongside the active skills they were superseded by. Sync their SKILL.md bodies and references/ to the slimmed baoyu-image-cards and baoyu-imagine versions respectively, so cross-cutting fixes stay consistent. Only the frontmatter (name, description, version, homepage) differs — content is identical. - baoyu-xhs-images: 657→281 (synced with baoyu-image-cards + new confirmation.md, gallery.md) - baoyu-image-gen: 408→231 (synced with baoyu-imagine + new providers/, usage-examples.md) * refactor: collapse EXTEND.md boilerplate into priority tables Replace the dual bash/powershell existence-check blocks and ASCII box art with a single markdown priority table across nine SKILL.md files. The runtime-neutral phrasing removes shell-specific snippets without losing the priority semantics. * fix: address refactor-skills branch review findings - image-gen: restore EXTEND.md paths to baoyu-image-gen (were pointing at baoyu-imagine) and mark descriptions of both deprecated skills as [Deprecated]. - xhs-images: sync neon/warm palettes with image-cards to add the "do not render color names/hex as visible text" safety sentence. - infographic: restore Layout Gallery (21), Style Gallery (21), Recommended Combinations, and Keyword Shortcuts inline (previous refactor split them out but SKILL.md still depended on them), and add the missing references/config/first-time-setup.md + preferences-schema.md. - image-cards / xhs-images / slide-deck / format-markdown: restore the sections that got over-slimmed into references/ (galleries, presets, dimensions, auto-selection, style x layout matrix, title/summary flow) and drop the now-empty shell files. - docs/image-generation-tools.md: note that backend skills themselves (baoyu-imagine, baoyu-image-gen, baoyu-danger-gemini-web) are exempt from the ## Image Generation Tools section requirement. * feat(image-gen): sync Z.AI GLM-Image provider from baoyu-imagine Add Z.AI as a full provider in the deprecated baoyu-image-gen skill so it stays in sync with baoyu-imagine's provider list. - new scripts/providers/zai.ts + zai.test.ts (verbatim port; test factory trimmed to match image-gen's CliArgs shape). - types.ts: "zai" added to Provider union and default_model. - main.ts: rate-limit defaults, provider help text, env var help, --provider validation, loadProviderModule, detectProvider auto-detect chain, getModelForProvider, YAML parser allow-lists. - references/config: Q2e Z.AI model question + zai slot in the preferences schema and batch.provider_limits. Scope is intentionally limited to the Z.AI chain; unrelated drift between image-gen and imagine (OpenAI image-API dialect, aspectRatioSource, imageSizeSource) is left alone. * docs: align inline-convention wording and note backend-skill exemption - docs/user-input-tools.md: fix stale "links here" wording so it matches the inline convention already enforced everywhere else. - CLAUDE.md §Image Generation Tools: inline the backend-skill exemption so readers don't need to cross-reference docs/image-generation-tools.md.
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# Confirmation Questions
|
||||
|
||||
Concrete option copy for Step 2 Smart Confirm. SKILL.md states which question to ask and when — this file supplies the verbatim options used in Claude Code. Other runtimes should adapt the wording to their native user-input tool while preserving intent.
|
||||
|
||||
## Step 2 — Smart Confirm Entry
|
||||
|
||||
Single-question confirmation presented right after the auto-recommended plan.
|
||||
|
||||
```yaml
|
||||
header: Mode
|
||||
question: How to proceed with the recommended plan?
|
||||
options:
|
||||
- label: 1. ✅ 确认,直接生成(推荐)
|
||||
description: Trust auto-recommendation and proceed immediately
|
||||
- label: 2. 🎛️ 自定义调整
|
||||
description: Modify strategy/style/layout/count in one step
|
||||
- label: 3. 📋 详细模式
|
||||
description: Generate 3 outline variants, then choose (two confirmations)
|
||||
```
|
||||
|
||||
## Path B — Customize (Option 2)
|
||||
|
||||
Batch these five questions. Leaving a field blank keeps the recommended value.
|
||||
|
||||
```yaml
|
||||
header: Style/Strategy
|
||||
question: "Strategy + style. Current: {strategy} + {style}"
|
||||
hint: |
|
||||
Strategies: A Story-Driven (warm) | B Information-Dense (notion) | C Visual-First (screen-print)
|
||||
Styles: cute / fresh / warm / bold / minimal / retro / pop / notion / chalkboard / study-notes / screen-print / sketch-notes
|
||||
Presets: knowledge-card / checklist / tutorial / poster / hand-drawn-edu / ...
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Layout
|
||||
question: "Layout. Current: {layout}"
|
||||
options: [sparse, balanced, dense, list, comparison, flow, mindmap, quadrant]
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Palette
|
||||
question: "Palette. Current: {palette or 默认}"
|
||||
options: [默认, macaron, warm, neon]
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Count
|
||||
question: "Image count. Current: {N}"
|
||||
hint: Range 2-10
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Notes
|
||||
question: Optional notes (selling-point emphasis, audience adjustment, color preference)
|
||||
optional: true
|
||||
```
|
||||
|
||||
## Path C — Detailed Mode
|
||||
|
||||
### Step 2a: Content Understanding
|
||||
|
||||
Batch these questions.
|
||||
|
||||
```yaml
|
||||
header: SellingPoints
|
||||
question: Core selling points (pick all that apply)
|
||||
multiSelect: true
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Audience
|
||||
question: Target audience
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Tone
|
||||
question: Style preference
|
||||
options:
|
||||
- label: Authentic sharing
|
||||
- label: Professional review
|
||||
- label: Aesthetic mood
|
||||
- label: Auto
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Context
|
||||
question: Additional context (optional)
|
||||
optional: true
|
||||
```
|
||||
|
||||
### Step 2c: Outline & Style Selection
|
||||
|
||||
Batch these three questions.
|
||||
|
||||
```yaml
|
||||
header: Strategy
|
||||
question: Which outline strategy?
|
||||
options:
|
||||
- label: A — Story-Driven
|
||||
- label: B — Information-Dense
|
||||
- label: C — Visual-First
|
||||
- label: Combine (specify pages from each)
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Style
|
||||
question: Visual style?
|
||||
options:
|
||||
- label: Use recommended
|
||||
- label: Select preset
|
||||
- label: Select style directly
|
||||
- label: Custom description
|
||||
```
|
||||
|
||||
```yaml
|
||||
header: Elements
|
||||
question: Visual elements?
|
||||
options:
|
||||
- label: Use defaults (Recommended)
|
||||
- label: Adjust background
|
||||
- label: Adjust decorations
|
||||
- label: Custom
|
||||
```
|
||||
|
||||
## Outline Variant Frontmatter
|
||||
|
||||
Used by Path C when writing the three `outline-strategy-{a,b,c}.md` files. Each variant MUST have a different structure AND a different recommended style — include `style_reason` explaining why the style fits the strategy.
|
||||
|
||||
```yaml
|
||||
---
|
||||
strategy: a # a | b | c
|
||||
name: Story-Driven
|
||||
style: warm # recommended style for this strategy
|
||||
palette: ~ # optional: macaron | warm | neon | ~ (style default)
|
||||
style_reason: "Warm tones enhance emotional storytelling and personal connection"
|
||||
elements:
|
||||
background: solid-pastel
|
||||
decorations: [clouds, stars-sparkles]
|
||||
emphasis: star-burst
|
||||
typography: highlight
|
||||
layout: balanced
|
||||
image_count: 5
|
||||
---
|
||||
|
||||
## P1 Cover
|
||||
**Type**: cover
|
||||
**Hook**: "入冬后脸不干了🥹终于找到对的面霜"
|
||||
**Visual**: Product hero shot with cozy winter atmosphere
|
||||
**Layout**: sparse
|
||||
|
||||
## P2 Problem
|
||||
**Type**: pain-point
|
||||
...
|
||||
```
|
||||
|
||||
Page-count heuristic: strategy A typically 4-6 pages, B typically 3-5, C typically 3-4.
|
||||
@@ -22,7 +22,7 @@ Vibrant neon colors on dark background. High-energy, futuristic, eye-catching.
|
||||
|
||||
## Semantic Constraint
|
||||
|
||||
Vibrant neon color palette on dark background. Colors should glow against the dark base. High contrast, futuristic feel. Use neon sparingly — too many glowing elements become chaotic. Let dark background breathe.
|
||||
Vibrant neon color palette on dark background. Colors should glow against the dark base. High contrast, futuristic feel. Use neon sparingly — too many glowing elements become chaotic. Let dark background breathe. Do NOT render color names, hex codes, or role labels as visible text in the image.
|
||||
|
||||
## Best Paired With
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Warm earth tones on soft peach background. Cozy, inviting, no cool colors.
|
||||
|
||||
## Semantic Constraint
|
||||
|
||||
Warm-only color palette, no cool colors (no blue, green, purple). Earth tones throughout. Evokes comfort, warmth, and trust. All colors should feel like autumn sunlight.
|
||||
Warm-only color palette, no cool colors (no blue, green, purple). Earth tones throughout. Evokes comfort, warmth, and trust. All colors should feel like autumn sunlight. Do NOT render color names, hex codes, or role labels as visible text in the image.
|
||||
|
||||
## Best Paired With
|
||||
|
||||
|
||||
Reference in New Issue
Block a user