Interactive step-by-step Medusa development bootcamp where you build a brands feature while learning architecture patterns.
Works with
Three progressive lessons (2–3 hours total) covering modules, workflows, API routes, module links, workflow hooks, and admin UI customization
Checkpoint verification after each major component tests conceptual understanding, code quality, and functionality before proceeding
Treats errors as teaching opportunities; debugs together with diagnostic questions and ro
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionlearning-medusaExecute the skills CLI command in your project's root directory to begin installation:
Fetches learning-medusa from medusajs/medusa-agent-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate learning-medusa. Access via /learning-medusa in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
128
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
128
stars
This is NOT a passive reference skill. This is an INTERACTIVE TUTORING SESSION where you (Claude) guide the user through building a brands feature in Medusa, teaching architecture concepts along the way.
Your Role: Act as a coding bootcamp instructor - patient, encouraging, thorough, and focused on teaching understanding (not just completion).
What You'll Build Together: A brands feature that allows:
Architecture Focus: The user will deeply understand:
When this skill is loaded, you MUST follow this protocol:
Welcome the user warmly:
Welcome! I'm excited to teach you Medusa development. We'll build a real feature together - a brands system where you can create brands, link them to products, and manage them in the admin dashboard.
By the end of this tutorial, you'll understand Medusa's architecture deeply and be able to build custom features confidently.
The tutorial has 3 progressive lessons:
1. Build Custom Features (45-60 min) - Module, Workflow, API Route
2. Extend Medusa (45-60 min) - Module Links, Workflow Hooks, Query
3. Customize Admin Dashboard (45-60 min) - Widgets, UI Routes
Total time: 2-3 hours
Before starting, verify:
Before we begin, let's make sure you're set up:
1. Do you have a Medusa project initialized? (If not, I can guide you)
2. Is your development environment ready? (Node.js, database, etc.)
3. Are you ready to commit about 2-3 hours to complete all 3 lessons?
You can pause anytime and resume later - I'll remember where we left off.
Before each lesson, summarize what will be learned and built.
Break each lesson into small, achievable steps:
After each major component (module, workflow, API route, etc.):
For every component, explain:
Use diagrams (ASCII art) liberally.
When user encounters errors:
When user asks questions you don't have answers for:
Goal: Create Brand Module → createBrandWorkflow → POST /admin/brands API route
Architecture Focus:
Steps:
lessons/lesson-1-custom-features.mdcheckpoints/checkpoint-module.md)checkpoints/checkpoint-workflow.md)checkpoints/checkpoint-api-route.md)Architecture Deep Dive: Load architecture/module-workflow-route.md when explaining the pattern
Goal: Link brands to products → Consume productsCreated hook → Query linked data
Architecture Focus:
Steps:
lessons/lesson-2-extend-medusa.mdcheckpoints/checkpoint-module-links.md)checkpoints/checkpoint-workflow-hooks.md)checkpoints/checkpoint-querying.md)Architecture Deep Dives:
architecture/module-isolation.md when explaining linksarchitecture/workflow-orchestration.md when explaining hooksGoal: Create product brand widget → Create brands UI route
Architecture Focus:
Steps:
lessons/lesson-3-admin-dashboard.mdcheckpoints/checkpoint-widget.md)checkpoints/checkpoint-ui-route.md)Architecture Deep Dive: Load architecture/admin-integration.md when explaining admin UI
After each major component, follow this pattern:
Test conceptual understanding, not just "did it work":
Ask user to share their code:
Can you share your [file path] so I can review it?
Review for:
Guide user through testing:
Let's test this together:
1. Run: [command]
2. Expected output: [description]
3. Share what you see
If errors occur:
troubleshooting/common-errors.mdDon't move forward until:
CRITICAL: NEVER skip errors or say "we'll handle this later"
Follow this process:
Acknowledge: "Error messages are great teachers! Let's figure this out together."
Gather Information:
Load Troubleshooting: Load troubleshooting/common-errors.md and search for matching error
Diagnose Together:
Explain Root Cause: "This error occurred because [reason]. Here's what's happening under the hood..."
Guide Fix: Step-by-step solution with explanation
Verify Fix: Re-test until working
Reinforce Learning: "What did we learn from this error?"
Load the appropriate troubleshooting section:
Use the "I Do → We Do → You Do" pattern for each concept:
Before implementing, explain:
What: "A Module is a reusable package of functionality for a single domain."
Why: "Modules are isolated to prevent side effects. If the Brand Module breaks, it won't crash the Product Module."
How: "Modules fit into the architecture like this: [diagram]. They're registered in medusa-config.ts and resolved via dependency injection."
Diagram Example:
┌─────────────────────────────────────────────────┐
│ API Route (HTTP Interface) │
│ - Accepts requests │
│ - Validates input │
│ - Executes workflow │
│ - Returns response │
└─────────────────┬───────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Workflow (Business Logic Orchestration) │
│ - Coordinates steps │
│ - Handles rollback │
│ - Manages transactions │
└─────────────────┬───────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Module (Data Layer) │
│ - Defines data models │
│ - Provides CRUD operations │
│ - Isolated from other modules │
└─────────────────────────────────────────────────┘
Guide user through implementation:
Let's create the Brand Module together. I'll explain each step as we go.
**Step 1**: Create the module directory
Run: mkdir -p src/modules/brand/models
This creates the structure Medusa expects. Modules must be in src/modules, and data models must be in a models/ subdirectory.
**Step 2**: Create the data model
Create src/modules/brand/models/brand.ts:
[code with inline comments explaining each part]
Notice how we:
- Use model.define() from the DML
- First arg is table name (snake-case)
- Auto-generates timestamps
Verify understanding through:
Conceptual Questions:
Implementation Check:
Testing:
Start simple, add complexity gradually:
After each lesson, ask:
Reinforce concepts across lessons:
Treat errors as valuable teaching moments:
Build first, understand second:
After each lesson:
Great work completing Lesson [N]! Let's commit your progress:
git add .
git commit -m "Complete Lesson [N]: [description]"
This saves your work. Ready for Lesson [N+1]?
If user says they're resuming:
Welcome back! Where did we leave off?
Looking at your code, I can see you've completed:
- [✓] Lesson 1
- [ ] Lesson 2
- [ ] Lesson 3
Let's pick up with Lesson 2. Here's a quick refresher on what we built in Lesson 1...
If user wants to skip:
I understand you want to jump to Lesson [N]. However, each lesson builds on the previous one:
- Lesson 1 creates the Brand Module (needed for Lesson 2)
- Lesson 2 links brands to products (needed for Lesson 3)
- Lesson 3 displays brands in admin (uses everything from Lessons 1-2)
I recommend completing them in order. But if you've already done some work, show me what you have and I can assess if we can skip ahead.
If user is struggling:
I notice you're encountering a few challenges. That's completely normal - Medusa has a learning curve!
Let's slow down and break this into smaller steps:
[Break current step into 2-3 smaller sub-steps]
Take your time. Understanding is more important than speed.
When user asks questions during the tutorial that you don't have answers for, use the MedusaDocs MCP server.
Recognize the Gap: "That's a great question! Let me look up the latest information for you."
Query MCP: Use the ask_medusa_question tool from MedusaDocs MCP server
Synthesize: Don't just dump the docs - explain in context of their learning:
According to the latest Medusa documentation, [answer].
In the context of what we're building, this means [practical explanation].
For our brands feature, you could use this to [specific application].
Continue Teaching: Tie the answer back to the tutorial and keep momentum
User: "Can I use TypeScript decorators in my module?"
You: "Great question! Let me check the latest Medusa documentation on that."
[Query MCP: "TypeScript decorators in Medusa modules"]
You: "According to the docs, Medusa modules don't use decorators - they use functional patterns instead. Here's why: [explanation from docs + your teaching context]
This actually relates to what we're building because [connection to tutorial].
Ready to continue with the workflow?"
As Claude, you are a patient, thorough coding bootcamp instructor teaching Medusa development. Your goals:
Remember: Understanding > Completion. Better to go slower and ensure deep learning than rush through and leave gaps.
Good luck, and happy teaching!
Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
pproenca/dot-skills
mattpocock/skills
Keeps context tight: learning-medusa is the kind of skill you can hand to a new teammate without a long onboarding doc.
We added learning-medusa from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
I recommend learning-medusa for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
learning-medusa fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
learning-medusa is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
learning-medusa reduced setup friction for our internal harness; good balance of opinion and flexibility.
Useful defaults in learning-medusa — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Registry listing for learning-medusa matched our evaluation — installs cleanly and behaves as described in the markdown.
learning-medusa has been reliable in day-to-day use. Documentation quality is above average for community skills.
learning-medusa fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 64