feature-first

Organize code into vertical feature slices with MODULE.md and AGENTS.md.

1|Updated Apr 17, 2026
One-click install
npx skills add https://github.com/Ferreira-Jefferson/j-skills --skill feature-first
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: feature-first
Source: https://github.com/Ferreira-Jefferson/j-skills/tree/main/feature-first
Command: npx skills add https://github.com/Ferreira-Jefferson/j-skills --skill feature-first

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides a structured approach to building software with vertical feature slices, reducing cross-feature coupling and AI prompt overhead by keeping related code together in modules.

Core Features & Use Cases

  • Co-location: keep domain, handlers, tests, and UI for a feature in a single folder.
  • Boundary enforcement: favors explicit contracts and a shared infra for non-business concerns.
  • Scaffolding: quick module bootstrap via a scaffold tool to preserve conventions.

Quick Start

Structure a new project by creating a modules/feature folder and scaffolding the initial MODULE.md and skeleton files.

Frequently Asked Questions about feature-first

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

FAQPage Schema
How do I organize code by feature slices to minimize cross-feature dependencies?

To organize code by feature slices, you co-locate domain logic, handlers, tests, and UI within a single modules/feature folder. This structure enforces vertical feature boundaries and a small shared kernel while minimizing cross-feature dependencies.

How does a modular monolith architecture reduce AI context overhead?

A modular monolith reduces AI context overhead by keeping related code together in isolated vertical slices. Requiring a MODULE.md per feature and a root AGENTS.md guides AI workflows specifically to relevant modules, cutting prompt size and cost.

Can I migrate an existing project to a feature-first architecture?

Yes, you can migrate an existing project to a feature-first architecture. This approach supports migrations by restructuring code into vertical feature boundaries with a shared infra for non-business concerns and automated boundary enforcement.

What is the best way to enforce boundaries in a feature-first codebase?

The best way to enforce boundaries is through explicit contracts and a shared infra dedicated to non-business concerns. The feature-first structure mandates co-locating domain and handlers per feature to prevent cross-feature coupling.

How do I scaffold a new feature module using the feature-first approach?

You scaffold a new feature module using a scaffold tool to bootstrap a modules/feature folder. This tool generates the initial MODULE.md and skeleton files to preserve conventions and quickly establish the vertical slice.

When should I not use a feature-first modular architecture?

You should not use a feature-first modular architecture if your project cannot commit to a small shared kernel or automated boundary enforcement. It requires maintaining MODULE.md per feature and co-locating all related domain logic.