One-click install
npx skills add https://github.com/howells/skills --skill aperture-howells
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aperture
Source: https://github.com/howells/skills/tree/main/aperture
Command: npx skills add https://github.com/howells/skills --skill aperture-howells

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It solves the problem of turning useful but hard-to-reuse app-local code into a clean, stable, reusable package with a well-defined public API.

Core Features & Use Cases

  • Boundary-aware extraction: Identifies what should move into a package versus what must remain in the host app to avoid hidden coupling.
  • Public surface design: Defines entrypoints, exports, dependency strategy, styling contract, and runtime constraints before creating files.
  • Validation-first migration: Runs package-scoped checks (build, typecheck, relevant tests) and updates consumer imports according to the requested scope.

Quick Start

Use aperture to extract the selected component into a new workspace package with a clear public exports map and run the smallest set of validation checks needed to confirm it still works.

Frequently Asked Questions about aperture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract reusable components from an existing codebase into an npm package?

Moving code into a monorepo workspace package involves defining package boundaries, deciding which files move versus stay, designing the public exports map, and validating the extraction through build, typecheck, and tests.

What is boundary-aware code extraction and why is it needed?

Boundary-aware code extraction identifies what should move into a package versus what remains in the host app to avoid hidden coupling, ensuring the reusable package has a clean, stable public API surface.

How do I design a public API for a TypeScript package extracted from app-local code?

Validating an extracted package migration requires running package-scoped checks including build, typecheck, and relevant tests, plus verifying that consumer imports are updated to reference the new canonical package boundary.

Does TypeScript package extraction work for monorepo workspace packages?

Yes, TypeScript package extraction supports moving code into a monorepo workspace package by replacing app-local imports with a canonical boundary and validating via build, typecheck, and tests within the workspace.

What are the limitations of extracting code into a reusable package?

Extracting code into a reusable package requires careful file move and copy decisions to avoid hidden coupling, and validation depends on successfully running package-scoped build, typecheck, and tests plus consumer import verification.