agentsclimarketplace

Tca

Skill kwon2540/tca-agent-skills/skills/tca

Build, refactor, review, debug, or test Swift features that use Point-Free's Composable Architecture (TCA), including reducers, observable state, view actions, dependencies, effects and cancellation, bindings, presentation and stack navigation, shared state, and TestStore. Use for TCA migrations and deprecation audits, especially Swift 6 concurrency or preparation for TCA 2.0.From its SKILL.md

Install
npx -y skills add kwon2540/tca-agent-skills --skill tca

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

TCA

Apply current Composable Architecture patterns while matching the version and conventions of the target project. Treat the bundled examples as focused references, not files to copy wholesale.

Establish the baseline

  1. Inspect Package.swift and Package.resolved before changing code.
  2. Record the resolved TCA version, Swift tools version, and deployment targets.
  3. If the request depends on “latest,” migration status, or deprecated APIs, verify the newest stable tag and migration guide in the official pointfreeco/swift-composable-architecture repository.
  4. Treat these references as audited against TCA 1.26.0, released June 8, 2026. Re-verify them when the project resolves a newer version.
  5. Read only the references relevant to the task, plus any directly composed parent or child pattern.

Implement modern TCA

  • Model features with @Reducer, @ObservableState, an Action enum, and Reduce/reducer-builder composition.
  • Observe StoreOf<Feature> directly from SwiftUI. Derive bindings from observable stores.
  • Use ViewAction and @ViewAction(for:) when a feature should distinguish actions sent by its view from internal responses, child actions, and delegate actions. Keep this separation optional for simple features.
  • Define external work as @Dependency values. Prefer @DependencyClient plus DependencyKey for custom clients, and provide deterministic test values.
  • Express async work with .run, send results back as actions, use clocks for time, and give long-running work stable cancellation IDs.
  • Compose child reducers with Scope, .ifLet, .forEach, or stack composition before handling parent logic that depends on child actions.
  • Model presentation with @Presents and PresentationAction. For enum destinations on TCA 1.25+, scope the projected destination first, then select the case.
  • Mutate @Shared values through their projected lock, such as $value.withLock { ... }.
  • Keep state mutations synchronous in reducers. Move I/O, clocks, notifications, sockets, and other outside-world work into effects and dependencies.
  • Preserve Swift 6 isolation and Sendable correctness. Do not silence concurrency diagnostics with unchecked conformance unless the wrapped implementation is independently synchronized.
  • Add or update TestStore coverage for state transitions, received actions, cancellation, navigation, and dependency behavior when production logic changes.

Avoid legacy patterns in new code

  • Do not introduce SystemEnvironment, three-generic-parameter closure reducers, ViewStore, WithViewStore, IfLetStore, or ForEachStore.
  • Do not introduce @BindingState, TaskResult, old AnyCasePath APIs, closure-scoped views, direct Reducer.reduce, or Store.withState.
  • Do not sequence or transform effects with Effect.concatenate, Effect.map, animation/transaction effect operators, scheduler debounce, or scheduler throttle. Sequence directly in .run, call send(_:animation:) or send(_:transaction:), and use a clock plus cancellation.
  • Do not scope presentation from a non-projected destination key path when the installed TCA version supports projected enum scoping.
  • Do not copy demo-only helpers such as AboutView, FactClient, or preview scaffolding unless the target owns equivalent types.
  • Do not enable ComposableArchitecture2DeprecationOverloads permanently; use it temporarily for migration because it can increase compile time. Keep ComposableArchitecture2Deprecations enabled when the project intentionally tracks TCA 2.0 readiness.

Choose references

Getting started and composition

Effects and dependencies

Navigation

Shared and reusable state

Verify

  1. Build the narrowest affected package or scheme.
  2. Run relevant tests; use deterministic clocks and dependency overrides instead of sleeping in tests.
  3. Search changed code for the legacy APIs listed above.
  4. When auditing for TCA 2.0, enable ComposableArchitecture2Deprecations, then temporarily enable ComposableArchitecture2DeprecationOverloads and resolve warnings.
  5. Report the resolved TCA version, references used, verification commands, and any remaining migration warnings.

What ships with it: 29 files

136.0 KB alongside SKILL.md

agents/

Keep looking

Skills are one crate of 326,149. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.