Capstone: Build and Publish a Plugin
Build a complete plugin with multiple skills, a workflow, and share it — everything from this course in one project.
Premium Course Content
This lesson is part of a premium course. Upgrade to Pro to unlock all premium courses and content.
- Access all premium courses
- 1000+ AI skill templates included
- New content added weekly
Eight lessons of learning. Now let’s build something real — a complete plugin you can share with your team, publish on GitHub, or submit to the community.
🔄 Quick Recall: From the workflows lesson, you learned to chain skills with clean handoffs, add error handling, and test with real data. This capstone applies every skill from the entire course into one integrated project.
Choose Your Plugin Scope
Pick a domain you know well. The best plugins come from real expertise, not hypothetical scenarios.
Option A: Client Report Generator
- Skills: data-collector, insight-extractor, report-writer, exec-summarizer
- MCP: Google Sheets, Jira (or local file fallback)
- Workflow: Raw data → insights → formatted report → exec summary
Option B: Content Operations
- Skills: brief-creator, research-compiler, draft-writer, seo-optimizer
- MCP: Google Docs (optional)
- Workflow: Brief → research → draft → SEO-optimized final
Option C: Meeting Operations
- Skills: agenda-creator, notes-formatter, action-tracker, follow-up-drafter
- MCP: Google Calendar, Slack (optional)
- Workflow: Pre-meeting prep → post-meeting notes → action items → follow-ups
Pick one, or define your own. The structure is the same.
Step 1: Create the Plugin Scaffold
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Manifest
├── skills/
│ ├── skill-one/
│ │ └── SKILL.md
│ ├── skill-two/
│ │ └── SKILL.md
│ └── skill-three/
│ ├── SKILL.md
│ └── template.md # Context file
├── commands/
│ └── run-workflow.md # Slash command for the full workflow
└── .mcp.json # MCP connections (optional)
Step 2: Write the Manifest
{
"name": "client-report-generator",
"version": "1.0.0",
"description": "Generates client reports from project data — collects metrics, extracts insights, and produces executive-ready documents.",
"author": {
"name": "Your Name"
},
"keywords": ["reports", "client", "analytics", "executive"]
}
Keep it simple. The manifest is metadata — name, version, description, author.
Step 3: Build Each Skill
Work through your skills one at a time. For each one:
- Write the SKILL.md (frontmatter + instructions)
- Add context files if needed (templates, examples, guidelines)
- Test the skill individually with real data
- Fix any issues before moving to the next skill
Don’t rush this. Each skill should work reliably on its own before you chain them.
✅ Quick Check: Why should you test each skill individually before combining them into a workflow?
Step 4: Wire the Workflow
Create a slash command that orchestrates all skills:
---
name: generate-client-report
description: "Runs the full client report workflow — from data collection through executive summary."
---
# Client Report Workflow
Run these steps in sequence:
## Phase 1: Data Collection
Use the data-collector skill to gather metrics from the project folder.
Save findings to `data-summary.md`.
Show me the summary before proceeding.
## Phase 2: Insight Extraction
Use the insight-extractor skill on `data-summary.md`.
Identify trends, anomalies, and key metrics.
Save to `insights.md`.
Show me before proceeding.
## Phase 3: Report Writing
Use the report-writer skill to create the full client report.
Input: `data-summary.md` + `insights.md`
Apply the template from `skills/report-writer/report-template.md`.
Save to `client-report-draft.md`.
## Phase 4: Executive Summary
Use the exec-summarizer skill to create a one-page summary.
Input: `client-report-draft.md`
Save final report to `client-report-final.md`.
Save exec summary to `exec-summary.md`.
Save this as commands/generate-client-report.md. Now /generate-client-report runs the entire workflow.
Step 5: Test End-to-End
Run the complete workflow 3-5 times with different data:
Test 1: Happy path — give it clean, complete data. Does the final output look right?
Test 2: Messy data — missing columns, inconsistent formats. Does it handle errors gracefully?
Test 3: Different project type — does the plugin work for different clients/contexts?
After each test, note what broke and fix the relevant skill. The goal: consistent, reliable output across varying inputs.
Step 6: Package and Share
For Your Team (Zip)
cd my-plugin
zip -r client-report-generator-v1.zip . -x "*.DS_Store"
Send the zip. Teammates unzip into their project directory. Done.
For the Community (GitHub)
cd my-plugin
git init
git add .
git commit -m "Initial release: client report generator plugin"
git remote add origin https://github.com/yourname/cowork-client-reports
git push -u origin main
Add a README.md with:
- What the plugin does
- Prerequisites (connectors needed, file formats expected)
- How to install (clone into project directory)
- How to customize (which skills to modify for your context)
For Your Organization (Admin Provisioning)
On Team/Enterprise plans, share your plugin via admin tools:
- Upload the plugin to your organization’s private marketplace
- Assign it to relevant teams
- Configure auto-install for new team members
Course Review
Here’s everything you’ve learned, in one table:
| Lesson | Core Skill | You Can Now… |
|---|---|---|
| 1 | Ecosystem | Distinguish skills, plugins, commands, and sub-agents |
| 2 | Using Plugins | Install, customize, and use official plugins |
| 3 | Building Skills | Create SKILL.md with frontmatter and instructions |
| 4 | Advanced Patterns | Use context files, conditional logic, and multi-step skills |
| 5 | MCP Integration | Connect skills to external tools via MCP protocol |
| 6 | OpenClaw & Sharing | Evaluate community skills safely and share your own |
| 7 | Workflows | Chain skills into automated multi-step processes |
| 8 | Capstone | Build, test, and publish a complete plugin |
Your Plugin Quick Reference
Plugin Structure:
.claude-plugin/plugin.json ← Manifest (name, version, author)
skills/*/SKILL.md ← Individual capabilities
commands/*.md ← Slash commands / workflows
.mcp.json ← External tool connections
Skill Format:
--- (YAML frontmatter: name, description) ---
# Instructions (markdown body)
Testing Checklist:
□ Each skill works individually
□ Workflow produces correct output end-to-end
□ Error handling works for missing data
□ Tested 3-5 times with real data
□ Tested by someone else
Sharing:
zip → teammates
GitHub → community
Admin provisioning → organization
What to Do This Week
- Finish your capstone plugin if you haven’t already
- Use it daily for one week — real usage reveals issues testing doesn’t
- Refine based on daily use — each fix makes the plugin more robust
- Share with one teammate — their feedback improves your plugin more than solo testing ever could
Keep Going
- Claude Cowork Essentials — If any basics are fuzzy, revisit the fundamentals
- Claude Code Mastery — For developers who want coding-specific workflows
- Prompt Engineering — The foundation that makes every skill better
- Browse 1,000+ skills — Ready-to-use skill templates for any domain
Key Takeaways
- A shareable plugin needs: manifest, skills, and optionally MCP config and workflow commands
- Test each skill individually before combining into workflows
- Test end-to-end 3-5 times with real data before sharing
- Share via zip (simple), GitHub (versioned), or admin provisioning (enterprise)
- One battle-tested plugin beats ten untested ones
- Real daily use is the best form of testing and refinement
Congratulations on completing the course. Go claim your certificate.