chore: release v1.2.0

This commit is contained in:
Jim Liu 宝玉 2026-01-18 20:42:40 -06:00
parent 5a0feba96e
commit 76ddcf134e
9 changed files with 145 additions and 101 deletions

View File

@ -6,7 +6,7 @@
},
"metadata": {
"description": "Skills shared by Baoyu for improving daily work efficiency",
"version": "1.1.0"
"version": "1.2.0"
},
"plugins": [
{

View File

@ -2,6 +2,17 @@
English | [中文](./CHANGELOG.zh.md)
## 1.2.0 - 2026-01-18
### Features
- Session-independent output directories: each generation session creates a new directory (`<skill-suffix>/<topic-slug>/`), even for the same source file. Conflicts resolved by appending timestamp.
- Multi-source file support: source files now saved as `source-{slug}.{ext}`, supporting multiple inputs (text, images, files from conversation).
### Documentation
- `CLAUDE.md`: updates Output Path Convention with new session-independent directory structure and multi-source file naming.
- Multiple skills: updates file management sections to reflect new directory and source file conventions.
- `baoyu-slide-deck`, `baoyu-article-illustrator`, `baoyu-cover-image`, `baoyu-xhs-images`, `baoyu-comic`
## 1.1.0 - 2026-01-18
### Features

View File

@ -2,6 +2,17 @@
[English](./CHANGELOG.md) | 中文
## 1.2.0 - 2026-01-18
### 新功能
- Session 独立输出目录:每次生成创建独立目录(`<skill-suffix>/<topic-slug>/`),即使是同一源文件也会新建目录。目录冲突时追加时间戳。
- 多源文件支持:源文件现以 `source-{slug}.{ext}` 命名,支持多个输入(文本、图片、会话中的文件)。
### 文档
- `CLAUDE.md`:更新 Output Path Convention采用新的 session 独立目录结构和多源文件命名规范。
- 多个技能:更新文件管理部分,反映新的目录和源文件规范。
- `baoyu-slide-deck`、`baoyu-article-illustrator`、`baoyu-cover-image`、`baoyu-xhs-images`、`baoyu-comic`
## 1.1.0 - 2026-01-18
### 新功能

View File

@ -173,27 +173,33 @@ Use this template when implementing image generation in skills:
### Output Path Convention
Generated images from the same skill and source file MUST be grouped together:
Each session creates an independent directory. Even the same source file generates a new directory per session.
**With source file** (e.g., `/path/to/project/content/my-article.md`):
**Output Directory**:
```
/path/to/project/content/my-article/<skill-suffix>/
<skill-suffix>/<topic-slug>/
```
- Remove file extension from source filename
- Use skill name suffix (e.g., `xhs-images`, `cover-image`, `slide-deck`)
- Example: source `/tests-data/anthropic-economic-index.md` + skill `baoyu-xhs-images` → `/tests-data/anthropic-economic-index/xhs-images/`
- `<skill-suffix>`: Skill name suffix (e.g., `xhs-images`, `cover-image`, `slide-deck`, `comic`)
- `<topic-slug>`: Generated from content topic (2-4 words, kebab-case)
- Example: `xhs-images/ai-future-trends/`
**Without source file**:
```
./<skill-suffix>/<source-slug>/
```
- Place under current project directory
- Use descriptive slug for the content
**Slug Generation**:
1. Extract main topic from content (2-4 words, kebab-case)
2. Example: "Introduction to Machine Learning" → `intro-machine-learning`
**Directory Backup**:
- If output directory already exists, rename existing directory with timestamp
- Format: `<dirname>-backup-YYYYMMDD-HHMMSS`
- Example: `xhs-images``xhs-images-backup-20260117-143052`
**Conflict Resolution**:
If `<skill-suffix>/<topic-slug>/` already exists:
- Append timestamp: `<topic-slug>-YYYYMMDD-HHMMSS`
- Example: `ai-future` exists → `ai-future-20260118-143052`
**Source Files**:
- Copy all sources to `<skill-suffix>/<topic-slug>/` with naming: `source-{slug}.{ext}`
- Multiple sources supported: text, images, files from conversation
- Examples:
- `source-article.md` (main text content)
- `source-reference.png` (image from conversation)
- `source-data.csv` (additional file)
- Original source files remain unchanged
### Image Naming Convention

View File

@ -102,43 +102,42 @@ When no `--style` is specified, analyze content to select the best style:
## File Management
### With Article Path
### Output Directory
Save illustrations to `[source-name-no-ext]/illustrations/` subdirectory in the same folder as the article:
Each session creates an independent directory named by content slug:
```
path/to/
├── article.md
└── article/
└── illustrations/
├── outline.md
├── prompts/
│ ├── illustration-concept-a.md
│ ├── illustration-concept-b.md
│ └── ...
├── illustration-concept-a.png
├── illustration-concept-b.png
└── ...
illustrations/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── outline.md
├── outline-{style}.md # Style variant outlines
├── prompts/
│ ├── illustration-concept-a.md
│ ├── illustration-concept-b.md
│ └── ...
├── illustration-concept-a.png
├── illustration-concept-b.png
└── ...
```
Example: `/posts/ai-future.md``/posts/ai-future/illustrations/`
**Slug Generation**:
1. Extract main topic from content (2-4 words, kebab-case)
2. Example: "The Future of AI" → `future-of-ai`
### Without Article Path (Pasted Content)
### Conflict Resolution
Save to `./illustrations/[topic-slug]/`:
If `illustrations/{topic-slug}/` already exists:
- Append timestamp: `{topic-slug}-YYYYMMDD-HHMMSS`
- Example: `ai-future` exists → `ai-future-20260118-143052`
```
illustrations/
└── ai-future/
├── source.md
├── outline.md
├── prompts/
└── *.png
```
### Source Files
### Directory Backup
Copy all sources with naming `source-{slug}.{ext}`:
- `source-article.md` (main text content)
- `source-photo.jpg` (image from conversation)
- `source-reference.pdf` (additional file)
If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS`
Multiple sources supported: text, images, files from conversation.
## Workflow

View File

@ -55,9 +55,11 @@ Style × Layout × Aspect can be freely combined. Custom styles can be described
## File Structure
Each session creates an independent directory named by content slug:
```
[target]/
├── source.md # Source content (if pasted, not file)
comic/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── analysis.md # Deep analysis results (YAML+MD)
├── storyboard-chronological.md # Variant A (preserved)
├── storyboard-thematic.md # Variant B (preserved)
@ -83,13 +85,19 @@ Style × Layout × Aspect can be freely combined. Custom styles can be described
└── {topic-slug}.pdf
```
**Target directory**:
- With source path: `[source-dir]/[source-name-no-ext]/comic/`
- Example: `/posts/turing-story.md``/posts/turing-story/comic/`
- Without source: `./comic/[topic-slug]/`
**Slug Generation**:
1. Extract main topic from content (2-4 words, kebab-case)
2. Example: "Alan Turing Biography" → `alan-turing-bio`
**Directory backup**:
- If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS`
**Conflict Resolution**:
If `comic/{topic-slug}/` already exists:
- Append timestamp: `{topic-slug}-YYYYMMDD-HHMMSS`
- Example: `turing-story` exists → `turing-story-20260118-143052`
**Source Files**:
Copy all sources with naming `source-{slug}.{ext}`:
- `source-biography.md`, `source-portrait.jpg`, `source-timeline.png`, etc.
- Multiple sources supported: text, images, files from conversation
## Workflow

View File

@ -74,38 +74,35 @@ When no `--style` is specified, the system analyzes content to select the best s
## File Management
### With Article Path
### Output Directory
Save to `[source-name-no-ext]/cover-image/` subdirectory in the same folder as the article:
Each session creates an independent directory named by content slug:
```
path/to/
├── article.md
└── article/
└── cover-image/
├── prompts/
│ └── cover.md
└── cover.png
cover-image/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── prompts/
│ └── cover.md
└── cover.png
```
Example: `/posts/ai-future.md``/posts/ai-future/cover-image/`
**Slug Generation**:
1. Extract main topic from content (2-4 words, kebab-case)
2. Example: "The Future of AI" → `future-of-ai`
### Without Article Path (Pasted Content)
### Conflict Resolution
Save to `./cover-image/[topic-slug]/`:
If `cover-image/{topic-slug}/` already exists:
- Append timestamp: `{topic-slug}-YYYYMMDD-HHMMSS`
- Example: `ai-future` exists → `ai-future-20260118-143052`
```
cover-image/
└── ai-future/
├── source.md # Saved pasted content
├── prompts/
│ └── cover.md
└── cover.png
```
### Source Files
### Directory Backup
Copy all sources with naming `source-{slug}.{ext}`:
- `source-article.md` (main text content)
- `source-logo.png` (image from conversation)
If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS`
Multiple sources supported: text, images, files from conversation.
## Workflow

View File

@ -95,36 +95,40 @@ This deck is designed for **reading and sharing**, not live presentation:
## File Management
### With Content Path
```
content-dir/
├── source-content.md
└── source-content/
└── slide-deck/
├── outline.md
├── prompts/
│ └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
```
### Output Directory
Example: `/posts/ai-intro.md``/posts/ai-intro/slide-deck/`
Each session creates an independent directory named by content slug:
### Without Content Path (Pasted Content)
```
slide-deck/{topic-slug}/
├── source.md
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── outline.md
├── outline-{style}.md # Style variant outlines
├── prompts/
├── *.png
│ └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
```
### Directory Backup
**Slug Generation**:
1. Extract main topic from content (2-4 words, kebab-case)
2. Example: "Introduction to Machine Learning" → `intro-machine-learning`
If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS`
### Conflict Resolution
If `slide-deck/{topic-slug}/` already exists:
- Append timestamp: `{topic-slug}-YYYYMMDD-HHMMSS`
- Example: `intro-ml` exists → `intro-ml-20260118-143052`
### Source Files
Copy all sources with naming `source-{slug}.{ext}`:
- `source-article.md` (main text content)
- `source-diagram.png` (image from conversation)
- `source-data.xlsx` (additional file)
Multiple sources supported: text, images, files from conversation.
## Workflow

View File

@ -92,9 +92,11 @@ Detailed layout definitions: `references/layouts/<layout>.md`
## File Structure
Each session creates an independent directory named by content slug:
```
[target]/
├── source.md # Source content (if pasted)
xhs-images/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── analysis.md # Deep analysis results
├── outline-style-[slug].md # Variant A (e.g., outline-style-tech.md)
├── outline-style-[slug].md # Variant B (e.g., outline-style-notion.md)
@ -109,13 +111,19 @@ Detailed layout definitions: `references/layouts/<layout>.md`
└── NN-ending-[slug].png
```
**Target directory**:
- With source path: `[source-dir]/[source-name-no-ext]/xhs-images/`
- Example: `/tests-data/article.md``/tests-data/article/xhs-images/`
- Without source: `./xhs-images/[topic-slug]/`
**Slug Generation**:
1. Extract main topic from content (2-4 words, kebab-case)
2. Example: "AI工具推荐" → `ai-tools-recommend`
**Directory backup**:
- If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS`
**Conflict Resolution**:
If `xhs-images/{topic-slug}/` already exists:
- Append timestamp: `{topic-slug}-YYYYMMDD-HHMMSS`
- Example: `ai-tools` exists → `ai-tools-20260118-143052`
**Source Files**:
Copy all sources with naming `source-{slug}.{ext}`:
- `source-article.md`, `source-photo.jpg`, etc.
- Multiple sources supported: text, images, files from conversation
## Workflow