What Programming Language Is phuryn/pm-skills Written In?

The phuryn/pm-skills repository uses Python as its sole executable programming language, while storing its core content in structured Markdown files that define AI skills for Claude.

The phuryn/pm-skills repository hosts reusable product-management capabilities for Claude AI. While the repository's domain knowledge lives in Markdown documentation, the only executable code is a Python validation script that ensures skill definitions meet structural requirements.

Repository Structure: Markdown Content vs Python Logic

The codebase separates declarative content from procedural validation:

  • Markdown files store skill definitions, commands, and configurations in human-readable format with YAML front-matter
  • Python powers the validation tooling that checks these definitions for completeness and consistency

The Python Validation Script

The file validate_plugins.py contains the repository's only executable programming code. This Python script recursively scans the repository for plugin folders (those containing .claude-plugin/ directories) and validates that Markdown skill files include required front-matter fields.

To execute the validator:


# From the repository root

python3 validate_plugins.py

The script parses files like pm-toolkit/skills/review-resume/SKILL.md to verify they contain valid YAML front-matter with name and description keys, and confirms that declared skill names match their directory structures.

Skill Definitions in Markdown

The primary "source code" of the repository consists of Markdown files that define AI capabilities. These files are not executable code but structured documentation parsed by both the Python validator and Claude AI.

For example, pm-toolkit/skills/review-resume/SKILL.md contains:

---
name: review-resume
description: |
  Review a candidate's resume and highlight strengths/weaknesses.
---

# Review Resume

...

Key Files and Language Distribution

Summary

  • Python is the only programming language used for executable logic in the phuryn/pm-skills repository
  • The validation script at validate_plugins.py ensures all Markdown skill definitions contain required YAML front-matter and naming conventions
  • Markdown serves as the primary content format for defining AI skills, commands, and configurations
  • The repository contains no compiled languages or additional runtime dependencies beyond Python 3

Frequently Asked Questions

Is phuryn/pm-skills primarily a Python project?

While the repository contains Python code in validate_plugins.py, it is not primarily a Python application. It is a collection of Markdown-based AI skill definitions with Python tooling for automated validation. The Markdown content represents the repository's primary value.

What does the validate_plugins.py script validate?

The Python script scans directories containing .claude-plugin/ folders and validates that associated Markdown files contain required YAML front-matter including name and description fields. It also verifies that these metadata values match the plugin's directory structure and that required configuration files are present.

Can I use the phuryn/pm-skills skills without running Python?

Yes. The Markdown skill files are human-readable and usable by Claude AI without executing the Python validator. However, running python3 validate_plugins.py is recommended to check for structural errors, missing front-matter, or naming mismatches before deployment.

Why use Markdown instead of a programming language for skill definitions?

The repository defines AI prompts and capabilities for product management tasks, which are naturally expressed as structured documentation. Markdown allows product managers to write and maintain AI skills without programming expertise, while the Python validator ensures technical correctness separately from content creation.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →