본문으로 건너뛰기
cccskills
무료GitHub에 공개

functional

Refactor Swift code toward declarative functional programming with immutability, value types, pure functions, transformations, and closure-based APIs. Use when asked for functional refactoring or `/refactor:functional`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md2.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Refactor this Swift codebase to follow functional programming principles:

Replace Mutability with Immutability

Convert var to let wherever possible Replace mutable collections with immutable transformations Use value types (structs/enums) instead of reference types (classes) where appropriate Eliminate property mutations in favor of creating new instances

Extract Pure Functions

Identify functions with side effects and refactor them to be pure Move I/O operations (network calls, file access, database queries) to the edges of the system Replace stateful methods with functions that take input and return output Ensure functions don't modify external state or rely on mutable global variables

Use Higher-Order Functions

Replace for-loops with map, filter, reduce, compactMap, flatMap Convert imperative conditional logic to functional chains Use function composition to build complex operations from simple ones Leverage lazy sequences for performance where appropriate

Functional Error Handling

Replace try-catch blocks with Result types where suitable Use Optional chaining and nil-coalescing operators Implement functional error propagation with map and flatMap on Result Avoid force unwrapping (!); use guard let, if let, or functional alternatives

Eliminate Shared Mutable State

Replace singletons with dependency injection of immutable services Convert stateful classes to stateless functions or immutable structs Use actors or other concurrency-safe patterns when mutation is necessary Pass data explicitly rather than relying on shared state

Apply Functional Patterns

Implement custom operators for common transformations Use currying for partial function application Create small, composable functions following the single responsibility principle Model domain concepts as algebraic data types (enums with associated values)

Specific Transformations

Convert delegate patterns to closure-based APIs Replace inheritance hierarchies with protocol composition Transform imperative algorithms to recursive or fold-based implementations Use KeyPaths for type-safe property access

Example transformation patterns to look for:

Loops that build arrays → map/filter/reduce Nested if-else → pattern matching with switch Mutable accumulator patterns → fold/reduce Callback hell → flatMap chains or async/await Stateful iteration → sequence/generator patterns

Maintain Swift idioms while applying functional principles. The goal is readable, maintainable code that leverages Swift's functional capabilities without sacrificing clarity.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SDiamante13/dotfiles102026년 10월 2일 업데이트

catchup

무료

Rebuilds session context after a clear by reading git history, plans, and beads state. Triggers on 'catch up'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SDiamante13/dotfiles102026년 10월 2일 업데이트

changelog

무료

Generate a bullet-point summary of branch changes for a PR description. Triggers on "changelog", "pr summary", "summarize branch", or "/changelog".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SDiamante13/dotfiles102026년 10월 2일 업데이트

commit

무료

Commit the current changes with quality checks, status review, staged diff inspection, appropriate tests, and a clear commit message. Use when the user says "commit", "c", asks to make a commit, or wants changes saved in git.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SDiamante13/dotfiles102026년 10월 2일 업데이트

declutter

무료

Refactor code to remove dead code, useless comments, unused variables, and unused imports. Use when asked to declutter a class, clean up noisy code, remove cruft, or run `/refactor:declutter`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SDiamante13/dotfiles102026년 10월 2일 업데이트

dry

무료

Refactor duplicated code by extracting helpers, shared abstractions, or clearer reusable structure. Use when asked to apply DRY, remove duplication, consolidate repeated logic, or run `/refactor:dry`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SDiamante13/dotfiles102026년 10월 2일 업데이트

SDiamante13의 스킬 모두 보기

이 스킬의 문제 신고