compose-modifier-and-layout-style

Enforce public modifier parameters on Jetpack Compose composables and apply them to root layouts.

908|42|Updated May 12, 2026
One-click install
npx skills add https://github.com/chrisbanes/skills --skill compose-modifier-and-layout-style-chrisbanes
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: compose-modifier-and-layout-style
Source: https://github.com/chrisbanes/skills/tree/main/skills/compose-modifier-and-layout-style
Command: npx skills add https://github.com/chrisbanes/skills --skill compose-modifier-and-layout-style-chrisbanes

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Jetpack Compose encourages flexible layout, but without consistent modifier APIs and layout practices, components can hardcode sizing, ignore caller-provided modifiers, and scatter conditional logic across containers.

Core Features & Use Cases

  • Enforce a public modifier parameter named modifier on composables and apply it to the root layout.
  • Guide fluent modifier chaining, avoid mid-chain reassignments, and encourage inline construction for short chains.
  • Promote hoisting of conditional layout out of containers to keep layout semantics clear and reusable.
  • Provide guidance on multiline formatting, measure constraints, and safe composition-wide practices for UI layout code.

Quick Start

Add a modifier parameter to each composable and apply it to the root layout.

Frequently Asked Questions about compose-modifier-and-layout-style

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

FAQPage Schema
How do I standardize Compose modifiers to prevent hardcoded sizing in Jetpack Compose components?

To standardize Compose modifiers, enforce a public modifier parameter on every composable and apply it to the root layout. This prevents hardcoded sizing and positioning, ensuring predictable styling and easier component reuse across screens.

What is the best way to format multiline modifier chains in Jetpack Compose?

The best way to format multiline modifier chains is to construct them fluently without mid-chain reassignments. Use inline construction for short chains and apply multiline formatting for complex layout expressions to maintain clear layout semantics.

Why should I hoist conditional logic out of Compose layout containers?

Hoisting conditional logic out of Compose layout containers keeps layout semantics clear and promotes component reusability. This practice prevents scattered conditional logic across containers, ensuring a consistent API surface for your Jetpack Compose components.

Does Jetpack Compose require a modifier parameter on every composable for consistent styling?

Yes, Jetpack Compose components require a public modifier parameter applied to the root layout for consistent styling. This practice avoids ignoring caller-provided modifiers and enables predictable styling, testability, and safer composition-wide layout practices.

When do I need to apply measure constraints in Compose modifier chains?

You need to apply measure constraints in Compose modifier chains when constructing complex layout expressions. This ensures safe composition-wide practices, maintaining predictable UI behavior and satisfying requirements for a consistent API surface in Jetpack Compose.