Agent skill

Composable Architecture

by johnrogers in johnrogers/claude-swift-engineering

A skill your agent uses when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features.

MITAuto-check passedFrontend & Design

Install Composable Architecture

skills CLI
$ npx skills add johnrogers/claude-swift-engineering --skill composable-architecture -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install johnrogers/claude-swift-engineering composable-architecture --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/johnrogers/claude-swift-engineering.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/swift-engineering/skills/composable-architecture .claude/skills/composable-architecture && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
composable-architecture
GitHub stars
231
Token cost
~982 tokens
SKILL.md length
371 words
Files
15 (incl. references)
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features.

  • Works in 5 steps: Over-modularizing features — Breaking… → Mismanaging effect lifetimes —… → Navigation state in wrong places —… → …
  • Building features with TCA (The Composable Architecture)
  • SKILL.md covers Reference Loading Guide and Common Mistakes
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Composable Architecture is an agent skill from johnrogers/claude-swift-engineering. Use when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features. Covers @Reducer, Store, Effect, TestStore, reducer composition, and TCA patterns.

Its SKILL.md is about 980 tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including reference files (for example `references/dependencies.md`, `references/effects.md` and `references/navigation-advanced.md`).

It sits in Frontend & Design, covering State management. The repository describes itself as: A collection of agents and skills to aid in the planning, implementation, documentation and testing of Swift/TCA code. The licence is MIT.

When your agent uses it

  • Building features with TCA (The Composable Architecture)
  • Structuring reducers
  • Handling effects
  • Testing TCA features

Example prompts

  • “/composable-architecture”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Over-modularizing features — Breaking features into too many small reducers makes state management harder and adds composition overhead…
  2. Mismanaging effect lifetimes — Forgetting to cancel effects when state changes leads to stale data, duplicate requests, or race…
  3. Navigation state in wrong places — Putting navigation state in child reducers instead of parent causes unnecessary view reloads and state…
  4. Testing without TestStore exhaustivity — Skipping TestStore assertions for "simple" effects or "obvious" state changes means you miss…
  5. Mixing async/await with Effects incorrectly — Converting async/await to .run effects without proper cancellation or error handling loses…

What it can do on your machine

Read from SKILL.md and the folder at commit 1dc2cf4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Composable Architecture loads about 982 tokens when it runs, and up to ~23k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 371 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~982
With references · SKILL.md plus every file in references/, read only if the agent opens them
~23k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from johnrogers/claude-swift-engineering at commit 1dc2cf4, republished under its MIT licence (© johnrogers). 371 words, ~982 tokens.

Download SKILL.mdSave it as .claude/skills/composable-architecture/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.
name
composable-architecture
description
Use when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features. Covers @Reducer, Store, Effect, TestStore, reducer composition, and TCA patterns.

The Composable Architecture (TCA)

TCA provides architecture for building complex, testable features through composable reducers, centralized state management, and side effect handling. The core principle: predictable state evolution with clear dependencies and testable effects.

Reference Loading Guide

ALWAYS load reference files if there is even a small chance the content may be required. It's better to have the context than to miss a pattern or make a mistake.

ReferenceLoad When
Reducer StructureCreating new reducers, setting up @Reducer, State, Action, or @ViewAction
Views - BindingUsing @Bindable, two-way bindings, store.send(), or .onAppear/.task
Views - CompositionUsing ForEach with stores, scoping to child features, or optional children
Navigation - BasicsSetting up NavigationStack, path reducers, pushing/popping, or programmatic dismiss
Navigation - AdvancedDeep linking, recursive navigation, or combining NavigationStack with sheets
Shared StateUsing @Shared, .appStorage, .withLock, or sharing state between features
DependenciesCreating @DependencyClient, using @Dependency, or setting up test dependencies
EffectsUsing .run, .send, .merge, timers, effect cancellation, or async work
PresentationUsing @Presents, AlertState, sheets, popovers, or the Destination pattern
Testing - FundamentalsSetting up test suites, makeStore helpers, or understanding Equatable requirements
Testing - PatternsTesting actions, state changes, dependencies, errors, or presentations
Testing - AdvancedUsing TestClock, keypath matching, exhaustivity = .off, or time-based tests
Testing - UtilitiesTest data factories, LockIsolated, ConfirmationDialogState testing, or @Shared testing
PerformanceOptimizing state updates, high-frequency actions, memory, or store scoping
Show full SKILL.md (148 more words)Show less

