Skills
收录 96,770 个为 Agent 打包的专项能力与操作指引,复制一行命令即可安装。
开发
Golang 项目的 GitHub Actions CI/CD 流水线配置,涵盖测试、lint、SAST、覆盖率和漏洞扫描任务的 workflow 文件,Dependabot 和 Renovate 配置文件,GoReleaser 发布流水线,Docker 构建与推送,仓库安全设置,以及 AI 驱动的 PR 审查。设置或改进 Go 项目 CI、编写或修复 `.github/workflows/*.yml`、将 linter 或安全扫描器添加为流水线任务、接入自动依赖更新机器人,或添加质量门禁时使用。本指南涉及将工具接入流水线,不涉及工具执行的分析:不要用于选择或解读安全发现(→ 参见 `samber/cc-skills-golang@golang-security` skill),也不要用于选择、升级或审计依赖版本(→ 参见 `samber/cc-skills-golang@golang-dependency-management` skill)。
使用 samber/lo 进行 Golang 函数式编程的辅助工具,提供 500 多个类型安全的泛型函数,适用于切片、映射、通道、字符串、数学、元组和并发(Map、Filter、Reduce、GroupBy、Chunk、Flatten、Find、Uniq 等)。包括核心不可变包(lo)、并发变体(lo/parallel,又名 lop)、原地修改(lo/mutable,又名 lom)、惰性迭代器(lo/it,又名 loi,适用于 Go 1.23+)和实验性 SIMD(lo/exp/simd)。使用或采用 samber/lo、代码库导入 github.com/samber/lo,或在 Go 中实现函数式数据转换时适用。不适用于流式处理流水线(→ 参见 `samber/cc-skills-golang@golang-samber-ro` skill)。
Golang 生态关注清单,涵盖官方来源(go.dev/blog、pkg.go.dev、tour.golang.org、golang-nuts)、新闻简报(Golang Weekly、Awesome Go Newsletter)、社区(r/golang、gophers.slack.com、Go Forum、go.dev/wiki)、博客(Dave Cheney、Ardan Labs、Rob Pike)、YouTube 频道(Gopher Academy、GopherCon EU/UK)、会议,以及值得在 GitHub、X 和 Bluesky 关注的 Go 贡献者。寻找 Golang 学习资源、发现新库或工具、查找社区频道或聚会、选择值得关注的 Go 开发者,或了解 Go 语言变更和版本发布时使用。不适用于通过 CLI 查询特定模块的版本、文档或漏洞(→ 参见 `samber/cc-skills-golang@golang-pkg-go-dev` skill)。
操控运行在 Limrun 云端 Android 模拟器上的应用:安装 APK;启动和终止应用并获取崩溃报告;点击、输入、读取 UI 元素树、截图、录制视频、注入麦克风音频、调整网络带宽、读取应用日志、运行 shell 命令、传输文件;通过本机隧道转发应用的网络目标,并进行 HTTP 检查和 HAR 捕获;通过专用隧道访问专用网络;将所有流量通过用户代理发送;信任自定义 CA 证书;并通过 CLI 隧道使用 adb,以访问完整 logcat 和交互式工具。应用构建完成后(使用 limrun-gradle 或其他构建器),当用户想在模拟器上查看、测试或操作应用,或提出“给我看截图”“点击”“在模拟器上运行”“检查 logcat”“录制视频”“检查网络流量”“将所有流量通过我的代理转发”或“从模拟器访问我的本地服务器”等需求时使用。若需先构建 APK 或 AAB,请使用 limrun-gradle。
使用 samber/slog-**** 包扩展 Golang 结构化日志,涵盖多处理器流水线(slog-multi)、日志采样(slog-sampling)、属性格式化(slog-formatter)、HTTP 中间件(slog-fiber、slog-gin、slog-chi、slog-echo)和后端路由(slog-datadog、slog-sentry、slog-loki、slog-syslog、slog-logstash、slog-graylog...)。使用或采用 slog,或代码库已导入任意 github.com/samber/slog-* 包时适用。
使用 samber/mo 为 Golang 提供单子类型,包括 Option、Result、Either、Future、IO、Task 和 State,用于类型安全的可空值、错误处理,以及通过流水线子包进行函数式组合。使用或采用 samber/mo、代码库导入 `github.com/samber/mo`,或考虑将函数式编程模式作为 Golang 安全设计时适用。不适用于不使用此库时的 nil 安全和零值设计(→ 参见 `samber/cc-skills-golang@golang-safety` skill),也不适用于使用 fmt.Errorf、errors.Is 和 errors.As 进行原生错误包装(→ 参见 `samber/cc-skills-golang@golang-error-handling` skill)。
使用 samber/ro 在 Golang 中实现响应式流和事件驱动编程,提供包含 150 多个类型安全运算符的 ReactiveX 实现、冷/热 Observable、5 种 Subject 类型(Publish、Behavior、Replay、Async、Unicast)、通过 Pipe 构建的声明式流水线、40 多个插件(HTTP、cron、fsnotify、JSON、日志记录)、自动背压、错误传播和 Go context 集成。使用或采用 samber/ro、代码库导入 github.com/samber/ro,或在 Go 中构建异步事件驱动流水线、实时数据处理、流或响应式架构时适用。不适用于有限切片转换(→ 参见 `samber/cc-skills-golang@golang-samber-lo` skill)。
使用 spf13/cobra 构建 Golang 命令行命令树库——涵盖 cobra.Command、RunE 与 Run、PersistentPreRunE 钩子链、Args 验证器(NoArgs、ExactArgs、MatchAll、自定义)、持久与本地标志、命令组、ValidArgsFunction、RegisterFlagCompletionFunc、ShellCompDirective、用法/帮助模板定制、man 页面和 Markdown 文档生成,以及通过 SetArgs/SetOut/SetErr 进行测试。适用于使用或采用 spf13/cobra,或代码库导入 `github.com/spf13/cobra` 的情况。关于与 cobra 搭配的配置分层,请参阅 `samber/cc-skills-golang@golang-spf13-viper` 技能。关于通用命令行架构(项目布局、退出码、信号处理、I/O 模式),请参阅 `samber/cc-skills-golang@golang-cli`。
使用 swaggo/swag 编写 Golang OpenAPI/Swagger 文档——包括注释(@Summary、@Param、@Success、@Router、@Security)、swag init 代码生成、框架集成(gin、echo、fiber、chi、net/http)、安全定义(Bearer/JWT、OAuth2、API key)和结构体标签(swaggertype、enums、example、swaggerignore)。适用于在 Go 项目中添加或维护 Swagger/OpenAPI 文档,或代码库导入 github.com/swaggo/swag、github.com/swaggo/gin-swagger、github.com/swaggo/echo-swagger、github.com/swaggo/http-swagger 或 github.com/swaggo/files 的情况。
使用 google/wire 在 Golang 中进行编译时依赖注入——涵盖 wire.NewSet、wire.Build、wire.Bind(接口→具体类型)、wire.Struct、wire.Value、wire.InterfaceValue、wire.FieldsOf、清理函数、//go:build wireinject 注入器文件和生成的 wire_gen.go。适用于使用或采用 google/wire、代码库导入 `github.com/google/wire`,或通过 `wire.Build` 在编译时组装应用程序依赖图的情况。关于使用反射进行运行时 DI,请参阅 `samber/cc-skills-golang@golang-uber-dig` 技能。
使用 spf13/viper 的 Golang 配置库——涵盖分层优先级(标志 > 环境变量 > 文件 > KV > 默认值)、BindPFlag/BindPFlags、SetEnvPrefix + SetEnvKeyReplacer + AutomaticEnv、ReadInConfig + ConfigFileNotFoundError、Unmarshal + mapstructure 结构体标签、用于子树的 Sub、用于热重载的 WatchConfig + OnConfigChange、用于测试隔离的 viper.New(),以及远程 KV 集成。适用于使用或采用 spf13/viper,或代码库导入 `github.com/spf13/viper` 的情况。关于搭配 viper 的命令行结构,请参阅 `samber/cc-skills-golang@golang-spf13-cobra` 技能。关于通用命令行架构,请参阅 `samber/cc-skills-golang@golang-cli`。
使用 uber-go/fx 的 Golang 应用框架,涵盖 fx.New、fx.Provide、fx.Invoke、fx.Module、fx.Lifecycle hooks、fx.Annotate(name/group/As)、fx.Decorate、fx.Supply、fx.Replace、fx.WithLogger 和支持信号处理的 Run()。使用或采用 uber-go/fx、代码库导入 `go.uber.org/fx`,或通过 fx.New 连接服务时使用。如需不带生命周期的原始 DI,请参阅 `samber/cc-skills-golang@golang-uber-dig` 技能。
Golang 技能编排器——在任何 Golang 编码、审查、调试或设置任务中始终启用。读取任务上下文,并从 samber/cc-skills-golang 加载最相关的技能,通常会同时加载多个:编写 gRPC 服务时加载 golang-grpc + golang-testing + golang-error-handling;调试 panic 时加载 golang-troubleshooting + golang-safety;审计安全性时加载 golang-security + golang-lint + golang-safety。此外,还会在两个技能似乎重叠时区分相互竞争的技能组(性能与基准测试与故障排查、samber/lo 与 mo 与 ro、DI 技能组、安全防护与安全审计),并配置项目的 Agent 配置文件(CLAUDE.md、AGENTS.md、GEMINI.md、Cursor 规则或 Copilot 指令),以便在项目中强制触发技能(/golang-how-to configure)。
用于查询现代 Web 开发最佳实践的工具。强制要求:所有 HTML/CSS 和客户端 JS 任务都必须首先执行。不要跳过——Web API 更新迅速,训练数据中可能包含过时模式。以下情况立即触发:- UI/布局:模态框/对话框/弹出层、表格、深色模式、锚点定位、容器查询、`:has()` 等。- 滚动/动效:View Transitions、滚动驱动动画、视差/渐显等。- 性能:CWV(LCP、INP)、content-visibility、Fetch Priority、图像优化等。- 系统/API:安全、通行密钥、HTML 清理、Web Components、日期/时区、内置 AI、WebAssembly 等。- 框架:React、Vue、Angular 等中的标准 HTML/CSS/DOM。- 通用前端:表单、验证(`:user-valid`)、自动填充、无障碍、自定义选择框、滚动条等。以下情况不要触发:- 后端:SQL、ORM、API 路由等。- 基础设施/脚本:CI/CD、Docker、Actions、Python/Go、Git 等。- 工具/琐碎任务:Vite、tsconfig、ESLint、测试、文案复制/重命名、第三方文档等。
编写、审查或重构 iOS 或 macOS 的 SwiftUI 代码时使用,涵盖状态和 `@Observable` 数据流、视图组合、可调整大小的布局、安全区域、显示缩放、性能、列表、环境、本地化、动画、Liquid Glass 和 API 迁移。也适用于 iPhone Duo、折叠设备或大屏布局(大屏上的 `NavigationSplitView`、iPhone 标签侧边栏、双列重排、折叠屏网格、`ArrangementView`、`ReservedRegion`)、铰链效果、垂直栏、`@State` 初始化或合成属性诊断、`@ContentBuilder` 歧义、`reorderable` 拖放、自定义 `AsyncImage` `URLSession`、List 外的滑动操作、绑定到项目的 `alert`/`confirmationDialog`、`ToolbarOverflowMenu`、`AnimatableValues`、Document API(`Document`/`DocumentReader`),以及 Instruments `.trace` 的采集或分析。
将项目质量标准确立为书面契约,防止 Agent 悄悄降低标准。询问用户关注哪些维度;用户没有具体数值时提供合理的默认阈值;将所有内容记录在 CONSTRAINTS.md 中,并检查 diff 是否降低了标准,例如新增 @ts-ignore 或 eslint-disable 抑制项、跳过或删除测试、移除断言、留下未实现的存根、下调阈值。适用于尚无书面质量标准、用户要求“设置约束”或“定义标准”、用户希望将无障碍、Web 性能、覆盖率等关注维度设为强制约束、Agent 不断屏蔽检查或跳过测试以通过检查、不知道应设定何种覆盖率或性能阈值,或 Agent 编写了过多无人能读的代码等情况。
使用 Clerk CLI(`clerk` 二进制文件)处理身份验证、用户/组织/会话管理、身份模拟、本地 webhook 测试、部署验证、实例配置、环境密钥、功能开关,以及任何 Clerk Backend、Platform 或 Frontend API 调用。用户提及 Clerk 管理任务、“list clerk users”“impersonate a user”“test webhooks locally”“enable orgs”“enable billing”“clerk env pull”“clerk doctor”“clerk deploy”“clerk api”,或任何临时 Clerk API 请求时使用。优先使用 CLI,而非原始 HTTP:它会自动处理身份验证、密钥解析、应用/实例定位和格式化。
使用 @expo/ui 包构建原生 UI:iOS 上使用真正的 SwiftUI,Android 上使用 Jetpack Compose。对于表单页(BottomSheet)、选择器、滑块、开关、菜单和分组表单区段,默认使用 @expo/ui;不要使用 Reanimated、@gorhom/bottom-sheet 或 RN 内置 Picker/Switch;改用 @expo/ui。仅当 @expo/ui 缺少相应组件时才回退到 RN 内置组件。注意:@expo/ui List 会渲染类似 iOS Settings 屏幕的原生分组行,并非虚拟化列表;大型数据集请使用 FlatList/FlashList。涵盖通用组件(Host、Column、Row、Button、Text、List、BottomSheet、FieldGroup、Switch、Slider、Picker、Menu)、RN 社区库的直接替代方案,以及特定平台的 SwiftUI/Jetpack Compose 视图树。不适用于 Expo Router 导航、Reanimated 或数据获取。
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
