mcpbeat

Create Package Skill

azure/create-package-skill

Interactive wizard that walks service teams through creating a package-specific skill for their Azure SDK package. Scans the package, detects customization patterns, scaffolds a SKILL.md with references, and validates with vally lint. The skill is placed inside the package''s .github/skills/ directory so find-package-skill discovers it automatically. WHEN: create package skill; add service skill; bootstrap skill for package; new package skill; skill for my SDK package; write skill for search; write skill for cosmos.

6k tokens
context cost
the whole folder, loaded on every use
8
files
instructions only
0
copies elsewhere
how many repositories repackaged it
2294
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Azure/azure-sdk-for-python --skill create-package-skill

What comes with it

19 791 bytes besides the instruction
phases/00-scan-package.md
phases/01-scaffold-skill.md
phases/02-generate-references.md
phases/03-validate.md
phases/04-finalize.md
references/skill-template.md
references/validation-tools.md

The instruction itself

6 sections, as written by the author

Create Package Skill Wizard

> Minimal beats comprehensive. Human-written beats auto-generated. Scaffold and iterate.

> Skills encode tribal knowledge — the "I wish someone had told me" stuff that's hard to learn from just reading code. Focus on what's non-obvious and package-specific.

Interaction Protocols

CONFIRM Protocol (asset-producing steps — creating files):

  • PRESENT the proposed assets and explain why.
  • ASK exactly one question: "Create now (recommended), edit first, or skip?"
  • ACT immediately. Create → write files this turn. Edit → refine, re-ask. Skip → move on.

DECIDE Protocol (informational/correction steps — no files created):

  • PRESENT the information or findings.
  • ASK one specific question appropriate to the decision.
  • PROCEED based on the answer.

One question at a time. Respect "skip" — never re-ask or defer.

Wizard Flow

Run each phase in order. Progressive loading: Read only the current phase file.

| Phase | Description | Instructions |

|---|---|---|

| Phase 0 | 🧭 Scan Package — detect architecture, customizations, key files | phases/00-scan-package.md |

| Phase 1 | 📝 Scaffold SKILL.md — generate skill with common pitfalls, architecture, workflow | phases/01-scaffold-skill.md |

| Phase 2 | 📚 Generate References — create architecture.md and customization.md | phases/02-generate-references.md |

| Phase 3 | ✅ Validate — run vally lint | phases/03-validate.md |

| Phase 4 | 📋 Finalize — confirm discoverable location, summarize | phases/04-finalize.md |

Guardrails

Content:

  • Every line must be non-obvious and package-specific. No generic TypeScript/SDK patterns.
  • SKILL.md should be under 500 tokens (soft limit). Move details to references/.
  • References under 1000 tokens each. Split if larger.
  • Never duplicate what's already in AGENTS.md or shared skills.

Relationship to existing SDK tools:

  • Package skills complement the Azure SDK MCP tools (azsdk_package_generate_code, azsdk_package_build_code, etc.) and the sdk-workflow shared skill — they do NOT replace them.
  • MCP tools handle deterministic operations (generate, build, test). Package skills provide the reasoning context an agent needs to use those tools correctly for a specific package.
  • Never redefine how generation, building, or testing works — reference the existing tools instead (e.g., "Run npm run generate:client", not custom generation steps).
  • If a workflow step is already handled by an MCP tool or shared skill, just reference it — don't re-document it.

Structure:

  • Skill directory: sdk/<service>/<package>/.github/skills/<skill-name>/
  • Directory name MUST match name field in frontmatter (vally lint enforces this).
  • Use semicolons to separate trigger phrases in description (YAML-safe).

Security:

  • Never embed secrets or credentials in skill content.
  • Never instruct agents to bypass CI, linters, or eslint rules.
  • Never instruct agents to edit files in generated/ directly — always route through the customization workflow or TypeSpec decorators.

Key Principles (from eval data)

Our eval showed that skill structure matters more than volume:

| Pattern | Impact |

|---|---|

| "Common Pitfalls" section at the TOP | Agent reads pitfalls before analyzing errors → correct diagnosis |

| "Check X FIRST" directives | Changes agent default from "fix the error location" to "check the customization layer" |

| Error categorization tables | Gives agent a decision framework, not just procedures |

| generated/ vs src/ distinction | Agent knows which files are safe to edit and which will be overwritten |

References (load on demand)

  • references/skill-template.md — SKILL.md template with required sections
  • references/validation-tools.md — vally lint, CI workflow setup

How to use it

Copy the folder

Take azure/create-package-skill from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.