@yeongjaeyou/claude-code-config 0.18.6 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/.claude/agents/web-researcher.md +68 -4
  2. package/.claude/commands/gh/auto-review-loop.md +2 -2
  3. package/.claude/commands/gh/decompose-issue.md +12 -12
  4. package/.claude/commands/gh/resolve-and-review.md +1 -1
  5. package/.claude/guidelines/id-reference.md +2 -2
  6. package/.claude/guidelines/prd-guide.md +13 -13
  7. package/.claude/guidelines/work-guidelines.md +15 -1
  8. package/.claude/hooks/notify_osc.sh +7 -7
  9. package/.claude/skills/code-explorer/SKILL.md +21 -21
  10. package/.claude/skills/interview-methodology/SKILL.md +196 -0
  11. package/.claude/skills/midjourney-imagineapi/SKILL.md +260 -0
  12. package/.claude/skills/midjourney-imagineapi/references/imagineapi-integration.md +197 -0
  13. package/.claude/skills/midjourney-imagineapi/references/midjourney-parameters.md +393 -0
  14. package/.claude/skills/midjourney-imagineapi/references/midjourney-style-guide.md +296 -0
  15. package/.claude/skills/midjourney-imagineapi/references/prompt-examples.md +428 -0
  16. package/.claude/skills/notion-md-uploader/scripts/__pycache__/markdown_parser.cpython-311.pyc +0 -0
  17. package/.claude/skills/notion-md-uploader/scripts/__pycache__/notion_client.cpython-311.pyc +0 -0
  18. package/.claude/skills/notion-md-uploader/scripts/__pycache__/notion_converter.cpython-311.pyc +0 -0
  19. package/.claude/skills/notion-md-uploader/scripts/__pycache__/upload_md.cpython-311.pyc +0 -0
  20. package/package.json +1 -1
  21. package/.claude/skills/youtube-collector/README.md +0 -107
  22. package/.claude/skills/youtube-collector/SKILL.md +0 -158
  23. package/.claude/skills/youtube-collector/references/data-schema.md +0 -110
  24. package/.claude/skills/youtube-collector/scripts/collect_videos.py +0 -304
  25. package/.claude/skills/youtube-collector/scripts/fetch_transcript.py +0 -138
  26. package/.claude/skills/youtube-collector/scripts/fetch_videos.py +0 -229
  27. package/.claude/skills/youtube-collector/scripts/register_channel.py +0 -247
  28. package/.claude/skills/youtube-collector/scripts/setup_api_key.py +0 -151
