senior-devops
面向生产环境基础设施操作的 DevOps 技能,强调先核对现实再规划、审核计划后再应用、同一状态仅一个写入者、控制爆炸半径,涵盖 Terraform/OpenTofu/Pulumi/CloudFormation 变更、部署回滚与事故响应。
找到适合任务的 Agent Skill,阅读介绍并复制安装命令。
更新于 10-27 00:15
12,583 个结果
面向生产环境基础设施操作的 DevOps 技能,强调先核对现实再规划、审核计划后再应用、同一状态仅一个写入者、控制爆炸半径,涵盖 Terraform/OpenTofu/Pulumi/CloudFormation 变更、部署回滚与事故响应。
依据 HashiCorp 官方风格约定生成与维护 Terraform HCL 代码的技能,涵盖文件组织、命名、变量、输出、格式化、版本固定与校验工具等规范。
用于将现有 Simulink 模型配置为 Simulink Real-Time 应用,按目标平台、求解器要求和实时构建选项进行设置,适用于 slbuild 前的准备。需 MATLAB R2026a 及更高版本。
用于管理 Simulink Real-Time 应用运行生命周期的技能:构建模型、在目标计算机上安装/加载、启动与停止应用、设置停止时间、通过 tg.Stimulation 驱动根输入端口与 Playback 块,并涵盖参数调优、参数集、录制、文件日志与实时流等运行时工作流。
docker-audit 是一个用于审查 Dockerfile 与 Compose 配置的技能,依据 10 类常见 Docker 错误检查镜像安全、构建效率与运行时安全,支持 grep 检测及可选的 hadolint、trivy、dockle 深度扫描。
该技能用于在 Kotlin 多平台桌面构建中承诺某个 CPU 架构目标之前,审计所有携带原生二进制的依赖是否包含该架构的切片。原生代码缺失会导致目标在首次调用时失败,而非构建时,因此需要主动审计。审计方法是解析运行时类路径并检查每个 jar 内部的原生目录,注意不同库的命名约定各异,且缺失切片不可见。适用于添加新架构目标、依赖升级或发布前验证。
本技能介绍如何在 Kotlin Multiplatform 项目中用 BuildKonfig 接入构建期配置:从被 git 忽略的本地 properties 文件读取密钥,并生成为 commonMain 可见的配置对象。内容涵盖 buildkonfig 配置块写法、由 Gradle 属性切换的“含密钥”与“无密钥”两个分支、CI 在构建前写入 local.properties 的方式,以及若干实践要点:两个分支必须声明相同字段名、用空字符串表示缺失、在运行时用命名检查函数把空值视为不可用、捕获异常避免缺少文件导致构建失败、不要读取生成文件中的值、按字段值而非 flavour 判断、在 Gradle 9 严格任务依赖校验下手动声明依赖、版本值放在版本目录中,并给出验证命令。
该技能用于排查和修复 CI 流水线中“仅靠时序运气才通过”的步骤。这类步骤本身一直存在缺陷,只是被机器速度掩盖,一旦运行环境时序变化就会失败,且往往表现为“成功但产出错误工件”。技能给出两类典型陷阱:同名挂载卷的异步卸载与下一次挂载冲突,以及标准库 URL 流在跨协议重定向时把错误页当作目标文件保存。它提供捕获工具实际报告挂载点、启动前清理残留卷、强制重试卸载、改用会显式报错的下载器、校验下载结果与摘要、避免缓存坏文件等做法,并给出可用于搜索可疑模式的 grep 命令。
该技能针对“配置失败开放”(fail open)类问题:当 HOCON、无 schema 的 JSON、多数 YAML 消费者、.desktop 文件、plist、manifest 等格式忽略未知键、不报错时,拼写错误、层级错误或跨版本迁移的键会静默失效。技能主张只以生成的产物(artifact)为证据,通过两次仅键位置不同的构建、对产物做 diff 与指纹 grep,定位键真正生效的位置,并在打包步骤旁加入断言,防止此类不可见缺陷回归。
该技能介绍如何使用配置驱动的打包器为 JVM 桌面应用生成各操作系统安装包,重点说明其 HOCON 配置“失败开放”的特性:未知键不会报错或警告,写错嵌套层级的键与生效的键无法区分,直到打开构建产物才能发现。内容涵盖应用级与按操作系统级键的绑定差异、嵌套组字段必须位于组内、命令行覆盖语法、生成配置文件与打包步骤分离、打包 JDK 来自构建工具链、启动器参数缓冲区上限、macOS 环境块对 PATH 的影响,以及通过构建后 grep 产物元数据来验证配置的方法。
这套方案介绍如何在同一个 Kotlin 代码库中维护“完整构建”与“开源构建”两种形态:完整构建包含专有或有凭证要求的集成,开源构建则使用空实现(no-op)桩模块。核心做法是创建两个模块(`<feature>` 与 `<feature>-empty`),它们声明相同的包名和相同的 API 签名,再通过 Gradle 属性 `isFullBuild` 在每个依赖方模块中选择依赖哪一个,而无需改动调用点。资料还给出了可用性检查、依赖差异比对、声明一致性校验等命令,并列出模块混用、桩实现返回 null、声明不同步等易错点。
该技能用于为跨平台桌面应用搭建 GitHub Actions 发布流水线:由一个 Linux runner 一次性交叉构建 Linux、macOS 两种架构与 Windows 的产物,再用一个精简的 macOS 专用 job 仅负责把 macOS 归档包装成磁盘映像(DMG)。设计目的是避免三套 OS 矩阵重复检出、解析依赖和编译,同时把昂贵的 macOS runner 分钟数只用于无法在其他平台完成的操作。内容还涵盖产物在 job 间的 upload/download-artifact 传递、外部打包器不触发 Gradle 依赖导致原生库缺失、配置需单独生成、输出目录被清空、限制每次调用构建的平台、从文件名推导架构、shell 严格模式、从版本目录读取版本号以及验证与注释等实践要点。
该技能用于桌面 JVM 应用的内存诊断与优化,核心做法是不再只看常驻内存(RSS)数字,而是比较 Java 堆与总占用(footprint)的比例,并通过一个决定性实验判断问题出在原生内存分配器还是 Java 堆。资料给出:(1) 先排除堆无限增长与原生句柄泄漏的可证伪方法;(2) 在应用空闲时请求分配器归还内存,再对比前后占用变化,若可归还则说明并非泄漏;(3) 针对 Linux、Windows、macOS 的四种调节手段:在暂停/空闲时归还空闲页;通过 JVM 选项让 GC 反提交未使用的堆;在 macOS 上关闭小对象分配区;在 Linux 上通过 MALLOC_ARENA_MAX 限制分配器 arena;(4) 还给出了一组陷阱:堆上限不约束归还、空闲归还比需配合周期回收、归还只能在空闲时执行、macOS 不要对全部 zone 归还、上限不等于实际分配、放宽而非移除 arena 上限、macOS 环境字典影响 PATH;(5) 以及在真实使用约 30 分钟后用 pgrep、gc、j cmd、vmmap 等命令验证的方法。
该技能面向 Kotlin Multiplatform 仓库,讲解如何把一个 git submodule 作为一组 Gradle 模块消费:在父构建的 settings 文件中将子模块内嵌套的模块目录映射为扁平的项目路径。内容围绕使用中的陷阱展开:普通克隆导致子模块目录为空、构建报错指向不存在的项目;CI 检出默认不拉取子模块;子模块记录的是提交指针而非分支;共享代码变更需先在子模块推送再更新父仓库指针;不应给子模块单独的 settings 文件;以及映射应以 rootDir 为锚点。并提供 git submodule status、递归克隆、submodule update --init --recursive 等验证与恢复命令。
这是一个面向 macOS 应用打包与签名的构建流程建议,用于解决扩展属性伴随文件(._* 文件)导致的签名失效问题。当带扩展属性的文件被打包成归档格式后再度解包时,macOS 会生成名为 ._<文件名> 的伴随文件。若这些文件在应用包签名前落入包内,签名工具会把它们当作普通成员一并签名并记入签名清单;用户解压或从磁盘映像拖出应用时,文件管理器会把 ._name 合并回 name 的扩展属性并删除伴随文件,导致已签名包缺少自身密封清单预期的成员,系统报应用“已损坏”而拒绝打开。该技能要求在解包第三方或预构建负载之后、打包签名步骤运行之前,无条件遍历目标目录并删除所有以 ._ 开头的文件,并记录清理数量。无论目标平台是 macOS、Linux 还是 Windows,都应执行此清理,因为伴随文件由打包归档的机器产生。文中还提醒:清理代码需注明这是正确性修复而非整理,否则易被后续清理误删;签名后再删除会造成同样故障;在构建目录直接启动应用无法复现问题,必须经过归档或磁盘映像往返测试;打包时预防不能替代解包时清理。验证方式是签名前用 find 检查无 ._* 文件,再对构建产物及往返副本执行 codesign 严格校验。
这是关于 macOS 应用打包时一个容易忽略的副作用的技术说明:只要在应用的属性列表(Info.plist)中声明 Launch Services 环境字典 LSEnvironment,Launch Services 就会把该进程的 PATH 固定为 /usr/bin:/bin:/usr/sbin:/sbin 这四个系统目录。任何由应用启动的外部进程因此只能找到这四个目录下的工具,通过包管理器、用户主目录或 /usr/local 安装的工具都会找不到。该说明介绍了判定规则、审计方法、常见陷阱与验证步骤,并指出直接运行可执行文件无法复现此问题。
针对 JVM 桌面应用使用字节码压缩与混淆工具时的存活指南,说明必须关闭的三类优化及其原因、混淆破坏渲染与反射时的静默症状,以及桌面应用特有的 keep 规则、打包接入与发布验证方法。
该技能页面介绍了一种用于 Kotlin 多平台桌面构建的可复现原生库打包方案:将原生库的构建与获取拆分为两个 Gradle 任务。nativesBundleAll 在开发机上运行,每次原生版本升级执行一次,用于构建并收集各平台切片、各打一个 tar 包并打印校验和;nativesSetupAll 在每个 CI 任务、每次构建时运行,用于下载已发布的 tar 包、按固定校验和验证并解包。页面还列举了若干实践陷阱:外部调用的打包步骤不会触发 Gradle 任务依赖;未声明输入会导致 Gradle 把已有输出视为最新状态;校验和应固定在构建文件中,而不能依赖与产物同源的文件;缓存键需包含标签;校验失败需删除归档;未固定校验和应有专门哨兵与提示;tar 包应发布在应用自身发布页之外;解包后应断言文件类型并清除 macOS 平台附带文件。页面最后给出验证方法:检查实际到达暂存树中的文件、重新计算已发布 tar 包的摘要并与固定映射比较,以及在运行时记录实际加载的原生库路径。
分布式追踪技能,用于在微服务架构中实现链路追踪、理解 Trace 上下文传播机制以及排查跨服务调用问题。内容覆盖 OpenTelemetry 框架、Trace/Span 与 Context 核心概念、W3C Trace Context 传播格式、Jaeger、Zipkin、Grafana Tempo 等后端选型、采样策略、日志-指标-链路的关联模式以及埋点最佳实践。适合需要在多个服务之间追踪请求流向、定位慢请求与错误的工程团队参考。
Gemini CLI 沙箱与隔离配置的中枢技能,覆盖 Docker、Podman 与 macOS Seatbelt 三种隔离方式,用于启用沙箱、选择隔离方法、配置 Seatbelt 配置文件及排查沙箱问题。
面向 Windows、macOS、Linux 与 WSL 的开发者环境搭建指南技能,覆盖包管理器、运行时、终端、编辑器、Docker、云与数据库工具等安装配置步骤,适合新机器初始化或团队新人入职。
该技能用于设计基础设施自助服务门户、IaC 模板和自动化置备系统,让开发者无需工单即可按模板获取基础设施,同时保留治理与管控。
@universal-signer/core 提供统一、类型安全的签名接口,兼容 Viem v2,可在 AWS KMS、GCP KMS、Ledger、Trezor、Turnkey 与本地账户之间通过配置切换,让区块链逻辑只写一次。
forge-batch 是 forge 技能集中的一个批次编排工具,用于把一组 Issue(按里程碑、标签、史诗或 Issue 编号圈定范围)划分成可并行实施、互不干扰的 Wave(波次)。它会先收集候选 Issue 并排除 HITL、blocked、已有开放 PR 以及依赖范围外 Issue 的条目;随后估算每个 Issue 可能改动的文件与目录集合(touch set),超过 5 个 Issue 时并行委派给 forge-scout 子代理;再依据文件冲突、序列化资源通配符和依赖关系,按优先级与编号贪心排版,每波默认最多 10 个 Issue,同目录不同文件的 Issue 会被标记为相邻供人工否决;最后经人工确认或以 unattended 模式打印批次结果,含表格与启动命令行。