# init-skill > Initialize a Claude Code skill for a Python package using nshskill. Use when setting up a new skill for a library, creating SKILL.md for a package, wiring CLI install/uninstall commands, or adding nshskill integration to a Python project. - Author: Nima Shoghi - Repository: nimashoghi/nshtrainer - Version: 20260209022101 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-09 - Source: https://github.com/nimashoghi/nshtrainer - Web: https://mule.run/skillshub/@@nimashoghi/nshtrainer~init-skill:20260209022101 --- --- name: init-skill description: Initialize a Claude Code skill for a Python package using nshskill. Use when setting up a new skill for a library, creating SKILL.md for a package, wiring CLI install/uninstall commands, or adding nshskill integration to a Python project. disable-model-invocation: true skills: - creating-skills --- # Initialize Package Skill Analyze this codebase and create a Claude Code skill for it using `nshskill`. Follow the `creating-skills` skill for all SKILL.md authoring guidance (description format, naming, content quality, progressive disclosure). ## Process 1. **Understand the project**: Read `pyproject.toml`, `README.md`, `CLAUDE.md`, and key source files to identify the library's purpose, public API, import conventions, and coding patterns. 2. **Create skill directory** at `src//_skill/`. 3. **Write `SKILL.md`** following `creating-skills` guidelines: ```markdown --- name: using- description: . Use when , , , or . --- # ``` 4. **Add `nshskill` dependency** to `pyproject.toml`: ```toml dependencies = [ ..., "nshskill", ] ``` 5. **Wire up the CLI**: **No existing CLI** — create a standalone one: ```python # src//cli.py from pathlib import Path from nshskill import Skill, create_skill_cli skill = Skill.from_dir(Path(__file__).resolve().parent / "_skill") main = create_skill_cli("", skill) ``` ```toml # pyproject.toml [project.scripts] = ".cli:main" ``` **Existing CLI with argparse subparsers** — integrate: ```python from nshskill import Skill, add_skill_commands, dispatch_skill skill = Skill.from_dir(Path(__file__).resolve().parent / "_skill") add_skill_commands(subparsers, skill) # in dispatch: if args.command == "skill": dispatch_skill(args) ``` 6. **Optionally add `references/`** for detailed docs. Prefer symlinks to existing docs: ```bash ln -s ../../docs/api.md src//_skill/references/api.md ``` 7. **Update `CLAUDE.md`** (if it exists) to document the ` skill install` command. ## Checklist - [ ] SKILL.md passes the `creating-skills` quality checklist - [ ] `nshskill` is in project dependencies - [ ] CLI works: ` skill install` and ` skill install --global`