python-library-quality
NewQuality-focused skills - security, performance, and API design
Summary
This skill helps you enforce quality standards in Python libraries by analyzing security vulnerabilities, performance bottlenecks, and API design flaws.
- It integrates best practices from professional Python development to ensure your code is robust, efficient, and well-architected.
Overview
A comprehensive set of Claude Code skills for professional Python library development, based on the guide at mcginniscommawill.com.
Installation
Step 1: Add the Marketplace
First, add this repository as a plugin marketplace in Claude Code:
/plugin marketplace add wdm0006/python-skillsStep 2: Install a Plugin Bundle
Install the complete skill set (recommended):
/plugin install python-library-complete@wdm0006-python-skillsOr install specific bundles based on your needs:
# Core skills for starting projects
/plugin install python-library-foundations@wdm0006-python-skills
# Skills for packaging and releasing
/plugin install python-library-distribution@wdm0006-python-skills
# Quality-focused skills (security, performance, API design)
/plugin install python-library-quality@wdm0006-python-skillsAlternative: Local Installation
For project-specific installation, clone this repository and copy the skills you need:
# Clone the repository
git clone https://github.com/wdm0006/python-skills.git
# Copy skills to your project's .claude/skills/ directory
mkdir -p .claude/skills
cp -r python-skills/skills/* .claude/skills/Or for global installation (available in all projects):
# Copy to your personal Claude skills directory
mkdir -p ~/.claude/skills
cp -r python-skills/skills/* ~/.claude/skills/Verifying Installation
After installation, you can verify the skills are loaded by running:
/plugin listNote: Skills require Claude Code Pro, Max, Team, or Enterprise. Free tier users do not have access to Skills.
Available Skills
| Skill | Description | Based On |
|---|---|---|
| setting-up-python-libraries | Project setup with pyproject.toml, uv, ruff, pytest, pre-commit, GitHub Actions | Defining Library Scope, Dependency Management, Licensing, pyproject.toml Explained |
| improving-python-code-quality | Ruff linting, mypy type checking, Pythonic idioms, refactoring | Linting & Formatting with Ruff, Understanding McCabe Complexity, Adding Type Hints |
| testing-python-libraries | Pytest test suites, fixtures, parametrization, Hypothesis property-based testing | Testing with Pytest, Testing Coverage, Testing with Tox, Testing with Mocking |
| auditing-python-security | Security audits with Bandit, pip-audit, Semgrep, detect-secrets | Avoiding Injection Flaws, Intro to Bandit, Dependency Security, Handling Sensitive Data, Secure Coding Practices |
| designing-python-apis | API design principles, deprecation, breaking changes, error handling | The Art of API Design, Designing for Developer Joy |
| documenting-python-libraries | Google-style docstrings, Sphinx setup, ReadTheDocs configuration | Writing Effective Docstrings, Getting Started with Sphinx, Automating Docs Deployment, Documenting Your Library's API |
| packaging-python-libraries | pyproject.toml, PyPI publishing, trusted publishing, wheel building | pyproject.toml Explained, Publishing PyGeohash |
| managing-python-releases | Semantic versioning, changelogs, release automation, deprecation workflows | Semantic Versioning |
| optimizing-python-performance | Profiling, memory analysis, benchmarking, optimization strategies | Performance Benchmarking, Profiling with PyInstrument, Memory Profiling with Memray |
| building-python-clis | Click/Typer CLIs, command groups, shell completion, CLI testing | Guide to Python Libraries |
| building-python-communities | CONTRIBUTING.md, issue templates, PR templates, GitHub automation | Building Engaging Community, Inner Source Introduction, From Silos to Shared Libraries |
| reviewing-python-libraries | Comprehensive library reviews across all quality dimensions | Guide to Python Libraries |
Plugin Bundles
python-library-complete
All 12 skills for comprehensive Python library development.
python-library-foundations
Core skills for starting projects:
- •Project setup
- •Code quality
- •Testing strategy
python-library-distribution
Skills for packaging and releasing:
- •Packaging
- •Release management
- •CLI development
python-library-quality
Quality-focused skills:
- •Security audit
- •Performance
- •API design
Usage
Once installed, Claude will automatically use these skills when you ask about:
- •Setting up a new Python library
- •Adding tests to your project
- •Publishing to PyPI
- •Reviewing code quality
- •Security scanning
- •Writing documentation
- •And more...
Contributing
Contributions are welcome! Please open an issue or PR on GitHub.
License
MIT License - see LICENSE for details.
Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/python-library-quality.md https://raw.githubusercontent.com/wdm0006/python-skills/main/SKILL.md/python-library-qualityUse Cases
Usage Examples
/python-library-quality scan my_library/ for security vulnerabilities
Analyze the performance of the data processing module in my_library and suggest optimizations.
Review the API design of my_library's public functions for consistency and best practices.
Security Audits
Frequently Asked Questions
What is python-library-quality?
This skill helps you enforce quality standards in Python libraries by analyzing security vulnerabilities, performance bottlenecks, and API design flaws. It integrates best practices from professional Python development to ensure your code is robust, efficient, and well-architected.
How to install python-library-quality?
To install python-library-quality: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/python-library-quality.md https://raw.githubusercontent.com/wdm0006/python-skills/main/SKILL.md. Finally, /python-library-quality in Claude Code.
What is python-library-quality best for?
python-library-quality is a skill categorized under General. It is designed for: security, api, design, python. Created by Will McGinnis.
What can I use python-library-quality for?
python-library-quality is useful for: Scan a Python library for common security issues like SQL injection or insecure deserialization.; Profile and optimize slow functions or memory-heavy operations in your codebase.; Review your public API for consistency, naming conventions, and backward compatibility.; Check for deprecated or unsafe dependencies and suggest secure alternatives.; Evaluate code complexity and suggest refactoring to improve maintainability.; Validate that your library follows Pythonic design patterns and type hints correctly..