@@ -0,0 +1,260 @@
1
+ ---
2
+ name: midjourney-imagineapi
3
+ description: Generate optimized Midjourney V7 prompts and create images via ImagineAPI MCP server. Transform basic user requests into professional, cinematic prompts using 5-layer structure. Use when users request (1) Midjourney image generation, (2) prompt optimization for V7, (3) character/style reference usage, (4) professional photography prompts. Trigger phrases include "generate image", "create photo", "Midjourney", "make picture", "image generation".
4
+ ---
5
+
6
+ # Midjourney Prompt Optimizer for ImagineAPI
7
+
8
+ Transform user image requests into optimized Midjourney V7 prompts and generate images through ImagineAPI MCP.
9
+
10
+ ## Workflow Overview
11
+
12
+ ```
13
+ User Request -> Clarify (if needed) -> Build Prompt -> Present Options -> Generate Image -> Return Results
14
+ ```
15
+
16
+ ## Step 1: Analyze User Request
17
+
18
+ Determine what the user wants:
19
+ - Main subject and concept
20
+ - Implied style or mood
21
+ - Any specific requirements mentioned
22
+
23
+ If the request is clear and specific, proceed to Step 3.
24
+ If the request is vague or generic (e.g., "make me a cat picture"), proceed to Step 2.
25
+
26
+ ## Step 2: Clarify with User (When Needed)
27
+
28
+ For vague requests, use AskUserQuestion to clarify:
29
+
30
+ **Style Clarification:**
31
+ ```
32
+ AskUserQuestion:
33
+ header: "Style"
34
+ question: "What style do you want for this image?"
35
+ options:
36
+ - label: "Photorealistic"
37
+ description: "Looks like a real photograph"
38
+ - label: "Cinematic"
39
+ description: "Movie-like, dramatic lighting"
40
+ - label: "Artistic/Illustration"
41
+ description: "Stylized, artistic interpretation"
42
+ - label: "Minimal/Clean"
43
+ description: "Simple, clean aesthetic"
44
+ ```
45
+
46
+ **Mood Clarification:**
47
+ ```
48
+ AskUserQuestion:
49
+ header: "Mood"
50
+ question: "What mood or atmosphere?"
51
+ options:
52
+ - label: "Bright & Cheerful"
53
+ description: "Warm, optimistic feeling"
54
+ - label: "Moody & Dramatic"
55
+ description: "Dark, atmospheric, cinematic"
56
+ - label: "Calm & Serene"
57
+ description: "Peaceful, tranquil"
58
+ - label: "Energetic & Dynamic"
59
+ description: "Action, movement, excitement"
60
+ ```
61
+
62
+ **Aspect Ratio:**
63
+ ```
64
+ AskUserQuestion:
65
+ header: "Format"
66
+ question: "What format do you need?"
67
+ options:
68
+ - label: "Widescreen (16:9)"
69
+ description: "Cinematic, landscape, desktop"
70
+ - label: "Portrait (4:5)"
71
+ description: "Vertical, mobile, Instagram"
72
+ - label: "Square (1:1)"
73
+ description: "Social media, profile"
74
+ - label: "Ultra-wide (21:9)"
75
+ description: "Panoramic, banner"
76
+ ```
77
+
78
+ ## Step 3: Build Optimized Prompt
79
+
80
+ Use the 5-layer structure from `references/midjourney-style-guide.md`:
81
+
82
+ **Layer 1 (Required):** Subject & Composition
83
+ ```
84
+ [Subject] [action/pose], [composition]
85
+ ```
86
+
87
+ **Layer 2 (Required):** Style & Aesthetic
88
+ ```
89
+ [style], [mood], [color treatment]
90
+ ```
91
+
92
+ **Layer 3 (Recommended):** Lighting & Environment
93
+ ```
94
+ [lighting], [time of day], [atmosphere]
95
+ ```
96
+
97
+ **Layer 4 (Recommended):** Technical Details
98
+ ```
99
+ [camera] [lens] [aperture], [depth of field], [quality terms]
100
+ ```
101
+
102
+ **Layer 5 (Optional):** Artistic Reference
103
+ ```
104
+ [artist/style reference]
105
+ ```
106
+
107
+ Consult `references/prompt-examples.md` for transformation patterns.
108
+
109
+ ## Step 4: Select Parameters
110
+
111
+ Based on the image type, select appropriate parameters from `references/midjourney-parameters.md`:
112
+
113
+ **Portrait:**
114
+ ```
115
+ --ar 4:5 --s 100-150 --q 2
116
+ ```
117
+
118
+ **Landscape/Cinematic:**
119
+ ```
120
+ --ar 16:9 --s 150-250 --q 2
121
+ ```
122
+
123
+ **Product:**
124
+ ```
125
+ --ar 1:1 --s 50-100
126
+ ```
127
+
128
+ **Artistic:**
129
+ ```
130
+ --ar varies --s 300-500 --exp 10-25
131
+ ```
132
+
133
+ **Quick Iteration:**
134
+ ```
135
+ --draft --c 25-50
136
+ ```
137
+
138
+ ## Step 5: Present Options to User
139
+
140
+ Before generating, present 2-3 prompt variations using AskUserQuestion:
141
+
142
+ ```
143
+ AskUserQuestion:
144
+ header: "Prompt"
145
+ question: "Which prompt direction do you prefer?"
146
+ options:
147
+ - label: "Option A: Dramatic"
148
+ description: "[show key differences - lighting, mood]"
149
+ - label: "Option B: Natural"
150
+ description: "[show key differences]"
151
+ - label: "Option C: Artistic"
152
+ description: "[show key differences]"
153
+ ```
154
+
155
+ Show the full prompts in the response text, then ask for selection.
156
+
157
+ ## Step 6: Generate Image
158
+
159
+ Use the midjourney-proxy-mcp MCP tools directly. See `references/imagineapi-integration.md` for details.
160
+
161
+ **Generate:**
162
+ Call the `midjourney_imagine` MCP tool with the optimized prompt:
163
+ - `prompt`: The complete prompt string including all parameters
164
+
165
+ **Check Status:**
166
+ Call the `midjourney_get_status` MCP tool:
167
+ - `image_id`: The ID returned from midjourney_imagine
168
+
169
+ Poll every 10-15 seconds until status is "completed".
170
+
171
+ ## Step 7: Return Results
172
+
173
+ Provide to user:
174
+ 1. Generated image URL
175
+ 2. Upscaled versions (if available in upscaled_urls)
176
+ 3. The prompt used (for user's reference)
177
+ 4. Offer to create variations if needed
178
+
179
+ ---
180
+
181
+ ## Reference Files
182
+
183
+ ### midjourney-parameters.md
184
+ Complete V7 parameter reference. Consult when:
185
+ - Selecting appropriate parameters
186
+ - Explaining parameter effects to user
187
+ - Troubleshooting parameter combinations
188
+
189
+ Search patterns:
190
+ - "Quick Reference Table" - All parameters at a glance
191
+ - "V7-Specific Parameters" - Draft, exp, oref
192
+ - "Reference System" - Style and character references
193
+
194
+ ### midjourney-style-guide.md
195
+ Prompt structure and vocabulary. Consult when:
196
+ - Building prompts from scratch
197
+ - Selecting descriptive vocabulary
198
+ - Checking quality guidelines
199
+
200
+ Search patterns:
201
+ - "5-Layer Prompt Structure" - Building prompts
202
+ - "Descriptive Vocabulary" - Lighting, mood, color terms
203
+ - "Genre-Specific Patterns" - Templates by category
204
+
205
+ ### prompt-examples.md
206
+ Before/after transformations. Consult when:
207
+ - Learning transformation patterns
208
+ - Finding inspiration for specific genres
209
+ - Understanding enhancement techniques
210
+
211
+ Search patterns:
212
+ - "Portrait Photography" - People, characters
213
+ - "Landscape/Environment" - Nature, cities
214
+ - "Product Photography" - Objects, commercial
215
+ - "Character Consistency" - Using references
216
+
217
+ ### imagineapi-integration.md
218
+ MCP tool usage. Consult when:
219
+ - Calling imagine tool
220
+ - Checking generation status
221
+ - Handling errors
222
+
223
+ ---
224
+
225
+ ## Quick Reference
226
+
227
+ ### Minimum Viable Prompt
228
+ ```
229
+ [subject], [style], [lighting], [camera spec] --ar [ratio] --s [value]
230
+ ```
231
+
232
+ ### Full Prompt Template
233
+ ```
234
+ [Subject description], [composition], [style category], [lighting type],
235
+ [mood/atmosphere], shot on [camera] [lens], [color treatment],
236
+ [quality markers] --ar [ratio] --s [value] --q [value]
237
+ ```
238
+
239
+ ### Common Parameter Combos
240
+
241
+ | Purpose | Parameters |
242
+ |---------|------------|
243
+ | Quick test | `--draft` |
244
+ | Standard quality | `--ar 16:9 --s 100` |
245
+ | High quality | `--ar 16:9 --s 150 --q 2` |
246
+ | Artistic | `--s 400 --exp 25` |
247
+ | Character lock | `--oref <url> --ow 200` |
248
+ | Style lock | `--sref <url> --sw 300` |
249
+ | Both locks | `--oref <url> --ow 150 --sref <url> --sw 200` |
250
+
251
+ ---
252
+
253
+ ## Important Notes
254
+
255
+ 1. V7 does not support multi-prompting (`::` syntax)
256
+ 2. Use natural language - V7 understands creative intent
257
+ 3. Keep prompts 20-75 words for best results
258
+ 4. Always append parameters after the descriptive text
259
+ 5. Use --draft for rapid iteration, then enhance winners
260
+ 6. Combine --oref and --sref for maximum consistency
@@ -0,0 +1,197 @@
1
+ # ImagineAPI MCP Integration Guide
2
+
3
+ Guide for using the Midjourney Proxy MCP server to generate images via ImagineAPI.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Available MCP Tools](#available-mcp-tools)
8
+ - [Available MCP Resources](#available-mcp-resources)
9
+ - [Typical Workflow](#typical-workflow)
10
+ - [Prompt Format](#prompt-format)
11
+ - [Error Handling](#error-handling)
12
+ - [Best Practices](#best-practices)
13
+ - [Integration with Prompt Optimization](#integration-with-prompt-optimization)
14
+
15
+ ---
16
+
17
+ ## Available MCP Tools
18
+
19
+ These tools are available when the midjourney-proxy-mcp MCP server is connected. Call them directly as MCP tools.
20
+
21
+ ### midjourney_imagine
22
+
23
+ Generate images from a prompt.
24
+
25
+ | Parameter | Type | Required | Description |
26
+ |-----------|------|----------|-------------|
27
+ | `prompt` | string | Yes | The image generation prompt with Midjourney parameters |
28
+ | `ref` | string | No | Optional reference ID for tracking |
29
+
30
+ Response includes:
31
+ - `id`: Generation ID for status tracking
32
+ - `status`: Current status (pending, in-progress, completed, failed)
33
+ - `prompt`: The submitted prompt
34
+ - `created_at`: Timestamp
35
+
36
+ ### midjourney_get_status
37
+
38
+ Check generation status and retrieve results.
39
+
40
+ | Parameter | Type | Required | Description |
41
+ |-----------|------|----------|-------------|
42
+ | `image_id` | string | Yes | Generation ID from midjourney_imagine response |
43
+
44
+ Response includes:
45
+ - `status`: Current status
46
+ - `url`: Generated image URL (when completed)
47
+ - `upscaled_urls`: Array of upscaled image URLs (when available)
48
+ - `progress`: Progress percentage (when in-progress)
49
+
50
+ ### midjourney_list_images
51
+
52
+ List recent image generations.
53
+
54
+ | Parameter | Type | Required | Description |
55
+ |-----------|------|----------|-------------|
56
+ | `limit` | integer | No | Number of results (default: 10, max: 100) |
57
+ | `status` | string | No | Filter by status (pending, in-progress, completed, failed) |
58
+
59
+ ---
60
+
61
+ ## Available MCP Resources
62
+
63
+ ### midjourney://generations
64
+
65
+ List all generations.
66
+
67
+ ```
68
+ Read resource: midjourney://generations
69
+ ```
70
+
71
+ ### midjourney://generations/{status}
72
+
73
+ Filter generations by status.
74
+
75
+ ```
76
+ Read resource: midjourney://generations/completed
77
+ Read resource: midjourney://generations/pending
78
+ Read resource: midjourney://generations/failed
79
+ ```
80
+
81
+ ### midjourney://generation/{id}
82
+
83
+ Get single generation details.
84
+
85
+ ```
86
+ Read resource: midjourney://generation/abc123-def456
87
+ ```
88
+
89
+ ### midjourney://stats
90
+
91
+ Generation statistics.
92
+
93
+ ```
94
+ Read resource: midjourney://stats
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Typical Workflow
100
+
101
+ ### 1. Generate Image
102
+
103
+ Call `midjourney_imagine` with your optimized prompt:
104
+ - Include all Midjourney parameters in the prompt string
105
+ - Save the returned `id` for status checking
106
+
107
+ ### 2. Check Status
108
+
109
+ Call `midjourney_get_status` with the image ID:
110
+ - Poll every 10-15 seconds
111
+ - Status progression: `pending` -> `in-progress` -> `completed`
112
+
113
+ ### 3. Retrieve Results
114
+
115
+ When status is `completed`:
116
+ - `url`: Main generated image (grid of 4)
117
+ - `upscaled_urls`: Higher resolution versions (automatically generated)
118
+
119
+ ---
120
+
121
+ ## Prompt Format
122
+
123
+ The prompt string should include all Midjourney parameters:
124
+
125
+ ```
126
+ [description] [parameters]
127
+ ```
128
+
129
+ Examples:
130
+
131
+ ```
132
+ "cinematic portrait of a samurai warrior --ar 16:9 --s 250 --q 2"
133
+
134
+ "minimalist product photography of headphones --ar 1:1 --s 100 --no background"
135
+
136
+ "fantasy landscape with floating islands --ar 21:9 --s 500 --w 100"
137
+ ```
138
+
139
+ Parameters are appended directly to the prompt text, exactly as they would be used in Midjourney Discord.
140
+
141
+ ---
142
+
143
+ ## Error Handling
144
+
145
+ ### Common Errors
146
+
147
+ | Error | Cause | Solution |
148
+ |-------|-------|----------|
149
+ | `invalid_prompt` | Blocked content or invalid syntax | Revise prompt content |
150
+ | `rate_limited` | Too many requests | Wait and retry |
151
+ | `timeout` | Generation took too long | Retry or simplify prompt |
152
+ | `failed` | Generation failed | Check prompt and retry |
153
+
154
+ ### Retry Strategy
155
+
156
+ 1. Call `midjourney_imagine`
157
+ 2. Poll `midjourney_get_status` every 10-15 seconds
158
+ 3. If failed, analyze error and retry with adjusted prompt
159
+ 4. Maximum 3 retries before reporting failure
160
+
161
+ ---
162
+
163
+ ## Best Practices
164
+
165
+ 1. Always include essential parameters (--ar at minimum)
166
+ 2. Check status before reporting results to user
167
+ 3. Provide upscaled_urls when available (higher quality)
168
+ 4. Handle failures gracefully with retry logic
169
+ 5. Store generation IDs for later reference
170
+ 6. Use `midjourney_list_images` to check recent generations and avoid duplicates
171
+
172
+ ---
173
+
174
+ ## Integration with Prompt Optimization
175
+
176
+ When using this skill:
177
+
178
+ 1. Transform user request into optimized prompt (see midjourney-style-guide.md)
179
+ 2. Add appropriate parameters (see midjourney-parameters.md)
180
+ 3. Call `midjourney_imagine` with the complete prompt string
181
+ 4. Monitor status with `midjourney_get_status` and return results
182
+
183
+ Example flow:
184
+ ```
185
+ User: "photo of a cat"
186
+
187
+ 1. Optimize prompt:
188
+ "professional photography of a tabby cat with green eyes,
189
+ soft natural window light, shallow depth of field,
190
+ warm color grading --ar 4:5 --s 150 --q 2"
191
+
192
+ 2. Call midjourney_imagine with optimized prompt
193
+
194
+ 3. Poll midjourney_get_status until completed
195
+
196
+ 4. Return image URL and upscaled versions to user
197
+ ```