Initial commit
This commit is contained in:
11
.claude-plugin/plugin.json
Normal file
11
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "plugin-builder",
|
||||
"description": "Helps create well-structured Claude Code plugins with skills, commands, and proper metadata following best practices",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Claude Code Marketplace"
|
||||
},
|
||||
"skills": [
|
||||
"./skills"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# plugin-builder
|
||||
|
||||
Helps create well-structured Claude Code plugins with skills, commands, and proper metadata following best practices
|
||||
61
plugin.lock.json
Normal file
61
plugin.lock.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:joel611/claude-plugins:plugins/claude/plugin-builder",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "42654ab92290c48c1201fea52e91c5df29037834",
|
||||
"treeHash": "6db020c2be0e8fef2246353f4db6e1e439bf187e203861b4f95f5617aa6c5310",
|
||||
"generatedAt": "2025-11-28T10:19:17.220216Z",
|
||||
"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": "plugin-builder",
|
||||
"description": "Helps create well-structured Claude Code plugins with skills, commands, and proper metadata following best practices",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "5aa01f4fc2cc3db5a6c60e292f8ce9f9f71d162db411c5b951f4bccff3f63bce"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "10fd847676ba1693273f5d474d4f20f43e040d846ba61432551a6585d5e6dd3e"
|
||||
},
|
||||
{
|
||||
"path": "skills/plugin-builder/SKILL.md",
|
||||
"sha256": "685b32ad42afff51ed583a1fc2e0ad2faaee4b0d7ec869975e732bd4d207276d"
|
||||
},
|
||||
{
|
||||
"path": "skills/plugin-builder/resources/plugin-template.json",
|
||||
"sha256": "ef6376d98c2b2e6bb5ec287df279b031515fa2e860b1b49ea1fee3170a5bbc7b"
|
||||
},
|
||||
{
|
||||
"path": "skills/plugin-builder/resources/marketplace-entry.json",
|
||||
"sha256": "d6f8cc6f7485a3bcb5fff61028a820a3d1e10d61ccc470ef629ae80c41fc63db"
|
||||
},
|
||||
{
|
||||
"path": "skills/plugin-builder/resources/command-template.md",
|
||||
"sha256": "58e6640b71e8e50c3ebef66057ec8647e4bb4215b0c3fc8118896cf5ce2116d3"
|
||||
},
|
||||
{
|
||||
"path": "skills/plugin-builder/resources/skill-template.md",
|
||||
"sha256": "ad25bbf021ac857bf8b724000e6ff2d1f73bb18a9388dd71a4471848010e064b"
|
||||
}
|
||||
],
|
||||
"dirSha256": "6db020c2be0e8fef2246353f4db6e1e439bf187e203861b4f95f5617aa6c5310"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
513
skills/plugin-builder/SKILL.md
Normal file
513
skills/plugin-builder/SKILL.md
Normal file
@@ -0,0 +1,513 @@
|
||||
# Plugin Builder Skill
|
||||
|
||||
## Purpose
|
||||
|
||||
This skill guides you through creating well-structured Claude Code plugins with all necessary components, following best practices for discoverability, maintainability, and user experience.
|
||||
|
||||
## When to Use
|
||||
|
||||
Use this skill when:
|
||||
- Creating a new Claude Code plugin from scratch
|
||||
- Adding components (skills, commands, agents, hooks) to existing plugins
|
||||
- Generating properly structured SKILL.md files
|
||||
- Setting up marketplace plugin registration
|
||||
- Validating plugin metadata and structure
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Access to a Claude Code marketplace repository
|
||||
- Understanding of the plugin's intended functionality
|
||||
- Basic knowledge of JSON and Markdown formats
|
||||
- Location of the marketplace root directory
|
||||
|
||||
## Plugin Architecture Overview
|
||||
|
||||
A Claude Code plugin follows this structure:
|
||||
|
||||
```
|
||||
plugin-name/
|
||||
├── .claude-plugin/
|
||||
│ └── plugin.json # Required: Plugin metadata
|
||||
├── skills/ # Optional: Agent Skills
|
||||
│ └── skill-name/
|
||||
│ ├── SKILL.md # Skill instructions
|
||||
│ ├── scripts/ # Optional: Executable code
|
||||
│ └── resources/ # Optional: Templates, data
|
||||
├── commands/ # Optional: Custom slash commands
|
||||
│ └── command-name.md
|
||||
├── agents/ # Optional: Custom agent definitions
|
||||
├── hooks/ # Optional: Event handlers
|
||||
│ └── hooks.json
|
||||
└── .mcp.json # Optional: MCP server configuration
|
||||
```
|
||||
|
||||
## Instructions
|
||||
|
||||
### Step 1: Plan the Plugin
|
||||
|
||||
Before creating files, clarify:
|
||||
1. **Plugin name** (use kebab-case: `my-plugin-name`)
|
||||
2. **Purpose** (what problem does it solve?)
|
||||
3. **Components needed** (skills, commands, agents, hooks?)
|
||||
4. **Target users** (who will use this plugin?)
|
||||
|
||||
### Step 2: Create Plugin Directory Structure
|
||||
|
||||
1. Navigate to the marketplace `plugins/` directory
|
||||
2. Create the plugin directory: `plugins/category/plugin-name/`
|
||||
3. Create required subdirectories:
|
||||
```bash
|
||||
mkdir -p plugins/category/plugin-name/.claude-plugin
|
||||
mkdir -p plugins/category/plugin-name/skills
|
||||
mkdir -p plugins/category/plugin-name/commands # if needed
|
||||
```
|
||||
|
||||
### Step 3: Generate plugin.json
|
||||
|
||||
Create `.claude-plugin/plugin.json` with this structure:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "plugin-name",
|
||||
"description": "Clear, concise description of plugin functionality (1-2 sentences)",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Author Name",
|
||||
"email": "author@example.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Required fields:**
|
||||
- `name`: Plugin identifier (kebab-case, no spaces)
|
||||
- `description`: User-facing description (be specific about what it does)
|
||||
- `version`: Semantic version (major.minor.patch)
|
||||
- `author.name`: Author's name
|
||||
|
||||
**Version Guidelines:**
|
||||
- Start with `1.0.0` for initial release
|
||||
- Increment patch (1.0.1) for bug fixes
|
||||
- Increment minor (1.1.0) for new features (backward compatible)
|
||||
- Increment major (2.0.0) for breaking changes
|
||||
|
||||
### Step 4: Create Skills (if applicable)
|
||||
|
||||
For each skill in the plugin:
|
||||
|
||||
1. **Create skill directory:**
|
||||
```bash
|
||||
mkdir -p plugins/category/plugin-name/skills/skill-name
|
||||
```
|
||||
|
||||
2. **Create SKILL.md** using progressive disclosure format:
|
||||
|
||||
```markdown
|
||||
# Skill Name
|
||||
|
||||
## Purpose
|
||||
[1-2 sentences: What this skill does and its main value]
|
||||
|
||||
## When to Use
|
||||
[Bullet list of specific scenarios where this skill applies]
|
||||
- Creating X
|
||||
- Automating Y
|
||||
- Solving Z problem
|
||||
|
||||
## Prerequisites
|
||||
[What's needed before using this skill]
|
||||
- Required tools or libraries
|
||||
- Necessary permissions or access
|
||||
- Context or information needed
|
||||
|
||||
## Instructions
|
||||
|
||||
### Task 1: [First Major Step]
|
||||
[Detailed step-by-step instructions]
|
||||
1. Do this first
|
||||
2. Then do this
|
||||
3. Finally do this
|
||||
|
||||
### Task 2: [Second Major Step]
|
||||
[More detailed instructions]
|
||||
|
||||
[Continue with all major tasks...]
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: [Concrete Use Case]
|
||||
[Show complete example with actual code/commands]
|
||||
|
||||
\`\`\`language
|
||||
[actual code]
|
||||
\`\`\`
|
||||
|
||||
### Example 2: [Another Use Case]
|
||||
[Another complete example]
|
||||
|
||||
## Best Practices
|
||||
- [Specific practice 1]
|
||||
- [Specific practice 2]
|
||||
- [Specific practice 3]
|
||||
|
||||
## Common Issues
|
||||
- **Problem:** [Description]
|
||||
**Solution:** [How to fix]
|
||||
- **Problem:** [Description]
|
||||
**Solution:** [How to fix]
|
||||
```
|
||||
|
||||
3. **Add optional resources:**
|
||||
```bash
|
||||
mkdir -p plugins/category/plugin-name/skills/skill-name/resources
|
||||
mkdir -p plugins/category/plugin-name/skills/skill-name/scripts
|
||||
```
|
||||
|
||||
**Skill Best Practices:**
|
||||
- **Focus:** Each skill should do ONE thing well
|
||||
- **Discoverability:** Use clear, searchable names and descriptions
|
||||
- **Progressive disclosure:** Start with overview, then details, then examples
|
||||
- **Actionable:** Provide concrete steps, not generic advice
|
||||
- **Examples:** Include real, working examples users can adapt
|
||||
- **Error handling:** Document common issues and solutions
|
||||
|
||||
### Step 5: Create Commands (if applicable)
|
||||
|
||||
For custom slash commands:
|
||||
|
||||
1. **Create command file:**
|
||||
```bash
|
||||
touch plugins/category/plugin-name/commands/command-name.md
|
||||
```
|
||||
|
||||
2. **Write command markdown:**
|
||||
|
||||
```markdown
|
||||
# Command Name
|
||||
|
||||
[Description of what this command does]
|
||||
|
||||
## Usage
|
||||
/command-name [arguments]
|
||||
|
||||
## Examples
|
||||
/command-name example-arg
|
||||
|
||||
## Parameters
|
||||
- `arg1`: Description of first argument
|
||||
- `arg2`: Description of second argument (optional)
|
||||
|
||||
## Instructions for Claude
|
||||
[Detailed instructions for what Claude should do when this command is invoked]
|
||||
|
||||
1. Step 1
|
||||
2. Step 2
|
||||
3. Step 3
|
||||
```
|
||||
|
||||
### Step 6: Update Marketplace Registry
|
||||
|
||||
1. **Open marketplace.json:**
|
||||
Located at `.claude-plugin/marketplace.json` in the repository root
|
||||
|
||||
2. **Add plugin entry:**
|
||||
```json
|
||||
{
|
||||
"name": "marketplace-name",
|
||||
"plugins": [
|
||||
{
|
||||
"name": "plugin-name",
|
||||
"source": "./plugins/category/plugin-name",
|
||||
"description": "Plugin description"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Important:** For local plugins, the `source` field must start with `./` to specify a relative path from the marketplace root.
|
||||
|
||||
### Step 7: Validate Plugin
|
||||
|
||||
**Checklist:**
|
||||
- [ ] plugin.json exists and has all required fields
|
||||
- [ ] Plugin name uses kebab-case (no spaces, lowercase with hyphens)
|
||||
- [ ] Description is clear and specific
|
||||
- [ ] Version follows semantic versioning (major.minor.patch)
|
||||
- [ ] All SKILL.md files follow progressive disclosure format
|
||||
- [ ] Examples are included in all SKILL.md files
|
||||
- [ ] Commands have clear usage instructions
|
||||
- [ ] Plugin is registered in marketplace.json
|
||||
- [ ] File paths are correct and accessible
|
||||
|
||||
### Step 8: Test Locally
|
||||
|
||||
1. **Install the plugin locally:**
|
||||
- User runs: `/plugin install plugin-name@marketplace-name`
|
||||
|
||||
2. **Test skill invocation:**
|
||||
- Verify skills are discoverable
|
||||
- Test with relevant prompts
|
||||
- Check that instructions are clear
|
||||
|
||||
3. **Test commands:**
|
||||
- Run each slash command
|
||||
- Verify behavior matches documentation
|
||||
|
||||
4. **Iterate:**
|
||||
- Fix any issues found
|
||||
- Update documentation as needed
|
||||
- Increment version number for changes
|
||||
|
||||
## Complete Examples
|
||||
|
||||
### Example 1: Creating a Data Validation Plugin
|
||||
|
||||
**Scenario:** Create a plugin that validates JSON schemas
|
||||
|
||||
**Step-by-step:**
|
||||
|
||||
1. **Create structure:**
|
||||
```bash
|
||||
mkdir -p plugins/data/json-validator/.claude-plugin
|
||||
mkdir -p plugins/data/json-validator/skills/json-validator
|
||||
```
|
||||
|
||||
2. **Create plugin.json:**
|
||||
```json
|
||||
{
|
||||
"name": "json-validator",
|
||||
"description": "Validates JSON data against schemas with detailed error reporting",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Data Team"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. **Create SKILL.md:**
|
||||
```markdown
|
||||
# JSON Validator Skill
|
||||
|
||||
## Purpose
|
||||
Validates JSON data against JSON Schema specifications and provides detailed error reports.
|
||||
|
||||
## When to Use
|
||||
- Validating API request/response payloads
|
||||
- Checking configuration files
|
||||
- Ensuring data structure compliance
|
||||
|
||||
## Prerequisites
|
||||
- JSON data to validate
|
||||
- JSON Schema definition
|
||||
- Understanding of JSON Schema syntax
|
||||
|
||||
## Instructions
|
||||
|
||||
### Validate JSON Data
|
||||
1. Receive or locate the JSON data to validate
|
||||
2. Receive or locate the JSON Schema
|
||||
3. Parse both JSON data and schema
|
||||
4. Validate data against schema
|
||||
5. Report validation results with specific errors
|
||||
6. Suggest fixes for validation errors
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Validate User Object
|
||||
Schema:
|
||||
\`\`\`json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {"type": "string"},
|
||||
"age": {"type": "number"}
|
||||
},
|
||||
"required": ["name"]
|
||||
}
|
||||
\`\`\`
|
||||
|
||||
Valid data:
|
||||
\`\`\`json
|
||||
{"name": "Alice", "age": 30}
|
||||
\`\`\`
|
||||
|
||||
Invalid data:
|
||||
\`\`\`json
|
||||
{"age": 30}
|
||||
\`\`\`
|
||||
Error: Missing required property 'name'
|
||||
|
||||
## Best Practices
|
||||
- Always show the full error path for nested objects
|
||||
- Suggest corrected JSON when possible
|
||||
- Validate schema itself before using it
|
||||
- Handle common schema mistakes gracefully
|
||||
|
||||
## Common Issues
|
||||
- **Problem:** Schema reference ($ref) not resolved
|
||||
**Solution:** Ensure all referenced schemas are accessible
|
||||
- **Problem:** Type coercion confusion
|
||||
**Solution:** Be explicit about type expectations
|
||||
```
|
||||
|
||||
4. **Update marketplace.json:**
|
||||
```json
|
||||
{
|
||||
"plugins": [
|
||||
{
|
||||
"name": "json-validator",
|
||||
"source": "./plugins/data/json-validator",
|
||||
"description": "Validates JSON data against schemas"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Example 2: Adding a Skill to Existing Plugin
|
||||
|
||||
**Scenario:** Add a new skill to the json-validator plugin
|
||||
|
||||
1. **Create new skill directory:**
|
||||
```bash
|
||||
mkdir -p plugins/data/json-validator/skills/schema-generator
|
||||
```
|
||||
|
||||
2. **Create SKILL.md:**
|
||||
```markdown
|
||||
# Schema Generator Skill
|
||||
|
||||
## Purpose
|
||||
Generates JSON Schema definitions from example JSON data.
|
||||
|
||||
## When to Use
|
||||
- Creating schemas from existing data
|
||||
- Documenting API data structures
|
||||
- Reverse engineering schemas
|
||||
|
||||
[... rest of SKILL.md ...]
|
||||
```
|
||||
|
||||
3. **Update plugin version:**
|
||||
Edit `plugin.json`:
|
||||
```json
|
||||
{
|
||||
"version": "1.1.0"
|
||||
}
|
||||
```
|
||||
(Minor version increment for new feature)
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
**Plugins:**
|
||||
- Use kebab-case: `my-plugin-name`
|
||||
- Be descriptive but concise
|
||||
- Avoid generic names like "helper" or "utility"
|
||||
- Good: `json-validator`, `code-formatter`, `api-tester`
|
||||
- Bad: `helper`, `utils`, `my_plugin`
|
||||
|
||||
**Skills:**
|
||||
- Use clear, action-oriented names
|
||||
- Match the skill's primary function
|
||||
- Good: `json-validator`, `schema-generator`, `data-transformer`
|
||||
- Bad: `skill1`, `helper`, `misc`
|
||||
|
||||
**Commands:**
|
||||
- Start with verb when possible
|
||||
- Be specific about action
|
||||
- Good: `validate-json`, `generate-schema`, `format-code`
|
||||
- Bad: `do-thing`, `run`, `help`
|
||||
|
||||
## Best Practices Summary
|
||||
|
||||
### Plugin Design
|
||||
- **Single responsibility:** Each plugin should have a clear, focused purpose
|
||||
- **Composability:** Plugins should work well together
|
||||
- **Discoverability:** Names and descriptions should make purpose obvious
|
||||
- **Documentation:** Include examples for all features
|
||||
- **Versioning:** Follow semantic versioning strictly
|
||||
|
||||
### Skill Design
|
||||
- **Progressive disclosure:** Overview → Instructions → Examples
|
||||
- **Concrete examples:** Show real code, not pseudocode
|
||||
- **Error handling:** Document common issues and solutions
|
||||
- **Prerequisites:** List what's needed upfront
|
||||
- **Modularity:** Keep skills focused on specific tasks
|
||||
|
||||
### Testing
|
||||
- **Local testing:** Always test before committing
|
||||
- **User perspective:** Test as if you've never seen it before
|
||||
- **Documentation:** Verify all examples work
|
||||
- **Edge cases:** Test with unusual inputs
|
||||
- **Integration:** Test with other plugins
|
||||
|
||||
### Maintenance
|
||||
- **Version bump:** Update version for any changes
|
||||
- **Changelog:** Document what changed and why
|
||||
- **Backward compatibility:** Don't break existing users
|
||||
- **Deprecation:** Warn before removing features
|
||||
- **Updates:** Keep dependencies and references current
|
||||
|
||||
## Common Issues and Solutions
|
||||
|
||||
### Issue 1: Skill Not Being Discovered
|
||||
**Problem:** Claude doesn't load the skill when relevant
|
||||
|
||||
**Solutions:**
|
||||
- Check SKILL.md filename is exactly `SKILL.md` (case-sensitive)
|
||||
- Verify skill directory path: `plugins/category/plugin/skills/skill-name/SKILL.md`
|
||||
- Ensure plugin is registered in marketplace.json
|
||||
- Check that skill name and description are descriptive
|
||||
- Verify plugin is installed: `/plugin list`
|
||||
|
||||
### Issue 2: Invalid Plugin Metadata
|
||||
**Problem:** Plugin fails to install or load
|
||||
|
||||
**Solutions:**
|
||||
- Validate JSON syntax in plugin.json (no trailing commas, proper quotes)
|
||||
- Ensure all required fields present: name, description, version, author.name
|
||||
- Check name uses kebab-case with no spaces
|
||||
- Verify version follows semantic versioning (X.Y.Z)
|
||||
- Ensure file is named exactly `plugin.json`
|
||||
|
||||
### Issue 3: Command Not Working
|
||||
**Problem:** Slash command doesn't execute
|
||||
|
||||
**Solutions:**
|
||||
- Verify command file is in `commands/` directory
|
||||
- Check filename matches command name
|
||||
- Ensure markdown formatting is correct
|
||||
- Verify plugin is installed and loaded
|
||||
- Check command syntax matches documentation
|
||||
|
||||
### Issue 4: Marketplace Registration Failed
|
||||
**Problem:** Plugin not showing in marketplace
|
||||
|
||||
**Solutions:**
|
||||
- Verify marketplace.json syntax is valid
|
||||
- Check plugin source path is correct relative to marketplace root
|
||||
- Ensure plugin name in marketplace.json matches plugin.json
|
||||
- Verify marketplace.json is in `.claude-plugin/` at repo root
|
||||
|
||||
### Issue 5: Version Conflicts
|
||||
**Problem:** Multiple versions causing issues
|
||||
|
||||
**Solutions:**
|
||||
- Use semantic versioning consistently
|
||||
- Document breaking changes clearly
|
||||
- Test compatibility with existing plugins
|
||||
- Update marketplace.json with correct version
|
||||
- Consider version deprecation strategy
|
||||
|
||||
## Resources
|
||||
|
||||
The plugin-builder includes templates in `skills/plugin-builder/resources/`:
|
||||
- `plugin-template.json`: Starter plugin.json
|
||||
- `skill-template.md`: SKILL.md boilerplate
|
||||
- `command-template.md`: Command file structure
|
||||
- `marketplace-entry.json`: Marketplace registration example
|
||||
|
||||
## Support
|
||||
|
||||
For plugin system documentation, see:
|
||||
- Claude Code Plugins: https://docs.claude.com/en/docs/claude-code/plugins
|
||||
- Agent Skills: https://docs.claude.com/en/docs/claude-code/skills
|
||||
- Skills Best Practices: https://docs.anthropic.com/en/docs/agents-and-tools/agent-skills/best-practices
|
||||
57
skills/plugin-builder/resources/command-template.md
Normal file
57
skills/plugin-builder/resources/command-template.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Command Name
|
||||
|
||||
[Brief description of what this command does - 1-2 sentences]
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/command-name [required-arg] [optional-arg]
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
- `required-arg`: Description of the required argument and what it should be
|
||||
- `optional-arg`: Description of optional argument (if any)
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Basic Usage
|
||||
```
|
||||
/command-name example-value
|
||||
```
|
||||
[Description of what happens]
|
||||
|
||||
### Example 2: Advanced Usage
|
||||
```
|
||||
/command-name example-value optional-value
|
||||
```
|
||||
[Description of what happens with optional argument]
|
||||
|
||||
## Instructions for Claude
|
||||
|
||||
When this command is invoked, you should:
|
||||
|
||||
1. [First action to take]
|
||||
2. [Second action]
|
||||
3. [Third action]
|
||||
4. [Final action]
|
||||
|
||||
### Validation
|
||||
|
||||
Before executing:
|
||||
- [Check this condition]
|
||||
- [Verify that requirement]
|
||||
|
||||
### Error Handling
|
||||
|
||||
If [error condition]:
|
||||
- [How to handle it]
|
||||
|
||||
If [another error]:
|
||||
- [Resolution steps]
|
||||
|
||||
## Notes
|
||||
|
||||
- [Important note about usage]
|
||||
- [Limitation or constraint]
|
||||
- [Related commands or skills]
|
||||
5
skills/plugin-builder/resources/marketplace-entry.json
Normal file
5
skills/plugin-builder/resources/marketplace-entry.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "plugin-name",
|
||||
"source": "./plugins/category/plugin-name",
|
||||
"description": "Brief description of what the plugin does for marketplace listing"
|
||||
}
|
||||
9
skills/plugin-builder/resources/plugin-template.json
Normal file
9
skills/plugin-builder/resources/plugin-template.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "plugin-name",
|
||||
"description": "Clear, concise description of plugin functionality (1-2 sentences)",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Author Name",
|
||||
"email": "author@example.com"
|
||||
}
|
||||
}
|
||||
86
skills/plugin-builder/resources/skill-template.md
Normal file
86
skills/plugin-builder/resources/skill-template.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Skill Name
|
||||
|
||||
## Purpose
|
||||
|
||||
[1-2 sentences describing what this skill does and its main value proposition]
|
||||
|
||||
## When to Use
|
||||
|
||||
Use this skill when:
|
||||
- [Specific scenario 1]
|
||||
- [Specific scenario 2]
|
||||
- [Specific scenario 3]
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [Required tool, library, or dependency]
|
||||
- [Necessary permission or access]
|
||||
- [Context or information needed]
|
||||
|
||||
## Instructions
|
||||
|
||||
### Step 1: [First Major Task]
|
||||
|
||||
[Detailed step-by-step instructions for the first major task]
|
||||
|
||||
1. [Specific action]
|
||||
2. [Next action]
|
||||
3. [Final action]
|
||||
|
||||
### Step 2: [Second Major Task]
|
||||
|
||||
[Detailed instructions for the second task]
|
||||
|
||||
1. [Action]
|
||||
2. [Action]
|
||||
|
||||
[Continue with additional steps as needed...]
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: [Concrete Use Case Name]
|
||||
|
||||
**Scenario:** [Brief description of the scenario]
|
||||
|
||||
**Input:**
|
||||
```
|
||||
[Example input data/code]
|
||||
```
|
||||
|
||||
**Steps:**
|
||||
1. [What to do]
|
||||
2. [Next step]
|
||||
|
||||
**Output:**
|
||||
```
|
||||
[Expected output]
|
||||
```
|
||||
|
||||
### Example 2: [Another Use Case]
|
||||
|
||||
[Another complete example showing different aspect of the skill]
|
||||
|
||||
## Best Practices
|
||||
|
||||
- [Specific practice related to this skill]
|
||||
- [Another important practice]
|
||||
- [Third practice]
|
||||
- [Fourth practice]
|
||||
|
||||
## Common Issues
|
||||
|
||||
### Issue 1: [Problem Description]
|
||||
**Problem:** [Detailed description of the issue]
|
||||
|
||||
**Solution:** [How to resolve it]
|
||||
|
||||
### Issue 2: [Another Problem]
|
||||
**Problem:** [Description]
|
||||
|
||||
**Solution:** [Resolution steps]
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- [Link to related documentation]
|
||||
- [Reference to related skills]
|
||||
- [External resources if applicable]
|
||||
Reference in New Issue
Block a user