Jim Liu 宝玉
538ede2b32
feat(baoyu-article-illustrator): add hand-drawn-edu preset with sketch-notes + macaron
2026-04-08 15:48:20 -05:00
Jim Liu 宝玉
038e67fd9b
refactor(baoyu-article-illustrator): extract palette as independent third dimension
...
- Create palettes/ directory with macaron, warm, neon palette files
- Move macaron from styles/ to palettes/ (color scheme, not rendering style)
- Extract warm palette variant from vector-illustration into shared palette
- Add neon palette extracted from retro style colors
- Update architecture from Type × Style to Type × Style × Palette
- Add Palette Gallery and override rules to styles.md
- Add Palette Override section to prompt-construction.md
- Update presets table with Palette column
- Add palette selection step to workflow
- Add preferred_palette to EXTEND.md schema
2026-04-08 14:35:51 -05:00
Jim Liu 宝玉
049462d6dd
fix(baoyu-article-illustrator): add explicit style file loading step in workflow
2026-04-08 12:52:13 -05:00
Jim Liu 宝玉
15508eae43
feat(baoyu-article-illustrator): add macaron style with soft pastel color blocks
2026-04-08 11:49:49 -05:00
Jim Liu 宝玉
38f4f253df
feat(baoyu-comic): add four-panel preset, minimalist art style, and flexible image workflow
...
- Add minimalist art style (clean line art, limited spot color, stick-figure characters)
- Add four-panel layout with 起承转合 structure
- Add four-panel preset combining minimalist + neutral + four-panel layout
- Make character sheet conditional (skip for simple presets like four-panel)
- Add --ref failure recovery: compress → retry → fall back to prompt-only
2026-04-07 01:31:32 -05:00
Jim Liu 宝玉
8bc01debac
Add concept-story preset to baoyu-comic
2026-04-07 01:09:05 -05:00
Jim Liu 宝玉
2a0bba6161
fix(baoyu-post-to-wechat): detect actual image format from buffer magic bytes
...
CDNs may serve WebP for URLs with .png extension. Detect real format
from magic bytes and correct content-type/extension before upload.
Also treat .webp as PNG-preferred for transparency handling.
2026-04-05 13:36:51 -05:00
Jim Liu 宝玉
826535abe4
feat(baoyu-xhs-images): add --yes non-interactive mode for automation
2026-04-03 23:45:10 -05:00
Jim Liu 宝玉
204765a137
feat(baoyu-youtube-transcript): auto-retry with yt-dlp on empty InnerTube transcript
2026-04-03 23:35:42 -05:00
Jim Liu 宝玉
4874cd2dae
feat(baoyu-post-to-wechat): use fallback chain for article summary field
2026-04-03 23:35:34 -05:00
Jim Liu 宝玉
450c76d955
chore(baoyu-url-to-markdown): sync vendor baoyu-fetch with login auto-detect
2026-04-01 02:12:04 -05:00
Jim Liu 宝玉
c7c98ba034
chore: sync vendor baoyu-chrome-cdp across CDP skills
2026-04-01 02:11:56 -05:00
Jim Liu 宝玉
3a8b0cc158
chore: update bun.lock files
2026-03-31 18:24:26 -05:00
Jim Liu 宝玉
9e3d72cf42
chore(baoyu-url-to-markdown): sync vendor baoyu-fetch with session and lifecycle changes
2026-03-31 18:24:25 -05:00
Jim Liu 宝玉
5eeb1e6d8d
refactor(baoyu-danger-x-to-markdown): use graceful Chrome shutdown
2026-03-31 18:24:22 -05:00
Jim Liu 宝玉
0ee6dd4305
refactor(baoyu-danger-gemini-web): use graceful Chrome shutdown
2026-03-31 18:24:22 -05:00
Jim Liu 宝玉
7891f3c3c0
docs(baoyu-post-to-weibo): add post type auto-selection and safer CDP kill instructions
2026-03-31 18:24:17 -05:00
Jim Liu 宝玉
74f4a48ca7
feat(baoyu-post-to-x): add X session persistence and Chrome lock recovery
2026-03-31 18:24:17 -05:00
Jim Liu 宝玉
881c03262e
feat(baoyu-article-illustrator): add warm palette variant for vector-illustration style
2026-03-31 18:24:15 -05:00
Jim Liu 宝玉
2ff139112f
refactor(baoyu-url-to-markdown): replace custom pipeline with baoyu-fetch CLI
2026-03-27 14:11:05 -05:00
Jim Liu 宝玉
e6d54f7492
refactor(shared-skill-packages): add files allowlist support and filter test/changelog files
2026-03-27 14:10:50 -05:00
Jim Liu 宝玉
31994be0e1
refactor(baoyu-translate): simplify translation prompts and workflow
...
Condense 15+ verbose translation principles to 7 concise ones.
Consolidate analysis from 8 sections to 4, review from 8 to 3.
Simplify subagent prompt template accordingly.
2026-03-26 23:02:28 -05:00
Jim Liu 宝玉
9c06b92a74
chore(baoyu-image-gen): add deprecation notice redirecting to baoyu-imagine
2026-03-26 09:51:48 -05:00
Jim Liu 宝玉
6909c016b2
chore(baoyu-image-gen): remove deprecated redirect skill
2026-03-26 09:41:04 -05:00
Jim Liu 宝玉
39a97678bb
feat(baoyu-translate): enrich translation prompt with full analysis context
...
Restructure 02-prompt.md template to better leverage analysis results:
- Add source voice assessment alongside target style preset
- Extract figurative language mapping into dedicated structured table
- Include reasoning in comprehension challenges for annotation depth
- Add translation challenges section for structural/creative issues
- Provide chunk position context in subagent spawn prompts
2026-03-25 20:09:30 -05:00
Jim Liu 宝玉
aaf0f188dd
feat(baoyu-image-gen): add deprecation redirect skill to guide migration to baoyu-imagine
2026-03-25 17:36:49 -05:00
Jim Liu 宝玉
b6bf8ecd06
feat(baoyu-imagine): auto-migrate legacy baoyu-image-gen EXTEND.md config path
2026-03-25 17:36:46 -05:00
Jim Liu 宝玉
69355b4ee1
feat(baoyu-imagine): rename baoyu-image-gen to baoyu-imagine
2026-03-25 16:28:06 -05:00
Jim Liu 宝玉
ad8781c1c5
feat(baoyu-image-gen): add MiniMax provider with subject reference and custom sizes
2026-03-25 15:39:40 -05:00
Jim Liu 宝玉
e99ce744cd
feat(baoyu-url-to-markdown): add browser fallback strategy, content cleaner, and data URI support
...
- Browser strategy: headless first with automatic retry in visible Chrome on failure
- New --browser auto|headless|headed flag with --headless/--headed shortcuts
- Content cleaner module for HTML preprocessing (remove ads, base64 images, scripts)
- Media localizer now handles base64 data URIs alongside remote URLs
- Capture finalUrl from browser to track redirects for output path
- Agent quality gate documentation for post-capture validation
- Upgrade defuddle ^0.12.0 → ^0.14.0
- Add unit tests for content-cleaner, html-to-markdown, legacy-converter, media-localizer
2026-03-24 22:39:17 -05:00
Jim Liu 宝玉
09ce80357f
feat(baoyu-youtube-transcript): add yt-dlp fallback and modularize codebase
...
Retry with alternate InnerTube client identities when YouTube returns
anti-bot responses, then fall back to yt-dlp when available. Split
monolithic main.ts into typed modules (youtube, transcript, storage,
shared, types) and add unit tests.
2026-03-24 20:59:04 -05:00
Jim Liu 宝玉
151f1ec2a8
fix(baoyu-image-gen): use correct prompt field name for Jimeng API
2026-03-24 20:04:21 -05:00
Jim Liu 宝玉
00e74ab071
feat(baoyu-image-gen): improve Azure OpenAI provider with flexible endpoint parsing and deployment resolution
2026-03-24 19:19:49 -05:00
优弧
1653b8544b
feat(baoyu-image-gen): add Azure OpenAI as independent image generation provider ( #111 )
...
Azure OpenAI differs from standard OpenAI in two ways:
1. Auth via api-key header instead of Authorization: Bearer
2. URL requires ?api-version query param with deployment path
Changes:
- New file: scripts/providers/azure.ts (generations + edits, reuses openai utilities)
- types.ts: add "azure" to Provider type and default_model
- main.ts: register azure across rate limits, CLI args, auto-detection,
provider loading, model resolution, help text, ref validation,
EXTEND.md parsing, and batch logging
Env vars: AZURE_OPENAI_API_KEY, AZURE_OPENAI_BASE_URL (required),
AZURE_API_VERSION, AZURE_OPENAI_IMAGE_MODEL (optional)
Co-authored-by: CatFly <zw.catfly@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:04:34 -05:00
Jim Liu 宝玉
35298d7c9d
fix(baoyu-post-to-weibo): add no-theme rule for article markdown-to-HTML conversion
2026-03-23 22:38:30 -05:00
Jim Liu 宝玉
f22374ab62
fix(baoyu-cover-image): simplify reference image handling based on model capability
2026-03-23 22:38:27 -05:00
Jim Liu 宝玉
d4e80b1bc3
Fix Node-compatible parser tests ( #107 )
...
* Fix Node-compatible parser tests
* Add parser test dependencies to root test env
2026-03-23 15:30:42 -05:00
Jim Liu 宝玉
a5189dff37
fix(baoyu-xhs-images): remove opacity from watermark prompt and fix CJK spacing
2026-03-23 12:01:03 -05:00
Jim Liu 宝玉
39fe872bf3
fix(baoyu-comic): fix Doraemon naming spacing and remove opacity from watermark prompt
2026-03-23 12:01:00 -05:00
Jim Liu 宝玉
52813504f8
fix(baoyu-article-illustrator): remove opacity parameter from watermark prompt
2026-03-23 12:00:53 -05:00
Jim Liu 宝玉
e4cd8bfefc
feat(baoyu-post-to-wechat): improve credential loading with multi-source resolution and diagnostics
2026-03-22 15:42:08 -05:00
Jim Liu 宝玉
e5d6c8ec68
feat(baoyu-url-to-markdown): add URL-specific parser layer for X/Twitter and archive.ph
...
- New parsers/ module with pluggable rule system for site-specific HTML extraction
- X status parser: extract tweet text, media, quotes, author from data-testid elements
- X article parser: extract long-form article content with inline media
- archive.ph parser: restore original URL and prefer #CONTENT container
- Improved slug generation with stop words and content-aware slugs
- Output path uses subdirectory structure (domain/slug/slug.md)
- Fix: preserve anchor elements containing media in legacy converter
- Fix: smarter title deduplication in markdown document builder
2026-03-22 15:18:46 -05:00
jzocb
f53af25e65
fix: address review feedback on chapter end times
...
- Guard last chapter end against duration=0: use Math.max(duration, ch.start)
- Remove unnecessary 'as any' cast in backfill
- Check all chapters for missing end (not just first) via .some()
- Skip backfill when needsFetch is true (about to refetch anyway)
- Wrap backfill writeFileSync in try/catch (best-effort persistence)
2026-03-22 16:07:05 -04:00
jzocb
c7e32b4590
fix: backfill chapter end times for cached videos
...
Videos cached before the chapter end-time change would silently
lack the 'end' field when loaded from cache. This adds a migration
that detects missing 'end' fields on cache hit, computes them from
adjacent chapters, and persists the updated meta.json.
This ensures consistent output regardless of whether the data was
freshly fetched or loaded from cache.
2026-03-22 15:58:13 -04:00
jzocb
8d973f2bc5
feat(youtube-transcript): add end times to chapter data
...
Add 'end' field to Chapter interface and parseChapters output.
Each chapter's end is derived from the next chapter's start time,
with the last chapter ending at the video's total duration.
This makes chapter data complete and ready for downstream consumers
(e.g. video clipping with ffmpeg) without requiring them to compute
end times from adjacent chapters.
Before: { title: 'Overview', start: 0 }
After: { title: 'Overview', start: 0, end: 21 }
2026-03-22 15:52:30 -04:00
Jim Liu 宝玉
93c98dfc3c
docs(baoyu-youtube-transcript): fix zsh glob issue for YouTube URLs
2026-03-21 23:16:51 -05:00
Jim Liu 宝玉
b6e293d059
fix(baoyu-markdown-to-html): use process.execPath and tsx import in test runner
2026-03-21 23:07:46 -05:00
Jim Liu 宝玉
bb78aab095
feat(baoyu-youtube-transcript): add title heading, description summary, and cover image to markdown output
2026-03-21 23:07:44 -05:00
Jim Liu 宝玉
e413ade164
feat(baoyu-youtube-transcript): add sentence segmentation and improve caching
2026-03-21 22:42:43 -05:00
Jim Liu 宝玉
e52f92b193
new skill
2026-03-21 21:03:06 -05:00