
Poetry Rye Dependency Management
- 31 installs
- 36 repo stars
- Updated July 14, 2026
- oimiragieo/agent-studio
Helps with ai & agent building tasks.
About
poetry-rye-dependency-management is a Claude Code skill in the AI & Agent Building category.
- poetry-rye-dependency-management
- AI & Agent Building
- AI-coding skill
Poetry Rye Dependency Management by the numbers
- 31 all-time installs (skills.sh)
- Ranked #9,202 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oimiragieo/agent-studio --skill poetry-rye-dependency-managementAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 31 |
|---|---|
| repo stars | ★ 36 |
| Last updated | July 14, 2026 |
| Repository | oimiragieo/agent-studio ↗ |
What it does
Helps with ai & agent building tasks.
Files
Poetry / Rye Dependency Management Skill
<identity> Python dependency management specialist for Poetry and Rye workflows. Guides lockfile-driven dependency resolution, virtual environment management, dependency groups, publishing, and migration to modern tooling. Covers the full lifecycle from project initialization through CI/CD integration. </identity>
<capabilities>
- Initialize new Python projects with Poetry or Rye
- Manage dependency groups (main, dev, test, docs, optional extras)
- Configure lockfile-driven builds for reproducibility
- Set up CI/CD pipelines with cached dependency installation
- Migrate between Poetry, Rye, pip, and uv workflows
- Configure monorepo dependency management with workspaces
- Audit dependencies for security vulnerabilities
- Publish packages to PyPI using Poetry or Rye
</capabilities>
Overview
Poetry and Rye are Python dependency managers that enforce lockfile-driven, deterministic builds. Both use pyproject.toml as the single configuration file. Poetry is the established standard (since 2018); Rye is a newer Astral tool that bridges to uv. For greenfield projects, consider modern-python skill (uv-native). This skill covers Poetry/Rye for existing codebases and teams already invested in these tools.
When to Use
- When maintaining existing Poetry or Rye projects
- When a team has standardized on Poetry and migration to uv is not planned
- When publishing Python packages to PyPI (Poetry has mature publishing support)
- When managing monorepo Python workspaces
- When auditing or upgrading dependency lockfiles
Iron Laws
1. ALWAYS commit the lockfile (poetry.lock or requirements.lock) -- without it, builds are non-deterministic and CI/CD will resolve different versions than development. 2. NEVER use pip install in a Poetry/Rye-managed project -- it bypasses the resolver and creates ghost dependencies invisible to the lockfile. 3. ALWAYS use poetry add/rye add to add dependencies -- manual pyproject.toml edits without re-locking create stale lockfiles. 4. NEVER pin transitive dependencies manually -- let the solver manage the full dependency graph; pinning transitive deps causes resolver conflicts. 5. ALWAYS separate runtime and development dependencies into groups -- shipping dev/test dependencies in production images wastes space and expands attack surface.
Anti-Patterns
| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
Editing pyproject.toml deps without running poetry lock | Lockfile becomes stale; CI installs different versions than intended | Always run poetry lock or rye lock after any dependency change |
Using poetry install without --no-root in CI | Installs the project in editable mode unnecessarily; slower CI builds | Use poetry install --no-root for library deps only, --only main for production |
Committing .venv/ directory to version control | Bloats repo; virtualenvs are platform-specific and non-portable | Add .venv/ to .gitignore; recreate with poetry install or rye sync |
| Mixing pip and Poetry in the same project | Creates two dependency graphs; pip-installed packages invisible to Poetry | Use only poetry add/rye add for all dependency changes |
Using * version constraints for all dependencies | No upper bound protection; major version bumps break silently | Use compatible release (^ in Poetry) or upper-bounded ranges |
Workflow
Poetry Project Setup
# Initialize new project
poetry init --name my-project --python ">=3.12"
# Add dependencies by group
poetry add requests httpx
poetry add --group dev ruff pytest pytest-cov
poetry add --group docs sphinx
# Install all groups
poetry install
# Install production only
poetry install --only mainRye Project Setup
# Initialize new project
rye init my-project
cd my-project
# Add dependencies
rye add requests httpx
rye add --dev ruff pytest pytest-cov
# Sync (install) dependencies
rye syncpyproject.toml Configuration (Poetry)
[tool.poetry]
name = "my-project"
version = "0.1.0"
description = "Project description"
authors = ["Team <team@example.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = ">=3.12"
requests = "^2.31"
httpx = "^0.27"
[tool.poetry.group.dev.dependencies]
ruff = "^0.9"
pytest = "^8.0"
pytest-cov = "^6.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"CI/CD Integration (GitHub Actions)
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Poetry
run: pipx install poetry
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry
key: poetry-$HASH_OF_LOCKFILE
- name: Install dependencies
run: poetry install --no-root
- name: Lint
run: poetry run ruff check .
- name: Test
run: poetry run pytest --covSecurity Audit
# Poetry: audit dependencies for known CVEs
poetry audit
# Rye: use pip-audit integration
rye run pip-auditMigration to uv
When ready to migrate from Poetry/Rye to uv:
# Export Poetry dependencies
poetry export -f requirements.txt --output requirements.txt
# Initialize uv project
uv init
uv add $(grep -v '^#' requirements.txt | grep -v '^\-' | cut -d'=' -f1)
# Verify
uv sync
uv run pytestSee modern-python skill for the complete uv workflow.
Complementary Skills
| Skill | Relationship |
|---|---|
modern-python | uv-native workflow (recommended for greenfield projects) |
python-backend-expert | Framework-specific patterns (Django, FastAPI, Flask) |
tdd | Test-driven development methodology |
comprehensive-unit-testing-with-pytest | Testing strategies and patterns |
Memory Protocol (MANDATORY)
Before starting:
Read .claude/context/memory/learnings.md for prior Python packaging decisions.
After completing: Record any migration issues, version constraints, or resolver conflicts to .claude/context/memory/learnings.md.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.
Invoke the poetry-rye-dependency-management skill and follow it exactly as presented to you
'use strict';
/**
* Post-execute hook for poetry-rye-dependency-management
* Auto-generated by enterprise-bundle-scaffolder
*
* Records metrics after skill execution.
*/
function postExecute(_context) {
// Record execution metrics
return { ok: true, skill: 'poetry-rye-dependency-management' };
}
module.exports = { postExecute };
'use strict';
/**
* Pre-execute hook for poetry-rye-dependency-management
* Auto-generated by enterprise-bundle-scaffolder
*
* Validates inputs before skill execution.
*/
function preExecute(context) {
// Validate skill invocation context
if (!context || typeof context !== 'object') {
return { allow: true, message: 'poetry-rye-dependency-management: no context to validate' };
}
return { allow: true };
}
module.exports = { preExecute };
poetry-rye-dependency-management Research Requirements
Generated: 2026-02-28
Skill Description
Specifies Poetry or Rye for dependency management in Python projects.
Research Areas
- Current best practices for poetry-rye-dependency-management
- Industry standards and tooling
- Integration patterns
Source References
- To be populated by skill-updater research phase
poetry-rye-dependency-management Rules
Purpose
Specifies Poetry or Rye for dependency management in Python projects.
Best Practices
- Follow the guidelines consistently
- Apply rules during code review
- Use as reference when writing new code
Integration Points
See SKILL.md for complete documentation.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "poetry-rye-dependency-managementInput",
"description": "Input schema for Specifies Poetry or Rye for dependency management in Python projects.",
"type": "object",
"additionalProperties": true,
"properties": {
"target": {
"type": "string",
"description": "Target file or path for the skill to operate on"
},
"options": {
"type": "object",
"description": "Additional options for skill execution",
"additionalProperties": true
}
}
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "poetry-rye-dependency-managementOutput",
"type": "object",
"additionalProperties": true,
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
}
}
}
#!/usr/bin/env node
'use strict';
/**
* poetry-rye-dependency-management - Enterprise Skill Script
* Auto-generated by enterprise-bundle-scaffolder
*/
const fs = require('fs');
const path = require('path');
// Parse arguments
const args = process.argv.slice(2);
const options = {};
for (let i = 0; i < args.length; i++) {
if (args[i].startsWith('--')) {
const key = args[i].slice(2);
const value = args[i + 1] && !args[i + 1].startsWith('--') ? args[++i] : true;
options[key] = value;
}
}
if (options.help) {
console.log(`
poetry-rye-dependency-management - Enterprise Skill
Usage:
node main.cjs --check <file> Check a file against guidelines
node main.cjs --list List all guidelines
node main.cjs --help Show this help
Description:
Specifies Poetry or Rye for dependency management in Python projects.
`);
process.exit(0);
}
if (options.list) {
console.log('Guidelines for poetry-rye-dependency-management:');
console.log('See SKILL.md for full guidelines');
process.exit(0);
}
console.log('poetry-rye-dependency-management skill loaded. Use with Claude for code review.');
poetry-rye-dependency-management Implementation Template
Goal
- Define target outcome and acceptance criteria.
TDD
1. Red 2. Green 3. Refactor
Verification
- lint
- format
- targeted tests