#77 by GitHub stars
JimLiu/baoyu-skills
Analyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette three-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/baoyu-article-illustrator/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-comic/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-compress-image/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-cover-image/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-danger-gemini-web/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-danger-x-to-markdown/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-diagram/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-electron-extract/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-format-markdown/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-image-gen/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-infographic/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-markdown-to-html/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-post-to-wechat/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-post-to-weibo/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-post-to-x/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-slide-deck/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-translate/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-url-to-markdown/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-wechat-summary/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-xhs-images/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
skills/baoyu-youtube-transcript/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1567581c26ec → 1567581c26ec
Verified commit 1567581c26ec29f4216c6e6835415bf30343b0e3
git clone --filter=blob:none --no-checkout https://github.com/JimLiu/baoyu-skills.git .hotskills/jimliu-baoyu-skills && git -C .hotskills/jimliu-baoyu-skills checkout --detach 1567581c26ec29f4216c6e6835415bf30343b0e3
# Copy each selected skill directory from .hotskills/jimliu-baoyu-skills into .claude/skills/<skill-name>/Heat
7.2- Star growth, last 7 daysAhead of 83% of tracked repositories
- Star growth, last 24 hoursAhead of 84% of tracked repositories
- Rank movement, last 7 daysAhead of 81% of tracked repositories
- Commits, last 30 daysAhead of 82% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- baoyu-article-illustrator
skills/baoyu-article-illustrator - baoyu-comic
skills/baoyu-comic - baoyu-compress-image
skills/baoyu-compress-image - baoyu-cover-image
skills/baoyu-cover-image - baoyu-danger-gemini-web
skills/baoyu-danger-gemini-web - baoyu-danger-x-to-markdown
skills/baoyu-danger-x-to-markdown - baoyu-diagram
skills/baoyu-diagram - baoyu-electron-extract
skills/baoyu-electron-extract - baoyu-format-markdown
skills/baoyu-format-markdown - baoyu-image-gen
skills/baoyu-image-gen - baoyu-infographic
skills/baoyu-infographic - baoyu-markdown-to-html
skills/baoyu-markdown-to-html - baoyu-post-to-wechat
skills/baoyu-post-to-wechat - baoyu-post-to-weibo
skills/baoyu-post-to-weibo - baoyu-post-to-x
skills/baoyu-post-to-x - baoyu-slide-deck
skills/baoyu-slide-deck - baoyu-translate
skills/baoyu-translate - baoyu-url-to-markdown
skills/baoyu-url-to-markdown - baoyu-wechat-summary
skills/baoyu-wechat-summary - baoyu-xhs-images
skills/baoyu-xhs-images - baoyu-youtube-transcript
skills/baoyu-youtube-transcript
How it works
baoyu-article-illustrator
When your agent uses it
Analyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette three-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
4,049 tokensWhen the skill is activated
Reference documents
260,655 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Image Generation Tools
- Batch Generation Policy
- Confirmation Policy
- Reference Images
- Three Dimensions
- Types
- Styles
- Workflow
- Output Directory
- Modification
- References
- Changing Preferences
Scripts executed separately
../../scripts/build-shared-package.mjs../../scripts/install-git-hooks.mjs../../scripts/lib/release-files.mjs../../scripts/lib/release-files.test.ts../../scripts/lib/skill-release-guard.mjs../../scripts/lib/skill-release-guard.test.ts../../scripts/publish-skill.mjs../../scripts/run-node-tests.mjs../../scripts/sync-clawhub.mjs../../scripts/sync-clawhub.sh../../scripts/sync-codex-imagegen.sh../../scripts/verify-shared-package-deps.mjs../../scripts/verify-shared-package-deps.test.ts../../scripts/verify-skill-release-commits.mjs../baoyu-comic/scripts/merge-to-pdf.ts../baoyu-compress-image/scripts/main.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/client.test.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/client.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/components/gem-mixin.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/components/index.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/constants.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/exceptions.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/index.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/types/candidate.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/types/gem.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/types/grpc.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/types/image.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/types/index.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/types/modeloutput.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/cookie-file.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/decorators.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/get-access-token.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/http.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/index.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/load-browser-cookies.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/logger.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/parsing.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/paths.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/rotate-1psidts.ts../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/upload-file.ts../baoyu-danger-gemini-web/scripts/main.ts../baoyu-danger-gemini-web/scripts/package.json../baoyu-danger-x-to-markdown/scripts/constants.ts../baoyu-danger-x-to-markdown/scripts/cookie-file.ts../baoyu-danger-x-to-markdown/scripts/cookies.ts../baoyu-danger-x-to-markdown/scripts/graphql.ts../baoyu-danger-x-to-markdown/scripts/http.ts../baoyu-danger-x-to-markdown/scripts/main.ts../baoyu-danger-x-to-markdown/scripts/markdown.test.ts../baoyu-danger-x-to-markdown/scripts/markdown.ts../baoyu-danger-x-to-markdown/scripts/media-localizer.ts../baoyu-danger-x-to-markdown/scripts/package.json../baoyu-danger-x-to-markdown/scripts/paths.ts../baoyu-danger-x-to-markdown/scripts/referenced-tweets.ts../baoyu-danger-x-to-markdown/scripts/thread-markdown.ts../baoyu-danger-x-to-markdown/scripts/thread.ts../baoyu-danger-x-to-markdown/scripts/tweet-article.ts../baoyu-danger-x-to-markdown/scripts/tweet-to-markdown.ts../baoyu-danger-x-to-markdown/scripts/types.ts../baoyu-diagram/scripts/main.ts../baoyu-electron-extract/scripts/main.test.ts../baoyu-electron-extract/scripts/main.ts../baoyu-format-markdown/scripts/autocorrect.ts../baoyu-format-markdown/scripts/main.ts../baoyu-format-markdown/scripts/package.json../baoyu-format-markdown/scripts/quotes.ts../baoyu-image-gen/scripts/build-batch.test.ts../baoyu-image-gen/scripts/build-batch.ts../baoyu-image-gen/scripts/codex-imagegen/cache.ts../baoyu-image-gen/scripts/codex-imagegen/logger.ts../baoyu-image-gen/scripts/codex-imagegen/main.ts../baoyu-image-gen/scripts/codex-imagegen/parser.ts../baoyu-image-gen/scripts/codex-imagegen/spawn.ts../baoyu-image-gen/scripts/codex-imagegen/types.ts../baoyu-image-gen/scripts/codex-imagegen/validator.ts../baoyu-image-gen/scripts/main.test.ts../baoyu-image-gen/scripts/main.ts../baoyu-image-gen/scripts/providers/agnes.test.ts../baoyu-image-gen/scripts/providers/agnes.ts../baoyu-image-gen/scripts/providers/azure.test.ts../baoyu-image-gen/scripts/providers/azure.ts../baoyu-image-gen/scripts/providers/codex-cli.test.ts../baoyu-image-gen/scripts/providers/codex-cli.ts../baoyu-image-gen/scripts/providers/dashscope.test.ts../baoyu-image-gen/scripts/providers/dashscope.ts../baoyu-image-gen/scripts/providers/google.test.ts../baoyu-image-gen/scripts/providers/google.ts../baoyu-image-gen/scripts/providers/jimeng.test.ts../baoyu-image-gen/scripts/providers/jimeng.ts../baoyu-image-gen/scripts/providers/minimax.test.ts../baoyu-image-gen/scripts/providers/minimax.ts../baoyu-image-gen/scripts/providers/openai.test.ts../baoyu-image-gen/scripts/providers/openai.ts../baoyu-image-gen/scripts/providers/openrouter.test.ts../baoyu-image-gen/scripts/providers/openrouter.ts../baoyu-image-gen/scripts/providers/replicate.test.ts../baoyu-image-gen/scripts/providers/replicate.ts../baoyu-image-gen/scripts/providers/seedream.test.ts../baoyu-image-gen/scripts/providers/seedream.ts../baoyu-image-gen/scripts/providers/zai.test.ts../baoyu-image-gen/scripts/providers/zai.ts../baoyu-image-gen/scripts/types.ts../baoyu-markdown-to-html/scripts/main.test.ts../baoyu-markdown-to-html/scripts/main.ts../baoyu-markdown-to-html/scripts/package.json../baoyu-post-to-wechat/scripts/cdp.ts../baoyu-post-to-wechat/scripts/check-permissions.ts../baoyu-post-to-wechat/scripts/copy-to-clipboard-mac.test.ts../baoyu-post-to-wechat/scripts/copy-to-clipboard.ts../baoyu-post-to-wechat/scripts/md-to-wechat.ts../baoyu-post-to-wechat/scripts/package.json../baoyu-post-to-wechat/scripts/paste-from-clipboard.ts../baoyu-post-to-wechat/scripts/wechat-agent-browser.ts../baoyu-post-to-wechat/scripts/wechat-api.ts../baoyu-post-to-wechat/scripts/wechat-article-focus.test.ts../baoyu-post-to-wechat/scripts/wechat-article.ts../baoyu-post-to-wechat/scripts/wechat-browser.ts../baoyu-post-to-wechat/scripts/wechat-extend-config.test.ts../baoyu-post-to-wechat/scripts/wechat-extend-config.ts../baoyu-post-to-wechat/scripts/wechat-http.test.ts../baoyu-post-to-wechat/scripts/wechat-http.ts../baoyu-post-to-wechat/scripts/wechat-image-loader.ts../baoyu-post-to-wechat/scripts/wechat-image-processor.ts../baoyu-post-to-wechat/scripts/wechat-remote-publish.test.ts../baoyu-post-to-wechat/scripts/wechat-remote-publish.ts../baoyu-post-to-wechat/scripts/wechat-socks-http.test.ts../baoyu-post-to-wechat/scripts/wechat-socks-http.ts../baoyu-post-to-weibo/scripts/copy-to-clipboard.ts../baoyu-post-to-weibo/scripts/md-to-html.ts../baoyu-post-to-weibo/scripts/package.json../baoyu-post-to-weibo/scripts/paste-from-clipboard.ts../baoyu-post-to-weibo/scripts/weibo-article.ts../baoyu-post-to-weibo/scripts/weibo-post.ts../baoyu-post-to-weibo/scripts/weibo-utils.ts../baoyu-post-to-x/scripts/check-paste-permissions.ts../baoyu-post-to-x/scripts/copy-to-clipboard.ts../baoyu-post-to-x/scripts/md-to-html.test.ts../baoyu-post-to-x/scripts/md-to-html.ts../baoyu-post-to-x/scripts/package.json../baoyu-post-to-x/scripts/paste-from-clipboard.ts../baoyu-post-to-x/scripts/x-article.ts../baoyu-post-to-x/scripts/x-browser.ts../baoyu-post-to-x/scripts/x-quote.ts../baoyu-post-to-x/scripts/x-utils.test.ts../baoyu-post-to-x/scripts/x-utils.ts../baoyu-post-to-x/scripts/x-video.ts../baoyu-slide-deck/scripts/merge-to-pdf.ts../baoyu-slide-deck/scripts/merge-to-pptx.ts../baoyu-translate/scripts/chunk.ts../baoyu-translate/scripts/main.ts../baoyu-translate/scripts/package.json../baoyu-url-to-markdown/scripts/baoyu-fetch../baoyu-url-to-markdown/scripts/lib/adapters/generic/index.ts../baoyu-url-to-markdown/scripts/lib/adapters/hn/index.ts../baoyu-url-to-markdown/scripts/lib/adapters/index.ts../baoyu-url-to-markdown/scripts/lib/adapters/types.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/article.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/index.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/login.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/match.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/payloads.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/session.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/shared.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/single.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/thread-loader.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/thread.ts../baoyu-url-to-markdown/scripts/lib/adapters/x/types.ts../baoyu-url-to-markdown/scripts/lib/adapters/youtube/index.ts../baoyu-url-to-markdown/scripts/lib/adapters/youtube/transcript.ts../baoyu-url-to-markdown/scripts/lib/adapters/youtube/utils.ts../baoyu-url-to-markdown/scripts/lib/browser/cdp-client.ts../baoyu-url-to-markdown/scripts/lib/browser/chrome-launcher.ts../baoyu-url-to-markdown/scripts/lib/browser/cookie-sidecar.ts../baoyu-url-to-markdown/scripts/lib/browser/interaction-gates.ts../baoyu-url-to-markdown/scripts/lib/browser/network-journal.ts../baoyu-url-to-markdown/scripts/lib/browser/page-snapshot.ts../baoyu-url-to-markdown/scripts/lib/browser/profile.ts../baoyu-url-to-markdown/scripts/lib/browser/session.ts../baoyu-url-to-markdown/scripts/lib/cli.ts../baoyu-url-to-markdown/scripts/lib/commands/convert.ts../baoyu-url-to-markdown/scripts/lib/extract/document.ts../baoyu-url-to-markdown/scripts/lib/extract/html-cleaner.ts../baoyu-url-to-markdown/scripts/lib/extract/html-extractor.ts../baoyu-url-to-markdown/scripts/lib/extract/html-to-markdown.ts../baoyu-url-to-markdown/scripts/lib/extract/markdown-renderer.ts../baoyu-url-to-markdown/scripts/lib/media/default-downloader.ts../baoyu-url-to-markdown/scripts/lib/media/markdown-media.ts../baoyu-url-to-markdown/scripts/lib/media/media-utils.ts../baoyu-url-to-markdown/scripts/lib/media/types.ts../baoyu-url-to-markdown/scripts/lib/types/defuddle-node.d.ts../baoyu-url-to-markdown/scripts/lib/types/shims.d.ts../baoyu-url-to-markdown/scripts/lib/utils/logger.ts../baoyu-url-to-markdown/scripts/lib/utils/url.ts../baoyu-url-to-markdown/scripts/package.json../baoyu-youtube-transcript/scripts/main.test.ts../baoyu-youtube-transcript/scripts/main.ts../baoyu-youtube-transcript/scripts/shared.ts../baoyu-youtube-transcript/scripts/storage.ts../baoyu-youtube-transcript/scripts/transcript.ts../baoyu-youtube-transcript/scripts/types.ts../baoyu-youtube-transcript/scripts/youtube.ts
Files
../../.claude-plugin/marketplace.jsonasset1,311 bytes../../scripts/build-shared-package.mjsruns5,374 bytes../../scripts/install-git-hooks.mjsruns628 bytes../../scripts/lib/release-files.mjsruns5,488 bytes../../scripts/lib/release-files.test.tsruns6,149 bytes../../scripts/lib/skill-release-guard.mjsruns2,278 bytes../../scripts/lib/skill-release-guard.test.tsruns2,564 bytes../../scripts/publish-skill.mjsruns7,935 bytes../../scripts/run-node-tests.mjsruns1,742 bytes../../scripts/sync-clawhub.mjsruns13,725 bytes../../scripts/sync-clawhub.shruns342 bytes../../scripts/sync-codex-imagegen.shruns1,573 bytes../../scripts/verify-shared-package-deps.mjsruns5,167 bytes../../scripts/verify-shared-package-deps.test.tsruns2,519 bytes../../scripts/verify-skill-release-commits.mjsruns4,035 bytesSKILL.mdcore17,179 bytesprompts/system.mddoc1,080 bytesreferences/codex-imagegen.mddoc3,717 bytesreferences/config/first-time-setup.mddoc4,431 bytesreferences/config/preferences-schema.mddoc4,450 bytesreferences/palettes/macaron.mddoc1,339 bytesreferences/palettes/mono-ink.mddoc1,780 bytesreferences/palettes/neon.mddoc1,025 bytesreferences/palettes/warm.mddoc1,036 bytesreferences/prompt-construction.mddoc16,697 bytesreferences/style-presets.mddoc5,698 bytesreferences/styles.mddoc10,640 bytesreferences/styles/blueprint.mddoc1,844 bytesreferences/styles/chalkboard.mddoc2,249 bytesreferences/styles/editorial.mddoc1,722 bytesreferences/styles/elegant.mddoc1,733 bytesreferences/styles/fantasy-animation.mddoc1,969 bytesreferences/styles/flat-doodle.mddoc1,869 bytesreferences/styles/flat.mddoc1,688 bytesreferences/styles/ink-notes.mddoc4,289 bytesreferences/styles/intuition-machine.mddoc1,850 bytesreferences/styles/minimal.mddoc1,607 bytesreferences/styles/nature.mddoc1,703 bytesreferences/styles/notion.mddoc1,636 bytesreferences/styles/pixel-art.mddoc1,907 bytesreferences/styles/playful.mddoc1,707 bytesreferences/styles/retro.mddoc1,682 bytesreferences/styles/scientific.mddoc1,741 bytesreferences/styles/screen-print.mddoc2,680 bytesreferences/styles/sketch-notes.mddoc4,704 bytesreferences/styles/sketch.mddoc1,691 bytesreferences/styles/vector-illustration.mddoc1,940 bytesreferences/styles/vintage.mddoc1,819 bytesreferences/styles/warm.mddoc1,760 bytesreferences/styles/watercolor.mddoc1,815 bytesreferences/usage.mddoc2,425 bytesreferences/workflow.mddoc17,940 bytes../baoyu-comic/SKILL.mddoc22,517 bytes../baoyu-comic/references/analysis-framework.mddoc5,441 bytes../baoyu-comic/references/art-styles/chalk.mddoc2,790 bytes../baoyu-comic/references/art-styles/ink-brush.mddoc2,569 bytes../baoyu-comic/references/art-styles/ligne-claire.mddoc2,384 bytes../baoyu-comic/references/art-styles/manga.mddoc2,608 bytes../baoyu-comic/references/art-styles/minimalist.mddoc3,402 bytes../baoyu-comic/references/art-styles/realistic.mddoc2,775 bytes../baoyu-comic/references/auto-selection.mddoc3,613 bytes../baoyu-comic/references/base-prompt.mddoc3,140 bytes../baoyu-comic/references/character-template.mddoc4,876 bytes../baoyu-comic/references/codex-imagegen.mddoc3,729 bytes../baoyu-comic/references/config/first-time-setup.mddoc4,389 bytes../baoyu-comic/references/config/preferences-schema.mddoc5,671 bytes../baoyu-comic/references/config/watermark-guide.mddoc2,443 bytes../baoyu-comic/references/layouts/cinematic.mddoc450 bytes../baoyu-comic/references/layouts/dense.mddoc415 bytes../baoyu-comic/references/layouts/four-panel.mddoc1,388 bytes../baoyu-comic/references/layouts/mixed.mddoc429 bytes../baoyu-comic/references/layouts/splash.mddoc471 bytes../baoyu-comic/references/layouts/standard.mddoc440 bytes../baoyu-comic/references/layouts/webtoon.mddoc778 bytes../baoyu-comic/references/ohmsha-guide.mddoc2,933 bytes../baoyu-comic/references/partial-workflows.mddoc2,966 bytes../baoyu-comic/references/presets/concept-story.mddoc5,642 bytes../baoyu-comic/references/presets/four-panel.mddoc4,660 bytes../baoyu-comic/references/presets/ohmsha.mddoc4,494 bytes../baoyu-comic/references/presets/shoujo.mddoc3,271 bytes../baoyu-comic/references/presets/wuxia.mddoc2,970 bytes../baoyu-comic/references/storyboard-template.mddoc3,982 bytes../baoyu-comic/references/tones/action.mddoc2,269 bytes../baoyu-comic/references/tones/dramatic.mddoc1,913 bytes../baoyu-comic/references/tones/energetic.mddoc2,173 bytes../baoyu-comic/references/tones/neutral.mddoc1,356 bytes../baoyu-comic/references/tones/romantic.mddoc2,143 bytes../baoyu-comic/references/tones/vintage.mddoc2,162 bytes../baoyu-comic/references/tones/warm.mddoc1,862 bytes../baoyu-comic/references/workflow.mddoc19,662 bytes../baoyu-comic/scripts/merge-to-pdf.tsruns3,142 bytes../baoyu-compress-image/SKILL.mddoc2,409 bytes../baoyu-compress-image/scripts/main.tsruns10,081 bytes../baoyu-cover-image/SKILL.mddoc17,931 bytes../baoyu-cover-image/references/auto-selection.mddoc2,837 bytes../baoyu-cover-image/references/base-prompt.mddoc5,452 bytes../baoyu-cover-image/references/codex-imagegen.mddoc3,715 bytes../baoyu-cover-image/references/compatibility.mddoc2,421 bytes../baoyu-cover-image/references/config/first-time-setup.mddoc5,950 bytes../baoyu-cover-image/references/config/preferences-schema.mddoc8,948 bytes../baoyu-cover-image/references/config/watermark-guide.mddoc2,217 bytes../baoyu-cover-image/references/dimensions/font.mddoc4,788 bytes../baoyu-cover-image/references/dimensions/mood.mddoc4,366 bytes../baoyu-cover-image/references/dimensions/text.mddoc3,167 bytes../baoyu-cover-image/references/palettes/cool.mddoc743 bytes../baoyu-cover-image/references/palettes/dark.mddoc753 bytes../baoyu-cover-image/references/palettes/duotone.mddoc1,407 bytes../baoyu-cover-image/references/palettes/earth.mddoc734 bytes../baoyu-cover-image/references/palettes/elegant.mddoc729 bytes../baoyu-cover-image/references/palettes/macaron.mddoc769 bytes../baoyu-cover-image/references/palettes/mono.mddoc716 bytes../baoyu-cover-image/references/palettes/pastel.mddoc715 bytes../baoyu-cover-image/references/palettes/retro.mddoc933 bytes../baoyu-cover-image/references/palettes/vivid.mddoc751 bytes../baoyu-cover-image/references/palettes/warm.mddoc721 bytes../baoyu-cover-image/references/renderings/chalk.mddoc1,086 bytes../baoyu-cover-image/references/renderings/digital.mddoc1,080 bytes../baoyu-cover-image/references/renderings/flat-vector.mddoc1,241 bytes../baoyu-cover-image/references/renderings/hand-drawn.mddoc1,036 bytes../baoyu-cover-image/references/renderings/painterly.mddoc1,045 bytes../baoyu-cover-image/references/renderings/pixel.mddoc961 bytes../baoyu-cover-image/references/renderings/screen-print.mddoc1,502 bytes../baoyu-cover-image/references/style-presets.mddoc1,521 bytes../baoyu-cover-image/references/types.mddoc1,376 bytes../baoyu-cover-image/references/visual-elements.mddoc3,274 bytes../baoyu-cover-image/references/workflow/confirm-options.mddoc5,132 bytes../baoyu-cover-image/references/workflow/prompt-template.mddoc11,343 bytes../baoyu-cover-image/references/workflow/reference-images.mddoc4,562 bytes../baoyu-danger-gemini-web/SKILL.mddoc6,518 bytes../baoyu-danger-gemini-web/scripts/bun.lockasset389 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/client.test.tsruns1,046 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/client.tsruns23,762 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/components/gem-mixin.tsruns5,704 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/components/index.tsruns44 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/constants.tsruns3,936 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/exceptions.tsruns1,207 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/index.tsruns273 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/types/candidate.tsruns1,293 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/types/gem.tsruns1,847 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/types/grpc.tsruns369 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/types/image.tsruns3,466 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/types/index.tsruns232 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/types/modeloutput.tsruns816 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/cookie-file.tsruns2,402 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/decorators.tsruns1,100 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/get-access-token.tsruns7,540 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/http.tsruns1,621 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/index.tsruns1,021 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/load-browser-cookies.tsruns9,860 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/logger.tsruns1,193 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/parsing.tsruns1,353 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/paths.tsruns2,384 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/rotate-1psidts.tsruns1,528 bytes../baoyu-danger-gemini-web/scripts/gemini-webapi/utils/upload-file.tsruns1,097 bytes../baoyu-danger-gemini-web/scripts/main.tsruns15,630 bytes../baoyu-danger-gemini-web/scripts/package.jsonruns145 bytes../baoyu-danger-x-to-markdown/SKILL.mddoc7,389 bytes../baoyu-danger-x-to-markdown/references/config/first-time-setup.mddoc2,491 bytes../baoyu-danger-x-to-markdown/scripts/bun.lockasset392 bytes../baoyu-danger-x-to-markdown/scripts/constants.tsruns6,708 bytes../baoyu-danger-x-to-markdown/scripts/cookie-file.tsruns2,449 bytes../baoyu-danger-x-to-markdown/scripts/cookies.tsruns9,537 bytes../baoyu-danger-x-to-markdown/scripts/graphql.tsruns12,854 bytes../baoyu-danger-x-to-markdown/scripts/http.tsruns3,527 bytes../baoyu-danger-x-to-markdown/scripts/main.tsruns19,074 bytes../baoyu-danger-x-to-markdown/scripts/markdown.test.tsruns4,804 bytes../baoyu-danger-x-to-markdown/scripts/markdown.tsruns21,046 bytes../baoyu-danger-x-to-markdown/scripts/media-localizer.tsruns10,440 bytes../baoyu-danger-x-to-markdown/scripts/package.jsonruns148 bytes../baoyu-danger-x-to-markdown/scripts/paths.tsruns2,233 bytes../baoyu-danger-x-to-markdown/scripts/referenced-tweets.tsruns2,261 bytes../baoyu-danger-x-to-markdown/scripts/thread-markdown.tsruns8,212 bytes../baoyu-danger-x-to-markdown/scripts/thread.tsruns8,942 bytes../baoyu-danger-x-to-markdown/scripts/tweet-article.tsruns2,936 bytes../baoyu-danger-x-to-markdown/scripts/tweet-to-markdown.tsruns6,393 bytes../baoyu-danger-x-to-markdown/scripts/types.tsruns1,526 bytes../baoyu-diagram/SKILL.mddoc12,272 bytes../baoyu-diagram/references/architecture.mddoc3,137 bytes../baoyu-diagram/references/flowchart.mddoc2,303 bytes../baoyu-diagram/references/sequence.mddoc3,812 bytes../baoyu-diagram/references/structural.mddoc3,687 bytes../baoyu-diagram/scripts/main.tsruns3,520 bytes../baoyu-electron-extract/SKILL.mddoc10,331 bytes../baoyu-electron-extract/scripts/main.test.tsruns3,372 bytes../baoyu-electron-extract/scripts/main.tsruns25,839 bytes../baoyu-format-markdown/SKILL.mddoc14,003 bytes../baoyu-format-markdown/references/title-formulas.mddoc2,929 bytes../baoyu-format-markdown/scripts/autocorrect.tsruns352 bytes../baoyu-format-markdown/scripts/bun.lockasset21,258 bytes../baoyu-format-markdown/scripts/main.tsruns4,837 bytes../baoyu-format-markdown/scripts/package-lock.jsonasset31,859 bytes../baoyu-format-markdown/scripts/package.jsonruns275 bytes../baoyu-format-markdown/scripts/quotes.tsruns173 bytes../baoyu-image-gen/SKILL.mddoc21,384 bytes../baoyu-image-gen/references/codex-image2-fallback.mddoc1,993 bytes../baoyu-image-gen/references/codex-oauth-vs-openai-api-key.mddoc2,137 bytes../baoyu-image-gen/references/config/first-time-setup.mddoc14,427 bytes../baoyu-image-gen/references/config/preferences-schema.mddoc5,001 bytes../baoyu-image-gen/references/providers/agnes.mddoc2,301 bytes../baoyu-image-gen/references/providers/codex-cli.mddoc6,011 bytes../baoyu-image-gen/references/providers/dashscope.mddoc4,950 bytes../baoyu-image-gen/references/providers/minimax.mddoc1,228 bytes../baoyu-image-gen/references/providers/openrouter.mddoc760 bytes../baoyu-image-gen/references/providers/replicate.mddoc1,814 bytes../baoyu-image-gen/references/providers/zai.mddoc1,099 bytes../baoyu-image-gen/references/usage-examples.mddoc6,128 bytes../baoyu-image-gen/scripts/build-batch.test.tsruns4,575 bytes../baoyu-image-gen/scripts/build-batch.tsruns7,593 bytes../baoyu-image-gen/scripts/codex-imagegen/cache.tsruns2,300 bytes../baoyu-image-gen/scripts/codex-imagegen/logger.tsruns1,356 bytes../baoyu-image-gen/scripts/codex-imagegen/main.tsruns12,089 bytes../baoyu-image-gen/scripts/codex-imagegen/parser.tsruns2,072 bytes../baoyu-image-gen/scripts/codex-imagegen/spawn.tsruns2,432 bytes../baoyu-image-gen/scripts/codex-imagegen/types.tsruns1,632 bytes../baoyu-image-gen/scripts/codex-imagegen/validator.tsruns2,353 bytes../baoyu-image-gen/scripts/main.test.tsruns18,799 bytes../baoyu-image-gen/scripts/main.tsruns46,560 bytes../baoyu-image-gen/scripts/providers/agnes.test.tsruns6,810 bytes../baoyu-image-gen/scripts/providers/agnes.tsruns5,002 bytes../baoyu-image-gen/scripts/providers/azure.test.tsruns5,425 bytes../baoyu-image-gen/scripts/providers/azure.tsruns5,828 bytes../baoyu-image-gen/scripts/providers/codex-cli.test.tsruns1,674 bytes../baoyu-image-gen/scripts/providers/codex-cli.tsruns5,892 bytes../baoyu-image-gen/scripts/providers/dashscope.test.tsruns11,671 bytes../baoyu-image-gen/scripts/providers/dashscope.tsruns18,543 bytes../baoyu-image-gen/scripts/providers/google.test.tsruns4,212 bytes../baoyu-image-gen/scripts/providers/google.tsruns10,754 bytes../baoyu-image-gen/scripts/providers/jimeng.test.tsruns2,737 bytes../baoyu-image-gen/scripts/providers/jimeng.tsruns12,845 bytes../baoyu-image-gen/scripts/providers/minimax.test.tsruns5,254 bytes../baoyu-image-gen/scripts/providers/minimax.tsruns6,331 bytes../baoyu-image-gen/scripts/providers/openai.test.tsruns6,179 bytes../baoyu-image-gen/scripts/providers/openai.tsruns12,687 bytes../baoyu-image-gen/scripts/providers/openrouter.test.tsruns5,450 bytes../baoyu-image-gen/scripts/providers/openrouter.tsruns9,957 bytes../baoyu-image-gen/scripts/providers/replicate.test.tsruns7,190 bytes../baoyu-image-gen/scripts/providers/replicate.tsruns17,822 bytes../baoyu-image-gen/scripts/providers/seedream.test.tsruns6,544 bytes../baoyu-image-gen/scripts/providers/seedream.tsruns9,855 bytes../baoyu-image-gen/scripts/providers/zai.test.tsruns5,274 bytes../baoyu-image-gen/scripts/providers/zai.tsruns8,950 bytes../baoyu-image-gen/scripts/types.tsruns2,337 bytes../baoyu-infographic/SKILL.mddoc19,957 bytes../baoyu-infographic/references/analysis-framework.mddoc7,507 bytes../baoyu-infographic/references/base-prompt.mddoc1,082 bytes../baoyu-infographic/references/codex-imagegen.mddoc3,707 bytes../baoyu-infographic/references/config/first-time-setup.mddoc4,666 bytes../baoyu-infographic/references/config/preferences-schema.mddoc4,611 bytes../baoyu-infographic/references/layouts/bento-grid.mddoc851 bytes../baoyu-infographic/references/layouts/binary-comparison.mddoc1,278 bytes../baoyu-infographic/references/layouts/bridge.mddoc907 bytes../baoyu-infographic/references/layouts/circular-flow.mddoc759 bytes../baoyu-infographic/references/layouts/comic-strip.mddoc847 bytes../baoyu-infographic/references/layouts/comparison-matrix.mddoc893 bytes../baoyu-infographic/references/layouts/dashboard.mddoc776 bytes../baoyu-infographic/references/layouts/dense-modules.mddoc3,766 bytes../baoyu-infographic/references/layouts/funnel.mddoc821 bytes../baoyu-infographic/references/layouts/hierarchical-layers.mddoc1,180 bytes../baoyu-infographic/references/layouts/hub-spoke.mddoc865 bytes../baoyu-infographic/references/layouts/iceberg.mddoc884 bytes../baoyu-infographic/references/layouts/isometric-map.mddoc833 bytes../baoyu-infographic/references/layouts/jigsaw.mddoc844 bytes../baoyu-infographic/references/layouts/linear-progression.mddoc1,238 bytes../baoyu-infographic/references/layouts/periodic-table.mddoc774 bytes../baoyu-infographic/references/layouts/story-mountain.mddoc815 bytes../baoyu-infographic/references/layouts/structural-breakdown.mddoc1,118 bytes../baoyu-infographic/references/layouts/tree-branching.mddoc913 bytes../baoyu-infographic/references/layouts/venn-diagram.mddoc825 bytes../baoyu-infographic/references/layouts/winding-roadmap.mddoc799 bytes../baoyu-infographic/references/structured-content-template.mddoc5,515 bytes../baoyu-infographic/references/styles/aged-academia.mddoc990 bytes../baoyu-infographic/references/styles/bold-graphic.mddoc920 bytes../baoyu-infographic/references/styles/chalkboard.mddoc2,204 bytes../baoyu-infographic/references/styles/claymation.mddoc654 bytes../baoyu-infographic/references/styles/corporate-memphis.mddoc612 bytes../baoyu-infographic/references/styles/craft-handmade.mddoc1,429 bytes../baoyu-infographic/references/styles/cyberpunk-neon.mddoc625 bytes../baoyu-infographic/references/styles/hand-drawn-edu.mddoc2,648 bytes../baoyu-infographic/references/styles/ikea-manual.mddoc572 bytes../baoyu-infographic/references/styles/kawaii.mddoc653 bytes../baoyu-infographic/references/styles/knolling.mddoc584 bytes../baoyu-infographic/references/styles/lego-brick.mddoc574 bytes../baoyu-infographic/references/styles/morandi-journal.mddoc2,233 bytes../baoyu-infographic/references/styles/origami.mddoc607 bytes../baoyu-infographic/references/styles/pixel-art.mddoc562 bytes../baoyu-infographic/references/styles/pop-laboratory.mddoc2,174 bytes../baoyu-infographic/references/styles/retro-pop-grid.mddoc2,106 bytes../baoyu-infographic/references/styles/retro-popup-pop.mddoc2,901 bytes../baoyu-infographic/references/styles/storybook-watercolor.mddoc703 bytes../baoyu-infographic/references/styles/subway-map.mddoc591 bytes../baoyu-infographic/references/styles/technical-schematic.mddoc983 bytes../baoyu-infographic/references/styles/ui-wireframe.mddoc596 bytes../baoyu-markdown-to-html/SKILL.mddoc10,060 bytes../baoyu-markdown-to-html/scripts/bun.lockasset23,718 bytes../baoyu-markdown-to-html/scripts/main.test.tsruns3,587 bytes../baoyu-markdown-to-html/scripts/main.tsruns12,398 bytes../baoyu-markdown-to-html/scripts/package.jsonruns170 bytes../baoyu-post-to-wechat/SKILL.mddoc14,864 bytes../baoyu-post-to-wechat/references/api-setup.mddoc1,186 bytes../baoyu-post-to-wechat/references/article-posting.mddoc2,567 bytes../baoyu-post-to-wechat/references/config/first-time-setup.mddoc6,317 bytes../baoyu-post-to-wechat/references/image-text-posting.mddoc2,833 bytes../baoyu-post-to-wechat/references/multi-account.mddoc5,807 bytes../baoyu-post-to-wechat/scripts/bun.lockasset38,871 bytes../baoyu-post-to-wechat/scripts/cdp.tsruns8,405 bytes../baoyu-post-to-wechat/scripts/check-permissions.tsruns8,833 bytes../baoyu-post-to-wechat/scripts/copy-to-clipboard-mac.test.tsruns916 bytes../baoyu-post-to-wechat/scripts/copy-to-clipboard.tsruns14,377 bytes../baoyu-post-to-wechat/scripts/md-to-wechat.tsruns5,803 bytes../baoyu-post-to-wechat/scripts/package.jsonruns244 bytes../baoyu-post-to-wechat/scripts/paste-from-clipboard.tsruns5,659 bytes../baoyu-post-to-wechat/scripts/wechat-agent-browser.tsruns11,400 bytes../baoyu-post-to-wechat/scripts/wechat-api.tsruns31,007 bytes../baoyu-post-to-wechat/scripts/wechat-article-focus.test.tsruns2,741 bytes../baoyu-post-to-wechat/scripts/wechat-article.tsruns48,947 bytes../baoyu-post-to-wechat/scripts/wechat-browser.tsruns28,393 bytes../baoyu-post-to-wechat/scripts/wechat-extend-config.test.tsruns10,079 bytes../baoyu-post-to-wechat/scripts/wechat-extend-config.tsruns14,593 bytes../baoyu-post-to-wechat/scripts/wechat-http.test.tsruns5,100 bytes../baoyu-post-to-wechat/scripts/wechat-http.tsruns2,677 bytes../baoyu-post-to-wechat/scripts/wechat-image-loader.tsruns2,526 bytes../baoyu-post-to-wechat/scripts/wechat-image-processor.tsruns8,524 bytes../baoyu-post-to-wechat/scripts/wechat-remote-publish.test.tsruns5,647 bytes../baoyu-post-to-wechat/scripts/wechat-remote-publish.tsruns8,007 bytes../baoyu-post-to-wechat/scripts/wechat-socks-http.test.tsruns6,837 bytes../baoyu-post-to-wechat/scripts/wechat-socks-http.tsruns6,917 bytes../baoyu-post-to-weibo/SKILL.mddoc5,521 bytes../baoyu-post-to-weibo/scripts/bun.lockasset23,715 bytes../baoyu-post-to-weibo/scripts/copy-to-clipboard.tsruns12,179 bytes../baoyu-post-to-weibo/scripts/md-to-html.tsruns5,816 bytes../baoyu-post-to-weibo/scripts/package.jsonruns167 bytes../baoyu-post-to-weibo/scripts/paste-from-clipboard.tsruns5,659 bytes../baoyu-post-to-weibo/scripts/weibo-article.tsruns46,976 bytes../baoyu-post-to-weibo/scripts/weibo-post.tsruns9,788 bytes../baoyu-post-to-weibo/scripts/weibo-utils.tsruns4,557 bytes../baoyu-post-to-x/SKILL.mddoc17,668 bytes../baoyu-post-to-x/references/articles.mddoc13,457 bytes../baoyu-post-to-x/references/regular-posts.mddoc4,132 bytes../baoyu-post-to-x/scripts/bun.lockasset23,955 bytes../baoyu-post-to-x/scripts/check-paste-permissions.tsruns8,310 bytes../baoyu-post-to-x/scripts/copy-to-clipboard.tsruns12,179 bytes../baoyu-post-to-x/scripts/md-to-html.test.tsruns5,619 bytes../baoyu-post-to-x/scripts/md-to-html.tsruns13,420 bytes../baoyu-post-to-x/scripts/package.jsonruns379 bytes../baoyu-post-to-x/scripts/paste-from-clipboard.tsruns5,659 bytes../baoyu-post-to-x/scripts/x-article.tsruns31,699 bytes../baoyu-post-to-x/scripts/x-browser.tsruns9,002 bytes../baoyu-post-to-x/scripts/x-quote.tsruns9,112 bytes../baoyu-post-to-x/scripts/x-utils.test.tsruns1,676 bytes../baoyu-post-to-x/scripts/x-utils.tsruns8,817 bytes../baoyu-post-to-x/scripts/x-video.tsruns9,536 bytes../baoyu-slide-deck/SKILL.mddoc23,350 bytes../baoyu-slide-deck/references/analysis-framework.mddoc5,241 bytes../baoyu-slide-deck/references/base-prompt.mddoc2,844 bytes../baoyu-slide-deck/references/codex-imagegen.mddoc3,715 bytes../baoyu-slide-deck/references/config/preferences-schema.mddoc3,967 bytes../baoyu-slide-deck/references/confirmation.mddoc4,854 bytes../baoyu-slide-deck/references/content-rules.mddoc2,986 bytes../baoyu-slide-deck/references/design-guidelines.mddoc7,581 bytes../baoyu-slide-deck/references/dimensions/density.mddoc3,126 bytes../baoyu-slide-deck/references/dimensions/mood.mddoc4,106 bytes../baoyu-slide-deck/references/dimensions/presets.mddoc5,133 bytes../baoyu-slide-deck/references/dimensions/texture.mddoc1,938 bytes../baoyu-slide-deck/references/dimensions/typography.mddoc4,062 bytes../baoyu-slide-deck/references/layouts.mddoc3,086 bytes../baoyu-slide-deck/references/modification-guide.mddoc2,467 bytes../baoyu-slide-deck/references/outline-template.mddoc7,599 bytes../baoyu-slide-deck/references/styles/blueprint.mddoc2,277 bytes../baoyu-slide-deck/references/styles/bold-editorial.mddoc2,409 bytes../baoyu-slide-deck/references/styles/chalkboard.mddoc2,512 bytes../baoyu-slide-deck/references/styles/corporate.mddoc2,346 bytes../baoyu-slide-deck/references/styles/dark-atmospheric.mddoc2,435 bytes../baoyu-slide-deck/references/styles/editorial-infographic.mddoc2,450 bytes../baoyu-slide-deck/references/styles/fantasy-animation.mddoc2,474 bytes../baoyu-slide-deck/references/styles/hand-drawn-edu.mddoc2,905 bytes../baoyu-slide-deck/references/styles/intuition-machine.mddoc2,870 bytes../baoyu-slide-deck/references/styles/minimal.mddoc2,036 bytes../baoyu-slide-deck/references/styles/notion.mddoc2,133 bytes../baoyu-slide-deck/references/styles/pixel-art.mddoc2,446 bytes../baoyu-slide-deck/references/styles/scientific.mddoc2,448 bytes../baoyu-slide-deck/references/styles/sketch-notes.mddoc2,463 bytes../baoyu-slide-deck/references/styles/vector-illustration.mddoc2,646 bytes../baoyu-slide-deck/references/styles/vintage.mddoc2,499 bytes../baoyu-slide-deck/references/styles/watercolor.mddoc2,349 bytes../baoyu-slide-deck/scripts/merge-to-pdf.tsruns3,222 bytes../baoyu-slide-deck/scripts/merge-to-pptx.tsruns3,918 bytes../baoyu-translate/SKILL.mddoc15,844 bytes../baoyu-translate/references/config/extend-schema.mddoc3,449 bytes../baoyu-translate/references/config/first-time-setup.mddoc4,505 bytes../baoyu-translate/references/glossary-en-zh.mddoc927 bytes../baoyu-translate/references/refined-workflow.mddoc6,040 bytes../baoyu-translate/references/subagent-prompt-template.mddoc3,442 bytes../baoyu-translate/references/workflow-mechanics.mddoc812 bytes../baoyu-translate/scripts/bun.lockasset1,456 bytes../baoyu-translate/scripts/chunk.tsruns8,368 bytes../baoyu-translate/scripts/main.tsruns1,410 bytes../baoyu-translate/scripts/package.jsonruns110 bytes../baoyu-url-to-markdown/SKILL.mddoc8,520 bytes../baoyu-url-to-markdown/references/adapters.mddoc3,231 bytes../baoyu-url-to-markdown/references/config/first-time-setup.mddoc2,459 bytes../baoyu-url-to-markdown/references/quality-gate.mddoc2,490 bytes../baoyu-url-to-markdown/scripts/baoyu-fetchruns122 bytes../baoyu-url-to-markdown/scripts/bun.lockasset35,416 bytes../baoyu-url-to-markdown/scripts/lib/adapters/generic/index.tsruns2,451 bytes../baoyu-url-to-markdown/scripts/lib/adapters/hn/index.tsruns10,454 bytes../baoyu-url-to-markdown/scripts/lib/adapters/index.tsruns834 bytes../baoyu-url-to-markdown/scripts/lib/adapters/types.tsruns2,100 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/article.tsruns12,677 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/index.tsruns4,048 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/login.tsruns2,258 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/match.tsruns297 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/payloads.tsruns1,681 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/session.tsruns1,404 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/shared.tsruns12,980 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/single.tsruns2,583 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/thread-loader.tsruns9,078 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/thread.tsruns9,196 bytes../baoyu-url-to-markdown/scripts/lib/adapters/x/types.tsruns600 bytes../baoyu-url-to-markdown/scripts/lib/adapters/youtube/index.tsruns898 bytes../baoyu-url-to-markdown/scripts/lib/adapters/youtube/transcript.tsruns13,301 bytes../baoyu-url-to-markdown/scripts/lib/adapters/youtube/utils.tsruns6,523 bytes../baoyu-url-to-markdown/scripts/lib/browser/cdp-client.tsruns6,879 bytes../baoyu-url-to-markdown/scripts/lib/browser/chrome-launcher.tsruns5,883 bytes../baoyu-url-to-markdown/scripts/lib/browser/cookie-sidecar.tsruns2,941 bytes../baoyu-url-to-markdown/scripts/lib/browser/interaction-gates.tsruns4,095 bytes../baoyu-url-to-markdown/scripts/lib/browser/network-journal.tsruns7,153 bytes../baoyu-url-to-markdown/scripts/lib/browser/page-snapshot.tsruns3,429 bytes../baoyu-url-to-markdown/scripts/lib/browser/profile.tsruns5,670 bytes../baoyu-url-to-markdown/scripts/lib/browser/session.tsruns4,642 bytes../baoyu-url-to-markdown/scripts/lib/cli.tsruns7,066 bytes../baoyu-url-to-markdown/scripts/lib/commands/convert.tsruns17,456 bytes../baoyu-url-to-markdown/scripts/lib/extract/document.tsruns846 bytes../baoyu-url-to-markdown/scripts/lib/extract/html-cleaner.tsruns11,016 bytes../baoyu-url-to-markdown/scripts/lib/extract/html-extractor.tsruns2,243 bytes../baoyu-url-to-markdown/scripts/lib/extract/html-to-markdown.tsruns21,344 bytes../baoyu-url-to-markdown/scripts/lib/extract/markdown-renderer.tsruns4,661 bytes../baoyu-url-to-markdown/scripts/lib/media/default-downloader.tsruns5,215 bytes../baoyu-url-to-markdown/scripts/lib/media/markdown-media.tsruns13,186 bytes../baoyu-url-to-markdown/scripts/lib/media/media-utils.tsruns6,222 bytes../baoyu-url-to-markdown/scripts/lib/media/types.tsruns710 bytes../baoyu-url-to-markdown/scripts/lib/types/defuddle-node.d.tsruns605 bytes../baoyu-url-to-markdown/scripts/lib/types/shims.d.tsruns422 bytes../baoyu-url-to-markdown/scripts/lib/utils/logger.tsruns645 bytes../baoyu-url-to-markdown/scripts/lib/utils/url.tsruns300 bytes../baoyu-url-to-markdown/scripts/package.jsonruns557 bytes../baoyu-wechat-summary/EXTEND.md.exampleasset1,831 bytes../baoyu-wechat-summary/SKILL.mddoc33,328 bytes../baoyu-wechat-summary/references/group-memory.mddoc4,556 bytes../baoyu-wechat-summary/references/output-formats.mddoc14,509 bytes../baoyu-wechat-summary/references/profiles.mddoc16,251 bytes../baoyu-wechat-summary/references/setup.mddoc4,765 bytes../baoyu-xhs-images/SKILL.mddoc29,570 bytes../baoyu-xhs-images/references/codex-imagegen.mddoc3,717 bytes../baoyu-xhs-images/references/config/first-time-setup.mddoc3,456 bytes../baoyu-xhs-images/references/config/preferences-schema.mddoc4,017 bytes../baoyu-xhs-images/references/config/watermark-guide.mddoc1,977 bytes../baoyu-xhs-images/references/confirmation.mddoc3,929 bytes../baoyu-xhs-images/references/elements/canvas.mddoc3,727 bytes../baoyu-xhs-images/references/elements/decorations.mddoc5,049 bytes../baoyu-xhs-images/references/elements/image-effects.mddoc2,990 bytes../baoyu-xhs-images/references/elements/typography.mddoc3,258 bytes../baoyu-xhs-images/references/palettes/macaron.mddoc1,437 bytes../baoyu-xhs-images/references/palettes/neon.mddoc1,271 bytes../baoyu-xhs-images/references/palettes/warm.mddoc1,225 bytes../baoyu-xhs-images/references/presets/bold.mddoc1,577 bytes../baoyu-xhs-images/references/presets/chalkboard.mddoc2,324 bytes../baoyu-xhs-images/references/presets/cute.mddoc1,565 bytes../baoyu-xhs-images/references/presets/fresh.mddoc1,496 bytes../baoyu-xhs-images/references/presets/minimal.mddoc1,418 bytes../baoyu-xhs-images/references/presets/notion.mddoc1,591 bytes../baoyu-xhs-images/references/presets/pop.mddoc1,528 bytes../baoyu-xhs-images/references/presets/retro.mddoc1,483 bytes../baoyu-xhs-images/references/presets/screen-print.mddoc2,680 bytes../baoyu-xhs-images/references/presets/sketch-notes.mddoc3,216 bytes../baoyu-xhs-images/references/presets/study-notes.mddoc2,977 bytes../baoyu-xhs-images/references/presets/warm.mddoc1,476 bytes../baoyu-xhs-images/references/style-presets.mddoc1,899 bytes../baoyu-xhs-images/references/workflows/analysis-framework.mddoc7,235 bytes../baoyu-xhs-images/references/workflows/outline-template.mddoc6,101 bytes../baoyu-xhs-images/references/workflows/prompt-assembly.mddoc10,328 bytes../baoyu-youtube-transcript/SKILL.mddoc9,704 bytes../baoyu-youtube-transcript/prompts/speaker-transcript.mddoc4,695 bytes../baoyu-youtube-transcript/scripts/main.test.tsruns5,644 bytes../baoyu-youtube-transcript/scripts/main.tsruns8,568 bytes../baoyu-youtube-transcript/scripts/shared.tsruns3,455 bytes../baoyu-youtube-transcript/scripts/storage.tsruns1,925 bytes../baoyu-youtube-transcript/scripts/transcript.tsruns13,144 bytes../baoyu-youtube-transcript/scripts/types.tsruns2,407 bytes../baoyu-youtube-transcript/scripts/youtube.tsruns20,270 bytes
Read SKILL.md
# Article Illustrator
Analyze articles, identify illustration positions, generate images with Type × Style × Palette consistency.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-comic
When your agent uses it
Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts and batch-capable image generation. Use when user asks to create "知识漫画", "教育漫画", "biography comic", "tutorial comic", or "Logicomix-style comic".
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
5,292 tokensWhen the skill is activated
Reference documents
27,652 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Image Generation Tools
- Batch Generation Policy
- Reference Images
- Options
- Script Directory
- File Structure
- Language Handling
- Workflow
- References
- Page Modification
- Notes
- Changing Preferences
Scripts executed separately
scripts/merge-to-pdf.ts
Files
SKILL.mdcore22,517 bytesreferences/analysis-framework.mddoc5,441 bytesreferences/art-styles/chalk.mddoc2,790 bytesreferences/art-styles/ink-brush.mddoc2,569 bytesreferences/art-styles/ligne-claire.mddoc2,384 bytesreferences/art-styles/manga.mddoc2,608 bytesreferences/art-styles/minimalist.mddoc3,402 bytesreferences/art-styles/realistic.mddoc2,775 bytesreferences/auto-selection.mddoc3,613 bytesreferences/base-prompt.mddoc3,140 bytesreferences/character-template.mddoc4,876 bytesreferences/codex-imagegen.mddoc3,729 bytesreferences/config/first-time-setup.mddoc4,389 bytesreferences/config/preferences-schema.mddoc5,671 bytesreferences/config/watermark-guide.mddoc2,443 bytesreferences/layouts/cinematic.mddoc450 bytesreferences/layouts/dense.mddoc415 bytesreferences/layouts/four-panel.mddoc1,388 bytesreferences/layouts/mixed.mddoc429 bytesreferences/layouts/splash.mddoc471 bytesreferences/layouts/standard.mddoc440 bytesreferences/layouts/webtoon.mddoc778 bytesreferences/ohmsha-guide.mddoc2,933 bytesreferences/partial-workflows.mddoc2,966 bytesreferences/presets/concept-story.mddoc5,642 bytesreferences/presets/four-panel.mddoc4,660 bytesreferences/presets/ohmsha.mddoc4,494 bytesreferences/presets/shoujo.mddoc3,271 bytesreferences/presets/wuxia.mddoc2,970 bytesreferences/storyboard-template.mddoc3,982 bytesreferences/tones/action.mddoc2,269 bytesreferences/tones/dramatic.mddoc1,913 bytesreferences/tones/energetic.mddoc2,173 bytesreferences/tones/neutral.mddoc1,356 bytesreferences/tones/romantic.mddoc2,143 bytesreferences/tones/vintage.mddoc2,162 bytesreferences/tones/warm.mddoc1,862 bytesreferences/workflow.mddoc19,662 bytesscripts/merge-to-pdf.tsruns3,142 bytes
Read SKILL.md
# Knowledge Comic Creator
Create original knowledge comics with flexible art style × tone combinations.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-compress-image
When your agent uses it
Compresses images to WebP (default) or PNG with automatic tool selection. Use when user asks to "compress image", "optimize image", "convert to webp", or reduce image file size.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
693 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Script Directory
- Preferences (EXTEND.md)
- Usage
- Options
- Examples
- Extension Support
Scripts executed separately
scripts/main.ts
Files
SKILL.mdcore2,409 bytesSKILL.mdcore2,409 bytesSKILL.mdcore2,409 bytesscripts/main.tsruns10,081 bytes
Read SKILL.md
# Image Compressor
Compresses images using best available tool (sips → cwebp → ImageMagick → Sharp).
## Script Directory
Scripts in `scripts/` subdirectory. `{baseDir}` = this SKILL.md's directory path. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun. Replace `{baseDir}` and `${BUN_X}` with actual values.
| Script | Purpose |
|--------|---------|
| `scripts/main.ts` | Image compression CLI |
## Preferences (EXTEND.md)
View the complete source on GitHubbaoyu-cover-image
When your agent uses it
Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 11 color palettes and 7 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", or "make cover".
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
4,358 tokensWhen the skill is activated
Reference documents
21,493 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Image Generation Tools
- Confirmation Policy
- Options
- Five Dimensions
- Galleries
- File Structure
- Workflow
- Image Modification
- Composition Principles
- Changing Preferences
- References
Files
SKILL.mdcore17,931 bytesSKILL.mdcore17,931 bytesreferences/auto-selection.mddoc2,837 bytesreferences/base-prompt.mddoc5,452 bytesreferences/codex-imagegen.mddoc3,715 bytesreferences/compatibility.mddoc2,421 bytesreferences/config/first-time-setup.mddoc5,950 bytesreferences/config/preferences-schema.mddoc8,948 bytesreferences/config/watermark-guide.mddoc2,217 bytesreferences/dimensions/font.mddoc4,788 bytesreferences/dimensions/mood.mddoc4,366 bytesreferences/dimensions/text.mddoc3,167 bytesreferences/palettes/cool.mddoc743 bytesreferences/palettes/dark.mddoc753 bytesreferences/palettes/duotone.mddoc1,407 bytesreferences/palettes/earth.mddoc734 bytesreferences/palettes/elegant.mddoc729 bytesreferences/palettes/macaron.mddoc769 bytesreferences/palettes/mono.mddoc716 bytesreferences/palettes/pastel.mddoc715 bytesreferences/palettes/retro.mddoc933 bytesreferences/palettes/vivid.mddoc751 bytesreferences/palettes/warm.mddoc721 bytesreferences/renderings/chalk.mddoc1,086 bytesreferences/renderings/digital.mddoc1,080 bytesreferences/renderings/flat-vector.mddoc1,241 bytesreferences/renderings/hand-drawn.mddoc1,036 bytesreferences/renderings/painterly.mddoc1,045 bytesreferences/renderings/pixel.mddoc961 bytesreferences/renderings/screen-print.mddoc1,502 bytesreferences/style-presets.mddoc1,521 bytesreferences/types.mddoc1,376 bytesreferences/visual-elements.mddoc3,274 bytesreferences/workflow/confirm-options.mddoc5,132 bytesreferences/workflow/prompt-template.mddoc11,343 bytesreferences/workflow/reference-images.mddoc4,562 bytes
Read SKILL.md
# Cover Image Generator
Generate elegant cover images for articles with 5-dimensional customization.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-danger-gemini-web
When your agent uses it
Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input, and multi-turn conversations. Use when other skills need image generation backend, or when user requests "generate image with Gemini", "Gemini text generation", or needs vision-capable AI generation.
What it loads into context
Frontmatter
133 tokensAlways available to the agent
SKILL.md
1,695 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- Consent Check (REQUIRED)
- Preferences (EXTEND.md)
- Usage
- Options
- Models
- Authentication
- Environment Variables
- Sessions
- Extension Support
Scripts executed separately
scripts/gemini-webapi/client.test.tsscripts/gemini-webapi/client.tsscripts/gemini-webapi/components/gem-mixin.tsscripts/gemini-webapi/components/index.tsscripts/gemini-webapi/constants.tsscripts/gemini-webapi/exceptions.tsscripts/gemini-webapi/index.tsscripts/gemini-webapi/types/candidate.tsscripts/gemini-webapi/types/gem.tsscripts/gemini-webapi/types/grpc.tsscripts/gemini-webapi/types/image.tsscripts/gemini-webapi/types/index.tsscripts/gemini-webapi/types/modeloutput.tsscripts/gemini-webapi/utils/cookie-file.tsscripts/gemini-webapi/utils/decorators.tsscripts/gemini-webapi/utils/get-access-token.tsscripts/gemini-webapi/utils/http.tsscripts/gemini-webapi/utils/index.tsscripts/gemini-webapi/utils/load-browser-cookies.tsscripts/gemini-webapi/utils/logger.tsscripts/gemini-webapi/utils/parsing.tsscripts/gemini-webapi/utils/paths.tsscripts/gemini-webapi/utils/rotate-1psidts.tsscripts/gemini-webapi/utils/upload-file.tsscripts/main.tsscripts/package.json
Files
SKILL.mdcore6,518 bytesSKILL.mdcore6,518 bytesscripts/bun.lockasset389 bytesscripts/gemini-webapi/client.test.tsruns1,046 bytesscripts/gemini-webapi/client.tsruns23,762 bytesscripts/gemini-webapi/components/gem-mixin.tsruns5,704 bytesscripts/gemini-webapi/components/index.tsruns44 bytesscripts/gemini-webapi/constants.tsruns3,936 bytesscripts/gemini-webapi/exceptions.tsruns1,207 bytesscripts/gemini-webapi/index.tsruns273 bytesscripts/gemini-webapi/types/candidate.tsruns1,293 bytesscripts/gemini-webapi/types/gem.tsruns1,847 bytesscripts/gemini-webapi/types/grpc.tsruns369 bytesscripts/gemini-webapi/types/image.tsruns3,466 bytesscripts/gemini-webapi/types/index.tsruns232 bytesscripts/gemini-webapi/types/modeloutput.tsruns816 bytesscripts/gemini-webapi/utils/cookie-file.tsruns2,402 bytesscripts/gemini-webapi/utils/decorators.tsruns1,100 bytesscripts/gemini-webapi/utils/get-access-token.tsruns7,540 bytesscripts/gemini-webapi/utils/http.tsruns1,621 bytesscripts/gemini-webapi/utils/index.tsruns1,021 bytesscripts/gemini-webapi/utils/load-browser-cookies.tsruns9,860 bytesscripts/gemini-webapi/utils/logger.tsruns1,193 bytesscripts/gemini-webapi/utils/parsing.tsruns1,353 bytesscripts/gemini-webapi/utils/paths.tsruns2,384 bytesscripts/gemini-webapi/utils/rotate-1psidts.tsruns1,528 bytesscripts/gemini-webapi/utils/upload-file.tsruns1,097 bytesscripts/main.tsruns15,630 bytesscripts/package.jsonruns145 bytes
Read SKILL.md
# Gemini Web Client
Text/image generation via Gemini Web API. Supports reference images and multi-turn conversations.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-danger-x-to-markdown
When your agent uses it
Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.com/twitter.com URLs for conversion.
What it loads into context
Frontmatter
120 tokensAlways available to the agent
SKILL.md
1,916 tokensWhen the skill is activated
Reference documents
606 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- Consent Requirement
- Preferences (EXTEND.md)
- Usage
- Options
- Supported URLs
- Output
- Media Download Workflow
- Authentication
- Extension Support
Scripts executed separately
scripts/constants.tsscripts/cookie-file.tsscripts/cookies.tsscripts/graphql.tsscripts/http.tsscripts/main.tsscripts/markdown.test.tsscripts/markdown.tsscripts/media-localizer.tsscripts/package.jsonscripts/paths.tsscripts/referenced-tweets.tsscripts/thread-markdown.tsscripts/thread.tsscripts/tweet-article.tsscripts/tweet-to-markdown.tsscripts/types.ts
Files
SKILL.mdcore7,389 bytesSKILL.mdcore7,389 bytesSKILL.mdcore7,389 bytesreferences/config/first-time-setup.mddoc2,491 bytesscripts/bun.lockasset392 bytesscripts/constants.tsruns6,708 bytesscripts/cookie-file.tsruns2,449 bytesscripts/cookies.tsruns9,537 bytesscripts/graphql.tsruns12,854 bytesscripts/http.tsruns3,527 bytesscripts/main.tsruns19,074 bytesscripts/markdown.test.tsruns4,804 bytesscripts/markdown.tsruns21,046 bytesscripts/media-localizer.tsruns10,440 bytesscripts/package.jsonruns148 bytesscripts/paths.tsruns2,233 bytesscripts/referenced-tweets.tsruns2,261 bytesscripts/thread-markdown.tsruns8,212 bytesscripts/thread.tsruns8,942 bytesscripts/tweet-article.tsruns2,936 bytesscripts/tweet-to-markdown.tsruns6,393 bytesscripts/types.tsruns1,526 bytes
Read SKILL.md
# X to Markdown
Converts X content to markdown:
- Tweets/threads → Markdown with YAML front matter
- X Articles → Full content extraction
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
View the complete source on GitHubbaoyu-diagram
When your agent uses it
Create professional, dark-themed SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Use this skill whenever the user asks for any kind of technical or conceptual diagram, visualization of a system, process flow, data flow, component relationship, network topology, decision tree, org chart, state machine, or any visual representation of structure/logic/process. Also trigger when the user says "画个图" "画一个架构图" "diagram" "flowchart" "sequence diagram" "draw me a ..." or uploads content and asks to visualize it. Output is always a standalone .svg file.
What it loads into context
Frontmatter
158 tokensAlways available to the agent
SKILL.md
3,514 tokensWhen the skill is activated
Reference documents
3,816 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Supported Diagram Types
- Design System
- Type-Specific Layout Guidance
- Output Rules
- Script
- Process
Scripts executed separately
scripts/main.ts
Files
SKILL.mdcore12,272 bytesSKILL.mdcore12,272 bytesreferences/architecture.mddoc3,137 bytesreferences/flowchart.mddoc2,303 bytesreferences/sequence.mddoc3,812 bytesreferences/structural.mddoc3,687 bytesscripts/main.tsruns3,520 bytes
Read SKILL.md
# Diagram Generator
Create professional SVG diagrams across multiple diagram types. All output is a single self-contained `.svg` file with embedded styles and fonts.
## Supported Diagram Types
| Type | When to Use | Key Characteristics |
|------|-------------|-------------------|
| **Architecture** | System components & relationships | Grouped boxes, connection arrows, region boundaries |
| **Flowchart** | Decision logic, process steps | Diamond decisions, rounded step boxes, directional flow |
| **Sequence** | Time-ordered interactions between actors | Vertical lifelines, horizontal messages, activation bars |
| **Structural** | Class diagrams, ER diagrams, org charts | Compartmented boxes, typed relationships (inheritance, composition) |
| **Mind Map** | Brainstorming, topic exploration | Central node, radiating branches, organic layout |
| **Timeline** | Chronological events | Horizontal/vertical axis, event markers, period spans |View the complete source on GitHubbaoyu-electron-extract
When your agent uses it
Extracts resources and JavaScript from any installed Electron app (`.asar` bundle), restoring original sources from `.js.map` files when available or formatting minified code with Prettier otherwise. Use when user wants to "extract Electron app", "decompile Electron", "get the source code of <app>", "inspect app.asar", "看 Electron 应用源码", "提取 .asar", or asks how a desktop Electron app is built. Skips `node_modules` and supports both macOS and Windows.
What it loads into context
Frontmatter
172 tokensAlways available to the agent
SKILL.md
2,330 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- When to use
- Workflow
- Source-map path restoration
- Usage
- Options
- Output layout
- Notes
Scripts executed separately
scripts/main.test.tsscripts/main.ts
Files
SKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesSKILL.mdcore10,331 bytesscripts/main.test.tsruns3,372 bytesscripts/main.tsruns25,839 bytes
Read SKILL.md
# Electron App Extract
Extracts resources and code from an installed Electron app's `app.asar`. When a `.js.map` is present, restores the original source files from the embedded `sourcesContent`; otherwise formats the minified code with Prettier. Source-map paths are resolved relative to the `.js.map` file first, so bundled paths like `../../src/main.ts` restore to readable paths such as `restored/src/main.ts` instead of hashed placeholders. Always skips `node_modules`. Works on macOS and Windows.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-format-markdown
When your agent uses it
Formats plain text or markdown files with frontmatter, titles, summaries, headings, bold, lists, and code blocks. Use when user asks to "format markdown", "beautify article", "add formatting", or improve article layout. Outputs to {filename}-formatted.md.
What it loads into context
Frontmatter
119 tokensAlways available to the agent
SKILL.md
3,297 tokensWhen the skill is activated
Reference documents
655 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- Preferences (EXTEND.md)
- Usage
- Workflow
- Notes
- Extension Support
Scripts executed separately
scripts/autocorrect.tsscripts/main.tsscripts/package.jsonscripts/quotes.ts
Files
SKILL.mdcore14,003 bytesSKILL.mdcore14,003 bytesSKILL.mdcore14,003 bytesSKILL.mdcore14,003 bytesreferences/title-formulas.mddoc2,929 bytesscripts/autocorrect.tsruns352 bytesscripts/bun.lockasset21,258 bytesscripts/main.tsruns4,837 bytesscripts/package-lock.jsonasset31,859 bytesscripts/package.jsonruns275 bytesscripts/quotes.tsruns173 bytes
Read SKILL.md
# Markdown Formatter
Transforms plain text or markdown into well-structured, reader-friendly markdown. The goal is to help readers quickly grasp key points, highlights, and structure — without changing any original content.
**Core principle**: Only adjust formatting and fix obvious typos. Never add, delete, or rewrite content.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
View the complete source on GitHubbaoyu-image-gen
When your agent uses it
AI image generation with OpenAI GPT Image 2.5, Azure OpenAI, Google, OpenRouter, DashScope, Z.AI GLM-Image, MiniMax, Jimeng, Seedream, Replicate and Agnes APIs. Supports text-to-image, reference images, aspect ratios, and batch generation from saved prompt files. Sequential by default; use batch parallel generation when the user already has multiple prompts or wants stable multi-image throughput. Use when user asks to generate, create, or draw images.
What it loads into context
Frontmatter
164 tokensAlways available to the agent
SKILL.md
5,593 tokensWhen the skill is activated
Reference documents
12,947 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- Step 0: Load Preferences ⛔ BLOCKING
- Usage
- Reference-Image Identity Preservation
- Options
- Environment Variables
- Model Resolution
- OpenAI-Compatible Gateway Dialects
- Provider-Specific Guides
- Provider Selection
- Quality Presets
- Aspect Ratios
- Generation Mode
- Error Handling
- References
- Extension Support
Scripts executed separately
scripts/build-batch.test.tsscripts/build-batch.tsscripts/codex-imagegen/cache.tsscripts/codex-imagegen/logger.tsscripts/codex-imagegen/main.tsscripts/codex-imagegen/parser.tsscripts/codex-imagegen/spawn.tsscripts/codex-imagegen/types.tsscripts/codex-imagegen/validator.tsscripts/main.test.tsscripts/main.tsscripts/providers/agnes.test.tsscripts/providers/agnes.tsscripts/providers/azure.test.tsscripts/providers/azure.tsscripts/providers/codex-cli.test.tsscripts/providers/codex-cli.tsscripts/providers/dashscope.test.tsscripts/providers/dashscope.tsscripts/providers/google.test.tsscripts/providers/google.tsscripts/providers/jimeng.test.tsscripts/providers/jimeng.tsscripts/providers/minimax.test.tsscripts/providers/minimax.tsscripts/providers/openai.test.tsscripts/providers/openai.tsscripts/providers/openrouter.test.tsscripts/providers/openrouter.tsscripts/providers/replicate.test.tsscripts/providers/replicate.tsscripts/providers/seedream.test.tsscripts/providers/seedream.tsscripts/providers/zai.test.tsscripts/providers/zai.tsscripts/types.ts
Files
SKILL.mdcore21,384 bytesSKILL.mdcore21,384 bytesSKILL.mdcore21,384 bytesreferences/codex-image2-fallback.mddoc1,993 bytesreferences/codex-oauth-vs-openai-api-key.mddoc2,137 bytesreferences/config/first-time-setup.mddoc14,427 bytesreferences/config/preferences-schema.mddoc5,001 bytesreferences/providers/agnes.mddoc2,301 bytesreferences/providers/codex-cli.mddoc6,011 bytesreferences/providers/dashscope.mddoc4,950 bytesreferences/providers/minimax.mddoc1,228 bytesreferences/providers/openrouter.mddoc760 bytesreferences/providers/replicate.mddoc1,814 bytesreferences/providers/zai.mddoc1,099 bytesreferences/usage-examples.mddoc6,128 bytesscripts/build-batch.test.tsruns4,575 bytesscripts/build-batch.tsruns7,593 bytesscripts/codex-imagegen/cache.tsruns2,300 bytesscripts/codex-imagegen/logger.tsruns1,356 bytesscripts/codex-imagegen/main.tsruns12,089 bytesscripts/codex-imagegen/parser.tsruns2,072 bytesscripts/codex-imagegen/spawn.tsruns2,432 bytesscripts/codex-imagegen/types.tsruns1,632 bytesscripts/codex-imagegen/validator.tsruns2,353 bytesscripts/main.test.tsruns18,799 bytesscripts/main.tsruns46,560 bytesscripts/providers/agnes.test.tsruns6,810 bytesscripts/providers/agnes.tsruns5,002 bytesscripts/providers/azure.test.tsruns5,425 bytesscripts/providers/azure.tsruns5,828 bytesscripts/providers/codex-cli.test.tsruns1,674 bytesscripts/providers/codex-cli.tsruns5,892 bytesscripts/providers/dashscope.test.tsruns11,671 bytesscripts/providers/dashscope.tsruns18,543 bytesscripts/providers/google.test.tsruns4,212 bytesscripts/providers/google.tsruns10,754 bytesscripts/providers/jimeng.test.tsruns2,737 bytesscripts/providers/jimeng.tsruns12,845 bytesscripts/providers/minimax.test.tsruns5,254 bytesscripts/providers/minimax.tsruns6,331 bytesscripts/providers/openai.test.tsruns6,179 bytesscripts/providers/openai.tsruns12,687 bytesscripts/providers/openrouter.test.tsruns5,450 bytesscripts/providers/openrouter.tsruns9,957 bytesscripts/providers/replicate.test.tsruns7,190 bytesscripts/providers/replicate.tsruns17,822 bytesscripts/providers/seedream.test.tsruns6,544 bytesscripts/providers/seedream.tsruns9,855 bytesscripts/providers/zai.test.tsruns5,274 bytesscripts/providers/zai.tsruns8,950 bytesscripts/types.tsruns2,337 bytes
Read SKILL.md
# Image Generation (AI SDK)
Official API-based image generation. Supports OpenAI GPT Image 2.5, Azure OpenAI, Google, OpenRouter, DashScope (阿里通义万象), Z.AI GLM-Image, MiniMax, Jimeng (即梦), Seedream (豆包), Replicate and Agnes.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-infographic
When your agent uses it
Generate professional infographics with 21 layout types and 22 visual styles. Analyzes content, recommends layout×style combinations, and generates publication-ready infographics. Use when user asks to create "infographic", "信息图", "visual summary", "可视化", or "高密度信息大图".
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
4,857 tokensWhen the skill is activated
Reference documents
17,208 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Image Generation Tools
- Reference Images
- Confirmation Policy
- Options
- Layout Gallery (21)
- Style Gallery (22)
- Recommended Combinations
- Keyword Shortcuts
- Output Structure
- Core Principles
- Workflow
- References
- Changing Preferences
Files
SKILL.mdcore19,957 bytesSKILL.mdcore19,957 bytesSKILL.mdcore19,957 bytesSKILL.mdcore19,957 bytesSKILL.mdcore19,957 bytesreferences/analysis-framework.mddoc7,507 bytesreferences/base-prompt.mddoc1,082 bytesreferences/codex-imagegen.mddoc3,707 bytesreferences/config/first-time-setup.mddoc4,666 bytesreferences/config/preferences-schema.mddoc4,611 bytesreferences/layouts/bento-grid.mddoc851 bytesreferences/layouts/binary-comparison.mddoc1,278 bytesreferences/layouts/bridge.mddoc907 bytesreferences/layouts/circular-flow.mddoc759 bytesreferences/layouts/comic-strip.mddoc847 bytesreferences/layouts/comparison-matrix.mddoc893 bytesreferences/layouts/dashboard.mddoc776 bytesreferences/layouts/dense-modules.mddoc3,766 bytesreferences/layouts/funnel.mddoc821 bytesreferences/layouts/hierarchical-layers.mddoc1,180 bytesreferences/layouts/hub-spoke.mddoc865 bytesreferences/layouts/iceberg.mddoc884 bytesreferences/layouts/isometric-map.mddoc833 bytesreferences/layouts/jigsaw.mddoc844 bytesreferences/layouts/linear-progression.mddoc1,238 bytesreferences/layouts/periodic-table.mddoc774 bytesreferences/layouts/story-mountain.mddoc815 bytesreferences/layouts/structural-breakdown.mddoc1,118 bytesreferences/layouts/tree-branching.mddoc913 bytesreferences/layouts/venn-diagram.mddoc825 bytesreferences/layouts/winding-roadmap.mddoc799 bytesreferences/structured-content-template.mddoc5,515 bytesreferences/styles/aged-academia.mddoc990 bytesreferences/styles/bold-graphic.mddoc920 bytesreferences/styles/chalkboard.mddoc2,204 bytesreferences/styles/claymation.mddoc654 bytesreferences/styles/corporate-memphis.mddoc612 bytesreferences/styles/craft-handmade.mddoc1,429 bytesreferences/styles/cyberpunk-neon.mddoc625 bytesreferences/styles/hand-drawn-edu.mddoc2,648 bytesreferences/styles/ikea-manual.mddoc572 bytesreferences/styles/kawaii.mddoc653 bytesreferences/styles/knolling.mddoc584 bytesreferences/styles/lego-brick.mddoc574 bytesreferences/styles/morandi-journal.mddoc2,233 bytesreferences/styles/origami.mddoc607 bytesreferences/styles/pixel-art.mddoc562 bytesreferences/styles/pop-laboratory.mddoc2,174 bytesreferences/styles/retro-pop-grid.mddoc2,106 bytesreferences/styles/retro-popup-pop.mddoc2,901 bytesreferences/styles/storybook-watercolor.mddoc703 bytesreferences/styles/subway-map.mddoc591 bytesreferences/styles/technical-schematic.mddoc983 bytesreferences/styles/ui-wireframe.mddoc596 bytes
Read SKILL.md
# Infographic Generator
Two dimensions: **layout** (information structure) × **style** (visual aesthetics). Freely combine any layout with any style.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-markdown-to-html
When your agent uses it
Converts Markdown to styled HTML with WeChat-compatible themes. Supports code highlighting, math, Mermaid (rendered to PNG via headless Chrome), PlantUML, footnotes, alerts, infographics, and optional bottom citations for external links. Use when user asks for "markdown to html", "convert md to html", "md 转 html", "微信外链转底部引用", or needs styled HTML output from markdown.
What it loads into context
Frontmatter
152 tokensAlways available to the agent
SKILL.md
2,672 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- Preferences (EXTEND.md)
- Workflow
- Usage
- Output
- Themes
- Supported Markdown Features
- Frontmatter
- Extension Support
Scripts executed separately
scripts/main.test.tsscripts/main.tsscripts/package.json
Files
SKILL.mdcore10,060 bytesSKILL.mdcore10,060 bytesSKILL.mdcore10,060 bytesSKILL.mdcore10,060 bytesscripts/bun.lockasset23,718 bytesscripts/main.test.tsruns3,587 bytesscripts/main.tsruns12,398 bytesscripts/package.jsonruns170 bytes
Read SKILL.md
# Markdown to HTML Converter
Converts Markdown files to beautifully styled HTML with inline CSS, optimized for WeChat Official Account and other platforms.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-post-to-wechat
When your agent uses it
Posts content to WeChat Official Account (微信公众号) via API or Chrome CDP. Supports article posting (文章) with HTML, markdown, or plain text input, and image-text posting (贴图, formerly 图文) with multiple images. Markdown article workflows default to converting ordinary external links into bottom citations for WeChat-friendly output. Use when user mentions "发布公众号", "post to wechat", "微信公众号", or "贴图/图文/文章".
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
3,808 tokensWhen the skill is activated
Reference documents
4,709 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Language
- Script Directory
- Preferences (EXTEND.md)
- Multi-Account Support
- Pre-flight Check (Optional)
- Image-Text Posting (图文)
- Article Posting Workflow (文章)
- Feature Comparison
- Troubleshooting
- References
- Extension Support
Scripts executed separately
scripts/cdp.tsscripts/check-permissions.tsscripts/copy-to-clipboard-mac.test.tsscripts/copy-to-clipboard.tsscripts/md-to-wechat.tsscripts/package.jsonscripts/paste-from-clipboard.tsscripts/wechat-agent-browser.tsscripts/wechat-api.tsscripts/wechat-article-focus.test.tsscripts/wechat-article.tsscripts/wechat-browser.tsscripts/wechat-extend-config.test.tsscripts/wechat-extend-config.tsscripts/wechat-http.test.tsscripts/wechat-http.tsscripts/wechat-image-loader.tsscripts/wechat-image-processor.tsscripts/wechat-remote-publish.test.tsscripts/wechat-remote-publish.tsscripts/wechat-socks-http.test.tsscripts/wechat-socks-http.ts
Files
SKILL.mdcore14,864 bytesSKILL.mdcore14,864 bytesSKILL.mdcore14,864 bytesSKILL.mdcore14,864 bytesSKILL.mdcore14,864 bytesSKILL.mdcore14,864 bytesSKILL.mdcore14,864 bytesreferences/api-setup.mddoc1,186 bytesreferences/article-posting.mddoc2,567 bytesreferences/config/first-time-setup.mddoc6,317 bytesreferences/image-text-posting.mddoc2,833 bytesreferences/multi-account.mddoc5,807 bytesscripts/bun.lockasset38,871 bytesscripts/cdp.tsruns8,405 bytesscripts/check-permissions.tsruns8,833 bytesscripts/copy-to-clipboard-mac.test.tsruns916 bytesscripts/copy-to-clipboard.tsruns14,377 bytesscripts/md-to-wechat.tsruns5,803 bytesscripts/package.jsonruns244 bytesscripts/paste-from-clipboard.tsruns5,659 bytesscripts/wechat-agent-browser.tsruns11,400 bytesscripts/wechat-api.tsruns31,007 bytesscripts/wechat-article-focus.test.tsruns2,741 bytesscripts/wechat-article.tsruns48,947 bytesscripts/wechat-browser.tsruns28,393 bytesscripts/wechat-extend-config.test.tsruns10,079 bytesscripts/wechat-extend-config.tsruns14,593 bytesscripts/wechat-http.test.tsruns5,100 bytesscripts/wechat-http.tsruns2,677 bytesscripts/wechat-image-loader.tsruns2,526 bytesscripts/wechat-image-processor.tsruns8,524 bytesscripts/wechat-remote-publish.test.tsruns5,647 bytesscripts/wechat-remote-publish.tsruns8,007 bytesscripts/wechat-socks-http.test.tsruns6,837 bytesscripts/wechat-socks-http.tsruns6,917 bytes
Read SKILL.md
# Post to WeChat Official Account
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
## Language
View the complete source on GitHubbaoyu-post-to-weibo
When your agent uses it
Posts content to Weibo (微博). Supports regular posts with text, images, and videos, and headline articles (头条文章) with Markdown input via Chrome CDP. Use when user asks to "post to Weibo", "发微博", "发布微博", "publish to Weibo", "share on Weibo", "写微博", or "微博头条文章".
What it loads into context
Frontmatter
143 tokensAlways available to the agent
SKILL.md
1,402 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Script Directory
- Preferences (EXTEND.md)
- Prerequisites
- Regular Posts
- Headline Articles (头条文章)
- Post Type Selection
- Troubleshooting
- Notes
- Extension Support
Scripts executed separately
scripts/copy-to-clipboard.tsscripts/md-to-html.tsscripts/package.jsonscripts/paste-from-clipboard.tsscripts/weibo-article.tsscripts/weibo-post.tsscripts/weibo-utils.ts
Files
SKILL.mdcore5,521 bytesSKILL.mdcore5,521 bytesSKILL.mdcore5,521 bytesSKILL.mdcore5,521 bytesscripts/bun.lockasset23,715 bytesscripts/copy-to-clipboard.tsruns12,179 bytesscripts/md-to-html.tsruns5,816 bytesscripts/package.jsonruns167 bytesscripts/paste-from-clipboard.tsruns5,659 bytesscripts/weibo-article.tsruns46,976 bytesscripts/weibo-post.tsruns9,788 bytesscripts/weibo-utils.tsruns4,557 bytes
Read SKILL.md
# Post to Weibo
Posts text, images, videos, and long-form articles to Weibo via real Chrome browser (bypasses anti-bot detection).
## Script Directory
**Important**: All scripts are located in the `scripts/` subdirectory of this skill.
**Agent Execution Instructions**:
1. Determine this SKILL.md file's directory path as `{baseDir}`
2. Script path = `{baseDir}/scripts/<script-name>.ts`
3. Replace all `{baseDir}` in this document with the actual path
4. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun
View the complete source on GitHubbaoyu-post-to-x
When your agent uses it
Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). In Codex, honor explicit requests for the Codex Chrome plugin/@chrome by using the Chrome Extension workflow; otherwise use Chrome Computer Use when available and fall back to real Chrome CDP scripts only when allowed. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
What it loads into context
Frontmatter
153 tokensAlways available to the agent
SKILL.md
4,185 tokensWhen the skill is activated
Reference documents
4,332 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Script Directory
- Execution Mode Selection (Required)
- Codex Chrome Plugin Mode
- Preferences (EXTEND.md)
- Prerequisites
- Pre-flight Check (Optional)
- References
- Chrome Computer Use Mode
- CDP Script Mode (Fallback)
- Post Type Selection
- Regular Posts
- Video Posts
- Quote Tweets
- X Articles
- Troubleshooting
- Notes
- Extension Support
Scripts executed separately
scripts/check-paste-permissions.tsscripts/copy-to-clipboard.tsscripts/md-to-html.test.tsscripts/md-to-html.tsscripts/package.jsonscripts/paste-from-clipboard.tsscripts/x-article.tsscripts/x-browser.tsscripts/x-quote.tsscripts/x-utils.test.tsscripts/x-utils.tsscripts/x-video.ts
Files
SKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesSKILL.mdcore17,668 bytesreferences/articles.mddoc13,457 bytesreferences/regular-posts.mddoc4,132 bytesscripts/bun.lockasset23,955 bytesscripts/check-paste-permissions.tsruns8,310 bytesscripts/copy-to-clipboard.tsruns12,179 bytesscripts/md-to-html.test.tsruns5,619 bytesscripts/md-to-html.tsruns13,420 bytesscripts/package.jsonruns379 bytesscripts/paste-from-clipboard.tsruns5,659 bytesscripts/x-article.tsruns31,699 bytesscripts/x-browser.tsruns9,002 bytesscripts/x-quote.tsruns9,112 bytesscripts/x-utils.test.tsruns1,676 bytesscripts/x-utils.tsruns8,817 bytesscripts/x-video.tsruns9,536 bytes
Read SKILL.md
# Post to X (Twitter)
Posts text, images, videos, and long-form articles to X via a real Chrome browser.
In Codex, do not conflate these browser paths:
- **Codex Chrome plugin / `@chrome` / Chrome Extension**: use the bundled `chrome:Chrome` skill and its Node REPL browser client. This is required whenever the user says "Codex Chrome plugin", "Codex 自带的 Chrome 插件", `@chrome`, or similar.
- **Chrome Computer Use**: use `mcp__computer_use__.*` against the visible Google Chrome UI only when the user asks for Computer Use or no Chrome-plugin preference is stated and Computer Use is available.
- **CDP script mode**: use only as a fallback when the selected mode is unavailable or the user explicitly asks for CDP/script mode.
## Script Directory
**Important**: All scripts are located in the `scripts/` subdirectory of this skill.
**Agent Execution Instructions**:View the complete source on GitHubbaoyu-slide-deck
When your agent uses it
Generates professional slide deck images from content. Creates outlines with style instructions, then generates individual slide images. Use when user asks to "create slides", "make a presentation", "generate deck", "slide deck", or "PPT".
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
5,490 tokensWhen the skill is activated
Reference documents
23,863 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Image Generation Tools
- Batch Generation Policy
- Confirmation Policy
- Language
- Script Directory
- Options
- Style System
- Reference Images
- File Layout
- Workflow
- Slide Modification
- References
- Notes
- Changing Preferences
Scripts executed separately
scripts/merge-to-pdf.tsscripts/merge-to-pptx.ts
Files
SKILL.mdcore23,350 bytesSKILL.mdcore23,350 bytesSKILL.mdcore23,350 bytesSKILL.mdcore23,350 bytesreferences/analysis-framework.mddoc5,241 bytesreferences/base-prompt.mddoc2,844 bytesreferences/codex-imagegen.mddoc3,715 bytesreferences/config/preferences-schema.mddoc3,967 bytesreferences/confirmation.mddoc4,854 bytesreferences/content-rules.mddoc2,986 bytesreferences/design-guidelines.mddoc7,581 bytesreferences/dimensions/density.mddoc3,126 bytesreferences/dimensions/mood.mddoc4,106 bytesreferences/dimensions/presets.mddoc5,133 bytesreferences/dimensions/texture.mddoc1,938 bytesreferences/dimensions/typography.mddoc4,062 bytesreferences/layouts.mddoc3,086 bytesreferences/modification-guide.mddoc2,467 bytesreferences/outline-template.mddoc7,599 bytesreferences/styles/blueprint.mddoc2,277 bytesreferences/styles/bold-editorial.mddoc2,409 bytesreferences/styles/chalkboard.mddoc2,512 bytesreferences/styles/corporate.mddoc2,346 bytesreferences/styles/dark-atmospheric.mddoc2,435 bytesreferences/styles/editorial-infographic.mddoc2,450 bytesreferences/styles/fantasy-animation.mddoc2,474 bytesreferences/styles/hand-drawn-edu.mddoc2,905 bytesreferences/styles/intuition-machine.mddoc2,870 bytesreferences/styles/minimal.mddoc2,036 bytesreferences/styles/notion.mddoc2,133 bytesreferences/styles/pixel-art.mddoc2,446 bytesreferences/styles/scientific.mddoc2,448 bytesreferences/styles/sketch-notes.mddoc2,463 bytesreferences/styles/vector-illustration.mddoc2,646 bytesreferences/styles/vintage.mddoc2,499 bytesreferences/styles/watercolor.mddoc2,349 bytesscripts/merge-to-pdf.tsruns3,222 bytesscripts/merge-to-pptx.tsruns3,918 bytes
Read SKILL.md
# Slide Deck Generator
Transform content into professional slide deck images. The deck is designed for **reading and sharing** (self-explanatory slides, logical scroll flow, social-media-friendly) rather than live presentation — that assumption drives every layout and density decision below.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-translate
When your agent uses it
This skill should be used when the user asks to "translate", "翻译", "精翻", "translate article", "translate to Chinese", "translate to English", "改成中文", "改成英文", "convert to Chinese", "localize", "本地化", "refined translation", "精细翻译", "proofread translation", "快速翻译", "快翻", "这篇文章翻译一下", or provides a URL/file with translation intent. Supports three modes (quick/normal/refined) with custom glossary support.
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
3,648 tokensWhen the skill is activated
Reference documents
4,590 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Script Directory
- Preferences (EXTEND.md)
- Defaults
- Modes
- Workflow
- Extension Support
Scripts executed separately
scripts/chunk.tsscripts/main.tsscripts/package.json
Files
SKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesSKILL.mdcore15,844 bytesreferences/config/extend-schema.mddoc3,449 bytesreferences/config/first-time-setup.mddoc4,505 bytesreferences/glossary-en-zh.mddoc927 bytesreferences/refined-workflow.mddoc6,040 bytesreferences/subagent-prompt-template.mddoc3,442 bytesreferences/workflow-mechanics.mddoc812 bytesscripts/bun.lockasset1,456 bytesscripts/chunk.tsruns8,368 bytesscripts/main.tsruns1,410 bytesscripts/package.jsonruns110 bytes
Read SKILL.md
# Translator
Three-mode translation skill: **quick** for direct translation, **normal** for analysis-informed translation, **refined** for full publication-quality workflow with review and polish.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-url-to-markdown
When your agent uses it
Fetch any URL and convert to markdown using baoyu-fetch CLI (Chrome CDP with site-specific adapters). Built-in adapters for X/Twitter, YouTube transcripts, Hacker News threads, and generic pages via Defuddle. Handles login/CAPTCHA via interaction wait modes. Use when user wants to save a webpage as markdown.
What it loads into context
Frontmatter
126 tokensAlways available to the agent
SKILL.md
2,160 tokensWhen the skill is activated
Reference documents
1,943 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- CLI Setup
- Preferences (EXTEND.md)
- Usage
- Options
- Agent Quality Gate
- Output Path Generation
- Adapters & Media
- Environment Variables
- Extension Support
Scripts executed separately
scripts/baoyu-fetchscripts/lib/adapters/generic/index.tsscripts/lib/adapters/hn/index.tsscripts/lib/adapters/index.tsscripts/lib/adapters/types.tsscripts/lib/adapters/x/article.tsscripts/lib/adapters/x/index.tsscripts/lib/adapters/x/login.tsscripts/lib/adapters/x/match.tsscripts/lib/adapters/x/payloads.tsscripts/lib/adapters/x/session.tsscripts/lib/adapters/x/shared.tsscripts/lib/adapters/x/single.tsscripts/lib/adapters/x/thread-loader.tsscripts/lib/adapters/x/thread.tsscripts/lib/adapters/x/types.tsscripts/lib/adapters/youtube/index.tsscripts/lib/adapters/youtube/transcript.tsscripts/lib/adapters/youtube/utils.tsscripts/lib/browser/cdp-client.tsscripts/lib/browser/chrome-launcher.tsscripts/lib/browser/cookie-sidecar.tsscripts/lib/browser/interaction-gates.tsscripts/lib/browser/network-journal.tsscripts/lib/browser/page-snapshot.tsscripts/lib/browser/profile.tsscripts/lib/browser/session.tsscripts/lib/cli.tsscripts/lib/commands/convert.tsscripts/lib/extract/document.tsscripts/lib/extract/html-cleaner.tsscripts/lib/extract/html-extractor.tsscripts/lib/extract/html-to-markdown.tsscripts/lib/extract/markdown-renderer.tsscripts/lib/media/default-downloader.tsscripts/lib/media/markdown-media.tsscripts/lib/media/media-utils.tsscripts/lib/media/types.tsscripts/lib/types/defuddle-node.d.tsscripts/lib/types/shims.d.tsscripts/lib/utils/logger.tsscripts/lib/utils/url.tsscripts/package.json
Files
SKILL.mdcore8,520 bytesSKILL.mdcore8,520 bytesSKILL.mdcore8,520 bytesreferences/adapters.mddoc3,231 bytesreferences/config/first-time-setup.mddoc2,459 bytesreferences/quality-gate.mddoc2,490 bytesscripts/baoyu-fetchruns122 bytesscripts/bun.lockasset35,416 bytesscripts/lib/adapters/generic/index.tsruns2,451 bytesscripts/lib/adapters/hn/index.tsruns10,454 bytesscripts/lib/adapters/index.tsruns834 bytesscripts/lib/adapters/types.tsruns2,100 bytesscripts/lib/adapters/x/article.tsruns12,677 bytesscripts/lib/adapters/x/index.tsruns4,048 bytesscripts/lib/adapters/x/login.tsruns2,258 bytesscripts/lib/adapters/x/match.tsruns297 bytesscripts/lib/adapters/x/payloads.tsruns1,681 bytesscripts/lib/adapters/x/session.tsruns1,404 bytesscripts/lib/adapters/x/shared.tsruns12,980 bytesscripts/lib/adapters/x/single.tsruns2,583 bytesscripts/lib/adapters/x/thread-loader.tsruns9,078 bytesscripts/lib/adapters/x/thread.tsruns9,196 bytesscripts/lib/adapters/x/types.tsruns600 bytesscripts/lib/adapters/youtube/index.tsruns898 bytesscripts/lib/adapters/youtube/transcript.tsruns13,301 bytesscripts/lib/adapters/youtube/utils.tsruns6,523 bytesscripts/lib/browser/cdp-client.tsruns6,879 bytesscripts/lib/browser/chrome-launcher.tsruns5,883 bytesscripts/lib/browser/cookie-sidecar.tsruns2,941 bytesscripts/lib/browser/interaction-gates.tsruns4,095 bytesscripts/lib/browser/network-journal.tsruns7,153 bytesscripts/lib/browser/page-snapshot.tsruns3,429 bytesscripts/lib/browser/profile.tsruns5,670 bytesscripts/lib/browser/session.tsruns4,642 bytesscripts/lib/cli.tsruns7,066 bytesscripts/lib/commands/convert.tsruns17,456 bytesscripts/lib/extract/document.tsruns846 bytesscripts/lib/extract/html-cleaner.tsruns11,016 bytesscripts/lib/extract/html-extractor.tsruns2,243 bytesscripts/lib/extract/html-to-markdown.tsruns21,344 bytesscripts/lib/extract/markdown-renderer.tsruns4,661 bytesscripts/lib/media/default-downloader.tsruns5,215 bytesscripts/lib/media/markdown-media.tsruns13,186 bytesscripts/lib/media/media-utils.tsruns6,222 bytesscripts/lib/media/types.tsruns710 bytesscripts/lib/types/defuddle-node.d.tsruns605 bytesscripts/lib/types/shims.d.tsruns422 bytesscripts/lib/utils/logger.tsruns645 bytesscripts/lib/utils/url.tsruns300 bytesscripts/package.jsonruns557 bytes
Read SKILL.md
# URL to Markdown
Fetches any URL via `baoyu-fetch` CLI (Chrome CDP + site-specific adapters) and converts it to clean markdown.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-wechat-summary
When your agent uses it
Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt-in. Maintains per-group history (history.json + history-digests.jsonl), per-user profiles, and per-group fact memory (memory.md) across runs, with privacy guardrails baked in. Use when the user asks to "总结群聊", "群聊精华", "群聊摘要", "summarize group chat", "group chat digest", mentions a WeChat group name with a time range, says "帮我看看 XX 群最近聊了什么", "XX 群有什么值得看的", or asks to "回溯画像" / "初始化画像" / "backfill profiles". Adds the roast version when the user says "毒舌版", "roast 版", "再来个毒舌的", or similar.
What it loads into context
Frontmatter
266 tokensAlways available to the agent
SKILL.md
8,583 tokensWhen the skill is activated
Reference documents
10,662 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- References(按需加载)
- User Input Tools
- Prerequisites
- Preferences (EXTEND.md)
- Workflow
- Storage layout
- Notes and limitations
Files
EXTEND.md.exampleasset1,831 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesSKILL.mdcore33,328 bytesreferences/group-memory.mddoc4,556 bytesreferences/output-formats.mddoc14,509 bytesreferences/profiles.mddoc16,251 bytesreferences/setup.mddoc4,765 bytes
Read SKILL.md
# WeChat Group Summary
群聊精华提取专家。把零散的微信群聊记录提炼成结构化、可读性强的简报,并维护跨次运行的群聊历史与群友画像。底层依赖外部 [wx-cli](https://github.com/jackwener/wx-cli) 二进制(`wx` 命令),不打包脚本。
> **⚠<U+FE0F> Sandbox restriction**
>
> wx-cli reads from `~/.wx-cli/` (config, cache, daemon socket) and from WeChat's data directory (`~/Library/Containers/com.tencent.xinWeChat/` on macOS). Both paths are outside Claude Code's default sandbox. Every `wx` command in this skill needs to run with `dangerouslyDisableSandbox: true` from the start — don't waste a sandbox attempt first. The user can use `/sandbox` to view/edit restrictions.
## References(按需加载)
本文件只保留工作流骨架;细节拆在 `references/` 下,**执行到对应步骤时再读,不要一开始全部读入**:
| 参考文件 | 内容 | 何时读 |
|---------|------|-------|View the complete source on GitHubbaoyu-xhs-images
When your agent uses it
Generates infographic image card series with 12 visual styles, 8 layouts, and 3 color palettes. Breaks content into 1-10 cartoon-style image cards optimized for social media engagement. Use when user mentions "小红书图片", "小红书种草", "小绿书", "微信图文", "微信贴图", "image cards", "图片卡片", baoyu-xhs-images, or wants social media infographic series.
What it loads into context
Frontmatter
141 tokensAlways available to the agent
SKILL.md
7,316 tokensWhen the skill is activated
Reference documents
21,099 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Input Tools
- Image Generation Tools
- Batch Generation Policy
- Confirmation Policy
- Language
- Options
- Dimensions
- Styles (12)
- Layouts (8)
- Palettes (optional override)
- Presets (style + layout shortcuts)
- Auto-Selection
- Style × Layout Matrix
- Outline Strategies
- Reference Images
- File Layout
- Workflow
- Content Breakdown Principles
- Image Modification
- References
- Notes
- Changing Preferences
Files
SKILL.mdcore29,570 bytesSKILL.mdcore29,570 bytesSKILL.mdcore29,570 bytesreferences/codex-imagegen.mddoc3,717 bytesreferences/config/first-time-setup.mddoc3,456 bytesreferences/config/preferences-schema.mddoc4,017 bytesreferences/config/watermark-guide.mddoc1,977 bytesreferences/confirmation.mddoc3,929 bytesreferences/elements/canvas.mddoc3,727 bytesreferences/elements/decorations.mddoc5,049 bytesreferences/elements/image-effects.mddoc2,990 bytesreferences/elements/typography.mddoc3,258 bytesreferences/palettes/macaron.mddoc1,437 bytesreferences/palettes/neon.mddoc1,271 bytesreferences/palettes/warm.mddoc1,225 bytesreferences/presets/bold.mddoc1,577 bytesreferences/presets/chalkboard.mddoc2,324 bytesreferences/presets/cute.mddoc1,565 bytesreferences/presets/fresh.mddoc1,496 bytesreferences/presets/minimal.mddoc1,418 bytesreferences/presets/notion.mddoc1,591 bytesreferences/presets/pop.mddoc1,528 bytesreferences/presets/retro.mddoc1,483 bytesreferences/presets/screen-print.mddoc2,680 bytesreferences/presets/sketch-notes.mddoc3,216 bytesreferences/presets/study-notes.mddoc2,977 bytesreferences/presets/warm.mddoc1,476 bytesreferences/style-presets.mddoc1,899 bytesreferences/workflows/analysis-framework.mddoc7,235 bytesreferences/workflows/outline-template.mddoc6,101 bytesreferences/workflows/prompt-assembly.mddoc10,328 bytes
Read SKILL.md
# Image Card Series Generator
Break down complex content into eye-catching image card series with multiple style options.
## User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
View the complete source on GitHubbaoyu-youtube-transcript
When your agent uses it
Downloads YouTube video transcripts/subtitles and cover images by URL or video ID. Supports multiple languages, translation, chapters, and speaker identification. Caches raw data for fast re-formatting. Use when user asks to "get YouTube transcript", "download subtitles", "get captions", "YouTube字幕", "YouTube封面", "视频封面", "video thumbnail", "video cover image", or provides a YouTube URL and wants the transcript/subtitle text or cover image extracted.
What it loads into context
Frontmatter
166 tokensAlways available to the agent
SKILL.md
2,333 tokensWhen the skill is activated
Reference documents
1,178 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Script Directory
- Usage
- Options
- Optional Environment Variables
- Input Formats
- Output Formats
- Output Directory
- Caching
- Workflow
- Chapter & Speaker Workflow
- Error Cases
Scripts executed separately
scripts/main.test.tsscripts/main.tsscripts/shared.tsscripts/storage.tsscripts/transcript.tsscripts/types.tsscripts/youtube.ts
Files
SKILL.mdcore9,704 bytesSKILL.mdcore9,704 bytesprompts/speaker-transcript.mddoc4,695 bytesscripts/main.test.tsruns5,644 bytesscripts/main.tsruns8,568 bytesscripts/shared.tsruns3,455 bytesscripts/storage.tsruns1,925 bytesscripts/transcript.tsruns13,144 bytesscripts/types.tsruns2,407 bytesscripts/youtube.tsruns20,270 bytes
Read SKILL.md
# YouTube Transcript
Downloads transcripts (subtitles/captions) from YouTube videos. Works with both manually created and auto-generated transcripts. No API key or browser required — uses YouTube's InnerTube API directly and automatically falls back to `yt-dlp` when YouTube blocks the direct API path.
Fetches video metadata and cover image on first run, caches raw data for fast re-formatting.
## Script Directory
Scripts in `scripts/` subdirectory. `{baseDir}` = this SKILL.md's directory path. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun. Replace `{baseDir}` and `${BUN_X}` with actual values.
| Script | Purpose |
|--------|---------|
| `scripts/main.ts` | Transcript download CLI |
View the complete source on GitHubSkills included
- baoyu-article-illustrator
- baoyu-comic
- baoyu-compress-image
- baoyu-cover-image
- baoyu-danger-gemini-web
- baoyu-danger-x-to-markdown
- baoyu-diagram
- baoyu-electron-extract
- baoyu-format-markdown
- baoyu-image-gen
- baoyu-infographic
- baoyu-markdown-to-html
- baoyu-post-to-wechat
- baoyu-post-to-weibo
- baoyu-post-to-x
- baoyu-slide-deck
- baoyu-translate
- baoyu-url-to-markdown
- baoyu-wechat-summary
- baoyu-xhs-images
- baoyu-youtube-transcript
Repository facts
- License
- MIT
- Created
- Jan 13, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 2,978
- Open issues
- 1
- Project activity
- Active
Rank over the last 12 weeks
Now #77 · best #63 · down 2 in 30 days
- #76 from Oct 8 to Oct 10
- #77 from Oct 11 to Oct 24
- #78 on Oct 25
- #77 from Oct 28 to Oct 29
- #78 from Oct 30 to Oct 31
- #77 since Nov 1
15 earlier periods
- #60 on Aug 2
- #62 from Aug 7 to Aug 13
- #63 from Aug 14 to Aug 15
- #64 from Aug 16 to Aug 21
- #65 from Aug 22 to Aug 24
- #66 from Aug 25 to Aug 27
- #67 from Aug 28 to Aug 29
- #68 from Aug 30 to Sep 1
- #69 from Sep 2 to Sep 4
- #70 on Sep 5
- #71 on Sep 6
- #72 from Sep 7 to Sep 13
- #73 from Sep 14 to Sep 15
- #74 from Sep 16 to Sep 22
- #75 from Sep 23 to Oct 7
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Changed on Oct 27, 2026
No longer found: Instruction override signal
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 77 notes
skills/baoyu-compress-image/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-compress-image/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-cover-image/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-danger-gemini-web/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-danger-x-to-markdown/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-danger-x-to-markdown/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-diagram/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/baoyu-electron-extract/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 18 dangerous shell commandsin 3 files: skills/baoyu-wechat-summary/references/setup.md:10 scripts/sync-codex-imagegen.sh:44 skills/baoyu-wechat-summary/SKILL.md:497
- 1,801 network referencesin 108 files: skills/baoyu-format-markdown/scripts/package-lock.json:43 skills/baoyu-youtube-transcript/scripts/youtube.ts:20 skills/baoyu-youtube-transcript/scripts/main.test.ts:7 and 105 more
- No hidden or obfuscated text
- 12 instruction override signalsin 2 files: skills/baoyu-cover-image/references/config/preferences-schema.md:31 skills/baoyu-cover-image/references/config/first-time-setup.md:141
- 388 executable scriptsin 201 files: skills/baoyu-comic/scripts/merge-to-pdf.ts:1 skills/baoyu-compress-image/scripts/main.ts:1 skills/baoyu-danger-gemini-web/scripts/gemini-webapi/client.test.ts:1 and 198 more
- 473 references to secretsin 58 files: skills/baoyu-image-gen/scripts/main.test.ts:350 skills/baoyu-image-gen/scripts/main.ts:118 skills/baoyu-image-gen/SKILL.md:84 and 55 more
- No requests to vote in Hot
Show all 2,692 signals by file
scripts/build-shared-package.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/install-git-hooks.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/lib/release-files.mjs
- Executable scriptline 1
Executable file
scripts/lib/release-files.test.ts
- Executable scriptline 1
Executable file
scripts/lib/skill-release-guard.mjs
- Executable scriptline 1
Executable file
scripts/lib/skill-release-guard.test.ts
- Executable scriptline 1
Executable file
scripts/publish-skill.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 15
const DEFAULT_REGISTRY = "https://clawhub.ai"; - Network accessline 232
const response = await fetch(`${registry}/api/v1/skills`, { - Network accessline 250
async function apiJson(registry, token, requestPath) { const response = await fetch(`${registry}${requestPath}`, { - Network accessline 251
const response = await fetch(`${registry}${requestPath}`, {
scripts/run-node-tests.mjs
- Executable scriptline 1
Executable file
scripts/sync-clawhub.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 17
const DEFAULT_REGISTRY = "https://clawhub.ai"; - Network accessline 374
const response = await fetch(`${registry}/api/v1/skills`, { - Network accessline 400
async function apiJsonWithStatus(registry, token, requestPath) { const response = await fetch(`${registry}${requestPath}`, { - Network accessline 401
const response = await fetch(`${registry}${requestPath}`, {
scripts/sync-clawhub.sh
- Executable scriptline 1
#!/usr/bin/env bash
scripts/sync-codex-imagegen.sh
scripts/verify-shared-package-deps.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/verify-shared-package-deps.test.ts
- Executable scriptline 1
Executable file
scripts/verify-skill-release-commits.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/baoyu-article-illustrator/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-article-illustrator - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-article-illustrator --- - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-article-illustrator
skills/baoyu-article-illustrator/references/codex-imagegen.md
- Access to secretsline 48
[Credential-related source omitted]
skills/baoyu-comic/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-comic - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-comic - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-comic requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-comic requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-comic - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-comic
skills/baoyu-comic/references/codex-imagegen.md
skills/baoyu-comic/scripts/merge-to-pdf.ts
skills/baoyu-compress-image/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image
skills/baoyu-compress-image/scripts/main.ts
skills/baoyu-cover-image/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image --- - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image --- - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image
skills/baoyu-cover-image/references/codex-imagegen.md
skills/baoyu-cover-image/references/config/first-time-setup.md
- Instruction override signalline 141
description: "Confirm dimension choices each time" - label: "Yes" description: "Skip confirmation, use auto-selection" - Instruction override signalline 141
description: "Confirm dimension choices each time" - label: "Yes" description: "Skip confirmation, use auto-selection" - Instruction override signalline 143
description: "Skip confirmation, use auto-selection" - Instruction override signalline 143
description: "Skip confirmation, use auto-selection"
skills/baoyu-cover-image/references/config/preferences-schema.md
- Instruction override signalline 31
quick_mode: false # Skip confirmation when true - Instruction override signalline 31
quick_mode: false # Skip confirmation when true - Instruction override signalline 61
| `preferred_mood` | string | balanced | Mood intensity level | | `default_aspect` | string | "2.35:1" | Default aspect ratio | | `quick_mode` | bool | false | Skip confirmation step | - Instruction override signalline 61
| `preferred_mood` | string | balanced | Mood intensity level | | `default_aspect` | string | "2.35:1" | Default aspect ratio | | `quick_mode` | bool | false | Skip confirmation step | - Instruction override signalline 62
| `default_aspect` | string | "2.35:1" | Default aspect ratio | | `quick_mode` | bool | false | Skip confirmation step | | `language` | string | null | Output language (null = auto-detect) | - Instruction override signalline 62
| `default_aspect` | string | "2.35:1" | Default aspect ratio | | `quick_mode` | bool | false | Skip confirmation step | | `language` | string | null | Output language (null = auto-detect) | - Instruction override signalline 63
| `quick_mode` | bool | false | Skip confirmation step | - Instruction override signalline 63
| `quick_mode` | bool | false | Skip confirmation step |
skills/baoyu-danger-gemini-web/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web - Access to secretsline 127
[Credential-related source omitted] - Access to secretsline 127
[Credential-related source omitted]
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/client.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 6
test("response part fallback finds generated images when legacy generated markers are absent", () => { const generatedUrl = "https://lh3.googleusercontent.com/gg-dl/example-generated-image"; - Network accessline 6
test("response part fallback finds generated images when legacy generated markers are absent", () => { const generatedUrl = "https://lh3.googleusercontent.com/gg-dl/example-generated-image"; - Network accessline 7
const generatedUrl = "https://lh3.googleusercontent.com/gg-dl/example-generated-image"; - Network accessline 7
const generatedUrl = "https://lh3.googleusercontent.com/gg-dl/example-generated-image";
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/client.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 16
[Credential-related source omitted] - Access to secretsline 16
[Credential-related source omitted] - Network accessline 40
const GENERATED_IMAGE_URL_PREFIX = 'https://lh3.googleusercontent.com/gg-dl/'; - Network accessline 40
const GENERATED_IMAGE_URL_PREFIX = 'https://lh3.googleusercontent.com/gg-dl/'; - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 189
[Credential-related source omitted] - Access to secretsline 189
[Credential-related source omitted] - Access to secretsline 328
[Credential-related source omitted] - Access to secretsline 328
[Credential-related source omitted] - Access to secretsline 346
[Credential-related source omitted] - Access to secretsline 346
[Credential-related source omitted] - Network accessline 501
// longer appear in the current Gemini Web API response format. // When Gemini does generate images, their URLs now start with // `https://lh3.googleusercontent.com/gg-dl/` and are present somewhere in the - Network accessline 501
// longer appear in the current Gemini Web API response format. // When Gemini does generate images, their URLs now start with // `https://lh3.googleusercontent.com/gg-dl/` and are present somewhere in the - Network accessline 502
// When Gemini does generate images, their URLs now start with // `https://lh3.googleusercontent.com/gg-dl/` and are present somewhere in the // response parts — this fallback finds them so images are not silently droppe - Network accessline 502
// When Gemini does generate images, their URLs now start with // `https://lh3.googleusercontent.com/gg-dl/` and are present somewhere in the // response parts — this fallback finds them so images are not silently droppe - Network accessline 503
// `https://lh3.googleusercontent.com/gg-dl/` and are present somewhere in the - Network accessline 503
// `https://lh3.googleusercontent.com/gg-dl/` and are present somewhere in the - Access to secretsline 549
[Credential-related source omitted] - Access to secretsline 549
[Credential-related source omitted] - Access to secretsline 552
[Credential-related source omitted] - Access to secretsline 552
[Credential-related source omitted]
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/components/gem-mixin.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/components/index.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/constants.ts
- Network accessline 1
export const Endpoint = { GOOGLE: 'https://www.google.com', - Network accessline 1
export const Endpoint = { GOOGLE: 'https://www.google.com', - Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 2
GOOGLE: 'https://www.google.com', - Network accessline 2
GOOGLE: 'https://www.google.com', - Network accessline 3
INIT: 'https://gemini.google.com/app', - Network accessline 3
INIT: 'https://gemini.google.com/app', - Network accessline 4
GENERATE: 'https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate', ROTATE_COOKIES: 'https://accounts.google.com/RotateCookies', - Network accessline 4
GENERATE: 'https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate', ROTATE_COOKIES: 'https://accounts.google.com/RotateCookies', - Network accessline 5
'https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate', - Network accessline 5
'https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate', - Network accessline 6
ROTATE_COOKIES: 'https://accounts.google.com/RotateCookies', - Network accessline 6
ROTATE_COOKIES: 'https://accounts.google.com/RotateCookies', - Network accessline 7
UPLOAD: 'https://content-push.googleapis.com/upload', - Network accessline 7
UPLOAD: 'https://content-push.googleapis.com/upload', - Network accessline 8
BATCH_EXEC: 'https://gemini.google.com/_/BardChatUi/data/batchexecute', - Network accessline 8
BATCH_EXEC: 'https://gemini.google.com/_/BardChatUi/data/batchexecute', - Network accessline 22
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8', Host: 'gemini.google.com', Origin: 'https://gemini.google.com', - Network accessline 22
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8', Host: 'gemini.google.com', Origin: 'https://gemini.google.com', - Network accessline 23
Host: 'gemini.google.com', Origin: 'https://gemini.google.com', Referer: 'https://gemini.google.com/', - Network accessline 23
Host: 'gemini.google.com', Origin: 'https://gemini.google.com', Referer: 'https://gemini.google.com/', - Network accessline 24
Origin: 'https://gemini.google.com', - Network accessline 24
Origin: 'https://gemini.google.com', - Network accessline 25
Referer: 'https://gemini.google.com/', - Network accessline 25
Referer: 'https://gemini.google.com/',
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/exceptions.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/index.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/types/candidate.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/types/gem.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/types/grpc.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/types/image.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 36
'User-Agent': 'Mozilla/5.0', Accept: 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8', Referer: 'https://gemini.google.com/', - Network accessline 36
'User-Agent': 'Mozilla/5.0', Accept: 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8', Referer: 'https://gemini.google.com/', - Network accessline 37
Accept: 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8', Referer: 'https://gemini.google.com/', }; - Network accessline 37
Accept: 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8', Referer: 'https://gemini.google.com/', }; - Network accessline 38
Referer: 'https://gemini.google.com/', - Network accessline 38
Referer: 'https://gemini.google.com/',
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/types/index.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/types/modeloutput.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/cookie-file.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/decorators.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/get-access-token.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted]
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/http.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 44
): Promise<Response> { const { timeout_ms, ...rest } = init; if (!timeout_ms || timeout_ms <= 0) return fetch(url, rest); - Network accessline 44
): Promise<Response> { const { timeout_ms, ...rest } = init; if (!timeout_ms || timeout_ms <= 0) return fetch(url, rest); - Network accessline 46
if (!timeout_ms || timeout_ms <= 0) return fetch(url, rest); - Network accessline 46
if (!timeout_ms || timeout_ms <= 0) return fetch(url, rest); - Network accessline 49
const t = setTimeout(() => ctl.abort(), timeout_ms); try { return await fetch(url, { ...rest, signal: ctl.signal }); - Network accessline 49
const t = setTimeout(() => ctl.abort(), timeout_ms); try { return await fetch(url, { ...rest, signal: ctl.signal }); - Network accessline 50
try { return await fetch(url, { ...rest, signal: ctl.signal }); } finally { - Network accessline 50
try { return await fetch(url, { ...rest, signal: ctl.signal }); } finally { - Network accessline 51
return await fetch(url, { ...rest, signal: ctl.signal }); - Network accessline 51
return await fetch(url, { ...rest, signal: ctl.signal });
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/index.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 2
[Credential-related source omitted] - Access to secretsline 2
[Credential-related source omitted] - Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 3
[Credential-related source omitted]
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/load-browser-cookies.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 23
const GEMINI_APP_URL = 'https://gemini.google.com/app'; - Network accessline 23
const GEMINI_APP_URL = 'https://gemini.google.com/app'; - Network accessline 150
const { cookies } = await cdp.send<{ cookies: Array<{ name: string; value: string }> }>( 'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 150
const { cookies } = await cdp.send<{ cookies: Array<{ name: string; value: string }> }>( 'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 151
'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, { sessionId, timeoutMs: 10_000 }, - Network accessline 151
'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, { sessionId, timeoutMs: 10_000 }, - Network accessline 152
{ urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 152
{ urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 218
const { cookies } = await cdp.send<{ cookies: Array<{ name: string; value: string }> }>( 'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 218
const { cookies } = await cdp.send<{ cookies: Array<{ name: string; value: string }> }>( 'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 219
'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, { sessionId, timeoutMs: 10_000 }, - Network accessline 219
'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, { sessionId, timeoutMs: 10_000 }, - Network accessline 220
{ urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 220
{ urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] },
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/logger.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/parsing.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/paths.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/rotate-1psidts.ts
skills/baoyu-danger-gemini-web/scripts/gemini-webapi/utils/upload-file.ts
skills/baoyu-danger-gemini-web/scripts/main.ts
skills/baoyu-danger-gemini-web/scripts/package.json
skills/baoyu-danger-x-to-markdown/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown - Network accessline 162
- `https://x.com/<user>/status/<id>` - Network accessline 162
- `https://x.com/<user>/status/<id>` - Network accessline 163
- `https://twitter.com/<user>/status/<id>` - Network accessline 163
- `https://twitter.com/<user>/status/<id>` - Network accessline 164
- `https://x.com/i/article/<id>` - Network accessline 164
- `https://x.com/i/article/<id>` - Network accessline 169
--- url: "https://x.com/user/status/123" - Network accessline 169
--- url: "https://x.com/user/status/123" - Network accessline 170
url: "https://x.com/user/status/123" - Network accessline 170
url: "https://x.com/user/status/123" - Network accessline 171
author: "Name (@user)" tweetCount: 3 coverImage: "https://pbs.twimg.com/media/example.jpg" - Network accessline 171
author: "Name (@user)" tweetCount: 3 coverImage: "https://pbs.twimg.com/media/example.jpg" - Network accessline 172
tweetCount: 3 coverImage: "https://pbs.twimg.com/media/example.jpg" --- - Network accessline 172
tweetCount: 3 coverImage: "https://pbs.twimg.com/media/example.jpg" --- - Network accessline 173
coverImage: "https://pbs.twimg.com/media/example.jpg" - Network accessline 173
coverImage: "https://pbs.twimg.com/media/example.jpg" - Network accessline 198
1. Run script **without** `--download-media` → markdown saved 2. Check saved markdown for remote media URLs (`https://` in image/video links) - Network accessline 198
1. Run script **without** `--download-media` → markdown saved 2. Check saved markdown for remote media URLs (`https://` in image/video links) - Network accessline 199
2. Check saved markdown for remote media URLs (`https://` in image/video links) - Network accessline 199
2. Check saved markdown for remote media URLs (`https://` in image/video links) - Access to secretsline 209
[Credential-related source omitted] - Access to secretsline 209
[Credential-related source omitted]
skills/baoyu-danger-x-to-markdown/scripts/constants.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 5
export const DEFAULT_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"; export const X_LOGIN_URL = "https://x.com/home"; - Network accessline 5
export const DEFAULT_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"; export const X_LOGIN_URL = "https://x.com/home"; - Network accessline 6
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"; export const X_LOGIN_URL = "https://x.com/home"; export const X_USER_DATA_DIR = resolveXToMarkdownChromeProfileDir(); - Network accessline 6
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"; export const X_LOGIN_URL = "https://x.com/home"; export const X_USER_DATA_DIR = resolveXToMarkdownChromeProfileDir(); - Network accessline 7
export const X_LOGIN_URL = "https://x.com/home"; - Network accessline 7
export const X_LOGIN_URL = "https://x.com/home"; - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted]
skills/baoyu-danger-x-to-markdown/scripts/cookie-file.ts
skills/baoyu-danger-x-to-markdown/scripts/cookies.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 103
const { cookies } = await cdp.send<{ cookies: CookieLike[] }>( "Network.getCookies", { urls: ["https://x.com/", "https://twitter.com/"] }, - Network accessline 103
const { cookies } = await cdp.send<{ cookies: CookieLike[] }>( "Network.getCookies", { urls: ["https://x.com/", "https://twitter.com/"] }, - Network accessline 104
"Network.getCookies", { urls: ["https://x.com/", "https://twitter.com/"] }, { sessionId, timeoutMs: 10_000 } - Network accessline 104
"Network.getCookies", { urls: ["https://x.com/", "https://twitter.com/"] }, { sessionId, timeoutMs: 10_000 } - Network accessline 105
{ urls: ["https://x.com/", "https://twitter.com/"] }, - Network accessline 105
{ urls: ["https://x.com/", "https://twitter.com/"] }, - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted] - Access to secretsline 249
[Credential-related source omitted] - Access to secretsline 249
[Credential-related source omitted]
skills/baoyu-danger-x-to-markdown/scripts/graphql.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 81
const bundleHash = bundleMatch[1]; const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/bundle.TwitterArticles.${bundleHash}a.js`; - Network accessline 81
const bundleHash = bundleMatch[1]; const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/bundle.TwitterArticles.${bundleHash}a.js`; - Network accessline 82
const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/bundle.TwitterArticles.${bundleHash}a.js`; - Network accessline 82
const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/bundle.TwitterArticles.${bundleHash}a.js`; - Network accessline 130
const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/api.${apiHash}a.js`; - Network accessline 130
const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/api.${apiHash}a.js`; - Network accessline 182
const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/main.${mainHash}.js`; - Network accessline 182
const chunkUrl = `https://abs.twimg.com/responsive-web/client-web/main.${mainHash}.js`; - Network accessline 218
const url = new URL(`https://x.com/i/api/graphql/${queryInfo.queryId}/TweetResultByRestId`); - Network accessline 218
const url = new URL(`https://x.com/i/api/graphql/${queryInfo.queryId}/TweetResultByRestId`); - Network accessline 235
const response = await fetch(url.toString(), { - Network accessline 235
const response = await fetch(url.toString(), { - Access to secretsline 257
[Credential-related source omitted] - Access to secretsline 257
[Credential-related source omitted] - Network accessline 266
const url = new URL(`https://x.com/i/api/graphql/${queryInfo.queryId}/TweetDetail`); - Network accessline 266
const url = new URL(`https://x.com/i/api/graphql/${queryInfo.queryId}/TweetDetail`); - Network accessline 294
const response = await fetch(url.toString(), { - Network accessline 294
const response = await fetch(url.toString(), { - Network accessline 320
const url = new URL(`https://x.com/i/api/graphql/${queryInfo.queryId}/ArticleEntityResultByRestId`); - Network accessline 320
const url = new URL(`https://x.com/i/api/graphql/${queryInfo.queryId}/ArticleEntityResultByRestId`); - Network accessline 329
const response = await fetch(url.toString(), { - Network accessline 329
const response = await fetch(url.toString(), { - Access to secretsline 351
[Credential-related source omitted] - Access to secretsline 351
[Credential-related source omitted] - Access to secretsline 377
[Credential-related source omitted] - Access to secretsline 377
[Credential-related source omitted]
skills/baoyu-danger-x-to-markdown/scripts/http.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 5
export async function fetchText(url: string, init?: RequestInit): Promise<string> { const response = await fetch(url, init); - Network accessline 5
export async function fetchText(url: string, init?: RequestInit): Promise<string> { const response = await fetch(url, init); - Network accessline 6
const response = await fetch(url, init); - Network accessline 6
const response = await fetch(url, init); - Network accessline 16
return cachedHomeHtml.html; } const html = await fetchText("https://x.com", { - Network accessline 16
return cachedHomeHtml.html; } const html = await fetchText("https://x.com", { - Network accessline 17
} const html = await fetchText("https://x.com", { headers: { - Network accessline 17
} const html = await fetchText("https://x.com", { headers: { - Network accessline 18
const html = await fetchText("https://x.com", { - Network accessline 18
const html = await fetchText("https://x.com", { - Access to secretsline 101
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted]
skills/baoyu-danger-x-to-markdown/scripts/main.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 62
Examples: ${cmd} https://x.com/username/status/1234567890 - Network accessline 62
Examples: ${cmd} https://x.com/username/status/1234567890 - Network accessline 63
${cmd} https://x.com/username/status/1234567890 - Network accessline 63
${cmd} https://x.com/username/status/1234567890 - Network accessline 64
${cmd} https://x.com/i/article/1234567890 -o ./article.md ${cmd} https://x.com/username/status/1234567890 -o ./out/ ${cmd} https://x.com/username/status/1234567890 --download-media - Network accessline 64
${cmd} https://x.com/i/article/1234567890 -o ./article.md ${cmd} https://x.com/username/status/1234567890 -o ./out/ ${cmd} https://x.com/username/status/1234567890 --download-media - Network accessline 65
${cmd} https://x.com/username/status/1234567890 -o ./out/ ${cmd} https://x.com/username/status/1234567890 --download-media ${cmd} https://x.com/username/status/1234567890 --json | jq -r '.markdownPath' - Network accessline 65
${cmd} https://x.com/username/status/1234567890 -o ./out/ ${cmd} https://x.com/username/status/1234567890 --download-media ${cmd} https://x.com/username/status/1234567890 --json | jq -r '.markdownPath' - Network accessline 66
${cmd} https://x.com/username/status/1234567890 --download-media - Network accessline 66
${cmd} https://x.com/username/status/1234567890 --download-media - Network accessline 67
${cmd} https://x.com/username/status/1234567890 --json | jq -r '.markdownPath' - Network accessline 67
${cmd} https://x.com/username/status/1234567890 --json | jq -r '.markdownPath' - Access to secretsline 490
[Credential-related source omitted] - Access to secretsline 490
[Credential-related source omitted] - Network accessline 498
const title = typeof (article as any)?.title === "string" ? String((article as any).title).trim() : ""; const meta = formatMetaMarkdown({ url: `https://x.com/i/article/${articleId}`, - Network accessline 498
const title = typeof (article as any)?.title === "string" ? String((article as any).title).trim() : ""; const meta = formatMetaMarkdown({ url: `https://x.com/i/article/${articleId}`, - Network accessline 499
const meta = formatMetaMarkdown({ url: `https://x.com/i/article/${articleId}`, requestedUrl: inputUrl, - Network accessline 499
const meta = formatMetaMarkdown({ url: `https://x.com/i/article/${articleId}`, requestedUrl: inputUrl, - Network accessline 500
url: `https://x.com/i/article/${articleId}`, - Network accessline 500
url: `https://x.com/i/article/${articleId}`, - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Network accessline 529
const tweetId = parseTweetId(normalizedUrl); if (!articleId && !tweetId) { throw new Error("Invalid X url. Examples: https://x.com/<user>/status/<id> or https://x.com/i/article/<id>"); - Network accessline 529
const tweetId = parseTweetId(normalizedUrl); if (!articleId && !tweetId) { throw new Error("Invalid X url. Examples: https://x.com/<user>/status/<id> or https://x.com/i/article/<id>"); - Network accessline 530
if (!articleId && !tweetId) { throw new Error("Invalid X url. Examples: https://x.com/<user>/status/<id> or https://x.com/i/article/<id>"); } - Network accessline 530
if (!articleId && !tweetId) { throw new Error("Invalid X url. Examples: https://x.com/<user>/status/<id> or https://x.com/i/article/<id>"); } - Network accessline 531
throw new Error("Invalid X url. Examples: https://x.com/<user>/status/<id> or https://x.com/i/article/<id>"); - Network accessline 531
throw new Error("Invalid X url. Examples: https://x.com/<user>/status/<id> or https://x.com/i/article/<id>"); - Network accessline 560
JSON.stringify( { url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 560
JSON.stringify( { url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 561
{ url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, requestedUrl: normalizedUrl, - Network accessline 561
{ url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, requestedUrl: normalizedUrl, - Network accessline 562
url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 562
url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 614
JSON.stringify( { url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 614
JSON.stringify( { url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 615
{ url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, requestedUrl: normalizedUrl, - Network accessline 615
{ url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, requestedUrl: normalizedUrl, - Network accessline 616
url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl, - Network accessline 616
url: articleId ? `https://x.com/i/article/${articleId}` : normalizedUrl,
skills/baoyu-danger-x-to-markdown/scripts/markdown.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 58
test("formatArticleMarkdown renders article video media as poster plus video link", () => { const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/123/img/poster.jpg"; - Network accessline 58
test("formatArticleMarkdown renders article video media as poster plus video link", () => { const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/123/img/poster.jpg"; - Network accessline 59
const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/123/img/poster.jpg"; - Network accessline 59
const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/123/img/poster.jpg"; - Network accessline 60
const videoUrl = "https://video.twimg.com/amplify_video/123/vid/avc1/720x720/demo.mp4?tag=21"; - Network accessline 60
const videoUrl = "https://video.twimg.com/amplify_video/123/vid/avc1/720x720/demo.mp4?tag=21"; - Network accessline 119
test("formatArticleMarkdown renders unused article videos in trailing media section", () => { const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/456/img/poster.jpg"; - Network accessline 119
test("formatArticleMarkdown renders unused article videos in trailing media section", () => { const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/456/img/poster.jpg"; - Network accessline 120
const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/456/img/poster.jpg"; - Network accessline 120
const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/456/img/poster.jpg"; - Network accessline 121
const videoUrl = "https://video.twimg.com/amplify_video/456/vid/avc1/1080x1080/demo.mp4?tag=21"; - Network accessline 121
const videoUrl = "https://video.twimg.com/amplify_video/456/vid/avc1/1080x1080/demo.mp4?tag=21"; - Network accessline 153
test("formatArticleMarkdown keeps coverUrl as preview image for video cover media", () => { const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/789/img/poster.jpg"; - Network accessline 153
test("formatArticleMarkdown keeps coverUrl as preview image for video cover media", () => { const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/789/img/poster.jpg"; - Network accessline 154
const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/789/img/poster.jpg"; - Network accessline 154
const posterUrl = "https://pbs.twimg.com/amplify_video_thumb/789/img/poster.jpg"; - Network accessline 155
const videoUrl = "https://video.twimg.com/amplify_video/789/vid/avc1/720x720/demo.mp4?tag=21"; - Network accessline 155
const videoUrl = "https://video.twimg.com/amplify_video/789/vid/avc1/720x720/demo.mp4?tag=21";
skills/baoyu-danger-x-to-markdown/scripts/markdown.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 69
if (!tweetId) return null; if (username) { return `https://x.com/${username}/status/${tweetId}`; - Network accessline 69
if (!tweetId) return null; if (username) { return `https://x.com/${username}/status/${tweetId}`; - Network accessline 70
if (username) { return `https://x.com/${username}/status/${tweetId}`; } - Network accessline 70
if (username) { return `https://x.com/${username}/status/${tweetId}`; } - Network accessline 71
return `https://x.com/${username}/status/${tweetId}`; - Network accessline 71
return `https://x.com/${username}/status/${tweetId}`; - Network accessline 72
} return `https://x.com/i/web/status/${tweetId}`; } - Network accessline 72
} return `https://x.com/i/web/status/${tweetId}`; } - Network accessline 73
return `https://x.com/i/web/status/${tweetId}`; - Network accessline 73
return `https://x.com/i/web/status/${tweetId}`; - Network accessline 296
referenced?.url ?? buildTweetUrl(tweetId, referenced?.authorUsername) ?? `https://x.com/i/web/status/${tweetId}`; - Network accessline 296
referenced?.url ?? buildTweetUrl(tweetId, referenced?.authorUsername) ?? `https://x.com/i/web/status/${tweetId}`; - Network accessline 298
`https://x.com/i/web/status/${tweetId}`; - Network accessline 298
`https://x.com/i/web/status/${tweetId}`;
skills/baoyu-danger-x-to-markdown/scripts/media-localizer.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 285
try { const downloadUrl = toHighResUrl(candidate.url); const response = await fetch(downloadUrl, { - Network accessline 285
try { const downloadUrl = toHighResUrl(candidate.url); const response = await fetch(downloadUrl, { - Network accessline 286
const downloadUrl = toHighResUrl(candidate.url); const response = await fetch(downloadUrl, { method: "GET", - Network accessline 286
const downloadUrl = toHighResUrl(candidate.url); const response = await fetch(downloadUrl, { method: "GET", - Network accessline 287
const response = await fetch(downloadUrl, { - Network accessline 287
const response = await fetch(downloadUrl, {
skills/baoyu-danger-x-to-markdown/scripts/package.json
skills/baoyu-danger-x-to-markdown/scripts/paths.ts
skills/baoyu-danger-x-to-markdown/scripts/referenced-tweets.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 40
const url = authorUsername ? `https://x.com/${authorUsername}/status/${tweetId}` - Network accessline 40
const url = authorUsername ? `https://x.com/${authorUsername}/status/${tweetId}` - Network accessline 41
? `https://x.com/${authorUsername}/status/${tweetId}` - Network accessline 41
? `https://x.com/${authorUsername}/status/${tweetId}` - Network accessline 42
: `https://x.com/i/web/status/${tweetId}`; - Network accessline 42
: `https://x.com/i/web/status/${tweetId}`; - Network accessline 73
referencedTweets.set(id, { id, url: `https://x.com/i/web/status/${id}`, - Network accessline 73
referencedTweets.set(id, { id, url: `https://x.com/i/web/status/${id}`, - Network accessline 74
id, url: `https://x.com/i/web/status/${id}`, }); - Network accessline 74
id, url: `https://x.com/i/web/status/${id}`, }); - Network accessline 75
url: `https://x.com/i/web/status/${id}`, - Network accessline 75
url: `https://x.com/i/web/status/${id}`,
skills/baoyu-danger-x-to-markdown/scripts/thread-markdown.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 126
if (!tweetId) return null; if (username) { return `https://x.com/${username}/status/${tweetId}`; - Network accessline 126
if (!tweetId) return null; if (username) { return `https://x.com/${username}/status/${tweetId}`; - Network accessline 127
if (username) { return `https://x.com/${username}/status/${tweetId}`; } - Network accessline 127
if (username) { return `https://x.com/${username}/status/${tweetId}`; } - Network accessline 128
return `https://x.com/${username}/status/${tweetId}`; - Network accessline 128
return `https://x.com/${username}/status/${tweetId}`; - Network accessline 129
} return `https://x.com/i/web/status/${tweetId}`; } - Network accessline 129
} return `https://x.com/i/web/status/${tweetId}`; } - Network accessline 130
return `https://x.com/i/web/status/${tweetId}`; - Network accessline 130
return `https://x.com/i/web/status/${tweetId}`; - Network accessline 210
const quotedUrl = buildTweetUrl(quotedUsername, quotedId) ?? (quotedId ? `https://x.com/i/web/status/${quotedId}` : "unavailable"); - Network accessline 210
const quotedUrl = buildTweetUrl(quotedUsername, quotedId) ?? (quotedId ? `https://x.com/i/web/status/${quotedId}` : "unavailable"); - Network accessline 212
(quotedId ? `https://x.com/i/web/status/${quotedId}` : "unavailable"); - Network accessline 212
(quotedId ? `https://x.com/i/web/status/${quotedId}` : "unavailable");
skills/baoyu-danger-x-to-markdown/scripts/thread.ts
skills/baoyu-danger-x-to-markdown/scripts/tweet-article.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 46
for (const url of urls) { const candidate = url?.expanded_url ?? url?.url ?? (url?.display_url ? `https://${url.display_url}` : undefined); - Network accessline 46
for (const url of urls) { const candidate = url?.expanded_url ?? url?.url ?? (url?.display_url ? `https://${url.display_url}` : undefined); - Network accessline 47
const candidate = url?.expanded_url ?? url?.url ?? (url?.display_url ? `https://${url.display_url}` : undefined); const id = parseArticleIdFromUrl(candidate); - Network accessline 47
const candidate = url?.expanded_url ?? url?.url ?? (url?.display_url ? `https://${url.display_url}` : undefined); const id = parseArticleIdFromUrl(candidate); - Network accessline 48
url?.expanded_url ?? url?.url ?? (url?.display_url ? `https://${url.display_url}` : undefined); - Network accessline 48
url?.expanded_url ?? url?.url ?? (url?.display_url ? `https://${url.display_url}` : undefined);
skills/baoyu-danger-x-to-markdown/scripts/tweet-to-markdown.ts
- Executable scriptline 1
#!/usr/bin/env npx tsx - Executable scriptline 1
#!/usr/bin/env npx tsx - Network accessline 70
if (!tweetId) return null; if (username) { return `https://x.com/${username}/status/${tweetId}`; - Network accessline 70
if (!tweetId) return null; if (username) { return `https://x.com/${username}/status/${tweetId}`; - Network accessline 71
if (username) { return `https://x.com/${username}/status/${tweetId}`; } - Network accessline 71
if (username) { return `https://x.com/${username}/status/${tweetId}`; } - Network accessline 72
return `https://x.com/${username}/status/${tweetId}`; - Network accessline 72
return `https://x.com/${username}/status/${tweetId}`; - Network accessline 73
} return `https://x.com/i/web/status/${tweetId}`; } - Network accessline 73
} return `https://x.com/i/web/status/${tweetId}`; } - Network accessline 74
return `https://x.com/i/web/status/${tweetId}`; - Network accessline 74
return `https://x.com/i/web/status/${tweetId}`; - Network accessline 108
const tweetId = parseTweetId(normalizedUrl); if (!tweetId) { throw new Error("Invalid tweet url. Example: https://x.com/<user>/status/<tweet_id>"); - Network accessline 108
const tweetId = parseTweetId(normalizedUrl); if (!tweetId) { throw new Error("Invalid tweet url. Example: https://x.com/<user>/status/<tweet_id>"); - Network accessline 109
if (!tweetId) { throw new Error("Invalid tweet url. Example: https://x.com/<user>/status/<tweet_id>"); } - Network accessline 109
if (!tweetId) { throw new Error("Invalid tweet url. Example: https://x.com/<user>/status/<tweet_id>"); } - Network accessline 110
throw new Error("Invalid tweet url. Example: https://x.com/<user>/status/<tweet_id>"); - Network accessline 110
throw new Error("Invalid tweet url. Example: https://x.com/<user>/status/<tweet_id>"); - Access to secretsline 117
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted] - Network accessline 135
const author = username && name ? `${name} (@${username})` : username ? `@${username}` : name ?? null; const authorUrl = username ? `https://x.com/${username}` : undefined; - Network accessline 135
const author = username && name ? `${name} (@${username})` : username ? `@${username}` : name ?? null; const authorUrl = username ? `https://x.com/${username}` : undefined; - Network accessline 136
username && name ? `${name} (@${username})` : username ? `@${username}` : name ?? null; const authorUrl = username ? `https://x.com/${username}` : undefined; const requestedUrl = normalizedUrl || buildTweetUrl(username, tweetId) || inpu - Network accessline 136
username && name ? `${name} (@${username})` : username ? `@${username}` : name ?? null; const authorUrl = username ? `https://x.com/${username}` : undefined; const requestedUrl = normalizedUrl || buildTweetUrl(username, tweetId) || inpu - Network accessline 137
const authorUrl = username ? `https://x.com/${username}` : undefined; - Network accessline 137
const authorUrl = username ? `https://x.com/${username}` : undefined;
skills/baoyu-danger-x-to-markdown/scripts/types.ts
skills/baoyu-diagram/SKILL.md
- Network accessline 49
<style> @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap'); - Network accessline 49
<style> @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap'); - Network accessline 50
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap'); - Network accessline 50
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap'); - Network accessline 212
1. Output a **single `.svg` file** — no external dependencies except the Google Fonts import 2. Set `viewBox` to fit all content with 30px padding; do NOT set fixed `width`/`height` attributes (let the SVG scale responsively) 3. Include `xm - Network accessline 212
1. Output a **single `.svg` file** — no external dependencies except the Google Fonts import 2. Set `viewBox` to fit all content with 30px padding; do NOT set fixed `width`/`height` attributes (let the SVG scale responsively) 3. Include `xm - Network accessline 213
2. Set `viewBox` to fit all content with 30px padding; do NOT set fixed `width`/`height` attributes (let the SVG scale responsively) 3. Include `xmlns="http://www.w3.org/2000/svg"` on the root `<svg>` element 4. Put all `<style>`, `<defs>`, - Network accessline 213
2. Set `viewBox` to fit all content with 30px padding; do NOT set fixed `width`/`height` attributes (let the SVG scale responsively) 3. Include `xmlns="http://www.w3.org/2000/svg"` on the root `<svg>` element 4. Put all `<style>`, `<defs>`, - Network accessline 214
3. Include `xmlns="http://www.w3.org/2000/svg"` on the root `<svg>` element - Network accessline 214
3. Include `xmlns="http://www.w3.org/2000/svg"` on the root `<svg>` element
skills/baoyu-diagram/scripts/main.ts
skills/baoyu-electron-extract/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-electron-extract - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-electron-extract - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-electron-extract requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-electron-extract requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-electron-extract - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-electron-extract
skills/baoyu-electron-extract/scripts/main.test.ts
skills/baoyu-electron-extract/scripts/main.ts
skills/baoyu-format-markdown/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-format-markdown - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-format-markdown - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-format-markdown requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-format-markdown requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-format-markdown - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-format-markdown
skills/baoyu-format-markdown/scripts/autocorrect.ts
skills/baoyu-format-markdown/scripts/main.ts
skills/baoyu-format-markdown/scripts/package-lock.json
- Network accessline 43
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 43
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 44
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 44
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 45
"url": "https://github.com/sponsors/wooorm" - Network accessline 45
"url": "https://github.com/sponsors/wooorm" - Network accessline 51
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 51
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 52
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 52
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 53
"url": "https://github.com/sponsors/wooorm" - Network accessline 53
"url": "https://github.com/sponsors/wooorm" - Network accessline 59
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 59
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 60
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 60
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 61
"url": "https://github.com/sponsors/wooorm" - Network accessline 61
"url": "https://github.com/sponsors/wooorm" - Network accessline 85
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 85
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 86
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 86
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 87
"url": "https://github.com/sponsors/wooorm" - Network accessline 87
"url": "https://github.com/sponsors/wooorm" - Network accessline 103
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 103
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 104
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 104
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 105
"url": "https://github.com/sponsors/wooorm" - Network accessline 105
"url": "https://github.com/sponsors/wooorm" - Network accessline 113
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 113
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 114
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 114
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 115
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 115
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 128
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 128
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 129
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 129
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 130
"url": "https://github.com/sponsors/wooorm" - Network accessline 130
"url": "https://github.com/sponsors/wooorm" - Network accessline 139
"node_modules/get-east-asian-width": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - Network accessline 139
"node_modules/get-east-asian-width": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - Network accessline 140
"version": "1.4.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", - Network accessline 140
"version": "1.4.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", - Network accessline 141
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - Network accessline 141
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - Network accessline 146
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 146
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 147
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 147
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 148
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 148
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 156
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 156
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 157
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 157
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 158
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 158
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 164
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 164
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 165
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 165
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 166
"url": "https://github.com/sponsors/wooorm" - Network accessline 166
"url": "https://github.com/sponsors/wooorm" - Network accessline 172
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 172
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 173
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 173
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 174
"url": "https://github.com/sponsors/wooorm" - Network accessline 174
"url": "https://github.com/sponsors/wooorm" - Network accessline 186
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 186
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 187
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 187
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 188
"url": "https://opencollective.com/unified" - Network accessline 188
"url": "https://opencollective.com/unified" - Network accessline 208
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 208
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 209
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 209
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 210
"url": "https://opencollective.com/unified" - Network accessline 210
"url": "https://opencollective.com/unified" - Network accessline 224
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 224
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 225
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 225
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 226
"url": "https://opencollective.com/unified" - Network accessline 226
"url": "https://opencollective.com/unified" - Network accessline 241
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 241
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 242
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 242
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 243
"url": "https://opencollective.com/unified" - Network accessline 243
"url": "https://opencollective.com/unified" - Network accessline 256
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 256
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 257
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 257
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 258
"url": "https://opencollective.com/unified" - Network accessline 258
"url": "https://opencollective.com/unified" - Network accessline 271
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 271
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 272
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 272
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 273
"url": "https://opencollective.com/unified" - Network accessline 273
"url": "https://opencollective.com/unified" - Network accessline 284
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 284
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 285
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 285
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 286
"url": "https://opencollective.com/unified" - Network accessline 286
"url": "https://opencollective.com/unified" - Network accessline 299
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 299
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 300
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 300
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 301
"url": "https://opencollective.com/unified" - Network accessline 301
"url": "https://opencollective.com/unified" - Network accessline 313
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 313
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 314
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 314
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 315
"url": "https://opencollective.com/unified" - Network accessline 315
"url": "https://opencollective.com/unified" - Network accessline 325
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 325
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 326
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 326
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 327
"url": "https://opencollective.com/unified" - Network accessline 327
"url": "https://opencollective.com/unified" - Network accessline 344
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 344
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 345
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 345
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 346
"url": "https://opencollective.com/unified" - Network accessline 346
"url": "https://opencollective.com/unified" - Network accessline 355
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 355
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 356
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 356
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 357
"url": "https://opencollective.com/unified" - Network accessline 357
"url": "https://opencollective.com/unified" - Network accessline 363
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 363
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 364
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 364
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 365
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 365
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 367
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 367
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 368
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 368
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 369
"url": "https://opencollective.com/unified" - Network accessline 369
"url": "https://opencollective.com/unified" - Network accessline 396
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 396
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 397
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 397
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 398
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 398
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 400
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 400
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 401
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 401
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 402
"url": "https://opencollective.com/unified" - Network accessline 402
"url": "https://opencollective.com/unified" - Network accessline 425
"node_modules/micromark-extension-cjk-friendly": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-1.2.3.tgz", - Network accessline 425
"node_modules/micromark-extension-cjk-friendly": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-1.2.3.tgz", - Network accessline 426
"version": "1.2.3", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-1.2.3.tgz", "integrity": "sha512-gRzVLUdjXBLX6zNPSnHGDoo+ZTp5zy+MZm0g3sv+3chPXY7l9gW+DnrcHcZh/jiPR6M - Network accessline 426
"version": "1.2.3", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-1.2.3.tgz", "integrity": "sha512-gRzVLUdjXBLX6zNPSnHGDoo+ZTp5zy+MZm0g3sv+3chPXY7l9gW+DnrcHcZh/jiPR6M - Network accessline 427
"resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-1.2.3.tgz", - Network accessline 427
"resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly/-/micromark-extension-cjk-friendly-1.2.3.tgz", - Network accessline 450
"node_modules/micromark-extension-cjk-friendly-util": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-2.1.1.tgz", - Network accessline 450
"node_modules/micromark-extension-cjk-friendly-util": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-2.1.1.tgz", - Network accessline 451
"version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-2.1.1.tgz", "integrity": "sha512-egs6+12JU2yutskHY55FyR48ZiEcFOJFyk9rsiyIhcJ6IvWB6ABBqVrBw - Network accessline 451
"version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-2.1.1.tgz", "integrity": "sha512-egs6+12JU2yutskHY55FyR48ZiEcFOJFyk9rsiyIhcJ6IvWB6ABBqVrBw - Network accessline 452
"resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-2.1.1.tgz", - Network accessline 452
"resolved": "https://registry.npmjs.org/micromark-extension-cjk-friendly-util/-/micromark-extension-cjk-friendly-util-2.1.1.tgz", - Network accessline 478
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 478
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 479
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 479
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 480
"url": "https://opencollective.com/unified" - Network accessline 480
"url": "https://opencollective.com/unified" - Network accessline 496
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 496
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 497
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 497
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 498
"url": "https://opencollective.com/unified" - Network accessline 498
"url": "https://opencollective.com/unified" - Network accessline 510
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 510
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 511
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 511
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 512
"url": "https://opencollective.com/unified" - Network accessline 512
"url": "https://opencollective.com/unified" - Network accessline 528
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 528
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 529
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 529
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 530
"url": "https://opencollective.com/unified" - Network accessline 530
"url": "https://opencollective.com/unified" - Network accessline 544
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 544
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 545
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 545
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 546
"url": "https://opencollective.com/unified" - Network accessline 546
"url": "https://opencollective.com/unified" - Network accessline 559
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 559
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 560
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 560
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 561
"url": "https://opencollective.com/unified" - Network accessline 561
"url": "https://opencollective.com/unified" - Network accessline 570
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 570
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 571
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 571
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 572
"url": "https://opencollective.com/unified" - Network accessline 572
"url": "https://opencollective.com/unified" - Network accessline 585
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 585
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 586
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 586
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 587
"url": "https://opencollective.com/unified" - Network accessline 587
"url": "https://opencollective.com/unified" - Network accessline 593
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 593
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 594
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 594
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 595
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 595
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 597
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 597
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 598
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 598
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 599
"url": "https://opencollective.com/unified" - Network accessline 599
"url": "https://opencollective.com/unified" - Network accessline 612
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 612
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 613
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 613
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 614
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 614
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 616
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 616
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 617
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 617
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 618
"url": "https://opencollective.com/unified" - Network accessline 618
"url": "https://opencollective.com/unified" - Network accessline 632
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 632
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 633
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 633
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 634
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 634
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 636
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 636
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 637
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 637
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 638
"url": "https://opencollective.com/unified" - Network accessline 638
"url": "https://opencollective.com/unified" - Network accessline 650
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 650
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 651
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 651
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 652
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 652
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 654
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 654
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 655
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 655
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 656
"url": "https://opencollective.com/unified" - Network accessline 656
"url": "https://opencollective.com/unified" - Network accessline 670
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 670
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 671
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 671
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 672
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 672
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 674
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 674
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 675
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 675
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 676
"url": "https://opencollective.com/unified" - Network accessline 676
"url": "https://opencollective.com/unified" - Network accessline 690
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 690
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 691
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 691
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 692
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 692
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 694
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 694
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 695
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 695
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 696
"url": "https://opencollective.com/unified" - Network accessline 696
"url": "https://opencollective.com/unified" - Network accessline 708
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 708
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 709
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 709
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 710
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 710
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 712
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 712
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 713
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 713
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 714
"url": "https://opencollective.com/unified" - Network accessline 714
"url": "https://opencollective.com/unified" - Network accessline 725
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 725
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 726
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 726
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 727
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 727
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 729
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 729
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 730
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 730
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 731
"url": "https://opencollective.com/unified" - Network accessline 731
"url": "https://opencollective.com/unified" - Network accessline 744
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 744
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 745
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 745
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 746
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 746
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 748
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 748
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 749
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 749
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 750
"url": "https://opencollective.com/unified" - Network accessline 750
"url": "https://opencollective.com/unified" - Network accessline 762
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 762
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 763
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 763
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 764
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 764
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 766
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 766
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 767
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 767
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 768
"url": "https://opencollective.com/unified" - Network accessline 768
"url": "https://opencollective.com/unified" - Network accessline 779
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 779
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 780
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 780
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 781
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 781
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 783
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 783
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 784
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 784
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 785
"url": "https://opencollective.com/unified" - Network accessline 785
"url": "https://opencollective.com/unified" - Network accessline 799
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 799
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 800
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 800
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 801
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 801
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 803
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 803
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 804
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 804
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 805
"url": "https://opencollective.com/unified" - Network accessline 805
"url": "https://opencollective.com/unified" - Network accessline 813
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 813
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 814
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 814
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 815
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 815
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 817
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 817
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 818
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 818
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 819
"url": "https://opencollective.com/unified" - Network accessline 819
"url": "https://opencollective.com/unified" - Network accessline 827
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 827
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 828
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 828
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 829
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 829
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 831
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 831
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 832
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 832
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 833
"url": "https://opencollective.com/unified" - Network accessline 833
"url": "https://opencollective.com/unified" - Network accessline 844
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 844
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 845
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 845
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 846
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 846
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 848
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 848
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 849
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 849
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 850
"url": "https://opencollective.com/unified" - Network accessline 850
"url": "https://opencollective.com/unified" - Network accessline 861
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 861
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 862
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 862
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 863
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 863
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 865
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 865
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 866
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 866
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 867
"url": "https://opencollective.com/unified" - Network accessline 867
"url": "https://opencollective.com/unified" - Network accessline 880
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 880
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 881
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 881
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 882
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 882
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 884
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 884
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 885
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 885
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 886
"url": "https://opencollective.com/unified" - Network accessline 886
"url": "https://opencollective.com/unified" - Network accessline 900
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 900
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 901
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 901
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 902
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 902
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 904
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 904
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 905
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 905
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 906
"url": "https://opencollective.com/unified" - Network accessline 906
"url": "https://opencollective.com/unified" - Network accessline 914
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 914
{ "type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" - Network accessline 915
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 915
"type": "GitHub Sponsors", "url": "https://github.com/sponsors/unifiedjs" }, - Network accessline 916
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 916
"url": "https://github.com/sponsors/unifiedjs" - Network accessline 918
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 918
{ "type": "OpenCollective", "url": "https://opencollective.com/unified" - Network accessline 919
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 919
"type": "OpenCollective", "url": "https://opencollective.com/unified" } - Network accessline 920
"url": "https://opencollective.com/unified" - Network accessline 920
"url": "https://opencollective.com/unified" - Network accessline 929
"node_modules/remark-cjk-friendly": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-1.2.3.tgz", - Network accessline 929
"node_modules/remark-cjk-friendly": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-1.2.3.tgz", - Network accessline 930
"version": "1.2.3", "resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-1.2.3.tgz", "integrity": "sha512-UvAgxwlNk+l9Oqgl/9MWK2eWRS7zgBW/nXX9AthV7nd/3lNejF138E7Xbmk9Zs4WjTJGs721r7fAEc7tNFoH7g==", - Network accessline 930
"version": "1.2.3", "resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-1.2.3.tgz", "integrity": "sha512-UvAgxwlNk+l9Oqgl/9MWK2eWRS7zgBW/nXX9AthV7nd/3lNejF138E7Xbmk9Zs4WjTJGs721r7fAEc7tNFoH7g==", - Network accessline 931
"resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-1.2.3.tgz", - Network accessline 931
"resolved": "https://registry.npmjs.org/remark-cjk-friendly/-/remark-cjk-friendly-1.2.3.tgz", - Network accessline 959
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 959
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 960
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 960
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 961
"url": "https://opencollective.com/unified" - Network accessline 961
"url": "https://opencollective.com/unified" - Network accessline 975
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 975
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 976
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 976
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 977
"url": "https://opencollective.com/unified" - Network accessline 977
"url": "https://opencollective.com/unified" - Network accessline 989
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 989
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 990
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 990
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 991
"url": "https://opencollective.com/unified" - Network accessline 991
"url": "https://opencollective.com/unified" - Network accessline 1002
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1002
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1003
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1003
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1004
"url": "https://opencollective.com/unified" - Network accessline 1004
"url": "https://opencollective.com/unified" - Network accessline 1010
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 1010
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 1011
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 1011
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 1012
"url": "https://github.com/sponsors/wooorm" - Network accessline 1012
"url": "https://github.com/sponsors/wooorm" - Network accessline 1027
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1027
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1028
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1028
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1029
"url": "https://opencollective.com/unified" - Network accessline 1029
"url": "https://opencollective.com/unified" - Network accessline 1038
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1038
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1039
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1039
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1040
"url": "https://opencollective.com/unified" - Network accessline 1040
"url": "https://opencollective.com/unified" - Network accessline 1049
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1049
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1050
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1050
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1051
"url": "https://opencollective.com/unified" - Network accessline 1051
"url": "https://opencollective.com/unified" - Network accessline 1062
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1062
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1063
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1063
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1064
"url": "https://opencollective.com/unified" - Network accessline 1064
"url": "https://opencollective.com/unified" - Network accessline 1074
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1074
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1075
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1075
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1076
"url": "https://opencollective.com/unified" - Network accessline 1076
"url": "https://opencollective.com/unified" - Network accessline 1086
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1086
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1087
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1087
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1088
"url": "https://opencollective.com/unified" - Network accessline 1088
"url": "https://opencollective.com/unified" - Network accessline 1098
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1098
"funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - Network accessline 1099
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1099
"type": "opencollective", "url": "https://opencollective.com/unified" } - Network accessline 1100
"url": "https://opencollective.com/unified" - Network accessline 1100
"url": "https://opencollective.com/unified" - Network accessline 1111
}, "funding": { "url": "https://github.com/sponsors/eemeli" - Network accessline 1111
}, "funding": { "url": "https://github.com/sponsors/eemeli" - Network accessline 1112
"funding": { "url": "https://github.com/sponsors/eemeli" } - Network accessline 1112
"funding": { "url": "https://github.com/sponsors/eemeli" } - Network accessline 1113
"url": "https://github.com/sponsors/eemeli" - Network accessline 1113
"url": "https://github.com/sponsors/eemeli" - Network accessline 1119
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 1119
"funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" - Network accessline 1120
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 1120
"type": "github", "url": "https://github.com/sponsors/wooorm" } - Network accessline 1121
"url": "https://github.com/sponsors/wooorm" - Network accessline 1121
"url": "https://github.com/sponsors/wooorm"
skills/baoyu-format-markdown/scripts/package.json
skills/baoyu-format-markdown/scripts/quotes.ts
skills/baoyu-image-gen/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen - Access to secretsline 84
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 133
[Credential-related source omitted] - Access to secretsline 133
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Access to secretsline 159
[Credential-related source omitted] - Access to secretsline 159
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted] - Access to secretsline 222
[Credential-related source omitted] - Access to secretsline 222
[Credential-related source omitted] - Access to secretsline 275
[Credential-related source omitted] - Access to secretsline 275
[Credential-related source omitted]
skills/baoyu-image-gen/references/codex-image2-fallback.md
- Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 14
[Credential-related source omitted] - Access to secretsline 14
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted]
skills/baoyu-image-gen/references/codex-oauth-vs-openai-api-key.md
- Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 5
[Credential-related source omitted] - Access to secretsline 5
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted]
skills/baoyu-image-gen/references/providers/agnes.md
- Network accessline 28
[Credential-related source omitted] - Network accessline 28
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Network accessline 29
- Base URL: `https://apihub.agnes-ai.com/v1` (override with `AGNES_BASE_URL`) - Network accessline 29
- Base URL: `https://apihub.agnes-ai.com/v1` (override with `AGNES_BASE_URL`) - Network accessline 55
- [Agnes AIGC API Hub](https://apihub.agnes-ai.com) - Network accessline 55
- [Agnes AIGC API Hub](https://apihub.agnes-ai.com)
skills/baoyu-image-gen/references/providers/codex-cli.md
skills/baoyu-image-gen/references/providers/dashscope.md
- Network accessline 68
- [Qwen-Image API](https://help.aliyun.com/zh/model-studio/qwen-image-api) - Network accessline 68
- [Qwen-Image API](https://help.aliyun.com/zh/model-studio/qwen-image-api) - Network accessline 69
- [Text-to-image guide](https://help.aliyun.com/zh/model-studio/text-to-image) - Network accessline 69
- [Text-to-image guide](https://help.aliyun.com/zh/model-studio/text-to-image) - Network accessline 70
- [Qwen-Image Edit API](https://help.aliyun.com/zh/model-studio/qwen-image-edit-api) - Network accessline 70
- [Qwen-Image Edit API](https://help.aliyun.com/zh/model-studio/qwen-image-edit-api) - Network accessline 71
- [Wan 2.7 image generation & editing API](https://help.aliyun.com/zh/model-studio/wan-image-generation-and-editing-api-reference) - Network accessline 71
- [Wan 2.7 image generation & editing API](https://help.aliyun.com/zh/model-studio/wan-image-generation-and-editing-api-reference)
skills/baoyu-image-gen/references/providers/minimax.md
- Network accessline 27
- [Image Generation Guide](https://platform.minimaxi.com/docs/guides/image-generation) - Network accessline 27
- [Image Generation Guide](https://platform.minimaxi.com/docs/guides/image-generation) - Network accessline 28
- [Text-to-Image API](https://platform.minimaxi.com/docs/api-reference/image-generation-t2i) - Network accessline 28
- [Text-to-Image API](https://platform.minimaxi.com/docs/api-reference/image-generation-t2i) - Network accessline 29
- [Image-to-Image API](https://platform.minimaxi.com/docs/api-reference/image-generation-i2i) - Network accessline 29
- [Image-to-Image API](https://platform.minimaxi.com/docs/api-reference/image-generation-i2i)
skills/baoyu-image-gen/references/providers/zai.md
- Network accessline 26
- [GLM-Image Guide](https://docs.z.ai/guides/image/glm-image) - Network accessline 26
- [GLM-Image Guide](https://docs.z.ai/guides/image/glm-image) - Network accessline 27
- [Generate Image API](https://docs.z.ai/api-reference/image/generate-image) - Network accessline 27
- [Generate Image API](https://docs.z.ai/api-reference/image/generate-image)
skills/baoyu-image-gen/references/usage-examples.md
skills/baoyu-image-gen/scripts/build-batch.test.ts
skills/baoyu-image-gen/scripts/build-batch.ts
skills/baoyu-image-gen/scripts/codex-imagegen/cache.ts
skills/baoyu-image-gen/scripts/codex-imagegen/logger.ts
skills/baoyu-image-gen/scripts/codex-imagegen/main.ts
skills/baoyu-image-gen/scripts/codex-imagegen/parser.ts
skills/baoyu-image-gen/scripts/codex-imagegen/spawn.ts
skills/baoyu-image-gen/scripts/codex-imagegen/types.ts
skills/baoyu-image-gen/scripts/codex-imagegen/validator.ts
skills/baoyu-image-gen/scripts/main.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 128
test("validateReferenceImages can skip remote URLs for providers that support them", async () => { await validateReferenceImages(["https://example.com/ref.png"], { allowRemoteUrls: true }); - Network accessline 128
test("validateReferenceImages can skip remote URLs for providers that support them", async () => { await validateReferenceImages(["https://example.com/ref.png"], { allowRemoteUrls: true }); - Network accessline 129
await validateReferenceImages(["https://example.com/ref.png"], { allowRemoteUrls: true }); - Network accessline 129
await validateReferenceImages(["https://example.com/ref.png"], { allowRemoteUrls: true }); - Network accessline 131
await assert.rejects( () => validateReferenceImages(["https://example.com/ref.png"]), - Network accessline 131
await assert.rejects( () => validateReferenceImages(["https://example.com/ref.png"]), - Network accessline 132
() => validateReferenceImages(["https://example.com/ref.png"]), - Network accessline 132
() => validateReferenceImages(["https://example.com/ref.png"]), - Access to secretsline 350
[Credential-related source omitted] - Access to secretsline 350
[Credential-related source omitted] - Access to secretsline 351
[Credential-related source omitted] - Access to secretsline 351
[Credential-related source omitted] - Access to secretsline 352
[Credential-related source omitted] - Access to secretsline 352
[Credential-related source omitted] - Access to secretsline 353
[Credential-related source omitted] - Access to secretsline 353
[Credential-related source omitted] - Access to secretsline 354
[Credential-related source omitted] - Access to secretsline 354
[Credential-related source omitted] - Access to secretsline 358
[Credential-related source omitted] - Access to secretsline 358
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 366
[Credential-related source omitted] - Access to secretsline 366
[Credential-related source omitted] - Access to secretsline 367
[Credential-related source omitted] - Access to secretsline 367
[Credential-related source omitted] - Access to secretsline 369
[Credential-related source omitted] - Access to secretsline 369
[Credential-related source omitted] - Access to secretsline 370
[Credential-related source omitted] - Access to secretsline 370
[Credential-related source omitted] - Access to secretsline 371
[Credential-related source omitted] - Access to secretsline 371
[Credential-related source omitted] - Access to secretsline 375
[Credential-related source omitted] - Access to secretsline 375
[Credential-related source omitted] - Access to secretsline 385
[Credential-related source omitted] - Access to secretsline 385
[Credential-related source omitted] - Network accessline 386
[Credential-related source omitted] - Network accessline 386
[Credential-related source omitted] - Access to secretsline 386
[Credential-related source omitted] - Access to secretsline 386
[Credential-related source omitted] - Network accessline 387
[Credential-related source omitted] - Network accessline 387
[Credential-related source omitted] - Access to secretsline 387
[Credential-related source omitted] - Access to secretsline 387
[Credential-related source omitted] - Network accessline 388
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com", - Network accessline 388
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com", - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 390
[Credential-related source omitted] - Access to secretsline 390
[Credential-related source omitted] - Access to secretsline 391
[Credential-related source omitted] - Access to secretsline 391
[Credential-related source omitted] - Access to secretsline 395
[Credential-related source omitted] - Access to secretsline 395
[Credential-related source omitted] - Access to secretsline 407
[Credential-related source omitted] - Access to secretsline 407
[Credential-related source omitted] - Access to secretsline 408
[Credential-related source omitted] - Access to secretsline 408
[Credential-related source omitted] - Access to secretsline 409
[Credential-related source omitted] - Access to secretsline 409
[Credential-related source omitted] - Access to secretsline 411
[Credential-related source omitted] - Access to secretsline 411
[Credential-related source omitted] - Access to secretsline 412
[Credential-related source omitted] - Access to secretsline 412
[Credential-related source omitted] - Access to secretsline 413
[Credential-related source omitted] - Access to secretsline 413
[Credential-related source omitted] - Access to secretsline 414
[Credential-related source omitted] - Access to secretsline 414
[Credential-related source omitted] - Access to secretsline 415
[Credential-related source omitted] - Access to secretsline 415
[Credential-related source omitted] - Access to secretsline 419
[Credential-related source omitted] - Access to secretsline 419
[Credential-related source omitted] - Access to secretsline 428
[Credential-related source omitted] - Access to secretsline 428
[Credential-related source omitted] - Access to secretsline 429
[Credential-related source omitted] - Access to secretsline 429
[Credential-related source omitted] - Access to secretsline 430
[Credential-related source omitted] - Access to secretsline 430
[Credential-related source omitted] - Access to secretsline 431
[Credential-related source omitted] - Access to secretsline 431
[Credential-related source omitted] - Access to secretsline 432
[Credential-related source omitted] - Access to secretsline 432
[Credential-related source omitted] - Access to secretsline 436
[Credential-related source omitted] - Access to secretsline 436
[Credential-related source omitted] - Access to secretsline 462
[Credential-related source omitted] - Access to secretsline 462
[Credential-related source omitted] - Access to secretsline 463
[Credential-related source omitted] - Access to secretsline 463
[Credential-related source omitted] - Access to secretsline 464
[Credential-related source omitted] - Access to secretsline 464
[Credential-related source omitted] - Access to secretsline 466
[Credential-related source omitted] - Access to secretsline 466
[Credential-related source omitted] - Access to secretsline 467
[Credential-related source omitted] - Access to secretsline 467
[Credential-related source omitted] - Access to secretsline 468
[Credential-related source omitted] - Access to secretsline 468
[Credential-related source omitted] - Access to secretsline 472
[Credential-related source omitted] - Access to secretsline 472
[Credential-related source omitted] - Access to secretsline 489
[Credential-related source omitted] - Access to secretsline 489
[Credential-related source omitted] - Access to secretsline 490
[Credential-related source omitted] - Access to secretsline 490
[Credential-related source omitted] - Access to secretsline 491
[Credential-related source omitted] - Access to secretsline 491
[Credential-related source omitted] - Access to secretsline 493
[Credential-related source omitted] - Access to secretsline 493
[Credential-related source omitted] - Access to secretsline 494
[Credential-related source omitted] - Access to secretsline 494
[Credential-related source omitted] - Access to secretsline 495
[Credential-related source omitted] - Access to secretsline 495
[Credential-related source omitted] - Access to secretsline 499
[Credential-related source omitted] - Access to secretsline 499
[Credential-related source omitted] - Network accessline 563
promptFiles: ["prompts/hero.md"], image: "out/hero", ref: ["refs/hero.png", "https://example.com/ref.png"], - Network accessline 563
promptFiles: ["prompts/hero.md"], image: "out/hero", ref: ["refs/hero.png", "https://example.com/ref.png"], - Network accessline 564
image: "out/hero", ref: ["refs/hero.png", "https://example.com/ref.png"], ar: "16:9", - Network accessline 564
image: "out/hero", ref: ["refs/hero.png", "https://example.com/ref.png"], ar: "16:9", - Network accessline 565
ref: ["refs/hero.png", "https://example.com/ref.png"], - Network accessline 565
ref: ["refs/hero.png", "https://example.com/ref.png"], - Network accessline 592
assert.deepEqual(taskArgs.referenceImages, [ path.join(loaded.batchDir, "refs/hero.png"), "https://example.com/ref.png", - Network accessline 592
assert.deepEqual(taskArgs.referenceImages, [ path.join(loaded.batchDir, "refs/hero.png"), "https://example.com/ref.png", - Network accessline 593
path.join(loaded.batchDir, "refs/hero.png"), "https://example.com/ref.png", ]); - Network accessline 593
path.join(loaded.batchDir, "refs/hero.png"), "https://example.com/ref.png", ]); - Network accessline 594
"https://example.com/ref.png", - Network accessline 594
"https://example.com/ref.png",
skills/baoyu-image-gen/scripts/main.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 122
[Credential-related source omitted] - Access to secretsline 122
[Credential-related source omitted] - Access to secretsline 123
[Credential-related source omitted] - Access to secretsline 123
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted] - Access to secretsline 168
[Credential-related source omitted] - Access to secretsline 168
[Credential-related source omitted] - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 390
[Credential-related source omitted] - Access to secretsline 390
[Credential-related source omitted] - Access to secretsline 754
[Credential-related source omitted] - Access to secretsline 754
[Credential-related source omitted] - Access to secretsline 755
[Credential-related source omitted] - Access to secretsline 755
[Credential-related source omitted] - Access to secretsline 756
[Credential-related source omitted] - Access to secretsline 756
[Credential-related source omitted] - Access to secretsline 757
[Credential-related source omitted] - Access to secretsline 757
[Credential-related source omitted] - Access to secretsline 758
[Credential-related source omitted] - Access to secretsline 758
[Credential-related source omitted] - Access to secretsline 759
[Credential-related source omitted] - Access to secretsline 759
[Credential-related source omitted] - Access to secretsline 760
[Credential-related source omitted] - Access to secretsline 760
[Credential-related source omitted] - Access to secretsline 761
[Credential-related source omitted] - Access to secretsline 761
[Credential-related source omitted] - Access to secretsline 762
[Credential-related source omitted] - Access to secretsline 762
[Credential-related source omitted] - Access to secretsline 763
[Credential-related source omitted] - Access to secretsline 763
[Credential-related source omitted] - Access to secretsline 764
[Credential-related source omitted] - Access to secretsline 764
[Credential-related source omitted] - Access to secretsline 769
[Credential-related source omitted] - Access to secretsline 769
[Credential-related source omitted] - Access to secretsline 776
[Credential-related source omitted] - Access to secretsline 776
[Credential-related source omitted] - Access to secretsline 783
[Credential-related source omitted] - Access to secretsline 783
[Credential-related source omitted] - Access to secretsline 790
[Credential-related source omitted] - Access to secretsline 790
[Credential-related source omitted] - Access to secretsline 805
[Credential-related source omitted] - Access to secretsline 805
[Credential-related source omitted] - Access to secretsline 827
[Credential-related source omitted] - Access to secretsline 827
[Credential-related source omitted] - Access to secretsline 828
[Credential-related source omitted] - Access to secretsline 828
[Credential-related source omitted]
skills/baoyu-image-gen/scripts/providers/agnes.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 134
size: null, aspectRatio: "3:4", referenceImages: ["https://example.com/ref.jpg"], - Network accessline 134
size: null, aspectRatio: "3:4", referenceImages: ["https://example.com/ref.jpg"], - Network accessline 135
aspectRatio: "3:4", referenceImages: ["https://example.com/ref.jpg"], }); - Network accessline 135
aspectRatio: "3:4", referenceImages: ["https://example.com/ref.jpg"], }); - Network accessline 136
referenceImages: ["https://example.com/ref.jpg"], - Network accessline 136
referenceImages: ["https://example.com/ref.jpg"], - Network accessline 137
}); assert.equal(bodyWithRef.size, "1536x2048"); assert.deepEqual(bodyWithRef.image, ["https://example.com/ref.jpg"]); - Network accessline 137
}); assert.equal(bodyWithRef.size, "1536x2048"); assert.deepEqual(bodyWithRef.image, ["https://example.com/ref.jpg"]); - Network accessline 138
assert.equal(bodyWithRef.size, "1536x2048"); assert.deepEqual(bodyWithRef.image, ["https://example.com/ref.jpg"]); }); - Network accessline 138
assert.equal(bodyWithRef.size, "1536x2048"); assert.deepEqual(bodyWithRef.image, ["https://example.com/ref.jpg"]); }); - Network accessline 139
assert.deepEqual(bodyWithRef.image, ["https://example.com/ref.jpg"]); - Network accessline 139
assert.deepEqual(bodyWithRef.image, ["https://example.com/ref.jpg"]); - Network accessline 161
const fromUrl = await extractImageFromResponse({ data: [{ url: "https://example.com/output.png" }], - Network accessline 161
const fromUrl = await extractImageFromResponse({ data: [{ url: "https://example.com/output.png" }], - Network accessline 162
data: [{ url: "https://example.com/output.png" }], - Network accessline 162
data: [{ url: "https://example.com/output.png" }], - Network accessline 189
const results = await resolveReferenceImages([ localPath, "https://example.com/remote.jpg", - Network accessline 189
const results = await resolveReferenceImages([ localPath, "https://example.com/remote.jpg", - Network accessline 190
localPath, "https://example.com/remote.jpg", jpegPath, - Network accessline 190
localPath, "https://example.com/remote.jpg", jpegPath, - Network accessline 191
"https://example.com/remote.jpg", - Network accessline 191
"https://example.com/remote.jpg",
skills/baoyu-image-gen/scripts/providers/agnes.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 5
const DEFAULT_MODEL = "agnes-image-2.5-flash"; const DEFAULT_BASE_URL = "https://apihub.agnes-ai.com/v1"; - Network accessline 5
const DEFAULT_MODEL = "agnes-image-2.5-flash"; const DEFAULT_BASE_URL = "https://apihub.agnes-ai.com/v1"; - Network accessline 6
const DEFAULT_BASE_URL = "https://apihub.agnes-ai.com/v1"; - Network accessline 6
const DEFAULT_BASE_URL = "https://apihub.agnes-ai.com/v1"; - Network accessline 19
[Credential-related source omitted] - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted] - Network accessline 20
if (!key) { throw new Error("AGNES_API_KEY is required. Get one from https://apihub.agnes-ai.com."); } - Network accessline 20
if (!key) { throw new Error("AGNES_API_KEY is required. Get one from https://apihub.agnes-ai.com."); } - Network accessline 21
[Credential-related source omitted] - Network accessline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Network accessline 123
if (img?.url) { const imgRes = await fetch(img.url); - Network accessline 123
if (img?.url) { const imgRes = await fetch(img.url); - Network accessline 124
const imgRes = await fetch(img.url); - Network accessline 124
const imgRes = await fetch(img.url); - Network accessline 147
try { const res = await fetch(`${baseUrl}/images/generations`, { - Network accessline 147
try { const res = await fetch(`${baseUrl}/images/generations`, { - Network accessline 148
const res = await fetch(`${baseUrl}/images/generations`, { - Network accessline 148
const res = await fetch(`${baseUrl}/images/generations`, {
skills/baoyu-image-gen/scripts/providers/azure.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 66
test("Azure endpoint parsing and default deployment selection follow env precedence", (t) => { assert.deepEqual(parseAzureBaseURL("https://example.openai.azure.com"), { - Network accessline 66
test("Azure endpoint parsing and default deployment selection follow env precedence", (t) => { assert.deepEqual(parseAzureBaseURL("https://example.openai.azure.com"), { - Network accessline 67
assert.deepEqual(parseAzureBaseURL("https://example.openai.azure.com"), { - Network accessline 67
assert.deepEqual(parseAzureBaseURL("https://example.openai.azure.com"), { - Network accessline 68
resourceBaseURL: "https://example.openai.azure.com/openai", - Network accessline 68
resourceBaseURL: "https://example.openai.azure.com/openai", - Network accessline 70
}); assert.deepEqual( parseAzureBaseURL("https://example.openai.azure.com/openai/deployments/from-url"), - Network accessline 70
}); assert.deepEqual( parseAzureBaseURL("https://example.openai.azure.com/openai/deployments/from-url"), - Network accessline 71
assert.deepEqual( parseAzureBaseURL("https://example.openai.azure.com/openai/deployments/from-url"), { - Network accessline 71
assert.deepEqual( parseAzureBaseURL("https://example.openai.azure.com/openai/deployments/from-url"), { - Network accessline 72
parseAzureBaseURL("https://example.openai.azure.com/openai/deployments/from-url"), - Network accessline 72
parseAzureBaseURL("https://example.openai.azure.com/openai/deployments/from-url"), - Network accessline 73
{ resourceBaseURL: "https://example.openai.azure.com/openai", deployment: "from-url", - Network accessline 73
{ resourceBaseURL: "https://example.openai.azure.com/openai", deployment: "from-url", - Network accessline 74
resourceBaseURL: "https://example.openai.azure.com/openai", - Network accessline 74
resourceBaseURL: "https://example.openai.azure.com/openai", - Network accessline 79
useEnv(t, { AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com/openai/deployments/from-url", - Network accessline 79
useEnv(t, { AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com/openai/deployments/from-url", - Network accessline 80
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com/openai/deployments/from-url", - Network accessline 80
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com/openai/deployments/from-url", - Network accessline 98
[Credential-related source omitted] - Network accessline 98
[Credential-related source omitted] - Network accessline 99
[Credential-related source omitted] - Network accessline 99
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Network accessline 100
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com/openai/deployments/default-deploy", - Network accessline 100
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com/openai/deployments/default-deploy", - Network accessline 129
assert.equal( calls[0]?.url, "https://example.openai.azure.com/openai/deployments/custom-deploy/images/generations?api-version=2025-04-01-preview", - Network accessline 129
assert.equal( calls[0]?.url, "https://example.openai.azure.com/openai/deployments/custom-deploy/images/generations?api-version=2025-04-01-preview", - Network accessline 130
calls[0]?.url, "https://example.openai.azure.com/openai/deployments/custom-deploy/images/generations?api-version=2025-04-01-preview", ); - Network accessline 130
calls[0]?.url, "https://example.openai.azure.com/openai/deployments/custom-deploy/images/generations?api-version=2025-04-01-preview", ); - Network accessline 131
"https://example.openai.azure.com/openai/deployments/custom-deploy/images/generations?api-version=2025-04-01-preview", - Network accessline 131
"https://example.openai.azure.com/openai/deployments/custom-deploy/images/generations?api-version=2025-04-01-preview", - Network accessline 148
[Credential-related source omitted] - Network accessline 148
[Credential-related source omitted] - Network accessline 149
[Credential-related source omitted] - Network accessline 149
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Network accessline 150
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com", - Network accessline 150
AZURE_OPENAI_BASE_URL: "https://example.openai.azure.com", - Network accessline 182
assert.equal( calls[0]?.url, "https://example.openai.azure.com/openai/deployments/edit-deploy/images/edits?api-version=2025-04-01-preview", - Network accessline 182
assert.equal( calls[0]?.url, "https://example.openai.azure.com/openai/deployments/edit-deploy/images/edits?api-version=2025-04-01-preview", - Network accessline 183
calls[0]?.url, "https://example.openai.azure.com/openai/deployments/edit-deploy/images/edits?api-version=2025-04-01-preview", ); - Network accessline 183
calls[0]?.url, "https://example.openai.azure.com/openai/deployments/edit-deploy/images/edits?api-version=2025-04-01-preview", ); - Network accessline 184
"https://example.openai.azure.com/openai/deployments/edit-deploy/images/edits?api-version=2025-04-01-preview", - Network accessline 184
"https://example.openai.azure.com/openai/deployments/edit-deploy/images/edits?api-version=2025-04-01-preview",
skills/baoyu-image-gen/scripts/providers/azure.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 54
if (!url) { throw new Error( "AZURE_OPENAI_BASE_URL is required. Set it to your Azure resource or deployment endpoint, e.g.: https://your-resource.openai.azure.com or https://your-resource.openai.azure.com/openai/deployments/your- - Network accessline 54
if (!url) { throw new Error( "AZURE_OPENAI_BASE_URL is required. Set it to your Azure resource or deployment endpoint, e.g.: https://your-resource.openai.azure.com or https://your-resource.openai.azure.com/openai/deployments/your- - Network accessline 55
throw new Error( "AZURE_OPENAI_BASE_URL is required. Set it to your Azure resource or deployment endpoint, e.g.: https://your-resource.openai.azure.com or https://your-resource.openai.azure.com/openai/deployments/your-deployment" - Network accessline 55
throw new Error( "AZURE_OPENAI_BASE_URL is required. Set it to your Azure resource or deployment endpoint, e.g.: https://your-resource.openai.azure.com or https://your-resource.openai.azure.com/openai/deployments/your-deployment" - Network accessline 56
"AZURE_OPENAI_BASE_URL is required. Set it to your Azure resource or deployment endpoint, e.g.: https://your-resource.openai.azure.com or https://your-resource.openai.azure.com/openai/deployments/your-deployment" - Network accessline 56
"AZURE_OPENAI_BASE_URL is required. Set it to your Azure resource or deployment endpoint, e.g.: https://your-resource.openai.azure.com or https://your-resource.openai.azure.com/openai/deployments/your-deployment" - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Network accessline 138
const res = await fetch(buildURL(deployment, "/images/generations"), { - Network accessline 138
const res = await fetch(buildURL(deployment, "/images/generations"), { - Network accessline 177
const res = await fetch(buildURL(deployment, "/images/edits"), { - Network accessline 177
const res = await fetch(buildURL(deployment, "/images/edits"), {
skills/baoyu-image-gen/scripts/providers/codex-cli.test.ts
skills/baoyu-image-gen/scripts/providers/codex-cli.ts
skills/baoyu-image-gen/scripts/providers/dashscope.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 269
[Credential-related source omitted] - Access to secretsline 269
[Credential-related source omitted] - Access to secretsline 308
[Credential-related source omitted] - Access to secretsline 308
[Credential-related source omitted] - Network accessline 334
"combine these", "wan2.7-image-pro", makeCliArgs({ referenceImages: ["https://example.com/ref.png"] }), - Network accessline 334
"combine these", "wan2.7-image-pro", makeCliArgs({ referenceImages: ["https://example.com/ref.png"] }), - Network accessline 335
"wan2.7-image-pro", makeCliArgs({ referenceImages: ["https://example.com/ref.png"] }), ); - Network accessline 335
"wan2.7-image-pro", makeCliArgs({ referenceImages: ["https://example.com/ref.png"] }), ); - Network accessline 336
makeCliArgs({ referenceImages: ["https://example.com/ref.png"] }), - Network accessline 336
makeCliArgs({ referenceImages: ["https://example.com/ref.png"] }), - Network accessline 339
assert.deepEqual(capturedBody.input.messages[0].content, [ { image: "https://example.com/ref.png" }, - Network accessline 339
assert.deepEqual(capturedBody.input.messages[0].content, [ { image: "https://example.com/ref.png" }, - Network accessline 340
{ image: "https://example.com/ref.png" }, - Network accessline 340
{ image: "https://example.com/ref.png" }, - Access to secretsline 346
[Credential-related source omitted] - Access to secretsline 346
[Credential-related source omitted]
skills/baoyu-image-gen/scripts/providers/dashscope.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 136
[Credential-related source omitted] - Access to secretsline 136
[Credential-related source omitted] - Network accessline 139
function getBaseUrl(): string { const base = process.env.DASHSCOPE_BASE_URL || "https://dashscope.aliyuncs.com"; - Network accessline 139
function getBaseUrl(): string { const base = process.env.DASHSCOPE_BASE_URL || "https://dashscope.aliyuncs.com"; - Network accessline 140
const base = process.env.DASHSCOPE_BASE_URL || "https://dashscope.aliyuncs.com"; - Network accessline 140
const base = process.env.DASHSCOPE_BASE_URL || "https://dashscope.aliyuncs.com"; - Network accessline 547
if (imageData.startsWith("http://") || imageData.startsWith("https://")) { const imgRes = await fetch(imageData); - Network accessline 547
if (imageData.startsWith("http://") || imageData.startsWith("https://")) { const imgRes = await fetch(imageData); - Network accessline 548
const imgRes = await fetch(imageData); - Network accessline 548
const imgRes = await fetch(imageData); - Access to secretsline 563
[Credential-related source omitted] - Access to secretsline 563
[Credential-related source omitted] - Network accessline 611
const res = await fetch(url, { - Network accessline 611
const res = await fetch(url, {
skills/baoyu-image-gen/scripts/providers/google.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 94
test("Google URL builder appends v1beta when the base URL does not already include it", (t) => { useEnv(t, { GOOGLE_BASE_URL: "https://generativelanguage.googleapis.com" }); - Network accessline 94
test("Google URL builder appends v1beta when the base URL does not already include it", (t) => { useEnv(t, { GOOGLE_BASE_URL: "https://generativelanguage.googleapis.com" }); - Network accessline 95
useEnv(t, { GOOGLE_BASE_URL: "https://generativelanguage.googleapis.com" }); - Network accessline 95
useEnv(t, { GOOGLE_BASE_URL: "https://generativelanguage.googleapis.com" }); - Network accessline 96
assert.equal( buildGoogleUrl("models/demo:generateContent"), "https://generativelanguage.googleapis.com/v1beta/models/demo:generateContent", - Network accessline 96
assert.equal( buildGoogleUrl("models/demo:generateContent"), "https://generativelanguage.googleapis.com/v1beta/models/demo:generateContent", - Network accessline 97
buildGoogleUrl("models/demo:generateContent"), "https://generativelanguage.googleapis.com/v1beta/models/demo:generateContent", ); - Network accessline 97
buildGoogleUrl("models/demo:generateContent"), "https://generativelanguage.googleapis.com/v1beta/models/demo:generateContent", ); - Network accessline 98
"https://generativelanguage.googleapis.com/v1beta/models/demo:generateContent", - Network accessline 98
"https://generativelanguage.googleapis.com/v1beta/models/demo:generateContent", - Network accessline 102
test("Google URL and prompt helpers preserve existing v1beta paths and aspect hints", (t) => { useEnv(t, { GOOGLE_BASE_URL: "https://example.com/custom/v1beta/" }); - Network accessline 102
test("Google URL and prompt helpers preserve existing v1beta paths and aspect hints", (t) => { useEnv(t, { GOOGLE_BASE_URL: "https://example.com/custom/v1beta/" }); - Network accessline 103
useEnv(t, { GOOGLE_BASE_URL: "https://example.com/custom/v1beta/" }); - Network accessline 103
useEnv(t, { GOOGLE_BASE_URL: "https://example.com/custom/v1beta/" }); - Network accessline 104
assert.equal( buildGoogleUrl("/models/demo:predict"), "https://example.com/custom/v1beta/models/demo:predict", - Network accessline 104
assert.equal( buildGoogleUrl("/models/demo:predict"), "https://example.com/custom/v1beta/models/demo:predict", - Network accessline 105
buildGoogleUrl("/models/demo:predict"), "https://example.com/custom/v1beta/models/demo:predict", ); - Network accessline 105
buildGoogleUrl("/models/demo:predict"), "https://example.com/custom/v1beta/models/demo:predict", ); - Network accessline 106
"https://example.com/custom/v1beta/models/demo:predict", - Network accessline 106
"https://example.com/custom/v1beta/models/demo:predict",
skills/baoyu-image-gen/scripts/providers/google.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted] - Network accessline 66
function getGoogleBaseUrl(): string { const base = process.env.GOOGLE_BASE_URL || "https://generativelanguage.googleapis.com"; - Network accessline 66
function getGoogleBaseUrl(): string { const base = process.env.GOOGLE_BASE_URL || "https://generativelanguage.googleapis.com"; - Network accessline 67
const base = process.env.GOOGLE_BASE_URL || "https://generativelanguage.googleapis.com"; return base.replace(/\/+$/g, ""); - Network accessline 67
const base = process.env.GOOGLE_BASE_URL || "https://generativelanguage.googleapis.com"; return base.replace(/\/+$/g, ""); - Network accessline 68
process.env.GOOGLE_BASE_URL || "https://generativelanguage.googleapis.com"; - Network accessline 68
process.env.GOOGLE_BASE_URL || "https://generativelanguage.googleapis.com"; - Network accessline 132
? e.stderr.toString("utf8") : ""; const details = stderrText.trim() || e.message || "curl request failed"; - Network accessline 132
? e.stderr.toString("utf8") : ""; const details = stderrText.trim() || e.message || "curl request failed"; - Network accessline 133
: ""; const details = stderrText.trim() || e.message || "curl request failed"; throw new Error(`Google API request failed via curl: ${details}`); - Network accessline 133
: ""; const details = stderrText.trim() || e.message || "curl request failed"; throw new Error(`Google API request failed via curl: ${details}`); - Network accessline 134
const details = stderrText.trim() || e.message || "curl request failed"; - Network accessline 134
const details = stderrText.trim() || e.message || "curl request failed"; - Network accessline 150
body: unknown, ): Promise<T> { const res = await fetch(url, { - Network accessline 150
body: unknown, ): Promise<T> { const res = await fetch(url, { - Network accessline 151
): Promise<T> { const res = await fetch(url, { method: "POST", - Network accessline 151
): Promise<T> { const res = await fetch(url, { method: "POST", - Network accessline 152
const res = await fetch(url, { - Network accessline 152
const res = await fetch(url, { - Access to secretsline 171
[Credential-related source omitted] - Access to secretsline 171
[Credential-related source omitted] - Network accessline 176
// When an HTTP proxy is detected, use curl instead of fetch. - Network accessline 176
// When an HTTP proxy is detected, use curl instead of fetch. - Network accessline 178
// HTTP proxies get their sockets closed unexpectedly, causing image // generation requests to fail with "socket connection was closed // unexpectedly". Using curl as the HTTP client works around this. - Network accessline 178
// HTTP proxies get their sockets closed unexpectedly, causing image // generation requests to fail with "socket connection was closed // unexpectedly". Using curl as the HTTP client works around this. - Network accessline 180
// unexpectedly". Using curl as the HTTP client works around this. - Network accessline 180
// unexpectedly". Using curl as the HTTP client works around this.
skills/baoyu-image-gen/scripts/providers/jimeng.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 104
assert.equal( calls[0]?.input, "https://visual.volcengineapi.com/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31", - Network accessline 104
assert.equal( calls[0]?.input, "https://visual.volcengineapi.com/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31", - Network accessline 105
calls[0]?.input, "https://visual.volcengineapi.com/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31", ); - Network accessline 105
calls[0]?.input, "https://visual.volcengineapi.com/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31", ); - Network accessline 106
"https://visual.volcengineapi.com/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31", - Network accessline 106
"https://visual.volcengineapi.com/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31",
skills/baoyu-image-gen/scripts/providers/jimeng.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 15
[Credential-related source omitted] - Network accessline 22
function getBaseUrl(): string { return process.env.JIMENG_BASE_URL || "https://visual.volcengineapi.com"; - Network accessline 22
function getBaseUrl(): string { return process.env.JIMENG_BASE_URL || "https://visual.volcengineapi.com"; - Network accessline 23
return process.env.JIMENG_BASE_URL || "https://visual.volcengineapi.com"; - Network accessline 23
return process.env.JIMENG_BASE_URL || "https://visual.volcengineapi.com"; - Network accessline 51
* Volcengine HMAC-SHA256 signature generation * Following the official documentation at: * https://www.volcengine.com/docs/85621/1817045 - Network accessline 51
* Volcengine HMAC-SHA256 signature generation * Following the official documentation at: * https://www.volcengine.com/docs/85621/1817045 - Network accessline 52
* Following the official documentation at: * https://www.volcengine.com/docs/85621/1817045 */ - Network accessline 52
* Following the official documentation at: * https://www.volcengine.com/docs/85621/1817045 */ - Network accessline 53
* https://www.volcengine.com/docs/85621/1817045 - Network accessline 53
* https://www.volcengine.com/docs/85621/1817045 - Network accessline 282
const res = await fetch(endpoint.url, { - Network accessline 282
const res = await fetch(endpoint.url, { - Network accessline 364
const res = await fetch(endpoint.url, { - Network accessline 364
const res = await fetch(endpoint.url, { - Network accessline 408
console.error(`Downloading image from ${image_urls[0]}...`); const imgRes = await fetch(image_urls[0]!); - Network accessline 408
console.error(`Downloading image from ${image_urls[0]}...`); const imgRes = await fetch(image_urls[0]!); - Network accessline 409
const imgRes = await fetch(image_urls[0]!); - Network accessline 409
const imgRes = await fetch(image_urls[0]!); - Network accessline 451
throw new Error( "JIMENG_ACCESS_KEY_ID and JIMENG_SECRET_ACCESS_KEY are required. " + "Get your credentials from https://console.volcengine.com/iam/keymanage" - Network accessline 451
throw new Error( "JIMENG_ACCESS_KEY_ID and JIMENG_SECRET_ACCESS_KEY are required. " + "Get your credentials from https://console.volcengine.com/iam/keymanage" - Network accessline 452
"JIMENG_ACCESS_KEY_ID and JIMENG_SECRET_ACCESS_KEY are required. " + "Get your credentials from https://console.volcengine.com/iam/keymanage" ); - Network accessline 452
"JIMENG_ACCESS_KEY_ID and JIMENG_SECRET_ACCESS_KEY are required. " + "Get your credentials from https://console.volcengine.com/iam/keymanage" ); - Network accessline 453
"Get your credentials from https://console.volcengine.com/iam/keymanage" - Network accessline 453
"Get your credentials from https://console.volcengine.com/iam/keymanage"
skills/baoyu-image-gen/scripts/providers/minimax.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 64
test("MiniMax URL builder uses documented default and normalizes /v1 suffixes", (t) => { useEnv(t, { MINIMAX_BASE_URL: null }); assert.equal(buildMinimaxUrl(), "https://api.minimaxi.com/v1/image_generation"); - Network accessline 64
test("MiniMax URL builder uses documented default and normalizes /v1 suffixes", (t) => { useEnv(t, { MINIMAX_BASE_URL: null }); assert.equal(buildMinimaxUrl(), "https://api.minimaxi.com/v1/image_generation"); - Network accessline 66
assert.equal(buildMinimaxUrl(), "https://api.minimaxi.com/v1/image_generation"); - Network accessline 66
assert.equal(buildMinimaxUrl(), "https://api.minimaxi.com/v1/image_generation"); - Network accessline 68
process.env.MINIMAX_BASE_URL = "https://api.minimax.io"; - Network accessline 68
process.env.MINIMAX_BASE_URL = "https://api.minimax.io"; - Network accessline 69
assert.equal(buildMinimaxUrl(), "https://api.minimax.io/v1/image_generation"); - Network accessline 69
assert.equal(buildMinimaxUrl(), "https://api.minimax.io/v1/image_generation"); - Network accessline 71
process.env.MINIMAX_BASE_URL = "https://proxy.example.com/custom/v1/"; - Network accessline 71
process.env.MINIMAX_BASE_URL = "https://proxy.example.com/custom/v1/"; - Network accessline 72
assert.equal(buildMinimaxUrl(), "https://proxy.example.com/custom/v1/image_generation"); - Network accessline 72
assert.equal(buildMinimaxUrl(), "https://proxy.example.com/custom/v1/image_generation"); - Network accessline 164
const fromUrl = await extractImageFromResponse({ data: { image_urls: ["https://example.com/output.jpg"], - Network accessline 164
const fromUrl = await extractImageFromResponse({ data: { image_urls: ["https://example.com/output.jpg"], - Network accessline 165
data: { image_urls: ["https://example.com/output.jpg"], }, - Network accessline 165
data: { image_urls: ["https://example.com/output.jpg"], }, - Network accessline 166
image_urls: ["https://example.com/output.jpg"], - Network accessline 166
image_urls: ["https://example.com/output.jpg"],
skills/baoyu-image-gen/scripts/providers/minimax.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Network accessline 46
export function buildMinimaxUrl(): string { const base = (process.env.MINIMAX_BASE_URL || "https://api.minimaxi.com").replace(/\/+$/g, ""); - Network accessline 46
export function buildMinimaxUrl(): string { const base = (process.env.MINIMAX_BASE_URL || "https://api.minimaxi.com").replace(/\/+$/g, ""); - Network accessline 47
const base = (process.env.MINIMAX_BASE_URL || "https://api.minimaxi.com").replace(/\/+$/g, ""); - Network accessline 47
const base = (process.env.MINIMAX_BASE_URL || "https://api.minimaxi.com").replace(/\/+$/g, ""); - Network accessline 162
async function downloadImage(url: string): Promise<Uint8Array> { const response = await fetch(url); - Network accessline 162
async function downloadImage(url: string): Promise<Uint8Array> { const response = await fetch(url); - Network accessline 163
const response = await fetch(url); - Network accessline 163
const response = await fetch(url); - Network accessline 198
[Credential-related source omitted] - Network accessline 198
[Credential-related source omitted] - Network accessline 199
if (!apiKey) { throw new Error("MINIMAX_API_KEY is required. Get one from https://platform.minimaxi.com/"); } - Network accessline 199
if (!apiKey) { throw new Error("MINIMAX_API_KEY is required. Get one from https://platform.minimaxi.com/"); } - Network accessline 200
[Credential-related source omitted] - Network accessline 200
[Credential-related source omitted] - Access to secretsline 200
[Credential-related source omitted] - Access to secretsline 200
[Credential-related source omitted] - Network accessline 203
const body = await buildRequestBody(prompt, model, args); const response = await fetch(buildMinimaxUrl(), { - Network accessline 203
const body = await buildRequestBody(prompt, model, args); const response = await fetch(buildMinimaxUrl(), { - Network accessline 204
const response = await fetch(buildMinimaxUrl(), { - Network accessline 204
const response = await fetch(buildMinimaxUrl(), {
skills/baoyu-image-gen/scripts/providers/openai.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 183
const fromUrl = await extractImageFromResponse({ data: [{ url: "https://example.com/image.png" }], - Network accessline 183
const fromUrl = await extractImageFromResponse({ data: [{ url: "https://example.com/image.png" }], - Network accessline 184
data: [{ url: "https://example.com/image.png" }], - Network accessline 184
data: [{ url: "https://example.com/image.png" }],
skills/baoyu-image-gen/scripts/providers/openai.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 281
args: CliArgs ): Promise<Uint8Array> { const baseURL = process.env.OPENAI_BASE_URL || "https://api.openai.com/v1"; - Network accessline 281
args: CliArgs ): Promise<Uint8Array> { const baseURL = process.env.OPENAI_BASE_URL || "https://api.openai.com/v1"; - Network accessline 282
[Credential-related source omitted] - Network accessline 282
[Credential-related source omitted] - Network accessline 283
const baseURL = process.env.OPENAI_BASE_URL || "https://api.openai.com/v1"; - Network accessline 283
const baseURL = process.env.OPENAI_BASE_URL || "https://api.openai.com/v1"; - Access to secretsline 284
[Credential-related source omitted] - Access to secretsline 284
[Credential-related source omitted] - Access to secretsline 288
[Credential-related source omitted] - Access to secretsline 288
[Credential-related source omitted] - Network accessline 324
model: string ): Promise<Uint8Array> { const res = await fetch(`${baseURL}/chat/completions`, { - Network accessline 324
model: string ): Promise<Uint8Array> { const res = await fetch(`${baseURL}/chat/completions`, { - Network accessline 325
): Promise<Uint8Array> { const res = await fetch(`${baseURL}/chat/completions`, { method: "POST", - Network accessline 325
): Promise<Uint8Array> { const res = await fetch(`${baseURL}/chat/completions`, { method: "POST", - Network accessline 326
const res = await fetch(`${baseURL}/chat/completions`, { - Network accessline 326
const res = await fetch(`${baseURL}/chat/completions`, { - Network accessline 357
body: OpenAIGenerationsBody ): Promise<Uint8Array> { const res = await fetch(`${baseURL}/images/generations`, { - Network accessline 357
body: OpenAIGenerationsBody ): Promise<Uint8Array> { const res = await fetch(`${baseURL}/images/generations`, { - Network accessline 358
): Promise<Uint8Array> { const res = await fetch(`${baseURL}/images/generations`, { method: "POST", - Network accessline 358
): Promise<Uint8Array> { const res = await fetch(`${baseURL}/images/generations`, { method: "POST", - Network accessline 359
const res = await fetch(`${baseURL}/images/generations`, { - Network accessline 359
const res = await fetch(`${baseURL}/images/generations`, { - Network accessline 404
const res = await fetch(`${baseURL}/images/edits`, { - Network accessline 404
const res = await fetch(`${baseURL}/images/edits`, { - Network accessline 436
if (img?.url) { const imgRes = await fetch(img.url); - Network accessline 436
if (img?.url) { const imgRes = await fetch(img.url); - Network accessline 437
const imgRes = await fetch(img.url); - Network accessline 437
const imgRes = await fetch(img.url);
skills/baoyu-image-gen/scripts/providers/openrouter.test.ts
skills/baoyu-image-gen/scripts/providers/openrouter.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 81
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 84
function getBaseUrl(): string { const base = process.env.OPENROUTER_BASE_URL || "https://openrouter.ai/api/v1"; - Network accessline 84
function getBaseUrl(): string { const base = process.env.OPENROUTER_BASE_URL || "https://openrouter.ai/api/v1"; - Network accessline 85
const base = process.env.OPENROUTER_BASE_URL || "https://openrouter.ai/api/v1"; - Network accessline 85
const base = process.env.OPENROUTER_BASE_URL || "https://openrouter.ai/api/v1"; - Network accessline 250
if (value.startsWith("http://") || value.startsWith("https://")) { const response = await fetch(value); - Network accessline 250
if (value.startsWith("http://") || value.startsWith("https://")) { const response = await fetch(value); - Network accessline 251
const response = await fetch(value); - Network accessline 251
const response = await fetch(value); - Network accessline 339
[Credential-related source omitted] - Network accessline 339
[Credential-related source omitted] - Network accessline 340
if (!apiKey) { throw new Error("OPENROUTER_API_KEY is required. Get one at https://openrouter.ai/settings/keys"); } - Network accessline 340
if (!apiKey) { throw new Error("OPENROUTER_API_KEY is required. Get one at https://openrouter.ai/settings/keys"); } - Network accessline 341
[Credential-related source omitted] - Network accessline 341
[Credential-related source omitted] - Access to secretsline 341
[Credential-related source omitted] - Access to secretsline 341
[Credential-related source omitted] - Network accessline 359
const response = await fetch(`${getBaseUrl()}/chat/completions`, { - Network accessline 359
const response = await fetch(`${getBaseUrl()}/chat/completions`, {
skills/baoyu-image-gen/scripts/providers/replicate.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 281
test("Replicate output extraction supports single outputs and rejects silent multi-image drops", () => { assert.equal( extractOutputUrl({ output: "https://example.com/a.png" } as never), - Network accessline 281
test("Replicate output extraction supports single outputs and rejects silent multi-image drops", () => { assert.equal( extractOutputUrl({ output: "https://example.com/a.png" } as never), - Network accessline 282
assert.equal( extractOutputUrl({ output: "https://example.com/a.png" } as never), "https://example.com/a.png", - Network accessline 282
assert.equal( extractOutputUrl({ output: "https://example.com/a.png" } as never), "https://example.com/a.png", - Network accessline 283
extractOutputUrl({ output: "https://example.com/a.png" } as never), - Network accessline 283
extractOutputUrl({ output: "https://example.com/a.png" } as never), - Network accessline 284
"https://example.com/a.png", - Network accessline 284
"https://example.com/a.png", - Network accessline 285
); assert.equal( extractOutputUrl({ output: ["https://example.com/b.png"] } as never), - Network accessline 285
); assert.equal( extractOutputUrl({ output: ["https://example.com/b.png"] } as never), - Network accessline 286
assert.equal( extractOutputUrl({ output: ["https://example.com/b.png"] } as never), "https://example.com/b.png", - Network accessline 286
assert.equal( extractOutputUrl({ output: ["https://example.com/b.png"] } as never), "https://example.com/b.png", - Network accessline 287
extractOutputUrl({ output: ["https://example.com/b.png"] } as never), - Network accessline 287
extractOutputUrl({ output: ["https://example.com/b.png"] } as never), - Network accessline 288
"https://example.com/b.png", - Network accessline 288
"https://example.com/b.png", - Network accessline 289
); assert.equal( extractOutputUrl({ output: { url: "https://example.com/c.png" } } as never), - Network accessline 289
); assert.equal( extractOutputUrl({ output: { url: "https://example.com/c.png" } } as never), - Network accessline 290
assert.equal( extractOutputUrl({ output: { url: "https://example.com/c.png" } } as never), "https://example.com/c.png", - Network accessline 290
assert.equal( extractOutputUrl({ output: { url: "https://example.com/c.png" } } as never), "https://example.com/c.png", - Network accessline 291
extractOutputUrl({ output: { url: "https://example.com/c.png" } } as never), - Network accessline 291
extractOutputUrl({ output: { url: "https://example.com/c.png" } } as never), - Network accessline 292
"https://example.com/c.png", - Network accessline 292
"https://example.com/c.png", - Network accessline 297
extractOutputUrl({ output: [ "https://example.com/one.png", - Network accessline 297
extractOutputUrl({ output: [ "https://example.com/one.png", - Network accessline 298
output: [ "https://example.com/one.png", "https://example.com/two.png", - Network accessline 298
output: [ "https://example.com/one.png", "https://example.com/two.png", - Network accessline 299
"https://example.com/one.png", - Network accessline 299
"https://example.com/one.png", - Network accessline 300
"https://example.com/two.png", - Network accessline 300
"https://example.com/two.png",
skills/baoyu-image-gen/scripts/providers/replicate.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Network accessline 45
function getBaseUrl(): string { const base = process.env.REPLICATE_BASE_URL || "https://api.replicate.com"; - Network accessline 45
function getBaseUrl(): string { const base = process.env.REPLICATE_BASE_URL || "https://api.replicate.com"; - Network accessline 46
const base = process.env.REPLICATE_BASE_URL || "https://api.replicate.com"; - Network accessline 46
const base = process.env.REPLICATE_BASE_URL || "https://api.replicate.com"; - Network accessline 512
const res = await fetch(url, { - Network accessline 512
const res = await fetch(url, { - Network accessline 529
while (Date.now() - start < MAX_POLL_MS) { const res = await fetch(getUrl, { - Network accessline 529
while (Date.now() - start < MAX_POLL_MS) { const res = await fetch(getUrl, { - Network accessline 530
const res = await fetch(getUrl, { - Network accessline 530
const res = await fetch(getUrl, { - Network accessline 575
async function downloadImage(url: string): Promise<Uint8Array> { const res = await fetch(url); - Network accessline 575
async function downloadImage(url: string): Promise<Uint8Array> { const res = await fetch(url); - Network accessline 576
const res = await fetch(url); - Network accessline 576
const res = await fetch(url); - Network accessline 586
): Promise<Uint8Array> { const apiToken = getApiToken(); if (!apiToken) throw new Error("REPLICATE_API_TOKEN is required. Get one at https://replicate.com/account/api-tokens"); - Network accessline 586
): Promise<Uint8Array> { const apiToken = getApiToken(); if (!apiToken) throw new Error("REPLICATE_API_TOKEN is required. Get one at https://replicate.com/account/api-tokens"); - Network accessline 588
if (!apiToken) throw new Error("REPLICATE_API_TOKEN is required. Get one at https://replicate.com/account/api-tokens"); - Network accessline 588
if (!apiToken) throw new Error("REPLICATE_API_TOKEN is required. Get one at https://replicate.com/account/api-tokens");
skills/baoyu-image-gen/scripts/providers/seedream.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 184
[Credential-related source omitted] - Access to secretsline 184
[Credential-related source omitted] - Network accessline 206
data: [ { url: "https://example.com/generated-image", - Network accessline 206
data: [ { url: "https://example.com/generated-image", - Network accessline 207
{ url: "https://example.com/generated-image", size: "2048x2048", - Network accessline 207
{ url: "https://example.com/generated-image", size: "2048x2048", - Network accessline 208
url: "https://example.com/generated-image", - Network accessline 208
url: "https://example.com/generated-image", - Network accessline 234
assert.equal( calls[0]?.input, "https://ark.cn-beijing.volces.com/api/v3/images/generations", - Network accessline 234
assert.equal( calls[0]?.input, "https://ark.cn-beijing.volces.com/api/v3/images/generations", - Network accessline 235
calls[0]?.input, "https://ark.cn-beijing.volces.com/api/v3/images/generations", ); - Network accessline 235
calls[0]?.input, "https://ark.cn-beijing.volces.com/api/v3/images/generations", ); - Network accessline 236
"https://ark.cn-beijing.volces.com/api/v3/images/generations", - Network accessline 236
"https://ark.cn-beijing.volces.com/api/v3/images/generations", - Network accessline 242
assert.equal(requestBody.response_format, "url"); assert.ok(!("output_format" in requestBody)); assert.equal(calls[1]?.input, "https://example.com/generated-image"); - Network accessline 242
assert.equal(requestBody.response_format, "url"); assert.ok(!("output_format" in requestBody)); assert.equal(calls[1]?.input, "https://example.com/generated-image"); - Network accessline 243
assert.ok(!("output_format" in requestBody)); assert.equal(calls[1]?.input, "https://example.com/generated-image"); }); - Network accessline 243
assert.ok(!("output_format" in requestBody)); assert.equal(calls[1]?.input, "https://example.com/generated-image"); }); - Network accessline 244
assert.equal(calls[1]?.input, "https://example.com/generated-image"); - Network accessline 244
assert.equal(calls[1]?.input, "https://example.com/generated-image");
skills/baoyu-image-gen/scripts/providers/seedream.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Network accessline 56
function getBaseUrl(): string { return process.env.SEEDREAM_BASE_URL || "https://ark.cn-beijing.volces.com/api/v3"; - Network accessline 56
function getBaseUrl(): string { return process.env.SEEDREAM_BASE_URL || "https://ark.cn-beijing.volces.com/api/v3"; - Network accessline 57
return process.env.SEEDREAM_BASE_URL || "https://ark.cn-beijing.volces.com/api/v3"; - Network accessline 57
return process.env.SEEDREAM_BASE_URL || "https://ark.cn-beijing.volces.com/api/v3"; - Network accessline 269
async function downloadImage(url: string): Promise<Uint8Array> { const imgResponse = await fetch(url); - Network accessline 269
async function downloadImage(url: string): Promise<Uint8Array> { const imgResponse = await fetch(url); - Network accessline 270
const imgResponse = await fetch(url); - Network accessline 270
const imgResponse = await fetch(url); - Network accessline 309
throw new Error( "ARK_API_KEY is required. " + "Get your API key from https://console.volcengine.com/ark" - Network accessline 309
throw new Error( "ARK_API_KEY is required. " + "Get your API key from https://console.volcengine.com/ark" - Network accessline 310
[Credential-related source omitted] - Network accessline 310
[Credential-related source omitted] - Access to secretsline 310
[Credential-related source omitted] - Access to secretsline 310
[Credential-related source omitted] - Network accessline 311
"Get your API key from https://console.volcengine.com/ark" - Network accessline 311
"Get your API key from https://console.volcengine.com/ark" - Network accessline 321
const response = await fetch(`${getBaseUrl()}/images/generations`, { - Network accessline 321
const response = await fetch(`${getBaseUrl()}/images/generations`, {
skills/baoyu-image-gen/scripts/providers/zai.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 75
test("Z.AI URL builder normalizes host, v4 base, and full endpoint inputs", (t) => { useEnv(t, { ZAI_BASE_URL: "https://api.z.ai" }); - Network accessline 75
test("Z.AI URL builder normalizes host, v4 base, and full endpoint inputs", (t) => { useEnv(t, { ZAI_BASE_URL: "https://api.z.ai" }); - Network accessline 76
useEnv(t, { ZAI_BASE_URL: "https://api.z.ai" }); - Network accessline 76
useEnv(t, { ZAI_BASE_URL: "https://api.z.ai" }); - Network accessline 77
assert.equal(buildZaiUrl(), "https://api.z.ai/api/paas/v4/images/generations"); - Network accessline 77
assert.equal(buildZaiUrl(), "https://api.z.ai/api/paas/v4/images/generations"); - Network accessline 79
process.env.ZAI_BASE_URL = "https://proxy.example.com/api/paas/v4/"; - Network accessline 79
process.env.ZAI_BASE_URL = "https://proxy.example.com/api/paas/v4/"; - Network accessline 80
assert.equal(buildZaiUrl(), "https://proxy.example.com/api/paas/v4/images/generations"); - Network accessline 80
assert.equal(buildZaiUrl(), "https://proxy.example.com/api/paas/v4/images/generations"); - Network accessline 82
process.env.ZAI_BASE_URL = "https://proxy.example.com/custom/images/generations"; - Network accessline 82
process.env.ZAI_BASE_URL = "https://proxy.example.com/custom/images/generations"; - Network accessline 83
assert.equal(buildZaiUrl(), "https://proxy.example.com/custom/images/generations"); - Network accessline 83
assert.equal(buildZaiUrl(), "https://proxy.example.com/custom/images/generations"); - Network accessline 172
const image = await extractImageFromResponse({ data: [{ url: "https://cdn.example.com/glm-image.png" }], - Network accessline 172
const image = await extractImageFromResponse({ data: [{ url: "https://cdn.example.com/glm-image.png" }], - Network accessline 173
data: [{ url: "https://cdn.example.com/glm-image.png" }], - Network accessline 173
data: [{ url: "https://cdn.example.com/glm-image.png" }],
skills/baoyu-image-gen/scripts/providers/zai.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Network accessline 50
export function buildZaiUrl(): string { const base = (process.env.ZAI_BASE_URL || process.env.BIGMODEL_BASE_URL || "https://api.z.ai/api/paas/v4") - Network accessline 50
export function buildZaiUrl(): string { const base = (process.env.ZAI_BASE_URL || process.env.BIGMODEL_BASE_URL || "https://api.z.ai/api/paas/v4") - Network accessline 51
const base = (process.env.ZAI_BASE_URL || process.env.BIGMODEL_BASE_URL || "https://api.z.ai/api/paas/v4") - Network accessline 51
const base = (process.env.ZAI_BASE_URL || process.env.BIGMODEL_BASE_URL || "https://api.z.ai/api/paas/v4") - Network accessline 272
const imageResponse = await fetch(url); - Network accessline 272
const imageResponse = await fetch(url); - Network accessline 285
[Credential-related source omitted] - Network accessline 285
[Credential-related source omitted] - Network accessline 286
if (!apiKey) { throw new Error("ZAI_API_KEY is required. Get one from https://docs.z.ai/."); } - Network accessline 286
if (!apiKey) { throw new Error("ZAI_API_KEY is required. Get one from https://docs.z.ai/."); } - Network accessline 287
[Credential-related source omitted] - Network accessline 287
[Credential-related source omitted] - Access to secretsline 287
[Credential-related source omitted] - Access to secretsline 287
[Credential-related source omitted] - Network accessline 290
const response = await fetch(buildZaiUrl(), { - Network accessline 290
const response = await fetch(buildZaiUrl(), {
skills/baoyu-image-gen/scripts/types.ts
skills/baoyu-infographic/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-infographic - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-infographic - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-infographic --- - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-infographic --- - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-infographic - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-infographic
skills/baoyu-infographic/references/codex-imagegen.md
skills/baoyu-markdown-to-html/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-markdown-to-html - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-markdown-to-html - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-markdown-to-html requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-markdown-to-html requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-markdown-to-html - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-markdown-to-html - Network accessline 95
**Behavior when enabled**: - Ordinary external links are rendered with numbered superscripts and collected under a final `引用链接` section. - `https://mp.weixin.qq.com/...` links stay as direct links and are not moved to the bottom. - Network accessline 95
**Behavior when enabled**: - Ordinary external links are rendered with numbered superscripts and collected under a final `引用链接` section. - `https://mp.weixin.qq.com/...` links stay as direct links and are not moved to the bottom. - Network accessline 96
- Ordinary external links are rendered with numbered superscripts and collected under a final `引用链接` section. - `https://mp.weixin.qq.com/...` links stay as direct links and are not moved to the bottom. - Bare links where link text equals U - Network accessline 96
- Ordinary external links are rendered with numbered superscripts and collected under a final `引用链接` section. - `https://mp.weixin.qq.com/...` links stay as direct links and are not moved to the bottom. - Bare links where link text equals U - Network accessline 97
- `https://mp.weixin.qq.com/...` links stay as direct links and are not moved to the bottom. - Network accessline 97
- `https://mp.weixin.qq.com/...` links stay as direct links and are not moved to the bottom.
skills/baoyu-markdown-to-html/scripts/main.test.ts
skills/baoyu-markdown-to-html/scripts/main.ts
skills/baoyu-markdown-to-html/scripts/package.json
skills/baoyu-post-to-wechat/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-wechat - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-wechat - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-wechat requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-wechat requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-wechat - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-wechat - Access to secretsline 78
[Credential-related source omitted] - Access to secretsline 78
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 211
[Credential-related source omitted] - Network accessline 211
[Credential-related source omitted] - Network accessline 212
[Credential-related source omitted] - Network accessline 212
[Credential-related source omitted] - Access to secretsline 212
[Credential-related source omitted] - Access to secretsline 212
[Credential-related source omitted] - Network accessline 244
Next Steps (API): → Manage drafts: https://mp.weixin.qq.com (登录后进入「内容管理」→「草稿箱」) - Network accessline 244
Next Steps (API): → Manage drafts: https://mp.weixin.qq.com (登录后进入「内容管理」→「草稿箱」) - Network accessline 245
→ Manage drafts: https://mp.weixin.qq.com (登录后进入「内容管理」→「草稿箱」) - Network accessline 245
→ Manage drafts: https://mp.weixin.qq.com (登录后进入「内容管理」→「草稿箱」)
skills/baoyu-post-to-wechat/references/api-setup.md
- Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Network accessline 22
To obtain credentials: 1. Visit https://mp.weixin.qq.com - Network accessline 22
To obtain credentials: 1. Visit https://mp.weixin.qq.com - Network accessline 23
1. Visit https://mp.weixin.qq.com - Network accessline 23
1. Visit https://mp.weixin.qq.com - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted]
skills/baoyu-post-to-wechat/references/article-posting.md
skills/baoyu-post-to-wechat/references/multi-account.md
- Access to secretsline 66
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/cdp.ts
skills/baoyu-post-to-wechat/scripts/check-permissions.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 190
[Credential-related source omitted] - Access to secretsline 190
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/copy-to-clipboard-mac.test.ts
skills/baoyu-post-to-wechat/scripts/copy-to-clipboard.ts
skills/baoyu-post-to-wechat/scripts/md-to-wechat.ts
skills/baoyu-post-to-wechat/scripts/package.json
skills/baoyu-post-to-wechat/scripts/paste-from-clipboard.ts
skills/baoyu-post-to-wechat/scripts/wechat-agent-browser.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 6
const WECHAT_URL = 'https://mp.weixin.qq.com/'; - Network accessline 6
const WECHAT_URL = 'https://mp.weixin.qq.com/'; - Network accessline 220
if (input) { const dt = new DataTransfer(); fetch(${imgUrlJs}).then(r => r.blob()).then(b => { - Network accessline 220
if (input) { const dt = new DataTransfer(); fetch(${imgUrlJs}).then(r => r.blob()).then(b => { - Network accessline 221
const dt = new DataTransfer(); fetch(${imgUrlJs}).then(r => r.blob()).then(b => { const file = new File([b], ${imgFileNameJs}, { type: 'image/png' }); - Network accessline 221
const dt = new DataTransfer(); fetch(${imgUrlJs}).then(r => r.blob()).then(b => { const file = new File([b], ${imgFileNameJs}, { type: 'image/png' }); - Network accessline 222
fetch(${imgUrlJs}).then(r => r.blob()).then(b => { - Network accessline 222
fetch(${imgUrlJs}).then(r => r.blob()).then(b => {
skills/baoyu-post-to-wechat/scripts/wechat-api.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Network accessline 73
const TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token"; - Network accessline 73
const TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token"; - Network accessline 74
const UPLOAD_BODY_IMG_URL = "https://api.weixin.qq.com/cgi-bin/media/uploadimg"; - Network accessline 74
const UPLOAD_BODY_IMG_URL = "https://api.weixin.qq.com/cgi-bin/media/uploadimg"; - Network accessline 75
const UPLOAD_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/add_material"; - Network accessline 75
const UPLOAD_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/add_material"; - Network accessline 76
const DRAFT_URL = "https://api.weixin.qq.com/cgi-bin/draft/add"; - Network accessline 76
const DRAFT_URL = "https://api.weixin.qq.com/cgi-bin/draft/add"; - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Access to secretsline 218
[Credential-related source omitted] - Access to secretsline 218
[Credential-related source omitted] - Network accessline 258
if (src.startsWith("https://mmbiz.qpic.cn")) { - Network accessline 258
if (src.startsWith("https://mmbiz.qpic.cn")) { - Access to secretsline 345
[Credential-related source omitted] - Access to secretsline 345
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 519
[Credential-related source omitted] - Access to secretsline 519
[Credential-related source omitted] - Network accessline 522
npx -y bun wechat-api.ts article.md npx -y bun wechat-api.ts article.md --theme grace --cover cover.png npx -y bun wechat-api.ts article.md --author "Author Name" --summary "Brief intro" --source-url "https://example.com/original" - Network accessline 522
npx -y bun wechat-api.ts article.md npx -y bun wechat-api.ts article.md --theme grace --cover cover.png npx -y bun wechat-api.ts article.md --author "Author Name" --summary "Brief intro" --source-url "https://example.com/original" - Network accessline 523
npx -y bun wechat-api.ts article.md --theme grace --cover cover.png npx -y bun wechat-api.ts article.md --author "Author Name" --summary "Brief intro" --source-url "https://example.com/original" npx -y bun wechat-api.ts article.html --t - Network accessline 523
npx -y bun wechat-api.ts article.md --theme grace --cover cover.png npx -y bun wechat-api.ts article.md --author "Author Name" --summary "Brief intro" --source-url "https://example.com/original" npx -y bun wechat-api.ts article.html --t - Network accessline 524
npx -y bun wechat-api.ts article.md --author "Author Name" --summary "Brief intro" --source-url "https://example.com/original" - Network accessline 524
npx -y bun wechat-api.ts article.md --author "Author Name" --summary "Brief intro" --source-url "https://example.com/original"
skills/baoyu-post-to-wechat/scripts/wechat-article-focus.test.ts
skills/baoyu-post-to-wechat/scripts/wechat-article.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 11
const WECHAT_URL = 'https://mp.weixin.qq.com/'; - Network accessline 11
const WECHAT_URL = 'https://mp.weixin.qq.com/'; - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 38
[Credential-related source omitted] - Network accessline 79
expression: ` (async () => { const resp = await fetch(${JSON.stringify(imgUrl)}, { credentials: 'include' }); - Network accessline 79
expression: ` (async () => { const resp = await fetch(${JSON.stringify(imgUrl)}, { credentials: 'include' }); - Network accessline 80
(async () => { const resp = await fetch(${JSON.stringify(imgUrl)}, { credentials: 'include' }); const buf = await resp.arrayBuffer(); - Network accessline 80
(async () => { const resp = await fetch(${JSON.stringify(imgUrl)}, { credentials: 'include' }); const buf = await resp.arrayBuffer(); - Network accessline 81
const resp = await fetch(${JSON.stringify(imgUrl)}, { credentials: 'include' }); - Network accessline 81
const resp = await fetch(${JSON.stringify(imgUrl)}, { credentials: 'include' }); - Network accessline 107
Buffer.from(`\r\n--${boundary}--\r\n`), ]; const tgResp = await fetch(`https://api.telegram.org/bot${botToken}/sendPhoto`, { - Network accessline 107
Buffer.from(`\r\n--${boundary}--\r\n`), ]; const tgResp = await fetch(`https://api.telegram.org/bot${botToken}/sendPhoto`, { - Network accessline 108
]; const tgResp = await fetch(`https://api.telegram.org/bot${botToken}/sendPhoto`, { method: 'POST', - Network accessline 108
]; const tgResp = await fetch(`https://api.telegram.org/bot${botToken}/sendPhoto`, { method: 'POST', - Network accessline 109
const tgResp = await fetch(`https://api.telegram.org/bot${botToken}/sendPhoto`, { - Network accessline 109
const tgResp = await fetch(`https://api.telegram.org/bot${botToken}/sendPhoto`, { - Access to secretsline 918
[Credential-related source omitted] - Access to secretsline 918
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/wechat-browser.ts
skills/baoyu-post-to-wechat/scripts/wechat-extend-config.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 163
[Credential-related source omitted] - Access to secretsline 163
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 178
[Credential-related source omitted] - Access to secretsline 178
[Credential-related source omitted] - Access to secretsline 179
[Credential-related source omitted] - Access to secretsline 179
[Credential-related source omitted] - Access to secretsline 306
[Credential-related source omitted] - Access to secretsline 306
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/wechat-extend-config.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 353
[Credential-related source omitted] - Access to secretsline 353
[Credential-related source omitted] - Access to secretsline 359
[Credential-related source omitted] - Access to secretsline 359
[Credential-related source omitted] - Access to secretsline 360
[Credential-related source omitted] - Access to secretsline 360
[Credential-related source omitted] - Access to secretsline 380
[Credential-related source omitted] - Access to secretsline 380
[Credential-related source omitted] - Access to secretsline 381
[Credential-related source omitted] - Access to secretsline 381
[Credential-related source omitted] - Access to secretsline 382
[Credential-related source omitted] - Access to secretsline 382
[Credential-related source omitted] - Access to secretsline 387
[Credential-related source omitted] - Access to secretsline 387
[Credential-related source omitted] - Access to secretsline 388
[Credential-related source omitted] - Access to secretsline 388
[Credential-related source omitted] - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 389
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/wechat-http.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 35
throw new Error("Failed to start echo server"); } const baseUrl = `http://127.0.0.1:${address.port}`; - Network accessline 35
throw new Error("Failed to start echo server"); } const baseUrl = `http://127.0.0.1:${address.port}`; - Network accessline 37
const baseUrl = `http://127.0.0.1:${address.port}`; - Network accessline 37
const baseUrl = `http://127.0.0.1:${address.port}`; - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 127
[Credential-related source omitted] - Access to secretsline 127
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/wechat-http.ts
skills/baoyu-post-to-wechat/scripts/wechat-image-loader.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 33
if (imagePath.startsWith("http://") || imagePath.startsWith("https://")) { const response = await fetch(imagePath); - Network accessline 33
if (imagePath.startsWith("http://") || imagePath.startsWith("https://")) { const response = await fetch(imagePath); - Network accessline 34
const response = await fetch(imagePath); - Network accessline 34
const response = await fetch(imagePath);
skills/baoyu-post-to-wechat/scripts/wechat-image-processor.ts
skills/baoyu-post-to-wechat/scripts/wechat-remote-publish.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/wechat-remote-publish.ts
skills/baoyu-post-to-wechat/scripts/wechat-socks-http.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 36
await new Promise<void>((resolve) => server.close(() => resolve())); }); return { baseUrl: `http://127.0.0.1:${port}`, port, received }; - Network accessline 36
await new Promise<void>((resolve) => server.close(() => resolve())); }); return { baseUrl: `http://127.0.0.1:${port}`, port, received }; - Network accessline 37
}); return { baseUrl: `http://127.0.0.1:${port}`, port, received }; } - Network accessline 37
}); return { baseUrl: `http://127.0.0.1:${port}`, port, received }; } - Network accessline 38
return { baseUrl: `http://127.0.0.1:${port}`, port, received }; - Network accessline 38
return { baseUrl: `http://127.0.0.1:${port}`, port, received }; - Access to secretsline 179
[Credential-related source omitted] - Access to secretsline 179
[Credential-related source omitted]
skills/baoyu-post-to-wechat/scripts/wechat-socks-http.ts
skills/baoyu-post-to-weibo/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo - Network accessline 81
Long-form Markdown articles published at `https://card.weibo.com/article/v3/editor`. - Network accessline 81
Long-form Markdown articles published at `https://card.weibo.com/article/v3/editor`. - Network accessline 105
**Article Workflow**: 1. Opens `https://card.weibo.com/article/v3/editor` - Network accessline 105
**Article Workflow**: 1. Opens `https://card.weibo.com/article/v3/editor` - Network accessline 106
1. Opens `https://card.weibo.com/article/v3/editor` - Network accessline 106
1. Opens `https://card.weibo.com/article/v3/editor`
skills/baoyu-post-to-weibo/scripts/copy-to-clipboard.ts
skills/baoyu-post-to-weibo/scripts/md-to-html.ts
skills/baoyu-post-to-weibo/scripts/package.json
skills/baoyu-post-to-weibo/scripts/paste-from-clipboard.ts
skills/baoyu-post-to-weibo/scripts/weibo-article.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 19
const WEIBO_ARTICLE_URL = 'https://card.weibo.com/article/v3/editor'; - Network accessline 19
const WEIBO_ARTICLE_URL = 'https://card.weibo.com/article/v3/editor'; - Network accessline 812
const { count, firstSrc } = state.result.value; if (count > itemCountBefore.result.value && firstSrc.startsWith('https://')) { console.log(`[weibo-article] New image uploaded (${count} items, src: https://...)`); - Network accessline 812
const { count, firstSrc } = state.result.value; if (count > itemCountBefore.result.value && firstSrc.startsWith('https://')) { console.log(`[weibo-article] New image uploaded (${count} items, src: https://...)`); - Network accessline 813
if (count > itemCountBefore.result.value && firstSrc.startsWith('https://')) { console.log(`[weibo-article] New image uploaded (${count} items, src: https://...)`); uploadSuccess = true; - Network accessline 813
if (count > itemCountBefore.result.value && firstSrc.startsWith('https://')) { console.log(`[weibo-article] New image uploaded (${count} items, src: https://...)`); uploadSuccess = true; - Network accessline 814
console.log(`[weibo-article] New image uploaded (${count} items, src: https://...)`); - Network accessline 814
console.log(`[weibo-article] New image uploaded (${count} items, src: https://...)`);
skills/baoyu-post-to-weibo/scripts/weibo-post.ts
skills/baoyu-post-to-weibo/scripts/weibo-utils.ts
skills/baoyu-post-to-x/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-x - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-x - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-x requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-x requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-x - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-x - Network accessline 67
- Use the Chrome plugin's `browser.tabs.*`, `tab.playwright.*`, `tab.cua.*`, and file chooser APIs for X UI actions. - Shell commands are allowed for Markdown preprocessing and rich-HTML clipboard preparation. For X Article body images, do - Network accessline 67
- Use the Chrome plugin's `browser.tabs.*`, `tab.playwright.*`, `tab.cua.*`, and file chooser APIs for X UI actions. - Shell commands are allowed for Markdown preprocessing and rich-HTML clipboard preparation. For X Article body images, do - Network accessline 68
- Shell commands are allowed for Markdown preprocessing and rich-HTML clipboard preparation. For X Article body images, do not rely on image clipboard paste; use the editor's `Insert` -> `Media` upload flow. - If a file upload fails with `N - Network accessline 68
- Shell commands are allowed for Markdown preprocessing and rich-HTML clipboard preparation. For X Article body images, do not rely on image clipboard paste; use the editor's `Insert` -> `Media` upload flow. - If a file upload fails with `N - Network accessline 69
- If a file upload fails with `Not allowed`, tell the user: `To enable file upload, go to chrome://extensions in Chrome, click Details under the Codex extension, and enable "Allow access to file URLs." See https://developers.openai.com/code - Network accessline 69
- If a file upload fails with `Not allowed`, tell the user: `To enable file upload, go to chrome://extensions in Chrome, click Details under the Codex extension, and enable "Allow access to file URLs." See https://developers.openai.com/code - Network accessline 78
2. Read the JSON output for `title`, `coverImage`, and `contentImages` (`placeholder` → `localPath`). 3. Open or create the article draft at `https://x.com/compose/articles`. - Network accessline 78
2. Read the JSON output for `title`, `coverImage`, and `contentImages` (`placeholder` → `localPath`). 3. Open or create the article draft at `https://x.com/compose/articles`. - Network accessline 79
3. Open or create the article draft at `https://x.com/compose/articles`. - Network accessline 79
3. Open or create the article draft at `https://x.com/compose/articles`. - Network accessline 156
**Regular posts**: 1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 156
**Regular posts**: 1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 157
1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 157
1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 166
**Video posts**: 1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 166
**Video posts**: 1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 167
1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 167
1. Open or navigate Chrome to `https://x.com/compose/post`. - Network accessline 184
2. Read the JSON output for `title`, `coverImage`, and `contentImages` (`placeholder` → `localPath`). 3. In Chrome, open `https://x.com/compose/articles`, create or open the draft, upload the cover if present, and fill the title. - Network accessline 184
2. Read the JSON output for `title`, `coverImage`, and `contentImages` (`placeholder` → `localPath`). 3. In Chrome, open `https://x.com/compose/articles`, create or open the draft, upload the cover if present, and fill the title. - Network accessline 185
3. In Chrome, open `https://x.com/compose/articles`, create or open the draft, upload the cover if present, and fill the title. - Network accessline 185
3. In Chrome, open `https://x.com/compose/articles`, create or open the draft, upload the cover if present, and fill the title. - Network accessline 266
${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!" - Network accessline 266
${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"
skills/baoyu-post-to-x/references/articles.md
- Network accessline 99
[Link text](https://example.com) - Network accessline 99
[Link text](https://example.com) - Network accessline 174
3. **Parse Markdown**: run `md-to-html.ts --save-html /tmp/x-article-body.html > /tmp/x-article.json`. 4. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 5. **Open X Articles**: open or claim a Ch - Network accessline 174
3. **Parse Markdown**: run `md-to-html.ts --save-html /tmp/x-article-body.html > /tmp/x-article.json`. 4. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 5. **Open X Articles**: open or claim a Ch - Network accessline 175
4. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 5. **Open X Articles**: open or claim a Chrome tab for `https://x.com/compose/articles`. 6. **Create Draft**: click the create/write button if ne - Network accessline 175
4. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 5. **Open X Articles**: open or claim a Chrome tab for `https://x.com/compose/articles`. 6. **Create Draft**: click the create/write button if ne - Network accessline 176
5. **Open X Articles**: open or claim a Chrome tab for `https://x.com/compose/articles`. - Network accessline 176
5. **Open X Articles**: open or claim a Chrome tab for `https://x.com/compose/articles`. - Network accessline 203
2. **Parse Markdown**: run `md-to-html.ts --save-html /tmp/x-article-body.html > /tmp/x-article.json`. 3. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 4. **Open X Articles**: use Chrome Compute - Network accessline 203
2. **Parse Markdown**: run `md-to-html.ts --save-html /tmp/x-article-body.html > /tmp/x-article.json`. 3. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 4. **Open X Articles**: use Chrome Compute - Network accessline 204
3. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 4. **Open X Articles**: use Chrome Computer Use to navigate to `https://x.com/compose/articles`. 5. **Create Draft**: click the create/write butt - Network accessline 204
3. **Read the map**: use `/tmp/x-article.json` for `title`, `coverImage`, and `contentImages`. 4. **Open X Articles**: use Chrome Computer Use to navigate to `https://x.com/compose/articles`. 5. **Create Draft**: click the create/write butt - Network accessline 205
4. **Open X Articles**: use Chrome Computer Use to navigate to `https://x.com/compose/articles`. - Network accessline 205
4. **Open X Articles**: use Chrome Computer Use to navigate to `https://x.com/compose/articles`.
skills/baoyu-post-to-x/references/regular-posts.md
- Network accessline 41
1. Use `get_app_state` for `Google Chrome`. 2. Navigate Chrome to `https://x.com/compose/post` if needed. - Network accessline 41
1. Use `get_app_state` for `Google Chrome`. 2. Navigate Chrome to `https://x.com/compose/post` if needed. - Network accessline 42
2. Navigate Chrome to `https://x.com/compose/post` if needed. - Network accessline 42
2. Navigate Chrome to `https://x.com/compose/post` if needed.
skills/baoyu-post-to-x/scripts/check-paste-permissions.ts
skills/baoyu-post-to-x/scripts/copy-to-clipboard.ts
skills/baoyu-post-to-x/scripts/md-to-html.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 120
'参考 **[docs][d]** 了解更多。', '', '[d]: https://example.com', - Network accessline 120
'参考 **[docs][d]** 了解更多。', '', '[d]: https://example.com', - Network accessline 121
'', '[d]: https://example.com', ].join('\n'), - Network accessline 121
'', '[d]: https://example.com', ].join('\n'), - Network accessline 122
'[d]: https://example.com', - Network accessline 122
'[d]: https://example.com',
skills/baoyu-post-to-x/scripts/md-to-html.ts
skills/baoyu-post-to-x/scripts/package.json
skills/baoyu-post-to-x/scripts/paste-from-clipboard.ts
skills/baoyu-post-to-x/scripts/x-article.ts
skills/baoyu-post-to-x/scripts/x-browser.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 19
const X_COMPOSE_URL = 'https://x.com/compose/post'; - Network accessline 19
const X_COMPOSE_URL = 'https://x.com/compose/post'; - Access to secretsline 196
[Credential-related source omitted] - Access to secretsline 196
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted]
skills/baoyu-post-to-x/scripts/x-quote.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 218
Examples: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Great insight!" - Network accessline 218
Examples: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Great insight!" - Network accessline 219
npx -y bun x-quote.ts https://x.com/user/status/123456789 "Great insight!" - Network accessline 219
npx -y bun x-quote.ts https://x.com/user/status/123456789 "Great insight!" - Network accessline 220
npx -y bun x-quote.ts https://x.com/user/status/123456789 "I agree!" --submit - Network accessline 220
npx -y bun x-quote.ts https://x.com/user/status/123456789 "I agree!" --submit - Network accessline 250
if (!tweetUrl) { console.error('Error: Please provide a tweet URL.'); console.error('Example: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Your comment"'); - Network accessline 250
if (!tweetUrl) { console.error('Error: Please provide a tweet URL.'); console.error('Example: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Your comment"'); - Network accessline 251
console.error('Error: Please provide a tweet URL.'); console.error('Example: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Your comment"'); process.exit(1); - Network accessline 251
console.error('Error: Please provide a tweet URL.'); console.error('Example: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Your comment"'); process.exit(1); - Network accessline 252
console.error('Example: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Your comment"'); - Network accessline 252
console.error('Example: npx -y bun x-quote.ts https://x.com/user/status/123456789 "Your comment"');
skills/baoyu-post-to-x/scripts/x-utils.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted]
skills/baoyu-post-to-x/scripts/x-utils.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 25
const X_SESSION_URLS = ['https://x.com/', 'https://twitter.com/'] as const; - Network accessline 25
const X_SESSION_URLS = ['https://x.com/', 'https://twitter.com/'] as const; - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted]
skills/baoyu-post-to-x/scripts/x-video.ts
skills/baoyu-slide-deck/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-slide-deck - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-slide-deck - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-slide-deck requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-slide-deck requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-slide-deck - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-slide-deck
skills/baoyu-slide-deck/references/codex-imagegen.md
skills/baoyu-slide-deck/scripts/merge-to-pdf.ts
skills/baoyu-slide-deck/scripts/merge-to-pptx.ts
skills/baoyu-translate/SKILL.md
- Network accessline 10
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate - Network accessline 10
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate - Network accessline 11
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate requires: - Network accessline 11
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate requires: - Network accessline 12
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate - Network accessline 12
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-translate
skills/baoyu-translate/scripts/chunk.ts
skills/baoyu-translate/scripts/main.ts
skills/baoyu-translate/scripts/package.json
skills/baoyu-url-to-markdown/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-url-to-markdown - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-url-to-markdown - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-url-to-markdown requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-url-to-markdown requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-url-to-markdown - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-url-to-markdown
skills/baoyu-url-to-markdown/references/adapters.md
- Network accessline 47
1. Run the CLI **without** `--download-media` with `--output <path>` → markdown saved 2. Check the saved markdown for remote media URLs (`https://` in image/video links) - Network accessline 47
1. Run the CLI **without** `--download-media` with `--output <path>` → markdown saved 2. Check the saved markdown for remote media URLs (`https://` in image/video links) - Network accessline 48
2. Check the saved markdown for remote media URLs (`https://` in image/video links) - Network accessline 48
2. Check the saved markdown for remote media URLs (`https://` in image/video links)
skills/baoyu-url-to-markdown/scripts/baoyu-fetch
skills/baoyu-url-to-markdown/scripts/lib/adapters/generic/index.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/hn/index.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/index.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/types.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/article.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 252
return `> Embedded tweet: https://x.com/i/status/${tweetId}`; - Network accessline 252
return `> Embedded tweet: https://x.com/i/status/${tweetId}`; - Network accessline 454
authorName: xTweet.authorName ?? user.name, authorUsername: xTweet.author ?? user.screenName, authorUrl: (xTweet.author ?? user.screenName) ? `https://x.com/${xTweet.author ?? user.screenName}` : undefined, - Network accessline 454
authorName: xTweet.authorName ?? user.name, authorUsername: xTweet.author ?? user.screenName, authorUrl: (xTweet.author ?? user.screenName) ? `https://x.com/${xTweet.author ?? user.screenName}` : undefined, - Network accessline 455
authorUsername: xTweet.author ?? user.screenName, authorUrl: (xTweet.author ?? user.screenName) ? `https://x.com/${xTweet.author ?? user.screenName}` : undefined, ...getTweetAuthorMetadata(xTweet), - Network accessline 455
authorUsername: xTweet.author ?? user.screenName, authorUrl: (xTweet.author ?? user.screenName) ? `https://x.com/${xTweet.author ?? user.screenName}` : undefined, ...getTweetAuthorMetadata(xTweet), - Network accessline 456
authorUrl: (xTweet.author ?? user.screenName) ? `https://x.com/${xTweet.author ?? user.screenName}` : undefined, - Network accessline 456
authorUrl: (xTweet.author ?? user.screenName) ? `https://x.com/${xTweet.author ?? user.screenName}` : undefined,
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/index.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Access to secretsline 2
[Credential-related source omitted] - Access to secretsline 2
[Credential-related source omitted] - Network accessline 14
const cookieConfig: CookieSidecarConfig = { urls: ["https://x.com/", "https://twitter.com/"], - Network accessline 14
const cookieConfig: CookieSidecarConfig = { urls: ["https://x.com/", "https://twitter.com/"], - Network accessline 15
urls: ["https://x.com/", "https://twitter.com/"], - Network accessline 15
urls: ["https://x.com/", "https://twitter.com/"], - Access to secretsline 17
[Credential-related source omitted] - Access to secretsline 17
[Credential-related source omitted]
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/login.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/match.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/payloads.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/session.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 3
const X_SESSION_URLS = ["https://x.com/", "https://twitter.com/"] as const; - Network accessline 3
const X_SESSION_URLS = ["https://x.com/", "https://twitter.com/"] as const; - Access to secretsline 4
[Credential-related source omitted] - Access to secretsline 4
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted]
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/shared.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 323
const screenName = user.screenName ?? fallbackScreenName; if (screenName && id) { return `https://x.com/${screenName}/status/${id}`; - Network accessline 323
const screenName = user.screenName ?? fallbackScreenName; if (screenName && id) { return `https://x.com/${screenName}/status/${id}`; - Network accessline 324
if (screenName && id) { return `https://x.com/${screenName}/status/${id}`; } - Network accessline 324
if (screenName && id) { return `https://x.com/${screenName}/status/${id}`; } - Network accessline 325
return `https://x.com/${screenName}/status/${id}`; - Network accessline 325
return `https://x.com/${screenName}/status/${id}`; - Network accessline 406
authorName: tweet.authorName, authorUsername: tweet.author, authorUrl: tweet.author ? `https://x.com/${tweet.author}` : undefined, - Network accessline 406
authorName: tweet.authorName, authorUsername: tweet.author, authorUrl: tweet.author ? `https://x.com/${tweet.author}` : undefined, - Network accessline 407
authorUsername: tweet.author, authorUrl: tweet.author ? `https://x.com/${tweet.author}` : undefined, }; - Network accessline 407
authorUsername: tweet.author, authorUrl: tweet.author ? `https://x.com/${tweet.author}` : undefined, }; - Network accessline 408
authorUrl: tweet.author ? `https://x.com/${tweet.author}` : undefined, - Network accessline 408
authorUrl: tweet.author ? `https://x.com/${tweet.author}` : undefined,
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/single.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/thread-loader.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/thread.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/x/types.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/youtube/index.ts
skills/baoyu-url-to-markdown/scripts/lib/adapters/youtube/transcript.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 67
async function canFetchThumbnail(url: string): Promise<boolean> { try { const response = await fetch(url, { method: "HEAD", redirect: "follow" }); - Network accessline 67
async function canFetchThumbnail(url: string): Promise<boolean> { try { const response = await fetch(url, { method: "HEAD", redirect: "follow" }); - Network accessline 68
try { const response = await fetch(url, { method: "HEAD", redirect: "follow" }); if (response.ok) { - Network accessline 68
try { const response = await fetch(url, { method: "HEAD", redirect: "follow" }); if (response.ok) { - Network accessline 69
const response = await fetch(url, { method: "HEAD", redirect: "follow" }); - Network accessline 69
const response = await fetch(url, { method: "HEAD", redirect: "follow" }); - Network accessline 74
if (response.status === 405) { const fallbackResponse = await fetch(url, { - Network accessline 74
if (response.status === 405) { const fallbackResponse = await fetch(url, { - Network accessline 75
const fallbackResponse = await fetch(url, { - Network accessline 75
const fallbackResponse = await fetch(url, { - Network accessline 103
videoId: string, ): Promise<ExtractedDocument | null> { const videoUrl = `https://www.youtube.com/watch?v=${videoId}`; - Network accessline 103
videoId: string, ): Promise<ExtractedDocument | null> { const videoUrl = `https://www.youtube.com/watch?v=${videoId}`; - Network accessline 104
): Promise<ExtractedDocument | null> { const videoUrl = `https://www.youtube.com/watch?v=${videoId}`; await context.browser.goto(videoUrl, context.timeoutMs); - Network accessline 104
): Promise<ExtractedDocument | null> { const videoUrl = `https://www.youtube.com/watch?v=${videoId}`; await context.browser.goto(videoUrl, context.timeoutMs); - Network accessline 105
const videoUrl = `https://www.youtube.com/watch?v=${videoId}`; - Network accessline 105
const videoUrl = `https://www.youtube.com/watch?v=${videoId}`; - Access to secretsline 160
[Credential-related source omitted] - Access to secretsline 160
[Credential-related source omitted] - Network accessline 174
microformat.ownerProfileUrl || (typeof videoDetails.channelId === 'string' && videoDetails.channelId ? 'https://www.youtube.com/channel/' + videoDetails.channelId - Network accessline 174
microformat.ownerProfileUrl || (typeof videoDetails.channelId === 'string' && videoDetails.channelId ? 'https://www.youtube.com/channel/' + videoDetails.channelId - Network accessline 175
(typeof videoDetails.channelId === 'string' && videoDetails.channelId ? 'https://www.youtube.com/channel/' + videoDetails.channelId : undefined); - Network accessline 175
(typeof videoDetails.channelId === 'string' && videoDetails.channelId ? 'https://www.youtube.com/channel/' + videoDetails.channelId : undefined); - Network accessline 176
? 'https://www.youtube.com/channel/' + videoDetails.channelId - Network accessline 176
? 'https://www.youtube.com/channel/' + videoDetails.channelId - Access to secretsline 193
[Credential-related source omitted] - Access to secretsline 193
[Credential-related source omitted] - Network accessline 196
const response = await fetch('/youtubei/v1/player?key=' + apiKey + '&prettyPrint=false', { - Network accessline 196
const response = await fetch('/youtubei/v1/player?key=' + apiKey + '&prettyPrint=false', { - Network accessline 254
const segments = await context.browser.evaluate<YouTubeTranscriptSegment[] | { error: string }>(` (async () => { const response = await fetch(${JSON.stringify(captionInfo.captionUrl)}); - Network accessline 254
const segments = await context.browser.evaluate<YouTubeTranscriptSegment[] | { error: string }>(` (async () => { const response = await fetch(${JSON.stringify(captionInfo.captionUrl)}); - Network accessline 255
(async () => { const response = await fetch(${JSON.stringify(captionInfo.captionUrl)}); const xml = await response.text(); - Network accessline 255
(async () => { const response = await fetch(${JSON.stringify(captionInfo.captionUrl)}); const xml = await response.text(); - Network accessline 256
const response = await fetch(${JSON.stringify(captionInfo.captionUrl)}); - Network accessline 256
const response = await fetch(${JSON.stringify(captionInfo.captionUrl)});
skills/baoyu-url-to-markdown/scripts/lib/adapters/youtube/utils.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 233
export function buildYouTubeThumbnailCandidates(videoId: string, listedUrls: string[]): string[] { const candidates = [ ...YOUTUBE_THUMBNAIL_VARIANTS.map((variant) => `https://i.ytimg.com/vi/${videoId}/${variant}`), - Network accessline 233
export function buildYouTubeThumbnailCandidates(videoId: string, listedUrls: string[]): string[] { const candidates = [ ...YOUTUBE_THUMBNAIL_VARIANTS.map((variant) => `https://i.ytimg.com/vi/${videoId}/${variant}`), - Network accessline 234
const candidates = [ ...YOUTUBE_THUMBNAIL_VARIANTS.map((variant) => `https://i.ytimg.com/vi/${videoId}/${variant}`), ...listedUrls, - Network accessline 234
const candidates = [ ...YOUTUBE_THUMBNAIL_VARIANTS.map((variant) => `https://i.ytimg.com/vi/${videoId}/${variant}`), ...listedUrls, - Network accessline 235
...YOUTUBE_THUMBNAIL_VARIANTS.map((variant) => `https://i.ytimg.com/vi/${videoId}/${variant}`), - Network accessline 235
...YOUTUBE_THUMBNAIL_VARIANTS.map((variant) => `https://i.ytimg.com/vi/${videoId}/${variant}`),
skills/baoyu-url-to-markdown/scripts/lib/browser/cdp-client.ts
skills/baoyu-url-to-markdown/scripts/lib/browser/chrome-launcher.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 36
async function fetchJson<T>(url: string): Promise<T> { const response = await fetch(url); - Network accessline 36
async function fetchJson<T>(url: string): Promise<T> { const response = await fetch(url); - Network accessline 37
const response = await fetch(url); - Network accessline 37
const response = await fetch(url); - Network accessline 64
const origin = `http://127.0.0.1:${port}`; - Network accessline 64
const origin = `http://127.0.0.1:${port}`; - Network accessline 100
const origin = `http://127.0.0.1:${launchedChrome.port}`; - Network accessline 100
const origin = `http://127.0.0.1:${launchedChrome.port}`; - Network accessline 121
async function gracefulCloseChrome(chrome: LaunchedChrome, origin: string): Promise<void> { try { const resp = await fetch(`${origin}/json/version`); - Network accessline 121
async function gracefulCloseChrome(chrome: LaunchedChrome, origin: string): Promise<void> { try { const resp = await fetch(`${origin}/json/version`); - Network accessline 122
try { const resp = await fetch(`${origin}/json/version`); const { webSocketDebuggerUrl } = (await resp.json()) as ChromeVersionResponse; - Network accessline 122
try { const resp = await fetch(`${origin}/json/version`); const { webSocketDebuggerUrl } = (await resp.json()) as ChromeVersionResponse; - Network accessline 123
const resp = await fetch(`${origin}/json/version`); - Network accessline 123
const resp = await fetch(`${origin}/json/version`);
skills/baoyu-url-to-markdown/scripts/lib/browser/cookie-sidecar.ts
skills/baoyu-url-to-markdown/scripts/lib/browser/interaction-gates.ts
skills/baoyu-url-to-markdown/scripts/lib/browser/network-journal.ts
skills/baoyu-url-to-markdown/scripts/lib/browser/page-snapshot.ts
skills/baoyu-url-to-markdown/scripts/lib/browser/profile.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 119
const timer = setTimeout(() => controller.abort(), timeoutMs); try { return await fetch(url, { - Network accessline 119
const timer = setTimeout(() => controller.abort(), timeoutMs); try { return await fetch(url, { - Network accessline 120
try { return await fetch(url, { redirect: "follow", - Network accessline 120
try { return await fetch(url, { redirect: "follow", - Network accessline 121
return await fetch(url, { - Network accessline 121
return await fetch(url, { - Network accessline 138
async function isDebugPortReady(port: number, timeoutMs = 3_000): Promise<boolean> { try { const version = await fetchJson<ChromeVersionResponse>(`http://127.0.0.1:${port}/json/version`, timeoutMs); - Network accessline 138
async function isDebugPortReady(port: number, timeoutMs = 3_000): Promise<boolean> { try { const version = await fetchJson<ChromeVersionResponse>(`http://127.0.0.1:${port}/json/version`, timeoutMs); - Network accessline 139
try { const version = await fetchJson<ChromeVersionResponse>(`http://127.0.0.1:${port}/json/version`, timeoutMs); return Boolean(version.webSocketDebuggerUrl); - Network accessline 139
try { const version = await fetchJson<ChromeVersionResponse>(`http://127.0.0.1:${port}/json/version`, timeoutMs); return Boolean(version.webSocketDebuggerUrl); - Network accessline 140
const version = await fetchJson<ChromeVersionResponse>(`http://127.0.0.1:${port}/json/version`, timeoutMs); - Network accessline 140
const version = await fetchJson<ChromeVersionResponse>(`http://127.0.0.1:${port}/json/version`, timeoutMs);
skills/baoyu-url-to-markdown/scripts/lib/browser/session.ts
skills/baoyu-url-to-markdown/scripts/lib/cli.ts
- Executable scriptline 1
#!/usr/bin/env bun - Executable scriptline 1
#!/usr/bin/env bun - Network accessline 47
Examples: baoyu-fetch https://example.com - Network accessline 47
Examples: baoyu-fetch https://example.com - Network accessline 48
baoyu-fetch https://example.com - Network accessline 48
baoyu-fetch https://example.com - Network accessline 49
baoyu-fetch https://example.com --format markdown --output article.md --download-media - Network accessline 49
baoyu-fetch https://example.com --format markdown --output article.md --download-media - Network accessline 50
baoyu-fetch https://example.com --format json --output article.json - Network accessline 50
baoyu-fetch https://example.com --format json --output article.json - Network accessline 51
baoyu-fetch https://x.com/lennysan/status/2036483059407810640 --wait-for interaction - Network accessline 51
baoyu-fetch https://x.com/lennysan/status/2036483059407810640 --wait-for interaction - Network accessline 52
baoyu-fetch https://x.com/lennysan/status/2036483059407810640 --wait-for force - Network accessline 52
baoyu-fetch https://x.com/lennysan/status/2036483059407810640 --wait-for force
skills/baoyu-url-to-markdown/scripts/lib/commands/convert.ts
skills/baoyu-url-to-markdown/scripts/lib/extract/document.ts
skills/baoyu-url-to-markdown/scripts/lib/extract/html-cleaner.ts
skills/baoyu-url-to-markdown/scripts/lib/extract/html-extractor.ts
skills/baoyu-url-to-markdown/scripts/lib/extract/html-to-markdown.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 40
const MIN_CONTENT_LENGTH = 120; const DEFUDDLE_API_ORIGIN = "https://defuddle.md"; - Network accessline 40
const MIN_CONTENT_LENGTH = 120; const DEFUDDLE_API_ORIGIN = "https://defuddle.md"; - Network accessline 41
const DEFUDDLE_API_ORIGIN = "https://defuddle.md"; - Network accessline 41
const DEFUDDLE_API_ORIGIN = "https://defuddle.md"; - Network accessline 204
targetUrl: string, ): Promise<{ markdown: string; title?: string }> { const response = await fetch(buildDefuddleApiUrl(targetUrl), { - Network accessline 204
targetUrl: string, ): Promise<{ markdown: string; title?: string }> { const response = await fetch(buildDefuddleApiUrl(targetUrl), { - Network accessline 205
): Promise<{ markdown: string; title?: string }> { const response = await fetch(buildDefuddleApiUrl(targetUrl), { headers: { - Network accessline 205
): Promise<{ markdown: string; title?: string }> { const response = await fetch(buildDefuddleApiUrl(targetUrl), { headers: { - Network accessline 206
const response = await fetch(buildDefuddleApiUrl(targetUrl), { - Network accessline 206
const response = await fetch(buildDefuddleApiUrl(targetUrl), {
skills/baoyu-url-to-markdown/scripts/lib/extract/markdown-renderer.ts
skills/baoyu-url-to-markdown/scripts/lib/media/default-downloader.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 95
bytes = parsed.bytes; } else { const response = await fetch(sourceUrl, { - Network accessline 95
bytes = parsed.bytes; } else { const response = await fetch(sourceUrl, { - Network accessline 96
} else { const response = await fetch(sourceUrl, { method: "GET", - Network accessline 96
} else { const response = await fetch(sourceUrl, { method: "GET", - Network accessline 97
const response = await fetch(sourceUrl, { - Network accessline 97
const response = await fetch(sourceUrl, {
skills/baoyu-url-to-markdown/scripts/lib/media/markdown-media.ts
skills/baoyu-url-to-markdown/scripts/lib/media/media-utils.ts
skills/baoyu-url-to-markdown/scripts/lib/media/types.ts
skills/baoyu-url-to-markdown/scripts/lib/types/defuddle-node.d.ts
skills/baoyu-url-to-markdown/scripts/lib/types/shims.d.ts
skills/baoyu-url-to-markdown/scripts/lib/utils/logger.ts
skills/baoyu-url-to-markdown/scripts/lib/utils/url.ts
skills/baoyu-url-to-markdown/scripts/package.json
skills/baoyu-wechat-summary/SKILL.md
- Network accessline 1
--- name: baoyu-wechat-summary description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is - Network accessline 1
--- name: baoyu-wechat-summary description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is - Network accessline 2
name: baoyu-wechat-summary description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt- - Network accessline 2
name: baoyu-wechat-summary description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt- - Network accessline 3
description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt-in. Maintains per-group his - Network accessline 3
description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt-in. Maintains per-group his - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary - Network accessline 15
群聊精华提取专家。把零散的微信群聊记录提炼成结构化、可读性强的简报,并维护跨次运行的群聊历史与群友画像。底层依赖外部 [wx-cli](https://github.com/jackwener/wx-cli) 二进制(`wx` 命令),不打包脚本。 - Network accessline 15
群聊精华提取专家。把零散的微信群聊记录提炼成结构化、可读性强的简报,并维护跨次运行的群聊历史与群友画像。底层依赖外部 [wx-cli](https://github.com/jackwener/wx-cli) 二进制(`wx` 命令),不打包脚本。 - Dangerous shell operationline 497
- **wx-cli reinit**. If `wx history` suddenly returns nothing after a WeChat restart, the keys may be stale. Tell the user to run `sudo wx init --force` (while WeChat is running) and retry. - Dangerous shell operationline 497
- **wx-cli reinit**. If `wx history` suddenly returns nothing after a WeChat restart, the keys may be stale. Tell the user to run `sudo wx init --force` (while WeChat is running) and retry.
skills/baoyu-wechat-summary/references/output-formats.md
- Network accessline 64
蛙总下午把 4.7 装上后第一反应是「比 4.6 慢一倍」,老王跟着复现,怀疑是 Opus 默认配置导致。阿喵贴了官方文档 https://docs.claude.com/.../opus-4-7 ,提到可以切回 Sonnet 4.6 跑速测,三人最终结论:复杂任务 4.7 强,日常用 4.6 更顺手。 - Network accessline 64
蛙总下午把 4.7 装上后第一反应是「比 4.6 慢一倍」,老王跟着复现,怀疑是 Opus 默认配置导致。阿喵贴了官方文档 https://docs.claude.com/.../opus-4-7 ,提到可以切回 Sonnet 4.6 跑速测,三人最终结论:复杂任务 4.7 强,日常用 4.6 更顺手。 - Network accessline 205
- **Plain language.** Preserve vivid expressions and idiosyncratic phrasings — that's what makes the speaker recognizable. - **Keep real names.** Both for traceability and so the digest is useful as memory. - **Tool, product, URL names comp - Network accessline 205
- **Plain language.** Preserve vivid expressions and idiosyncratic phrasings — that's what makes the speaker recognizable. - **Keep real names.** Both for traceability and so the digest is useful as memory. - **Tool, product, URL names comp - Network accessline 206
- **Keep real names.** Both for traceability and so the digest is useful as memory. - **Tool, product, URL names complete.** `Claude Code 4.7`, not `CC`. `https://github.com/...`, not `GitHub 上那个项目`. - **Merge, don't list.** A 30-message de - Network accessline 206
- **Keep real names.** Both for traceability and so the digest is useful as memory. - **Tool, product, URL names complete.** `Claude Code 4.7`, not `CC`. `https://github.com/...`, not `GitHub 上那个项目`. - **Merge, don't list.** A 30-message de - Network accessline 207
- **Tool, product, URL names complete.** `Claude Code 4.7`, not `CC`. `https://github.com/...`, not `GitHub 上那个项目`. - Network accessline 207
- **Tool, product, URL names complete.** `Claude Code 4.7`, not `CC`. `https://github.com/...`, not `GitHub 上那个项目`.
skills/baoyu-wechat-summary/references/setup.md
- Network accessline 9
1. **wx-cli installed** — run `wx --version`. If missing, tell the user to install it themselves (`npm install -g @jackwener/wx-cli` or use one of the alternatives at https://github.com/jackwener/wx-cli). **Do NOT auto-install** — this repo - Network accessline 9
1. **wx-cli installed** — run `wx --version`. If missing, tell the user to install it themselves (`npm install -g @jackwener/wx-cli` or use one of the alternatives at https://github.com/jackwener/wx-cli). **Do NOT auto-install** — this repo - Dangerous shell operationline 10
2. **`~/.wx-cli` directory owned by the current user** — `sudo wx init` historically chowned this directory to root, which breaks every subsequent non-sudo `wx` call. Check: - Dangerous shell operationline 10
2. **`~/.wx-cli` directory owned by the current user** — `sudo wx init` historically chowned this directory to root, which breaks every subsequent non-sudo `wx` call. Check: - Dangerous shell operationline 16
sudo chown -R $(whoami) ~/.wx-cli - Dangerous shell operationline 16
sudo chown -R $(whoami) ~/.wx-cli - Dangerous shell operationline 17
sudo rm -f ~/.wx-cli/daemon.pid ~/.wx-cli/daemon.sock - Dangerous shell operationline 17
sudo rm -f ~/.wx-cli/daemon.pid ~/.wx-cli/daemon.sock - Dangerous shell operationline 21
3. **wx-cli initialized** — `wx sessions` should return data. If it fails with "no keys" / "init required", instruct the user to run `wx init` while WeChat is running (on macOS, `codesign --force --deep --sign - /Applications/WeChat.app` fi - Dangerous shell operationline 21
3. **wx-cli initialized** — `wx sessions` should return data. If it fails with "no keys" / "init required", instruct the user to run `wx init` while WeChat is running (on macOS, `codesign --force --deep --sign - /Applications/WeChat.app` fi - Dangerous shell operationline 45
| `无法写入 /Users/<u>/.wx-cli` / `Permission denied` | `~/.wx-cli` is owned by root (legacy `sudo wx init`) | `sudo chown -R $(whoami) ~/.wx-cli && sudo rm -f ~/.wx-cli/daemon.{pid,sock} && wx daemon start` | - Dangerous shell operationline 45
| `无法写入 /Users/<u>/.wx-cli` / `Permission denied` | `~/.wx-cli` is owned by root (legacy `sudo wx init`) | `sudo chown -R $(whoami) ~/.wx-cli && sudo rm -f ~/.wx-cli/daemon.{pid,sock} && wx daemon start` | - Dangerous shell operationline 46
| `wx history` hangs / times out / returns nothing | Daemon is stuck | `wx daemon stop && rm -f ~/.wx-cli/daemon.{pid,sock} && wx daemon start`, then retry | - Dangerous shell operationline 46
| `wx history` hangs / times out / returns nothing | Daemon is stuck | `wx daemon stop && rm -f ~/.wx-cli/daemon.{pid,sock} && wx daemon start`, then retry | - Dangerous shell operationline 47
| `no keys` / `init required` after the daemon was working | Keys went stale (WeChat restart, version upgrade) | Make sure WeChat is running, then `wx init --force` (non-sudo first; only `sudo` if your wx-cli version requires it) | - Dangerous shell operationline 47
| `no keys` / `init required` after the daemon was working | Keys went stale (WeChat restart, version upgrade) | Make sure WeChat is running, then `wx init --force` (non-sudo first; only `sudo` if your wx-cli version requires it) |
skills/baoyu-xhs-images/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images --- - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images --- - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images
skills/baoyu-xhs-images/references/codex-imagegen.md
skills/baoyu-youtube-transcript/SKILL.md
- Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-youtube-transcript - Network accessline 5
metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-youtube-transcript - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-youtube-transcript requires: - Network accessline 6
openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-youtube-transcript requires: - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-youtube-transcript - Network accessline 7
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-youtube-transcript - Network accessline 55
# Force re-fetch (ignore cache) - Network accessline 55
# Force re-fetch (ignore cache) - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 82
[Credential-related source omitted] - Network accessline 86
Accepts any of these as video input: - Full URL: `https://www.youtube.com/watch?v=dQw4w9WgXcQ` - Network accessline 86
Accepts any of these as video input: - Full URL: `https://www.youtube.com/watch?v=dQw4w9WgXcQ` - Network accessline 87
- Full URL: `https://www.youtube.com/watch?v=dQw4w9WgXcQ` - Network accessline 87
- Full URL: `https://www.youtube.com/watch?v=dQw4w9WgXcQ` - Network accessline 88
- Short URL: `https://youtu.be/dQw4w9WgXcQ` - Network accessline 88
- Short URL: `https://youtu.be/dQw4w9WgXcQ` - Network accessline 89
- Embed URL: `https://www.youtube.com/embed/dQw4w9WgXcQ` - Network accessline 89
- Embed URL: `https://www.youtube.com/embed/dQw4w9WgXcQ` - Network accessline 90
- Shorts URL: `https://www.youtube.com/shorts/dQw4w9WgXcQ` - Network accessline 90
- Shorts URL: `https://www.youtube.com/shorts/dQw4w9WgXcQ` - Network accessline 138
1. Run with `--list` first if the user hasn't specified a language, to show available options 2. **Always single-quote the URL** when running the script — zsh treats `?` as a glob wildcard, so an unquoted YouTube URL causes "no matches foun - Network accessline 138
1. Run with `--list` first if the user hasn't specified a language, to show available options 2. **Always single-quote the URL** when running the script — zsh treats `?` as a glob wildcard, so an unquoted YouTube URL causes "no matches foun - Network accessline 139
2. **Always single-quote the URL** when running the script — zsh treats `?` as a glob wildcard, so an unquoted YouTube URL causes "no matches found": use `'https://www.youtube.com/watch?v=ID'` - Network accessline 139
2. **Always single-quote the URL** when running the script — zsh treats `?` as a glob wildcard, so an unquoted YouTube URL causes "no matches found": use `'https://www.youtube.com/watch?v=ID'`
skills/baoyu-youtube-transcript/prompts/speaker-transcript.md
- Network accessline 81
channel: "The Show" date: 2024-04-15 url: "https://www.youtube.com/watch?v=xxx" - Network accessline 81
channel: "The Show" date: 2024-04-15 url: "https://www.youtube.com/watch?v=xxx" - Network accessline 82
date: 2024-04-15 url: "https://www.youtube.com/watch?v=xxx" cover: imgs/cover.jpg - Network accessline 82
date: 2024-04-15 url: "https://www.youtube.com/watch?v=xxx" cover: imgs/cover.jpg - Network accessline 83
url: "https://www.youtube.com/watch?v=xxx" - Network accessline 83
url: "https://www.youtube.com/watch?v=xxx"
skills/baoyu-youtube-transcript/scripts/main.test.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 7
test("selectYtDlpTrack prefers json3 over xml and vtt", () => { const track = selectYtDlpTrack([ { ext: "vtt", url: "https://example.com/subs.vtt" }, - Network accessline 7
test("selectYtDlpTrack prefers json3 over xml and vtt", () => { const track = selectYtDlpTrack([ { ext: "vtt", url: "https://example.com/subs.vtt" }, - Network accessline 8
const track = selectYtDlpTrack([ { ext: "vtt", url: "https://example.com/subs.vtt" }, { ext: "srv3", url: "https://example.com/subs.srv3" }, - Network accessline 8
const track = selectYtDlpTrack([ { ext: "vtt", url: "https://example.com/subs.vtt" }, { ext: "srv3", url: "https://example.com/subs.srv3" }, - Network accessline 9
{ ext: "vtt", url: "https://example.com/subs.vtt" }, - Network accessline 9
{ ext: "vtt", url: "https://example.com/subs.vtt" }, - Network accessline 10
{ ext: "srv3", url: "https://example.com/subs.srv3" }, - Network accessline 10
{ ext: "srv3", url: "https://example.com/subs.srv3" }, - Network accessline 11
{ ext: "json3", url: "https://example.com/subs.json3" }, - Network accessline 11
{ ext: "json3", url: "https://example.com/subs.json3" }, - Network accessline 19
subtitles: { en: [ { ext: "json3", url: "https://example.com/en.json3", name: "English" }, - Network accessline 19
subtitles: { en: [ { ext: "json3", url: "https://example.com/en.json3", name: "English" }, - Network accessline 20
en: [ { ext: "json3", url: "https://example.com/en.json3", name: "English" }, ], - Network accessline 20
en: [ { ext: "json3", url: "https://example.com/en.json3", name: "English" }, ], - Network accessline 21
{ ext: "json3", url: "https://example.com/en.json3", name: "English" }, - Network accessline 21
{ ext: "json3", url: "https://example.com/en.json3", name: "English" }, - Network accessline 24
automatic_captions: { "zh-Hans": [ { ext: "json3", url: "https://example.com/zh.json3", name: "Chinese (Simplified)" }, - Network accessline 24
automatic_captions: { "zh-Hans": [ { ext: "json3", url: "https://example.com/zh.json3", name: "Chinese (Simplified)" }, - Network accessline 25
"zh-Hans": [ { ext: "json3", url: "https://example.com/zh.json3", name: "Chinese (Simplified)" }, ], - Network accessline 25
"zh-Hans": [ { ext: "json3", url: "https://example.com/zh.json3", name: "Chinese (Simplified)" }, ], - Network accessline 26
{ ext: "json3", url: "https://example.com/zh.json3", name: "Chinese (Simplified)" }, - Network accessline 26
{ ext: "json3", url: "https://example.com/zh.json3", name: "Chinese (Simplified)" }, - Network accessline 89
return { subtitles: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English" }], - Network accessline 89
return { subtitles: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English" }], - Network accessline 90
subtitles: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English" }], }, - Network accessline 90
subtitles: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English" }], }, - Network accessline 91
en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English" }], - Network accessline 91
en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English" }], - Network accessline 113
return { automatic_captions: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English (auto-generated)" }], - Network accessline 113
return { automatic_captions: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English (auto-generated)" }], - Network accessline 114
automatic_captions: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English (auto-generated)" }], }, - Network accessline 114
automatic_captions: { en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English (auto-generated)" }], }, - Network accessline 115
en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English (auto-generated)" }], - Network accessline 115
en: [{ ext: "json3", url: "https://example.com/en.json3", name: "English (auto-generated)" }], - Network accessline 138
isGenerated: false, isTranslatable: false, baseUrl: "https://www.youtube.com/api/timedtext?v=video12345ab&lang=en&fmt=json3", - Network accessline 138
isGenerated: false, isTranslatable: false, baseUrl: "https://www.youtube.com/api/timedtext?v=video12345ab&lang=en&fmt=json3", - Network accessline 139
isTranslatable: false, baseUrl: "https://www.youtube.com/api/timedtext?v=video12345ab&lang=en&fmt=json3", translationLanguages: [], - Network accessline 139
isTranslatable: false, baseUrl: "https://www.youtube.com/api/timedtext?v=video12345ab&lang=en&fmt=json3", translationLanguages: [], - Network accessline 140
baseUrl: "https://www.youtube.com/api/timedtext?v=video12345ab&lang=en&fmt=json3", - Network accessline 140
baseUrl: "https://www.youtube.com/api/timedtext?v=video12345ab&lang=en&fmt=json3", - Network accessline 168
isGenerated: false, isTranslatable: false, baseUrl: "https://example.com/subtitles.en.json3", - Network accessline 168
isGenerated: false, isTranslatable: false, baseUrl: "https://example.com/subtitles.en.json3", - Network accessline 169
isTranslatable: false, baseUrl: "https://example.com/subtitles.en.json3", translationLanguages: [], - Network accessline 169
isTranslatable: false, baseUrl: "https://example.com/subtitles.en.json3", translationLanguages: [], - Network accessline 170
baseUrl: "https://example.com/subtitles.en.json3", - Network accessline 170
baseUrl: "https://example.com/subtitles.en.json3",
skills/baoyu-youtube-transcript/scripts/main.ts
- Executable scriptline 1
#!/usr/bin/env bun - Executable scriptline 1
#!/usr/bin/env bun - Network accessline 154
--exclude-generated Skip auto-generated transcripts --exclude-manually-created Skip manually created transcripts --refresh Force re-fetch (ignore cache) - Network accessline 154
--exclude-generated Skip auto-generated transcripts --exclude-manually-created Skip manually created transcripts --refresh Force re-fetch (ignore cache) - Network accessline 155
--exclude-manually-created Skip manually created transcripts --refresh Force re-fetch (ignore cache) -o, --output <path> Save to specific file path - Network accessline 155
--exclude-manually-created Skip manually created transcripts --refresh Force re-fetch (ignore cache) -o, --output <path> Save to specific file path - Network accessline 156
--refresh Force re-fetch (ignore cache) - Network accessline 156
--refresh Force re-fetch (ignore cache)
skills/baoyu-youtube-transcript/scripts/shared.ts
skills/baoyu-youtube-transcript/scripts/storage.ts
skills/baoyu-youtube-transcript/scripts/transcript.ts
skills/baoyu-youtube-transcript/scripts/types.ts
skills/baoyu-youtube-transcript/scripts/youtube.ts
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 20
const WATCH_URL = "https://www.youtube.com/watch?v="; - Network accessline 20
const WATCH_URL = "https://www.youtube.com/watch?v="; - Network accessline 21
const INNERTUBE_URL = "https://www.youtube.com/youtubei/v1/player"; - Network accessline 21
const INNERTUBE_URL = "https://www.youtube.com/youtubei/v1/player"; - Network accessline 75
"User-Agent": WATCH_PAGE_USER_AGENT, }; const response = await fetch(watchUrl, { headers: baseHeaders }); - Network accessline 75
"User-Agent": WATCH_PAGE_USER_AGENT, }; const response = await fetch(watchUrl, { headers: baseHeaders }); - Network accessline 76
}; const response = await fetch(watchUrl, { headers: baseHeaders }); if (!response.ok) throw new Error(`HTTP ${response.status} fetching video page`); - Network accessline 76
}; const response = await fetch(watchUrl, { headers: baseHeaders }); if (!response.ok) throw new Error(`HTTP ${response.status} fetching video page`); - Network accessline 77
const response = await fetch(watchUrl, { headers: baseHeaders }); - Network accessline 77
const response = await fetch(watchUrl, { headers: baseHeaders }); - Network accessline 78
if (!response.ok) throw new Error(`HTTP ${response.status} fetching video page`); let html = await response.text(); if (html.includes('action="https://consent.youtube.com/s"')) { - Network accessline 78
if (!response.ok) throw new Error(`HTTP ${response.status} fetching video page`); let html = await response.text(); if (html.includes('action="https://consent.youtube.com/s"')) { - Network accessline 79
let html = await response.text(); if (html.includes('action="https://consent.youtube.com/s"')) { const consentValue = html.match(/name="v" value="(.*?)"/); - Network accessline 79
let html = await response.text(); if (html.includes('action="https://consent.youtube.com/s"')) { const consentValue = html.match(/name="v" value="(.*?)"/); - Network accessline 80
if (html.includes('action="https://consent.youtube.com/s"')) { - Network accessline 80
if (html.includes('action="https://consent.youtube.com/s"')) { - Network accessline 81
const consentValue = html.match(/name="v" value="(.*?)"/); if (!consentValue) throw new Error("Failed to create consent cookie"); const consentResponse = await fetch(watchUrl, { - Network accessline 81
const consentValue = html.match(/name="v" value="(.*?)"/); if (!consentValue) throw new Error("Failed to create consent cookie"); const consentResponse = await fetch(watchUrl, { - Network accessline 82
if (!consentValue) throw new Error("Failed to create consent cookie"); const consentResponse = await fetch(watchUrl, { headers: { - Network accessline 82
if (!consentValue) throw new Error("Failed to create consent cookie"); const consentResponse = await fetch(watchUrl, { headers: { - Network accessline 83
const consentResponse = await fetch(watchUrl, { - Network accessline 83
const consentResponse = await fetch(watchUrl, { - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Network accessline 134
"Accept-Language": "en-US,en;q=0.9", "Content-Type": "application/json", Origin: "https://www.youtube.com", - Network accessline 134
"Accept-Language": "en-US,en;q=0.9", "Content-Type": "application/json", Origin: "https://www.youtube.com", - Network accessline 135
"Content-Type": "application/json", Origin: "https://www.youtube.com", Referer: `${WATCH_URL}${videoId}`, - Network accessline 135
"Content-Type": "application/json", Origin: "https://www.youtube.com", Referer: `${WATCH_URL}${videoId}`, - Network accessline 136
Origin: "https://www.youtube.com", - Network accessline 136
Origin: "https://www.youtube.com", - Network accessline 141
}; if (session.visitorData) headers["X-Goog-Visitor-Id"] = session.visitorData; const response = await fetch(`${INNERTUBE_URL}?key=${session.apiKey}&prettyPrint=false`, { - Network accessline 141
}; if (session.visitorData) headers["X-Goog-Visitor-Id"] = session.visitorData; const response = await fetch(`${INNERTUBE_URL}?key=${session.apiKey}&prettyPrint=false`, { - Network accessline 142
if (session.visitorData) headers["X-Goog-Visitor-Id"] = session.visitorData; const response = await fetch(`${INNERTUBE_URL}?key=${session.apiKey}&prettyPrint=false`, { method: "POST", - Network accessline 142
if (session.visitorData) headers["X-Goog-Visitor-Id"] = session.visitorData; const response = await fetch(`${INNERTUBE_URL}?key=${session.apiKey}&prettyPrint=false`, { method: "POST", - Network accessline 143
const response = await fetch(`${INNERTUBE_URL}?key=${session.apiKey}&prettyPrint=false`, { - Network accessline 143
const response = await fetch(`${INNERTUBE_URL}?key=${session.apiKey}&prettyPrint=false`, { - Network accessline 207
languageCode = translateTo; } const response = await fetch(url, { - Network accessline 207
languageCode = translateTo; } const response = await fetch(url, { - Network accessline 208
} const response = await fetch(url, { headers: { - Network accessline 208
} const response = await fetch(url, { headers: { - Network accessline 209
const response = await fetch(url, { - Network accessline 209
const response = await fetch(url, { - Access to secretsline 377
[Credential-related source omitted] - Access to secretsline 377
[Credential-related source omitted] - Access to secretsline 378
[Credential-related source omitted] - Access to secretsline 378
[Credential-related source omitted] - Network accessline 457
export function getThumbnailUrls(videoId: string, data: any): string[] { const urls = [ `https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`, - Network accessline 457
export function getThumbnailUrls(videoId: string, data: any): string[] { const urls = [ `https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`, - Network accessline 458
const urls = [ `https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`, `https://i.ytimg.com/vi/${videoId}/hqdefault.jpg`, - Network accessline 458
const urls = [ `https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`, `https://i.ytimg.com/vi/${videoId}/hqdefault.jpg`, - Network accessline 459
`https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`, - Network accessline 459
`https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`, - Network accessline 460
`https://i.ytimg.com/vi/${videoId}/hqdefault.jpg`, - Network accessline 460
`https://i.ytimg.com/vi/${videoId}/hqdefault.jpg`, - Network accessline 527
for (const url of urls) { try { const response = await fetch(url); - Network accessline 527
for (const url of urls) { try { const response = await fetch(url); - Network accessline 528
try { const response = await fetch(url); if (response.ok) { - Network accessline 528
try { const response = await fetch(url); if (response.ok) { - Network accessline 529
const response = await fetch(url); - Network accessline 529
const response = await fetch(url);
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 8 facts
- Contacts lh3.googleusercontent.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/client.ts:40High confidence
- Contacts www.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/constants.ts:2High confidence
- Contacts gemini.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/constants.ts:3High confidence
- Contacts accounts.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/constants.ts:6High confidence
- Contacts gemini.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/types/image.ts:38High confidence
- Contacts gemini.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/utils/load-browser-cookies.ts:23High confidence
- Contacts accounts.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/utils/load-browser-cookies.ts:152High confidence
- Contacts www.google.com, which SKILL.md, the README and the plugin manifest do not mentionbaoyu-danger-gemini-web/scripts/gemini-webapi/utils/load-browser-cookies.ts:152High confidence
Signal confidence: 492 facts
- Executable script in code of another filescripts/build-shared-package.mjs:1Low confidence
- Executable script in code of another filescripts/install-git-hooks.mjs:1Low confidence
- Executable script in code of another filescripts/lib/release-files.mjs:1Low confidence
- Executable script in code of a testscripts/lib/release-files.test.ts:1Low confidence
- Executable script in code of another filescripts/lib/skill-release-guard.mjs:1Low confidence
- Executable script in code of a testscripts/lib/skill-release-guard.test.ts:1Low confidence
- Executable script in code of another filescripts/publish-skill.mjs:1Low confidence
- Network access in code of another filescripts/publish-skill.mjs:15Low confidence
- Network access in code of another filescripts/publish-skill.mjs:232Low confidence
- Network access in code of another filescripts/publish-skill.mjs:250Low confidence
- Network access in code of another filescripts/publish-skill.mjs:251Low confidence
- Executable script in code of another filescripts/run-node-tests.mjs:1Low confidence
- Executable script in code of another filescripts/sync-clawhub.mjs:1Low confidence
- Network access in code of another filescripts/sync-clawhub.mjs:17Low confidence
- Network access in code of another filescripts/sync-clawhub.mjs:374Low confidence
- Network access in code of another filescripts/sync-clawhub.mjs:400Low confidence
- Network access in code of another filescripts/sync-clawhub.mjs:401Low confidence
- Executable script in code of another filescripts/sync-clawhub.sh:1Low confidence
- Executable script in code of another filescripts/sync-codex-imagegen.sh:1Low confidence
- Dangerous shell operation in code of another filescripts/sync-codex-imagegen.sh:44Low confidence
- Dangerous shell operation in code of another filescripts/sync-codex-imagegen.sh:47Low confidence
- Executable script in code of another filescripts/verify-shared-package-deps.mjs:1Low confidence
- Executable script in code of a testscripts/verify-shared-package-deps.test.ts:1Low confidence
- Executable script in code of another filescripts/verify-skill-release-commits.mjs:1Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-article-illustrator/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-article-illustrator/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-article-illustrator/SKILL.md:7Low confidence
- Access to secrets in prose of documentationbaoyu-article-illustrator/references/codex-imagegen.md:48Low confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-comic/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-comic/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-comic/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-comic/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-comic/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-comic/SKILL.md:7Low confidence
- Access to secrets in prose of documentationskills/baoyu-comic/references/codex-imagegen.md:48Low confidence
- Access to secrets in prose of documentationbaoyu-comic/references/codex-imagegen.md:48Low confidence
- Executable script in code of a file that runsskills/baoyu-comic/scripts/merge-to-pdf.ts:1High confidence
- Executable script in code of a file that runsbaoyu-comic/scripts/merge-to-pdf.ts:1High confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-compress-image/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-compress-image/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-compress-image/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-compress-image/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-compress-image/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-compress-image/SKILL.md:7Low confidence
- Executable script in code of a file that runsskills/baoyu-compress-image/scripts/main.ts:1High confidence
- Executable script in code of a file that runsbaoyu-compress-image/scripts/main.ts:1High confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-cover-image/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-cover-image/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdskills/baoyu-cover-image/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdbaoyu-cover-image/SKILL.md:6Low confidence
and 442 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/baoyu-article-illustrator/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/baoyu-article-illustrator/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/baoyu-article-illustrator/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/baoyu-article-illustrator/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/baoyu-article-illustrator/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/jimliu-baoyu-skills/)