make-skill
Package any workflow into a Claude Code skill. The output is a SKILL.md ready to publish with /publish-skill.
Phase 1: Capture the Workflow
Ask for anything missing:
- What does it do? — One sentence. What problem does it solve?
- When should it trigger? — Exact phrases or contexts. Be specific.
- What does it need from the user? — Inputs before it can run.
- What does it output? — File changes, code, chat output, commands?
- What are the steps? — Walk through the process start to finish.
- What are the hard rules? — Things it must always or never do.
If the current conversation already describes a workflow, extract answers from it before asking. Don't ask for what you already have.
Phase 2: Write the Frontmatter
---
name: skill-name # lowercase, hyphenated, no spaces
description: [What it does]. Use when [contexts]. Triggers on requests like "[exact phrase]", "[exact phrase]", "[exact phrase]", or any request for [broader category].
category: [devops|ai|analytics|auth|payments|seo|marketing|planning|meta|workflow]
tags: [tag1, tag2, tag3] # 3-5 lowercase keywords
author: tushaarmehtaa
---
The description is the trigger. Claude uses it to decide when to activate the skill. Make it explicit:
- Include WHAT the skill does AND WHEN to use it
- List specific trigger phrases in quotes — exact words a user would type
- End with a broader catch-all pattern
- Over-specify rather than under-specify — Claude tends to undertrigger
Phase 3: Write the Body
The structure that matches the quality bar of the existing skills:
[One-liner opener — what this does, what it outputs. No heading above this.]
## Phase 1: [First Phase Title]
[Instructions. Dense. Opinionated. No hedging.]
## Phase 2: [Next Phase Title]
...
## Verify
[ ] [Thing that must be true] [ ] [Thing that must be true] [ ] [Edge case handled]
Rules that don't move:
- Open with a single sentence — no
# Headingbefore it. This is the first thing Claude reads. - Use
## Phase N: Titlefor every major section - Use
### 1.1sub-phases only when Phase 1 needs branching (stack detection, mode selection) - Code blocks must contain real, runnable code — not pseudocode
- Bold warnings inline for things that fail silently or break the whole flow
- End with
## Verifyusing bare[ ]items inside a code block (not markdown- [ ]list items) - Under 500 lines total — push long examples to
references/guide.md
Phase 4: The Verify Section
The verify section is not optional. It's how the user confirms the skill ran correctly.
Format exactly like this — bare brackets in a fenced code block:
## Verify
```
[ ] [Thing that must be true after the skill runs]
[ ] [Output format is correct]
[ ] [Edge case handled]
[ ] [Common mistake avoided]
```
Each item must be checkable — either it's done or it isn't. No vague items like "quality looks good."
Phase 5: References (if needed)
Create references/guide.md when:
- Full examples would push SKILL.md over 500 lines
- Multiple variants need their own section
- Edge cases are complex enough to need real examples
The reference file must have real input → output examples. Not outlines of examples.
Phase 6: Test Prompts
Write 3–5 prompts that should trigger the skill, and 2 that should NOT:
"make a skill for PR reviews" ✅ should trigger
"create a skill to audit my code" ✅ should trigger
"turn this process into a skill" ✅ should trigger
"review my PR" ❌ should not trigger (different skill)
"what skills are available?" ❌ should not trigger
Use these to validate the description before publishing. If any trigger should fire but doesn't, add the phrase to the description.
Phase 7: Publish
Use /publish-skill to copy the skill into the repo, update the README, build the site, and push.
Verify
[ ] YAML frontmatter has all 5 fields (name, description, category, tags, author)
[ ] Description includes specific trigger phrases in quotes
[ ] Body opens with a one-liner — no heading before it
[ ] All sections use ## Phase N: Title format
[ ] Code blocks contain real code, not pseudocode
[ ] Critical constraints are bolded inline
[ ] Verify section uses bare [ ] items in a fenced code block
[ ] SKILL.md is under 500 lines
[ ] Long examples moved to references/guide.md if needed
[ ] 3-5 test prompts written to validate triggers
See references/guide.md for full annotated SKILL.md examples, common structural mistakes, and the complete list of valid categories.
More from tushaarmehtaa/tushar-skills
ship-credits
Scaffold a complete credits/token metering system for any app — database schema, backend middleware, payment webhooks, frontend state, and UI components. Goes from zero to "users can buy and spend credits" in one session.
17deploy-check
Pre-flight check before pushing to production. Catches TypeScript errors, accidentally staged secrets, pending migrations, and hygiene gaps before they hit live users.
6ship-email
Scaffold transactional and campaign email infrastructure end-to-end — provider setup, templates, user segmentation, and admin send UI. Use when the user wants to add email to their app — welcome emails, notifications, re-engagement, or bulk campaigns. Triggers on requests like "add email", "set up Resend", "email campaigns", "transactional email", "send emails to users", "welcome email", "notification emails", or any mention of email sending in an app context.
6mvp-spec
Turn a rough product idea into a structured MVP spec — problem statement, personas, core loop, feature split, data model, API routes, page list, and tech stack recommendation. Write this before touching any code. Triggers on requests like "spec this out", "MVP spec", "plan this product", "what should I build first", "scope this idea", "PRD", "product spec", "write a spec for...", "help me plan this", "what do I build in v1", "product requirements", or any request to structure a product idea before writing code.
6og-image
Set up dynamic Open Graph image generation and all required meta tags so links look professional when shared on Twitter/X, LinkedIn, Slack, or anywhere that renders link previews. Triggers on requests like "OG image", "open graph", "social preview", "link preview", "Twitter card", "meta tags for sharing", "my links look broken when I share them", or any mention of how links appear when shared on social media.
6segment-users
Read your database schema, generate behavioral user segments with exact queries, and recommend targeted actions per segment. Use when the user wants to understand their user base, find power users, identify churn risk, build email cohorts, or understand usage patterns. Triggers on requests like "segment users", "who are my power users", "find churned users", "user cohorts", "churn analysis", "inactive users", "behavioral segmentation", "who's about to leave", or any mention of grouping users by activity, usage, or lifecycle.
6