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
+1 -1
View File
@@ -6,7 +6,7 @@
}, },
"metadata": { "metadata": {
"description": "Skills shared by Baoyu for improving daily work efficiency", "description": "Skills shared by Baoyu for improving daily work efficiency",
"version": "1.1.0" "version": "1.2.0"
}, },
"plugins": [ "plugins": [
{ {
+11
View File
@@ -2,6 +2,17 @@
English | [中文](./CHANGELOG.zh.md) 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 ## 1.1.0 - 2026-01-18
### Features ### Features
+11
View File
@@ -2,6 +2,17 @@
[English](./CHANGELOG.md) | 中文 [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 ## 1.1.0 - 2026-01-18
### 新功能 ### 新功能
+22 -16
View File
@@ -173,27 +173,33 @@ Use this template when implementing image generation in skills:
### Output Path Convention ### 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 - `<skill-suffix>`: Skill name suffix (e.g., `xhs-images`, `cover-image`, `slide-deck`, `comic`)
- Use skill name suffix (e.g., `xhs-images`, `cover-image`, `slide-deck`) - `<topic-slug>`: Generated from content topic (2-4 words, kebab-case)
- Example: source `/tests-data/anthropic-economic-index.md` + skill `baoyu-xhs-images``/tests-data/anthropic-economic-index/xhs-images/` - Example: `xhs-images/ai-future-trends/`
**Without source file**: **Slug Generation**:
``` 1. Extract main topic from content (2-4 words, kebab-case)
./<skill-suffix>/<source-slug>/ 2. Example: "Introduction to Machine Learning" → `intro-machine-learning`
```
- Place under current project directory
- Use descriptive slug for the content
**Directory Backup**: **Conflict Resolution**:
- If output directory already exists, rename existing directory with timestamp If `<skill-suffix>/<topic-slug>/` already exists:
- Format: `<dirname>-backup-YYYYMMDD-HHMMSS` - Append timestamp: `<topic-slug>-YYYYMMDD-HHMMSS`
- Example: `xhs-images``xhs-images-backup-20260117-143052` - 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 ### Image Naming Convention
+26 -27
View File
@@ -102,43 +102,42 @@ When no `--style` is specified, analyze content to select the best style:
## File Management ## 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/ illustrations/{topic-slug}/
├── article.md ├── source-{slug}.{ext} # Source files (text, images, etc.)
── article/ ── outline.md
└── illustrations/ ├── outline-{style}.md # Style variant outlines
├── outline.md ├── prompts/
├── prompts/ ├── illustration-concept-a.md
│ ├── illustration-concept-a.md │ ├── illustration-concept-b.md
── illustration-concept-b.md ── ...
│ └── ... ├── illustration-concept-a.png
├── illustration-concept-a.png ├── illustration-concept-b.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`
``` ### Source Files
illustrations/
└── ai-future/
├── source.md
├── outline.md
├── prompts/
└── *.png
```
### 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 ## Workflow
+16 -8
View File
@@ -55,9 +55,11 @@ Style × Layout × Aspect can be freely combined. Custom styles can be described
## File Structure ## File Structure
Each session creates an independent directory named by content slug:
``` ```
[target]/ comic/{topic-slug}/
├── source.md # Source content (if pasted, not file) ├── source-{slug}.{ext} # Source files (text, images, etc.)
├── analysis.md # Deep analysis results (YAML+MD) ├── analysis.md # Deep analysis results (YAML+MD)
├── storyboard-chronological.md # Variant A (preserved) ├── storyboard-chronological.md # Variant A (preserved)
├── storyboard-thematic.md # Variant B (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 └── {topic-slug}.pdf
``` ```
**Target directory**: **Slug Generation**:
- With source path: `[source-dir]/[source-name-no-ext]/comic/` 1. Extract main topic from content (2-4 words, kebab-case)
- Example: `/posts/turing-story.md``/posts/turing-story/comic/` 2. Example: "Alan Turing Biography" → `alan-turing-bio`
- Without source: `./comic/[topic-slug]/`
**Directory backup**: **Conflict Resolution**:
- If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS` 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 ## Workflow
+19 -22
View File
@@ -74,38 +74,35 @@ When no `--style` is specified, the system analyzes content to select the best s
## File Management ## 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/ cover-image/{topic-slug}/
├── article.md ├── source-{slug}.{ext} # Source files (text, images, etc.)
── article/ ── prompts/
└── cover-image/ └── cover.md
├── prompts/ └── cover.png
│ └── 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`
``` ### Source Files
cover-image/
└── ai-future/
├── source.md # Saved pasted content
├── prompts/
│ └── cover.md
└── cover.png
```
### 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 ## Workflow
+23 -19
View File
@@ -95,36 +95,40 @@ This deck is designed for **reading and sharing**, not live presentation:
## File Management ## File Management
### With Content Path ### Output Directory
```
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
```
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}/ slide-deck/{topic-slug}/
├── source.md ├── source-{slug}.{ext} # Source files (text, images, etc.)
├── outline.md ├── outline.md
├── outline-{style}.md # Style variant outlines
├── prompts/ ├── prompts/
├── *.png │ └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx ├── {topic-slug}.pptx
└── {topic-slug}.pdf └── {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 ## Workflow
+16 -8
View File
@@ -92,9 +92,11 @@ Detailed layout definitions: `references/layouts/<layout>.md`
## File Structure ## File Structure
Each session creates an independent directory named by content slug:
``` ```
[target]/ xhs-images/{topic-slug}/
├── source.md # Source content (if pasted) ├── source-{slug}.{ext} # Source files (text, images, etc.)
├── analysis.md # Deep analysis results ├── analysis.md # Deep analysis results
├── outline-style-[slug].md # Variant A (e.g., outline-style-tech.md) ├── outline-style-[slug].md # Variant A (e.g., outline-style-tech.md)
├── outline-style-[slug].md # Variant B (e.g., outline-style-notion.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 └── NN-ending-[slug].png
``` ```
**Target directory**: **Slug Generation**:
- With source path: `[source-dir]/[source-name-no-ext]/xhs-images/` 1. Extract main topic from content (2-4 words, kebab-case)
- Example: `/tests-data/article.md``/tests-data/article/xhs-images/` 2. Example: "AI工具推荐" → `ai-tools-recommend`
- Without source: `./xhs-images/[topic-slug]/`
**Directory backup**: **Conflict Resolution**:
- If target directory exists, rename existing to `<dirname>-backup-YYYYMMDD-HHMMSS` 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 ## Workflow