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.