# pspm-skill-creator > Guide for creating PSPM skills with isolated runtime environments. Use when users want to create a new PSPM skill, scaffold a skill project, initialize a skill with uv or bun, validate a skill's SKILL.md frontmatter, or package a skill into a distributable .skill file. - Author: Bin Sheng - Repository: anyt-io/anyt-skills - Version: 20260209174606 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-10 - Source: https://github.com/anyt-io/anyt-skills - Web: https://mule.run/skillshub/@@anyt-io/anyt-skills~pspm-skill-creator:20260209174606 --- --- name: pspm-skill-creator description: Guide for creating PSPM skills with isolated runtime environments. Use when users want to create a new PSPM skill, scaffold a skill project, initialize a skill with uv or bun, validate a skill's SKILL.md frontmatter, or package a skill into a distributable .skill file. --- # PSPM Skill Creator This skill provides guidance and tooling for creating PSPM skills — self-contained prompt skill packages for AI coding agents. Reference: [Anthropic skill-creator](https://github.com/anthropics/skills/tree/main/skills/skill-creator) for upstream design principles. ## About PSPM Skills PSPM skills are modular packages that extend AI coding agents (Claude Code, Cursor, Windsurf, Gemini CLI) with specialized capabilities. Each skill is a self-contained folder with documentation, metadata, and an isolated runtime environment. ### Skill Structure ``` skills// ├── SKILL.md # Usage documentation (loaded by AI agents) ├── pspm.json # PSPM manifest (name, version, metadata) ├── .pspmignore # Files excluded from PSPM publishing └── runtime/ # Isolated execution environment ├── pyproject.toml # Python: deps + tool config (uv) ├── uv.lock # Python: pinned dependency versions ├── package.json # TypeScript: deps + scripts (bun) ├── bun.lock # TypeScript: pinned dependency versions ├── .py/.ts # Flat in runtime/, no nested folders └── tests/ # Test files (Python: pytest) ``` ### Key Differences from Anthropic Skills PSPM skills use **isolated runtime environments** instead of bare `scripts/` folders: | Anthropic skills | PSPM skills | |------------------|-------------| | `scripts/foo.py` | `runtime/foo.py` | | No dependency management | `runtime/pyproject.toml` or `runtime/package.json` | | `python scripts/foo.py` | `uv run --project runtime runtime/foo.py` | | `references/` for docs | `references/` for docs (same) | | `assets/` for templates | Not used — runtime handles everything | ## Prerequisites - `uv` (Python skills): https://docs.astral.sh/uv/getting-started/installation/ - `bun` (TypeScript skills): https://bun.sh/ ## Skill Creation Workflow ### Step 1: Initialize the skill ```bash uv run --project runtime runtime/init_skill.py --path skills/ ``` This creates the full directory structure with template files. For TypeScript skills, add `--type ts`. ### Step 2: Set up the runtime **Python:** ```bash cd skills//runtime uv add uv add --dev ruff pyright pytest ``` **TypeScript:** ```bash cd skills//runtime bun add ``` ### Step 3: Write scripts Place scripts directly in `runtime/`. Use `SKILL_DIR = Path(__file__).resolve().parent.parent` for resolving paths relative to the skill root. Execute from the skill folder: ```bash # Python uv run --project runtime runtime/