Common Mistakes

  1. Over-modularizing features — Breaking features into too many small reducers makes state management harder and adds composition overhead. Keep related state and actions together unless there's genuine reuse.

  2. Mismanaging effect lifetimes — Forgetting to cancel effects when state changes leads to stale data, duplicate requests, or race conditions. Use .concatenate for sequential effects and .cancel when appropriate.

  3. Navigation state in wrong places — Putting navigation state in child reducers instead of parent causes unnecessary view reloads and state inconsistencies. Navigation state belongs in the feature that owns the navigation structure.

  4. Testing without TestStore exhaustivity — Skipping TestStore assertions for "simple" effects or "obvious" state changes means you miss bugs. Use exhaustivity checking religiously; it catches regressions early.

  5. Mixing async/await with Effects incorrectly — Converting async/await to .run effects without proper cancellation or error handling loses isolation guarantees. Wrap async operations carefully in .run with yield statements.

© johnrogers, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 14 other files (references) in plugins/swift-engineering/skills/composable-architecture of johnrogers/claude-swift-engineering.

  • SKILL.md
  • references/dependencies.md
  • references/effects.md
  • references/navigation-advanced.md
  • references/navigation-basics.md
  • references/performance.md
  • references/presentation.md
  • references/reducer-structure.md
  • references/shared-state.md
  • references/testing-advanced.md
  • references/testing-fundamentals.md
  • references/testing-patterns.md
  • references/testing-utilities.md
  • references/views-binding.md
  • references/views-composition.md

Open the folder on GitHubat commit 1dc2cf4

Compare with similar skills

Composable Architecture next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Composable Architecture compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Composable Architecture this skilljohnrogers/claude-swift-engineering231—~982Automated safety check: PassMIT
Svelte Core Best Practicesrilldata/rill2.9k4 repos~1.8kAutomated safety check: PassApache-2.0
Dify Component Writing Guidelanggenius/dify158k—~626Automated safety check: PassCustom licence
React State Managementinvolvex/youtube-music-cli45613 repos~3kAutomated safety check: PassMIT
GPUI Kit Desktop App GuideAprilNEA/OpenLogi23k—~5.5kAutomated safety check: PassApache-2.0
Pierre Theming Librarypierrecomputer/pierre6.2k—~661Automated safety check: PassApache-2.0

Similar skills

  • Rules for writing idiomatic Svelte 5 code: when to reach for runes like state, derived and effect, and how to handle props, attachments and bindings.

    2.9k GitHub starsUsed in 4 repos~1.8k tokens
    Frontend & DesignAuto-check passed
  • Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…

    158k GitHub stars~626 tokensUpdated today
    Frontend & DesignAuto-check passed
  • React State Management

    involvex/youtube-music-cli

    Master modern React state management with Redux Toolkit, Zustand, Jotai, and React Query.

    456 GitHub starsUsed in 13 repos~3k tokens
    Frontend & DesignAuto-check passed
  • Guides building Rust desktop apps with the gpui-kit crate, covering component selection, state ownership, theming and overlays, plus normative GPUI coding rules.

    23k GitHub stars~5.5k tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed
  • Pierre Theming Library

    pierrecomputer/pierre

    Explains how to use the @pierre/theming package to list, resolve, select, switch and persist themes, with controller, color and React references.

    6.2k GitHub stars~661 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Frontend Patterns

    kurealnum/dotfiles

    Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices.

    290 GitHub starsUsed in 19 repos~3.7k tokens
    Frontend & DesignAuto-check passed

