Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 3.52 KB

File metadata and controls

55 lines (39 loc) · 3.52 KB

← Back to Backlog

[SC-022] ✅ DONE - Make generic skills reusable across repositories

Status: Done (2026-03-15) Priority: Medium Component: .claude/skills/

Summary: As a developer working across multiple repositories, I want generic workflow skills (commit-helper, tdd-workflow, refinement, retrospective) to be reusable without modification, and language-specific skills (PowerShell) to be reusable across projects of the same language.

Description: Currently, generic workflow skills embed project-specific test commands and language-specific references (e.g., PowerShell file names, dot-sourcing). This ties them to a single project and prevents reuse.

The solution is a two-layer skill architecture with a naming convention:

  1. Generic skills (commit-helper, tdd-workflow, refinement, retrospective) define the workflow — when to test, commit conventions, TDD cycle — without any language-specific content. They delegate test execution to the project's test execution skill.
  2. Language-specific skills are prefixed with the language name (e.g., powershell-*) so they can be reused across projects of the same language.
  3. Project-specific skills (keypirinha-shortcuts, scoop-integration) remain project-local.

Discovery mechanism

Generic skills say "use the project's test execution skill" without hardcoding a skill name. Claude discovers the correct skill from the available skill list in the system prompt.

Naming convention

Category Prefix Example Reuse scope
Generic workflow (none) commit-helper, tdd-workflow Any repo
Language-specific language name powershell-test-exec, powershell-dev Repos using that language
Project-specific (varies) keypirinha-shortcuts, scoop-integration This repo only

Integration test detection

Generic skills detect integration tests by case-insensitive matching of "integration" in the file path relative to the project root (e.g., test/integration/, tests/foo.integration.test.js, lib/bar.Integration.Tests.ps1).

Skills to refactor

  • commit-helper — remove all language-specific content, delegate test execution generically ✅
  • tdd-workflow — remove all language-specific content, delegate test execution generically ✅
  • test-exec → powershell-test-exec — rename to follow language-prefix convention
  • ps-wrapper-creator → powershell-wrapper-creator — rename to follow language-prefix convention
  • commit-helper, tdd-workflow — replace hardcoded test-exec references with generic "project's test execution skill"
  • powershell-dev — update references from test-exec to powershell-test-exec

Acceptance Criteria:

  • commit-helper is language-agnostic — no hardcoded commands, no language-specific file names or patterns
  • tdd-workflow is language-agnostic — no hardcoded commands, no language-specific code examples
  • Integration test detection uses case-insensitive match of "integration" in the file path
  • All PowerShell-specific skills are prefixed with powershell- (powershell-test-exec, powershell-wrapper-creator, powershell-dev)
  • Generic skills do not hardcode a test execution skill name — they say "the project's test execution skill" and rely on Claude to discover it
  • powershell-dev references updated to use powershell-test-exec
  • Generic skills (commit-helper, tdd-workflow) can be dropped into any repo and work with that repo's test execution skill

← Back to Backlog