스킬 haskell-pro
Λ

haskell-pro

안전

전문가와 함께하는 고급 Haskell 프로그래밍 마스터

Haskell의 복잡한 타입 시스템과 순수 함수형 디자인으로 어려움을 겪고 계신가요? 이 스킬은 타입 레벨 프로그래밍, 동시성 패턴, 강력한 정적 보장措施을 갖춘 고신뢰성 소프트웨어 구축에 대한 전문가 지침을 제공합니다.

지원: Claude Codex Code(CC)
🥉 75 브론즈
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"haskell-pro" 사용 중입니다. Design a type-safe API for handling money transfers that prevents invalid states at compile time.

예상 결과:

Use newtypes to wrap Amount and Currency with phantom types to track transfer states (Pending, Completed, Failed). Implement a state machine using GADTs that only allows valid transitions. Encode account invariants in types to prevent overdrafts. Provide type signatures that make invalid transfers unrepresentable.

"haskell-pro" 사용 중입니다. How do I handle concurrent access to a shared cache in Haskell?

예상 결과:

Use STM (Software Transactional Memory) with TVar for atomic cache updates. Wrap cache operations in retry blocks for automatic conflict resolution. Combine with async for concurrent read/write operations. Implement exception-safe cleanup using bracket or finally. Example pattern: atomically $ do cached <- readTVar cacheVar; case cached of Just val -> return val; Nothing -> do newValue <- computeValue; writeTVar cacheVar (Just newValue); return newValue

"haskell-pro" 사용 중입니다. Review my Haskell code for functional design improvements.

예상 결과:

Separate pure business logic into standalone functions with explicit signatures. Isolate database and network IO using transformer stacks (ReaderT for config, ExceptT for errors). Replace partial functions with total alternatives using Maybe or Either. Introduce newtypes to distinguish between UserID and Username at the type level. Split large modules into focused single-responsibility modules.

보안 감사

안전
v1 • 2/25/2026

Static analysis detected 7 potential issues (1 external_commands, 6 weak cryptographic patterns). All findings are false positives: the 'external_commands' detection was Markdown backticks for file paths, not shell execution. The 'weak cryptographic' detections appear to be scanner errors as no cryptographic code exists in the skill. The skill contains only documentation and instructions for Haskell programming assistance with no executable code, network operations, or security risks.

1
스캔된 파일
59
분석된 줄 수
1
발견 사항
1
총 감사 수
낮은 위험 문제 (1)
False Positive: Markdown File Reference
Line 27 contains backticks used for Markdown formatting of a file path ('resources/implementation-playbook.md'), not shell command execution. The static analyzer incorrectly identified this as an external command execution pattern.
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
50
커뮤니티
100
보안
100
사양 준수

만들 수 있는 것

타입 레벨 프로그래밍

비즈니스 로직을 타입 시스템에 인코딩하여 컴파일 타임에 오류를 포착하는 정교한 타입 레벨 추상화 설계

동시성 시스템 설계

적절한 예외 안전성을 가진 STM, async, 경량 스레드를 사용하여 동시 및 병렬 애플리케이션 구축

코드베이스 아키텍처 리뷰

기존 Haskell 코드베이스에 대한 함수형 디자인 패턴, 타입 안전성, 아키텍처 개선 사항 평가

이 프롬프트를 사용해 보세요

Type-Safe Domain Model
Design a type-safe domain model for a [domain] system. Use newtypes, phantom types, or GADTs to encode invariants at the type level and prevent invalid states.
Refactor to Pure Functions
Review this Haskell code and refactor it to separate pure logic from effectful code. Identify where IO can be isolated and propose a function signature architecture.
Concurrent Design Pattern
Design a concurrent [system] using Haskell's STM and async. Show how to handle shared state safely and implement exception-safe resource cleanup.
Performance Optimization
Analyze this Haskell code for performance bottlenecks. Identify opportunities for strictness analysis, fusion optimizations, or better data structure choices.

모범 사례

  • Start by clarifying your specific Haskell challenge - whether it is type-level design, concurrency, architecture, or performance tuning
  • Provide relevant code snippets, error messages, or compiler warnings for more targeted guidance
  • Specify your GHC version and key dependencies when requesting architecture or compatibility advice

피하기

  • Asking for non-Haskell programming help - use a general coding skill instead
  • Requesting execution of arbitrary system commands or file operations outside your project context
  • Expecting complete application implementations without providing project requirements or constraints

자주 묻는 질문

Can this skill write and compile Haskell code for me?
No, this skill provides expert guidance, patterns, and examples for Haskell programming. It helps you design type systems, architecture, and solutions, but you must implement and compile the code yourself using GHC or your build system.
Should I use this skill for learning Haskell basics?
This skill focuses on advanced Haskell topics like type-level programming and concurrency. For Haskell fundamentals, consider a beginner-friendly resource first, then use this skill when you are ready for advanced patterns and architecture.
What information should I provide for the best guidance?
Share your specific challenge, relevant code snippets, GHC version, and constraints. For architecture questions, explain your system requirements. For performance issues, provide profiler output or bottlenecks you have identified.
Can this skill help with legacy Haskell codebases?
Yes, provide the code you want to refactor or improve. The skill can identify opportunities for better type safety, pure function extraction, and architectural improvements while explaining the reasoning behind changes.
Does this skill cover web frameworks like Yesod or Servant?
The skill covers Haskell type systems, concurrency, and architecture principles that apply to web development. It can help design type-safe APIs and effectful code patterns, but for framework-specific questions, provide context about your framework choice.
Can this skill help me choose between Cabal and Stack?
Yes, the skill covers project structure, build tools, and dependency hygiene. Describe your project requirements, team context, and constraints, and it can guide you toward the appropriate tooling choice with rationale.

개발자 세부 정보

파일 구조

📄 SKILL.md