Agent skill

execution-module-contract

Update src/vibe_piper/execution.py safely in a strict-typed uv repo (keep types/tests/tools in sync).

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/execution-module-contract

Metadata

Additional technical details for this skill

version
1
created at
2026-02-01T03:53:56.454Z
updated at
2026-02-01T03:53:56.454Z

SKILL.md

Purpose

Make changes to the execution layer without breaking type contracts or downstream call sites.

When To Use

  • You modify src/vibe_piper/execution.py.
  • You add or change execution-related types in src/vibe_piper/types.py.

Checklist

  • Identify the public contract:
    • Entry points/functions/classes that callers import.
    • Any result/plan/config types used across modules.
  • Keep types in lockstep:
    • Add/update the corresponding Protocols/type aliases/dataclasses in src/vibe_piper/types.py.
    • Prefer @dataclass(frozen=True) for value objects.
    • Avoid widening types (e.g., introducing Any) in public APIs.
  • Error handling hygiene:
    • Use explicit exception types with a clear msg = "..."; raise ... pattern.
    • Re-raise with context using raise ... from e when converting exceptions.
  • Downstream safety sweep:
    • Search the repo for usages of the changed symbols and update call sites.
    • If you rename a public symbol, prefer an explicit rename across the codebase.
  • Verification (uv-first):
    • uv run ruff format src tests
    • uv run ruff check src tests
    • uv run mypy src
    • uv run pytest -m "not integration"

Manual notes

This section is preserved when the skill is updated. Put human notes, caveats, and exceptions here.

Didn't find tool you were looking for?

Be as detailed as possible for better results