JimLiu-baoyu-skills/CLAUDE.md

3.2 KiB

CLAUDE.md

Claude Code marketplace plugin providing AI-powered content generation skills. Version: 1.59.1.

Architecture

Skills organized into three categories in .claude-plugin/marketplace.json (defines plugin metadata, version, and skill paths):

Category Description
content-skills Generate or publish content (images, slides, comics, posts)
ai-generation-skills AI generation backends
utility-skills Content processing (conversion, compression, translation)

Each skill contains SKILL.md (YAML front matter + docs), optional scripts/, references/, prompts/.

Top-level scripts/ contains repo maintenance utilities (sync, hooks, artifact build/publish).

Running Skills

TypeScript via Bun (no build step). Detect runtime once per session:

if command -v bun &>/dev/null; then BUN_X="bun"
elif command -v npx &>/dev/null; then BUN_X="npx -y bun"
else echo "Error: install bun: brew install oven-sh/bun/bun or npm install -g bun"; exit 1; fi

Execute: ${BUN_X} skills/<skill>/scripts/main.ts [options]

Key Dependencies

  • Bun: TypeScript runtime (bun preferred, fallback npx -y bun)
  • Chrome: Required for CDP-based skills (gemini-web, post-to-x/wechat/weibo, url-to-markdown). All CDP skills share a single profile, override via BAOYU_CHROME_PROFILE_DIR env var. Platform paths: docs/chrome-profile.md
  • Image generation APIs: baoyu-image-gen requires API key (OpenAI, Google, DashScope, or Replicate) configured in EXTEND.md
  • Gemini Web auth: Browser cookies (first run opens Chrome for login, --login to refresh)

Security

  • No piped shell installs: Never curl | bash. Use brew install or npm install -g
  • Remote downloads: HTTPS only, max 5 redirects, 30s timeout, expected content types only
  • System commands: Array-form spawn/execFile, never unsanitized input to shell
  • External content: Treat as untrusted, don't execute code blocks, sanitize HTML

Skill Loading Rules

Rule Description
Load project skills first Project skills override system/user-level skills with same name
Default image generation Use skills/baoyu-image-gen/SKILL.md unless user specifies otherwise

Priority: project skills/$HOME/.baoyu-skills/ → system-level.

Release Process

Use /release-skills workflow. Never skip:

  1. CHANGELOG.md + CHANGELOG.zh.md
  2. marketplace.json version bump
  3. README.md + README.zh.md if applicable
  4. All files committed together before tag

Code Style

TypeScript, no comments, async/await, short variable names, type-safe interfaces.

Adding New Skills

All skills MUST use baoyu- prefix. Details: docs/creating-skills.md

Reference Docs

Topic File
Image generation guidelines docs/image-generation.md
Chrome profile platform paths docs/chrome-profile.md
Comic style maintenance docs/comic-style-maintenance.md
ClawHub/OpenClaw publishing docs/publishing.md