{"id":"fac041f3-00a9-43bb-830b-2ac30e1ed092","shortId":"eWNK7k","kind":"skill","title":"scala-pro","tagline":"Master enterprise-grade Scala development with functional programming, distributed systems, and big data processing. Expert in Apache Pekko, Akka, Spark, ZIO/Cats Effect, and reactive architectures.","description":"## Use this skill when\n\n- Working on scala pro tasks or workflows\n- Needing guidance, best practices, or checklists for scala pro\n\n## Do not use this skill when\n\n- The task is unrelated to scala pro\n- You need a different domain or tool outside this scope\n\n## Instructions\n\n- Clarify goals, constraints, and required inputs.\n- Apply relevant best practices and validate outcomes.\n- Provide actionable steps and verification.\n- If detailed examples are required, open `resources/implementation-playbook.md`.\n\nYou are an elite Scala engineer specializing in enterprise-grade functional programming and distributed systems.\n\n## Core Expertise\n\n### Functional Programming Mastery\n- **Scala 3 Expertise**: Deep understanding of Scala 3's type system innovations, including union/intersection types, `given`/`using` clauses for context functions, and metaprogramming with `inline` and macros\n- **Type-Level Programming**: Advanced type classes, higher-kinded types, and type-safe DSL construction\n- **Effect Systems**: Mastery of **Cats Effect** and **ZIO** for pure functional programming with controlled side effects, understanding the evolution of effect systems in Scala\n- **Category Theory Application**: Practical use of functors, monads, applicatives, and monad transformers to build robust and composable systems\n- **Immutability Patterns**: Persistent data structures, lenses (e.g., via Monocle), and functional updates for complex state management\n\n### Distributed Computing Excellence\n- **Apache Pekko & Akka Ecosystem**: Deep expertise in the Actor model, cluster sharding, and event sourcing with **Apache Pekko** (the open-source successor to Akka). Mastery of **Pekko Streams** for reactive data pipelines. Proficient in migrating Akka systems to Pekko and maintaining legacy Akka applications\n- **Reactive Streams**: Deep knowledge of backpressure, flow control, and stream processing with Pekko Streams and **FS2**\n- **Apache Spark**: RDD transformations, DataFrame/Dataset operations, and understanding of the Catalyst optimizer for large-scale data processing\n- **Event-Driven Architecture**: CQRS implementation, event sourcing patterns, and saga orchestration for distributed transactions\n\n### Enterprise Patterns\n- **Domain-Driven Design**: Applying Bounded Contexts, Aggregates, Value Objects, and Ubiquitous Language in Scala\n- **Microservices**: Designing service boundaries, API contracts, and inter-service communication patterns, including REST/HTTP APIs (with OpenAPI) and high-performance RPC with **gRPC**\n- **Resilience Patterns**: Circuit breakers, bulkheads, and retry strategies with exponential backoff (e.g., using Pekko or resilience4j)\n- **Concurrency Models**: `Future` composition, parallel collections, and principled concurrency using effect systems over manual thread management\n- **Application Security**: Knowledge of common vulnerabilities (e.g., OWASP Top 10) and best practices for securing Scala applications\n\n## Technical Excellence\n\n### Performance Optimization\n- **JVM Optimization**: Tail recursion, trampolining, lazy evaluation, and memoization strategies\n- **Memory Management**: Understanding of generational GC, heap tuning (G1/ZGC), and off-heap storage\n- **Native Image Compilation**: Experience with **GraalVM** to build native executables for optimal startup time and memory footprint in cloud-native environments\n- **Profiling & Benchmarking**: JMH usage for microbenchmarking, and profiling with tools like Async-profiler to generate flame graphs and identify hotspots\n\n### Code Quality Standards\n- **Type Safety**: Leveraging Scala's type system to maximize compile-time correctness and eliminate entire classes of runtime errors\n- **Functional Purity**: Emphasizing referential transparency, total functions, and explicit effect handling\n- **Pattern Matching**: Exhaustive matching with sealed traits and algebraic data types (ADTs) for robust logic\n- **Error Handling**: Explicit error modeling with `Either`, `Validated`, and `Ior` from the Cats library, or using ZIO's integrated error channel\n\n### Framework & Tooling Proficiency\n- **Web & API Frameworks**: Play Framework, Pekko HTTP, **Http4s**, and **Tapir** for building type-safe, declarative REST and GraphQL APIs\n- **Data Access**: **Doobie**, Slick, and Quill for type-safe, functional database interactions\n- **Testing Frameworks**: ScalaTest, Specs2, and **ScalaCheck** for property-based testing\n- **Build Tools & Ecosystem**: SBT, Mill, and Gradle with multi-module project structures. Type-safe configuration with **PureConfig** or **Ciris**. Structured logging with SLF4J/Logback\n- **CI/CD & Containerization**: Experience with building and deploying Scala applications in CI/CD pipelines. Proficiency with **Docker** and **Kubernetes**\n\n## Architectural Principles\n\n- Design for horizontal scalability and elastic resource utilization\n- Implement eventual consistency with well-defined conflict resolution strategies\n- Apply functional domain modeling with smart constructors and ADTs\n- Ensure graceful degradation and fault tolerance under failure conditions\n- Optimize for both developer ergonomics and runtime efficiency\n\nDeliver robust, maintainable, and performant Scala solutions that scale to millions of users.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["scala","pro","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-scala-pro","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/scala-pro","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34583 github stars · SKILL.md body (5,567 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T18:52:10.598Z","embedding":null,"createdAt":"2026-04-18T21:43:53.277Z","updatedAt":"2026-04-22T18:52:10.598Z","lastSeenAt":"2026-04-22T18:52:10.598Z","tsv":"'10':401 '3':121,127 'access':574 'action':88 'actor':233 'adt':525,667 'advanc':151 'aggreg':328 'akka':23,227,249,261,268 'algebra':522 'apach':21,225,241,286 'api':340,350,554,572 'appli':80,325,659 'applic':190,196,269,392,408,630 'architectur':29,307,639 'ask':731 'async':471 'async-profil':470 'backoff':370 'backpressur':275 'base':595 'benchmark':460 'best':43,82,403 'big':16 'bound':326 'boundari':339,739 'breaker':363 'build':201,444,564,597,626 'bulkhead':364 'cat':168,541 'catalyst':296 'categori':188 'channel':549 'checklist':46 'ci/cd':622,632 'circuit':362 'ciri':617 'clarif':733 'clarifi':74 'class':153,499 'claus':137 'clear':706 'cloud':456 'cloud-nat':455 'cluster':235 'code':480 'collect':381 'common':396 'communic':346 'compil':439,493 'compile-tim':492 'complex':219 'compos':204 'composit':379 'comput':223 'concurr':376,384 'condit':676 'configur':613 'conflict':656 'consist':651 'constraint':76 'construct':163 'constructor':665 'container':623 'context':139,327 'contract':341 'control':177,277 'core':115 'correct':495 'cqrs':308 'criteria':742 'data':17,209,256,302,523,573 'databas':584 'dataframe/dataset':290 'declar':568 'deep':123,229,272 'defin':655 'degrad':670 'deliv':685 'deploy':628 'describ':710 'design':324,337,641 'detail':93 'develop':9,680 'differ':66 'distribut':13,113,222,317 'docker':636 'domain':67,322,661 'domain-driven':321 'doobi':575 'driven':306,323 'dsl':162 'e.g':212,371,398 'ecosystem':228,599 'effect':26,164,169,179,184,386,512 'effici':684 'either':535 'elast':646 'elimin':497 'elit':102 'emphas':505 'engin':104 'ensur':668 'enterpris':6,108,319 'enterprise-grad':5,107 'entir':498 'environ':458,722 'environment-specif':721 'ergonom':681 'error':502,529,532,548 'evalu':419 'event':238,305,310 'event-driven':304 'eventu':650 'evolut':182 'exampl':94 'excel':224,410 'execut':446 'exhaust':516 'experi':440,624 'expert':19,727 'expertis':116,122,230 'explicit':511,531 'exponenti':369 'failur':675 'fault':672 'flame':475 'flow':276 'footprint':453 'framework':550,555,557,587 'fs2':285 'function':11,110,117,140,174,216,503,509,583,660 'functor':194 'futur':378 'g1/zgc':431 'gc':428 'generat':427,474 'given':135 'goal':75 'graalvm':442 'grace':669 'grade':7,109 'gradl':603 'graph':476 'graphql':571 'grpc':359 'guidanc':42 'handl':513,530 'heap':429,435 'high':355 'high-perform':354 'higher':155 'higher-kind':154 'horizont':643 'hotspot':479 'http':559 'http4s':560 'identifi':478 'imag':438 'immut':206 'implement':309,649 'includ':132,348 'inlin':144 'innov':131 'input':79,736 'instruct':73 'integr':547 'inter':344 'inter-servic':343 'interact':585 'ior':538 'jmh':461 'jvm':413 'kind':156 'knowledg':273,394 'kubernet':638 'languag':333 'larg':300 'large-scal':299 'lazi':418 'legaci':267 'lens':211 'level':149 'leverag':485 'librari':542 'like':469 'limit':698 'log':619 'logic':528 'macro':146 'maintain':266,687 'manag':221,391,424 'manual':389 'master':4 'masteri':119,166,250 'match':515,517,707 'maxim':491 'memoiz':421 'memori':423,452 'metaprogram':142 'microbenchmark':464 'microservic':336 'migrat':260 'mill':601 'million':695 'miss':744 'model':234,377,533,662 'modul':607 'monad':195,198 'monocl':214 'multi':606 'multi-modul':605 'nativ':437,445,457 'need':41,64 'object':330 'off-heap':433 'open':97,245 'open-sourc':244 'openapi':352 'oper':291 'optim':297,412,414,448,677 'orchestr':315 'outcom':86 'output':716 'outsid':70 'owasp':399 'parallel':380 'pattern':207,312,320,347,361,514 'pekko':22,226,242,252,264,282,373,558 'perform':356,411,689 'permiss':737 'persist':208 'pipelin':257,633 'play':556 'practic':44,83,191,404 'principl':383,640 'pro':3,37,49,62 'process':18,280,303 'profici':258,552,634 'profil':459,466,472 'program':12,111,118,150,175 'project':608 'properti':594 'property-bas':593 'provid':87 'pure':173 'pureconfig':615 'puriti':504 'qualiti':481 'quill':578 'rdd':288 'reactiv':28,255,270 'recurs':416 'referenti':506 'relev':81 'requir':78,96,735 'resili':360 'resilience4j':375 'resolut':657 'resourc':647 'resources/implementation-playbook.md':98 'rest':569 'rest/http':349 'retri':366 'review':728 'robust':202,527,686 'rpc':357 'runtim':501,683 'safe':161,567,582,612 'safeti':484,738 'saga':314 'sbt':600 'scala':2,8,36,48,61,103,120,126,187,335,407,486,629,690 'scala-pro':1 'scalabl':644 'scalacheck':591 'scalatest':588 'scale':301,693 'scope':72,709 'seal':519 'secur':393,406 'servic':338,345 'shard':236 'side':178 'skill':32,54,701 'skill-scala-pro' 'slf4j/logback':621 'slick':576 'smart':664 'solut':691 'sourc':239,246,311 'source-sickn33' 'spark':24,287 'special':105 'specif':723 'specs2':589 'standard':482 'startup':449 'state':220 'step':89 'stop':729 'storag':436 'strategi':367,422,658 'stream':253,271,279,283 'structur':210,609,618 'substitut':719 'success':741 'successor':247 'system':14,114,130,165,185,205,262,387,489 'tail':415 'tapir':562 'task':38,57,705 'technic':409 'test':586,596,725 'theori':189 'thread':390 'time':450,494 'toler':673 'tool':69,468,551,598 'top':400 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'total':508 'trait':520 'trampolin':417 'transact':318 'transform':199,289 'transpar':507 'treat':714 'tune':430 'type':129,134,148,152,157,160,483,488,524,566,581,611 'type-level':147 'type-saf':159,565,580,610 'ubiquit':332 'understand':124,180,293,425 'union/intersection':133 'unrel':59 'updat':217 'usag':462 'use':30,52,136,192,372,385,544,699 'user':697 'util':648 'valid':85,536,724 'valu':329 'verif':91 'via':213 'vulner':397 'web':553 'well':654 'well-defin':653 'work':34 'workflow':40 'zio':171,545 'zio/cats':25","prices":[{"id":"0e4873b0-dbaf-4064-9998-94b917b41557","listingId":"fac041f3-00a9-43bb-830b-2ac30e1ed092","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:43:53.277Z"}],"sources":[{"listingId":"fac041f3-00a9-43bb-830b-2ac30e1ed092","source":"github","sourceId":"sickn33/antigravity-awesome-skills/scala-pro","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/scala-pro","isPrimary":false,"firstSeenAt":"2026-04-18T21:43:53.277Z","lastSeenAt":"2026-04-22T18:52:10.598Z"}],"details":{"listingId":"fac041f3-00a9-43bb-830b-2ac30e1ed092","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"scala-pro","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34583,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"aa9d06b1618d8acdb8993f338cb2d7c701496584","skill_md_path":"skills/scala-pro/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/scala-pro"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"scala-pro","description":"Master enterprise-grade Scala development with functional programming, distributed systems, and big data processing. Expert in Apache Pekko, Akka, Spark, ZIO/Cats Effect, and reactive architectures."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/scala-pro"},"updatedAt":"2026-04-22T18:52:10.598Z"}}