pdm-migration-specialist

Migrate pyproject.toml from pre-PDM 2.0 syntax to PEP-compliant format.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/paunchygent/docforge --skill pdm-migration-specialist
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pdm-migration-specialist
Source: https://github.com/paunchygent/docforge/tree/main/frontend/.claude/skills/pdm
Command: npx skills add https://github.com/paunchygent/docforge --skill pdm-migration-specialist

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill migrates pyproject.toml from pre-PDM 2.0 legacy syntax to modern, PEP-compliant formatting, focusing on converting dev-dependencies to dependency-groups and updating project metadata (PEP 621). It also covers build backend updates and local dependencies.

Core Features & Use Cases

  • Dev Dependencies Migration: Convert [tool.pdm.dev-dependencies][dependency-groups]
  • PEP 621 Compliance: Move metadata to [project] with dependencies and requires-python
  • Build Backend Updates: Switch to pdm-backend
  • Local Dependencies: Convert to file:///${PROJECT_ROOT}/ syntax

Quick Start

Run the migration on your pyproject.toml to produce a modern, PEP-compliant configuration and consult Context7 docs for the latest guidance.

Frequently Asked Questions about pdm-migration-specialist

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate my pyproject.toml from pre-PDM 2.0 to modern PEP-compliant format?

Migrate pyproject.toml by converting `[tool.pdm.dev-dependencies]` to `[dependency-groups]`, moving metadata to `[project]` following PEP 621, updating the build backend to `pdm-backend`, and converting local dependencies to `file:///${PROJECT_ROOT}/` syntax.

What's the difference between old PDM syntax and the new PEP 621 standard?

Old PDM syntax used `[tool.pdm]` sections for dev-dependencies and custom metadata; PEP 621 standardizes metadata in `[project]` and uses `[dependency-groups]` for organized dependencies, making configurations portable across tools.

Can I convert development dependencies in pyproject.toml to dependency-groups?

Yes. Dependency-groups replace the legacy `[tool.pdm.dev-dependencies]` structure, organizing dependencies by purpose (dev, test, docs) in a standardized `[dependency-groups]` section compatible with modern Python tooling.

Do I need to change my build backend when updating pyproject.toml?

Yes. Modern PEP-compliant configurations use `pdm-backend` as the build backend instead of legacy PDM backends, ensuring compatibility with standard Python packaging tools and workflows.

How do I specify local file dependencies in the new pyproject.toml format?

Local dependencies use `file:///${PROJECT_ROOT}/` syntax in the updated format, replacing older path specifications and ensuring consistent resolution across different environments and PDM versions.