3.2 KiB
CLAUDE.md
Claude Code marketplace plugin providing AI-powered content generation skills. Version: 1.84.0.
Architecture
Skills are exposed through the single baoyu-skills plugin in .claude-plugin/marketplace.json (which defines plugin metadata, version, and skill paths). The repo docs still group them into three logical areas:
| Group | 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, 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 (
bunpreferred, fallbacknpx -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_DIRenv var. Platform paths: docs/chrome-profile.md - Image generation APIs:
baoyu-imaginerequires API key (OpenAI, Azure OpenAI, Google, OpenRouter, DashScope, or Replicate) configured in EXTEND.md - Gemini Web auth: Browser cookies (first run opens Chrome for login,
--loginto refresh)
Security
- No piped shell installs: Never
curl | bash. Usebrew installornpm 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-imagine/SKILL.md unless user specifies otherwise |
Priority: project skills/ → $HOME/.baoyu-skills/ → system-level.
Release Process
Use /release-skills workflow. Never skip:
CHANGELOG.md+CHANGELOG.zh.mdmarketplace.jsonversion bumpREADME.md+README.zh.mdif applicable- 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 |