Skip to content

Upgrade darrow-skill-authoring for Python + uv plugin mechanics #175

Description

@BjRo

Parent: #168

Outcome

Upgrade darrow-skill-authoring to support and exemplify the repository's incremental Python + uv plugin-mechanics model. Use this migration to establish the reusable packaging, entrypoint, locking, quality, and native-Windows pattern that later plugin migrations will follow.

Priority

1 of 14 remaining plugins. This goes first because its authoring guidance and inspectors govern the quality of every subsequent plugin migration.

Scope

Migrate the substantial deterministic mechanics currently implemented by inspect-skill and verify-shell-tests where Python materially improves clarity and portability. Retain only genuinely small host-specific shell glue. Preserve every model-facing output, validation rule, refusal, and exit status.

Done criteria

  • Record the broader incremental Python + uv adoption decision required by Research Python + uv for shared scripts and native Windows support #168, updating or superseding ADR-0005 without weakening plugin independence.
  • Define the canonical contained Python package, uv lock, entrypoint, fresh-install, and native-Windows conventions for plugin helpers.
  • Bring migrated code under the repository Python inventory and all quality gates established by Establish and enforce repository-wide Python quality standards #172.
  • Update author-agent-skill guidance and validation so future skills can choose Python or small shell glue consistently.
  • Preserve inspector and test-discovery behavior with regression coverage for paths, interpreter routing, malformed skills, and failure output.
  • Validate the plugin from a fresh copied artifact on Linux, macOS, and native Windows; keep runtime and development dependencies separate.
  • Pass direct script tests, skill evals, repository checks, and matching manifest version bumps.

Migration blueprint

Use the implementation merged in PR #173 as the default blueprint for Python + uv plugin mechanics. Reuse its self-contained package layout, committed uv lock, runtime/development dependency separation, python-packages.txt inventory, Ruff and strict mypy gates, separate 95% line and branch coverage gates, and fresh copied-artifact validation. Extend that pattern with native-Windows fresh-artifact validation where this rollout requires Windows support. Document any plugin-specific deviation explicitly instead of introducing a competing convention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions