Code Quality Skill Pack Report

Summary

The project-local code-quality pack ships behavior-preserving code health workflows. It currently includes two skills: extract-shared-types for targeted type extraction refactors, and quality-sweep for broader audit-and-cleanup campaigns across the codebase. Skill names describe the actual refactor clearly; skill descriptions carry discoverable trigger terms such as type hoisting, type barreling, shared type directory, type-only imports, barrel exports, dead code, circular dependencies, weak types, defensive error handling, and legacy paths.

The pack lives under the existing local pack layout:

packs/code-quality/
├── PACK.md
├── claude/
│   ├── extract-shared-types/SKILL.md
│   └── quality-sweep/SKILL.md
└── codex/
    ├── extract-shared-types/
    │   ├── SKILL.md
    │   └── agents/openai.yaml
    └── quality-sweep/
        ├── SKILL.md
        └── agents/openai.yaml

Naming Recommendation

extract-shared-types is preferable to type-barrel because a barrel is optional and should depend on local conventions. It is also preferable to type-hoist because it is clearer to a developer browsing available skills. quality-sweep names a multi-lane cleanup campaign rather than any single concern, which matches how the skill orchestrates duplication, type hygiene, dead code, dependency boundaries, error handling, legacy paths, and comment lanes under one workflow.

Claude Code vs Codex Differences

Both tools use skill folders centered on SKILL.md, but their surrounding conventions differ.

Claude Code documents skills as Markdown folders installed in user or project skill directories, with invocation through slash commands such as /skill-name. Claude-specific skill metadata and behavior can include frontmatter fields for model invocation, context, agent selection, allowed tools, paths, and hooks. Source: Claude Code Skills.

OpenAI Codex documents skills as folders discovered from configured skill roots, invoked with $skill-name or through /skills. Codex skills use SKILL.md and may include agents/openai.yaml for product-facing metadata such as display name, short description, default prompt, and implicit invocation policy. Source: OpenAI Codex Skills.

This repository adds a shared abstraction over both tools: project-local packs live under packs/<pack>/{claude,codex}/<skill>/SKILL.md, and scripts/pack.sh creates local managed skill roots in .claude/skills and .codex/skills. That means the implementation should keep mirrored Claude and Codex variants, with Codex UI metadata when the skill is meant to be discoverable in Codex.

Skill Specifications

extract-shared-types

extract-shared-types should guide structural refactors that move shared type/interface declarations into a dedicated, domain-organized types/ directory without runtime behavior changes.

Required behavior:

Non-goals:

quality-sweep

quality-sweep orchestrates a behavior-preserving code quality cleanup campaign spanning multiple concerns. Invocation accepts a mode and an optional scope: [audit|fix|full] [package | app | directory | domain]. Mode defaults to audit when unspecified.

Audit lanes:

Required behavior:

Non-goals:

Implementation Notes

Acceptance Criteria