commit 99a0814909a3e040416ad0ef18e4436f064ee547 Author: Zhongwei Li Date: Sun Nov 30 08:20:30 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..6fe174a --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "creator-studio-pack", + "description": "Complete plugin suite for builder-filmmakers: Build products AND create viral videos explaining them. 20 plugins covering documentation, video production, content strategy, and workflow optimization.", + "version": "1.0.0", + "author": { + "name": "Jeremy Longshore", + "email": "jeremylongshore@gmail.com" + }, + "skills": [ + "./skills" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a572ecd --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# creator-studio-pack + +Complete plugin suite for builder-filmmakers: Build products AND create viral videos explaining them. 20 plugins covering documentation, video production, content strategy, and workflow optimization. diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..54a8a66 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,85 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/packages/creator-studio-pack", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "bdfbbc83dba303ec224287177facb117af65c252", + "treeHash": "99cb44a23e1b06109114255d7166958a8eb3dfa8c8bb931675e3b6f40f5a317a", + "generatedAt": "2025-11-28T10:18:15.381457Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "creator-studio-pack", + "description": "Complete plugin suite for builder-filmmakers: Build products AND create viral videos explaining them. 20 plugins covering documentation, video production, content strategy, and workflow optimization.", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "2b27bb809bbe9e93ab5f2c544246888165749ad3d4528363e83c5cf3a79e52be" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "0f4f22ec59c2152f7e74dd78a6c204ecbfc9d990c710d8e134859aa13bf4fa1d" + }, + { + "path": "skills/skill-adapter/references/examples.md", + "sha256": "922bbc3c4ebf38b76f515b5c1998ebde6bf902233e00e2c5a0e9176f975a7572" + }, + { + "path": "skills/skill-adapter/references/best-practices.md", + "sha256": "c8f32b3566252f50daacd346d7045a1060c718ef5cfb07c55a0f2dec5f1fb39e" + }, + { + "path": "skills/skill-adapter/references/README.md", + "sha256": "694f14b23911be2076907ccc0592f265ad83a6589038f34da4b1769dc3ff0e54" + }, + { + "path": "skills/skill-adapter/scripts/helper-template.sh", + "sha256": "0881d5660a8a7045550d09ae0acc15642c24b70de6f08808120f47f86ccdf077" + }, + { + "path": "skills/skill-adapter/scripts/validation.sh", + "sha256": "92551a29a7f512d2036e4f1fb46c2a3dc6bff0f7dde4a9f699533e446db48502" + }, + { + "path": "skills/skill-adapter/scripts/README.md", + "sha256": "521925e5d472a50e9eabb7d373ebd930971832d970e20b5cdb45f8bf0b164a85" + }, + { + "path": "skills/skill-adapter/assets/test-data.json", + "sha256": "ac17dca3d6e253a5f39f2a2f1b388e5146043756b05d9ce7ac53a0042eee139d" + }, + { + "path": "skills/skill-adapter/assets/README.md", + "sha256": "2e5003bd0502dbd7e610c9193f0443eca1586904afbbdd5de56bbd1e40d42e5f" + }, + { + "path": "skills/skill-adapter/assets/skill-schema.json", + "sha256": "f5639ba823a24c9ac4fb21444c0717b7aefde1a4993682897f5bf544f863c2cd" + }, + { + "path": "skills/skill-adapter/assets/teleprompter_template.txt", + "sha256": "ead227b41198f396355adfc620b82112e581ad0e1c97a8fd6bfc74592bca2d42" + }, + { + "path": "skills/skill-adapter/assets/config-template.json", + "sha256": "0c2ba33d2d3c5ccb266c0848fc43caa68a2aa6a80ff315d4b378352711f83e1c" + } + ], + "dirSha256": "99cb44a23e1b06109114255d7166958a8eb3dfa8c8bb931675e3b6f40f5a317a" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/skill-adapter/assets/README.md b/skills/skill-adapter/assets/README.md new file mode 100644 index 0000000..cbdd424 --- /dev/null +++ b/skills/skill-adapter/assets/README.md @@ -0,0 +1,9 @@ +# Assets + +Bundled resources for creator-studio-pack skill + +- [ ] thumbnail_templates/: A collection of thumbnail templates for different video styles. +- [ ] teleprompter_template.txt: A template for creating teleprompter scripts. +- [ ] audio_presets/: A collection of audio presets for different audio mixing scenarios. +- [ ] subtitle_styles/: A collection of subtitle styles for different video styles. +- [ ] example_video_scripts/: Example video scripts for different video types. diff --git a/skills/skill-adapter/assets/config-template.json b/skills/skill-adapter/assets/config-template.json new file mode 100644 index 0000000..16f1712 --- /dev/null +++ b/skills/skill-adapter/assets/config-template.json @@ -0,0 +1,32 @@ +{ + "skill": { + "name": "skill-name", + "version": "1.0.0", + "enabled": true, + "settings": { + "verbose": false, + "autoActivate": true, + "toolRestrictions": true + } + }, + "triggers": { + "keywords": [ + "example-trigger-1", + "example-trigger-2" + ], + "patterns": [] + }, + "tools": { + "allowed": [ + "Read", + "Grep", + "Bash" + ], + "restricted": [] + }, + "metadata": { + "author": "Plugin Author", + "category": "general", + "tags": [] + } +} diff --git a/skills/skill-adapter/assets/skill-schema.json b/skills/skill-adapter/assets/skill-schema.json new file mode 100644 index 0000000..8dc154c --- /dev/null +++ b/skills/skill-adapter/assets/skill-schema.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Claude Skill Configuration", + "type": "object", + "required": ["name", "description"], + "properties": { + "name": { + "type": "string", + "pattern": "^[a-z0-9-]+$", + "maxLength": 64, + "description": "Skill identifier (lowercase, hyphens only)" + }, + "description": { + "type": "string", + "maxLength": 1024, + "description": "What the skill does and when to use it" + }, + "allowed-tools": { + "type": "string", + "description": "Comma-separated list of allowed tools" + }, + "version": { + "type": "string", + "pattern": "^\\d+\\.\\d+\\.\\d+$", + "description": "Semantic version (x.y.z)" + } + } +} diff --git a/skills/skill-adapter/assets/teleprompter_template.txt b/skills/skill-adapter/assets/teleprompter_template.txt new file mode 100644 index 0000000..4003d47 --- /dev/null +++ b/skills/skill-adapter/assets/teleprompter_template.txt @@ -0,0 +1,76 @@ +# Teleprompter Script Template + +**Project Title:** [Project Title - e.g., "Introducing the New Widget Pro"] + +**Version:** 1.0 + +**Date:** [Date - e.g., "2024-10-27"] + +**Author:** [Your Name] + +## 1. Introduction (Hook & Problem) + +* **Target Audience:** [Describe your ideal viewer - e.g., "Small business owners", "Software developers"] +* **Goal:** [What do you want viewers to do after watching? - e.g., "Visit the website", "Sign up for a trial"] +* **Hook:** [Write a compelling opening line to grab attention. Examples: "Are you tired of...", "Imagine a world where...", "The biggest problem with..."] + * **Example Hook:** "Are you tired of spending hours manually resizing images for social media?" +* **Problem Statement:** [Clearly define the problem your product/video solves.] + * **Example Problem:** "Resizing images for different platforms is tedious, time-consuming, and often leads to pixelation." + +## 2. Solution (Product Introduction) + +* **Transition:** [A smooth transition from the problem to your solution. Examples: "That's why we created...", "Introducing...", "The solution is here..."] + * **Example Transition:** "That's why we created Image Resizer Pro, the easiest way to resize images in seconds." +* **Product Introduction:** [Briefly introduce your product/solution.] + * **Example Product Introduction:** "Image Resizer Pro is a cloud-based tool that automatically resizes your images for all major social media platforms." +* **Key Features (3-5 bullets):** [List the most important features and benefits.] + * **Feature 1:** [Feature Name] - [Benefit - How does it help the viewer?] + * **Example:** "Automatic Resizing - Save time and effort by letting our AI resize your images perfectly." + * **Feature 2:** [Feature Name] - [Benefit - How does it help the viewer?] + * **Example:** "Preset Templates - Choose from hundreds of pre-designed templates for all social media platforms." + * **Feature 3:** [Feature Name] - [Benefit - How does it help the viewer?] + * **Example:** "Cloud-Based - Access Image Resizer Pro from anywhere, on any device." + * **Feature 4:** [Feature Name] - [Benefit - How does it help the viewer?] + * **Example:** "High-Quality Output - Ensure your images always look their best, without pixelation or distortion." + +## 3. Demonstration (Show, Don't Tell) + +* **Call to Action (CTA) to Demo:** [Prompt the viewer to watch a demo.] + * **Example CTA:** "Let me show you how easy it is to use Image Resizer Pro." +* **Demo Outline:** [Briefly list the steps you'll demonstrate. This is for your reference, not the teleprompter.] + * **Step 1:** Upload an image. + * **Step 2:** Select a platform (e.g., Instagram). + * **Step 3:** Download the resized image. +* **Demo Script (Concise & Clear):** [Write the script for your demo. Keep it short and to the point.] + * **Example:** "First, upload your image by clicking the 'Upload' button. Next, select the platform you want to resize for, like Instagram. Finally, click 'Download' to get your perfectly resized image." + +## 4. Benefits Recap & Call to Action + +* **Recap Key Benefits:** [Reiterate the main benefits of your product/solution.] + * **Example:** "With Image Resizer Pro, you can save time, improve your image quality, and reach a wider audience on social media." +* **Strong Call to Action (CTA):** [Tell the viewer exactly what you want them to do.] + * **Example CTA:** "Visit our website today at [website address] to start your free trial. That's [website address]." +* **Optional: Limited-Time Offer:** [If applicable, mention a special offer.] + * **Example Offer:** "For a limited time, get 20% off your first month with code 'LAUNCH20'." +* **Thank You:** [Express gratitude to the viewer.] + * **Example:** "Thanks for watching!" + +## 5. Visuals & B-Roll Notes + +* **Timestamp:** [Time in the video] - **Visual:** [Description of the visual] - **Notes:** [Any additional notes for editing] + * **Example:** "0:00-0:05 - B-roll of someone struggling to resize an image - Show frustration." + * **Example:** "0:05-0:15 - Screen recording of Image Resizer Pro in action - Highlight ease of use." + * **Example:** "0:30-0:45 - Customer testimonials - Show happy customers." + +## 6. Music & Sound Effects + +* **Timestamp:** [Time in the video] - **Description:** [Description of the music/sound effect] - **Notes:** [Any additional notes] + * **Example:** "0:00-0:10 - Upbeat, energetic music - Set a positive tone." + * **Example:** "0:15 - Click sound effect when button is pressed - Reinforce interactivity." + +## 7. Legal & Disclaimers (If Applicable) + +* [Include any necessary legal disclaimers or disclosures here.] + * **Example:** "Results may vary. See our terms of service for details." + +**End of Script** \ No newline at end of file diff --git a/skills/skill-adapter/assets/test-data.json b/skills/skill-adapter/assets/test-data.json new file mode 100644 index 0000000..f0cd871 --- /dev/null +++ b/skills/skill-adapter/assets/test-data.json @@ -0,0 +1,27 @@ +{ + "testCases": [ + { + "name": "Basic activation test", + "input": "trigger phrase example", + "expected": { + "activated": true, + "toolsUsed": ["Read", "Grep"], + "success": true + } + }, + { + "name": "Complex workflow test", + "input": "multi-step trigger example", + "expected": { + "activated": true, + "steps": 3, + "toolsUsed": ["Read", "Write", "Bash"], + "success": true + } + } + ], + "fixtures": { + "sampleInput": "example data", + "expectedOutput": "processed result" + } +} diff --git a/skills/skill-adapter/references/README.md b/skills/skill-adapter/references/README.md new file mode 100644 index 0000000..6a08a20 --- /dev/null +++ b/skills/skill-adapter/references/README.md @@ -0,0 +1,9 @@ +# References + +Bundled resources for creator-studio-pack skill + +- [ ] davinci_resolve_api.md: Documentation for the DaVinci Resolve API. +- [ ] youtube_seo_best_practices.md: Best practices for YouTube SEO. +- [ ] video_editing_best_practices.md: Best practices for video editing. +- [ ] content_strategy_guide.md: Guide for developing a content strategy. +- [ ] teleprompter_instructions.md: Instructions for using the teleprompter plugin. diff --git a/skills/skill-adapter/references/best-practices.md b/skills/skill-adapter/references/best-practices.md new file mode 100644 index 0000000..3505048 --- /dev/null +++ b/skills/skill-adapter/references/best-practices.md @@ -0,0 +1,69 @@ +# Skill Best Practices + +Guidelines for optimal skill usage and development. + +## For Users + +### Activation Best Practices + +1. **Use Clear Trigger Phrases** + - Match phrases from skill description + - Be specific about intent + - Provide necessary context + +2. **Provide Sufficient Context** + - Include relevant file paths + - Specify scope of analysis + - Mention any constraints + +3. **Understand Tool Permissions** + - Check allowed-tools in frontmatter + - Know what the skill can/cannot do + - Request appropriate actions + +### Workflow Optimization + +- Start with simple requests +- Build up to complex workflows +- Verify each step before proceeding +- Use skill consistently for related tasks + +## For Developers + +### Skill Development Guidelines + +1. **Clear Descriptions** + - Include explicit trigger phrases + - Document all capabilities + - Specify limitations + +2. **Proper Tool Permissions** + - Use minimal necessary tools + - Document security implications + - Test with restricted tools + +3. **Comprehensive Documentation** + - Provide usage examples + - Document common pitfalls + - Include troubleshooting guide + +### Maintenance + +- Keep version updated +- Test after tool updates +- Monitor user feedback +- Iterate on descriptions + +## Performance Tips + +- Scope skills to specific domains +- Avoid overlapping trigger phrases +- Keep descriptions under 1024 chars +- Test activation reliability + +## Security Considerations + +- Never include secrets in skill files +- Validate all inputs +- Use read-only tools when possible +- Document security requirements diff --git a/skills/skill-adapter/references/examples.md b/skills/skill-adapter/references/examples.md new file mode 100644 index 0000000..b1d8bd2 --- /dev/null +++ b/skills/skill-adapter/references/examples.md @@ -0,0 +1,70 @@ +# Skill Usage Examples + +This document provides practical examples of how to use this skill effectively. + +## Basic Usage + +### Example 1: Simple Activation + +**User Request:** +``` +[Describe trigger phrase here] +``` + +**Skill Response:** +1. Analyzes the request +2. Performs the required action +3. Returns results + +### Example 2: Complex Workflow + +**User Request:** +``` +[Describe complex scenario] +``` + +**Workflow:** +1. Step 1: Initial analysis +2. Step 2: Data processing +3. Step 3: Result generation +4. Step 4: Validation + +## Advanced Patterns + +### Pattern 1: Chaining Operations + +Combine this skill with other tools: +``` +Step 1: Use this skill for [purpose] +Step 2: Chain with [other tool] +Step 3: Finalize with [action] +``` + +### Pattern 2: Error Handling + +If issues occur: +- Check trigger phrase matches +- Verify context is available +- Review allowed-tools permissions + +## Tips & Best Practices + +- ✅ Be specific with trigger phrases +- ✅ Provide necessary context +- ✅ Check tool permissions match needs +- ❌ Avoid vague requests +- ❌ Don't mix unrelated tasks + +## Common Issues + +**Issue:** Skill doesn't activate +**Solution:** Use exact trigger phrases from description + +**Issue:** Unexpected results +**Solution:** Check input format and context + +## See Also + +- Main SKILL.md for full documentation +- scripts/ for automation helpers +- assets/ for configuration examples diff --git a/skills/skill-adapter/scripts/README.md b/skills/skill-adapter/scripts/README.md new file mode 100644 index 0000000..4b187a6 --- /dev/null +++ b/skills/skill-adapter/scripts/README.md @@ -0,0 +1,9 @@ +# Scripts + +Bundled resources for creator-studio-pack skill + +- [ ] video_editor_script.py: Automates video editing tasks in DaVinci Resolve based on AI instructions. +- [ ] thumbnail_generator.py: Generates thumbnails based on user-provided keywords and style preferences. +- [ ] seo_optimizer.py: Optimizes video titles and descriptions for SEO based on keyword research. +- [ ] distribution_script.py: Automates the distribution of videos to multiple platforms. +- [ ] analytics_script.py: Collects and analyzes video analytics to provide insights for optimization. diff --git a/skills/skill-adapter/scripts/helper-template.sh b/skills/skill-adapter/scripts/helper-template.sh new file mode 100755 index 0000000..c4aae90 --- /dev/null +++ b/skills/skill-adapter/scripts/helper-template.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# Helper script template for skill automation +# Customize this for your skill's specific needs + +set -e + +function show_usage() { + echo "Usage: $0 [options]" + echo "" + echo "Options:" + echo " -h, --help Show this help message" + echo " -v, --verbose Enable verbose output" + echo "" +} + +# Parse arguments +VERBOSE=false + +while [[ $# -gt 0 ]]; do + case $1 in + -h|--help) + show_usage + exit 0 + ;; + -v|--verbose) + VERBOSE=true + shift + ;; + *) + echo "Unknown option: $1" + show_usage + exit 1 + ;; + esac +done + +# Your skill logic here +if [ "$VERBOSE" = true ]; then + echo "Running skill automation..." +fi + +echo "✅ Complete" diff --git a/skills/skill-adapter/scripts/validation.sh b/skills/skill-adapter/scripts/validation.sh new file mode 100755 index 0000000..590af58 --- /dev/null +++ b/skills/skill-adapter/scripts/validation.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Skill validation helper +# Validates skill activation and functionality + +set -e + +echo "🔍 Validating skill..." + +# Check if SKILL.md exists +if [ ! -f "../SKILL.md" ]; then + echo "❌ Error: SKILL.md not found" + exit 1 +fi + +# Validate frontmatter +if ! grep -q "^---$" "../SKILL.md"; then + echo "❌ Error: No frontmatter found" + exit 1 +fi + +# Check required fields +if ! grep -q "^name:" "../SKILL.md"; then + echo "❌ Error: Missing 'name' field" + exit 1 +fi + +if ! grep -q "^description:" "../SKILL.md"; then + echo "❌ Error: Missing 'description' field" + exit 1 +fi + +echo "✅ Skill validation passed"