module-design

Provides decision criteria for bundling or separating Facets modules by sharedness and complexity.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/Facets-cloud/facets-getting-started --skill module-design-facets-cloud
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: module-design
Source: https://github.com/Facets-cloud/facets-getting-started/tree/main/ai-setup/gemini/skills/module-design
Command: npx skills add https://github.com/Facets-cloud/facets-getting-started --skill module-design-facets-cloud

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Bundling vs separating infrastructure into Facets modules is a strategic decision that affects reuse, lifecycle management, and team coordination.

Core Features & Use Cases

  • Helps determine when to create separate modules for shared dependencies.
  • Guides decisions on module boundaries to balance flexibility and complexity.
  • Provides criteria for bundling into a parent module to reduce overhead.

Quick Start

Analyze your current infrastructure components and decide if they are shared across projects; if so, prefer separate modules, otherwise bundle into a parent.

Frequently Asked Questions about module-design

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

FAQPage Schema
How do I decide between bundling or separating infrastructure into modules?▼

To decide on module boundaries, analyze whether your infrastructure components are shared across projects; if so, prefer separate modules to optimize reuse, otherwise bundle them into a parent module to reduce overhead.

What is the best way to manage lifecycle complexity for shared infrastructure components?▼

Managing lifecycle complexity for shared infrastructure requires strategic module design; creating separate modules for shared dependencies like VPCs or clusters optimizes lifecycle management and team coordination.

When should I create separate modules for shared dependencies like VPCs and data stores?▼

You should create separate modules for shared dependencies when infrastructure components are utilized across multiple projects, ensuring optimal reuse and reducing deployment complexity during architectural scoping.

How do I balance flexibility and complexity when defining module boundaries?▼

Balancing flexibility and complexity during module design involves applying specific decision criteria to determine if bundling into a parent module reduces overhead or if separating components maximizes architectural flexibility.

Can I use a decision flowchart to plan new infrastructure modules?▼

Yes, you can use a decision flowchart to plan new infrastructure modules; it guides teams through the criteria for module boundaries and outputs module interfaces to align with the Module Naming Convention.

Why does bundling infrastructure into a parent module reduce deployment overhead?▼

Bundling infrastructure into a parent module reduces deployment overhead by consolidating lifecycle management and team coordination for components that are not shared across different projects.