全部 Agent Skills
41,263 个结果
- Functional Defining Errors Out Of ExistenceyutnaUse when error handling dwarfs the happy path, when the same failure is handled in many places, or when an interface forces callers to handle rare cases.
- Functional DesignyutnaUse when starting design or review, deciding how much design a task warrants, from a throwaway script to a subsystem, unsure which skill fits, or the requirement is undecided.
- Functional Designing Deep ModulesyutnaUse when designing a module interface, when it exports nearly as much as it hides or is as complicated as its implementation, or when tiny one-function modules multiply.
- Functional Designing What To ObserveyutnaUse when deciding what to log, trace, or measure, when an incident could not be diagnosed from what was recorded, or when adding observability late.
- Functional Designing Workflow PipelinesyutnaUse when implementing a use case, command handler, or business process, or when logic for one operation is scattered across services and layers.
- Functional Diagnosing ComplexityyutnaUse when a small change touches many files, an edit breaks an unexpected module, code is slow to read, or before refactoring a flag, cache or field that may be self-inflicted.
- Functional ElixiryutnaUse when designing Elixir structs, ok and error tuples, or `with` pipelines, and whether a GenServer, a supervision tree, or letting a process crash is the right answer.
- Functional Elixir PhoenixyutnaUse when designing a Phoenix context, an Ecto schema or changeset, a LiveView's assigns, or deciding what belongs in the domain rather than in the web layer.
- Functional Enforcing Consistency BoundariesyutnaUse when deciding what one transaction must cover, when two entities have to stay in step, or when identity and equality of domain values are unclear.
- Functional Folding Over DatayutnaUse when a loop accumulates into a variable, when combining a collection into one value, when the same tree walk keeps being written again, or when a combining law matters.
- Functional Handling Errors With ResultsyutnaUse when a function throws and callers cannot tell, when exceptions cross module boundaries, or when validation must report every problem.
- Functional Hiding InformationyutnaUse when callers know how a module works inside, when one data format appears in several modules, or when each step of a process became a module.
- Functional JavascriptyutnaUse when applying functional design in plain JavaScript, without a type checker, including immutability, tagged unions, and Result-style error handling.
- Functional Making Effects ReliableyutnaUse when a timeout leaves an effect unsure, when a retry could charge twice, when a saved change is published separately, or when spawned background work outlives its request.
- Functional Making Illegal States UnrepresentableyutnaUse when a type can hold combinations the business forbids, when booleans, flags, or nullable fields encode state like loading and failed, or when code guards impossible values.
- Functional Managing State ImmutablyyutnaUse when code mutates shared data or updates a record in place, when a concurrent update is lost or races, or when parallel work needs cancelling together.
- Functional Modeling State MachinesyutnaUse when an entity has a lifecycle, when a status field drives branching, or when a function must ask what state a value is in before acting on it.
- Functional Modeling With Algebraic TypesyutnaUse when designing domain types, when a record has many optional fields, or when choosing between a record, a union, and a bare primitive.
- Functional Parameterizing DependenciesyutnaUse when domain code needs a database or clock, when tests need heavy mocking, or when an effect system or library makes simple code ceremonial.
- Functional Programming StrategicallyyutnaUse when a deadline tempts a shortcut, when editing existing code, or when a codebase degrades a little with every change.
- Functional Refactoring Toward Functional DesignyutnaUse when moving imperative or object-oriented code to functional design, when a code smell needs a move, or when a shape cannot absorb new requirements.
- Functional Reviewing Functional DesignyutnaUse when asked to review a design, diff, component or module, before merging, judging a design standard, or when a flagged pattern may be a stated project convention.
- Functional Separating LayersyutnaUse when adjacent layers repeat the same abstraction, when a function only forwards, when callers repeat the same lines after it, or when a utility carries a feature's policy.
- Functional Separating Pure Core From ShellyutnaUse when business logic cannot be tested without I/O, when one call deep inside forces every caller to become async, or when deciding where a database or HTTP call belongs.