More from johnrogers/claude-swift-engineering

All 17 skills in this repo
  • Localization

    johnrogers/claude-swift-engineering

    A skill your agent uses when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support.

    231 GitHub stars~749 tokensUpdated 8 mo ago
    Auto-check passed
  • Storekit

    johnrogers/claude-swift-engineering

    A skill your agent uses when implementing in-app purchases, StoreKit 2 subscriptions, consumables, non-consumables, or transaction handling.

    231 GitHub stars~799 tokensUpdated 8 mo ago
    Auto-check passed
  • Swift Style

    johnrogers/claude-swift-engineering

    Swift code style conventions for clean, readable code. An agent skill from johnrogers/claude-swift-engineering.

    231 GitHub stars~828 tokensUpdated 8 mo ago
    Auto-check passed
  • Foundation Models

    johnrogers/claude-swift-engineering

    A skill your agent uses when implementing on-device AI with Apple's Foundation Models framework (iOS 26+), building summarization/extraction/classification features, or using @Generable for…

    231 GitHub stars~869 tokensUpdated 8 mo ago
    Auto-check passed
  • Grdb

    johnrogers/claude-swift-engineering

    A skill your agent uses when writing raw SQL with GRDB, complex joins across 4+ tables, window functions, ValueObservation for reactive queries, or dropping down from SQLiteData for performance.

    231 GitHub stars~719 tokensUpdated 8 mo ago
    Auto-check passed
  • Haptics

    johnrogers/claude-swift-engineering

    A skill your agent uses when adding haptic feedback for user confirmations (button presses, toggles, purchases), error notifications, or custom tactile patterns (Core Haptics).

    231 GitHub stars~792 tokensUpdated 8 mo ago
    Auto-check passed

Questions about Composable Architecture

What does Composable Architecture do?

A skill your agent uses when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features. Composable Architecture is an agent skill from johnrogers/claude-swift-engineering. Use when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features.

When should I use Composable Architecture?

Composable Architecture fits situations like: building features with TCA (The Composable Architecture); structuring reducers; handling effects; testing TCA features.

How do I install Composable Architecture in Claude Code?

Run `npx skills add johnrogers/claude-swift-engineering --skill composable-architecture -a claude-code`. Or copy the skill folder (plugins/swift-engineering/skills/composable-architecture in johnrogers/claude-swift-engineering) into .claude/skills/composable-architecture in your project. Claude Code loads it when a task matches its description.

How do I install Composable Architecture in Codex?

Run `npx skills add johnrogers/claude-swift-engineering --skill composable-architecture -a codex`. Or copy the skill folder (plugins/swift-engineering/skills/composable-architecture in johnrogers/claude-swift-engineering) into .agents/skills/composable-architecture in your project. Codex loads it when a task matches its description.

Can I use Composable Architecture in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add johnrogers/claude-swift-engineering --skill composable-architecture -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/composable-architecture, .gemini/skills/composable-architecture, .github/skills/composable-architecture and .opencode/skills/composable-architecture in your project.

What does Composable Architecture need to run?

SKILL.md names no scripts, command-line tools or credentials: Composable Architecture is instructions for the agent only.

Does Composable Architecture access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Composable Architecture safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Composable Architecture use?

Composable Architecture is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Composable Architecture use?

About 982 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 22k tokens, read only when the agent opens those files.

What are the alternatives to Composable Architecture?

Skills that share tags, products or a category with Composable Architecture: Svelte Core Best Practices (rilldata/rill, 2.9k stars), Dify Component Writing Guide (langgenius/dify, 158k stars), React State Management (involvex/youtube-music-cli, 456 stars) and GPUI Kit Desktop App Guide (AprilNEA/OpenLogi, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Composable Architecture?

johnrogers (a GitHub user) maintains it in johnrogers/claude-swift-engineering, which has 231 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on January 18, 2026.

Source: johnrogers/claude-swift-engineering on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.