一键导入
taskfile-optimize
Taskfile(go-task) 最佳实践与模式,适用于新增/修改 Taskfile.yml、设计任务结构、保证幂等与可维护性、使用 vars/status/preconditions/summary/wildcard 等特性。遇到 Taskfile 设计、重构或排错时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Taskfile(go-task) 最佳实践与模式,适用于新增/修改 Taskfile.yml、设计任务结构、保证幂等与可维护性、使用 vars/status/preconditions/summary/wildcard 等特性。遇到 Taskfile 设计、重构或排错时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Comprehensive Nushell scripting best practices, idioms, security, and code review. Use when writing, reviewing, auditing, or refactoring Nushell (.nu) scripts to ensure they follow idiomatic patterns, naming conventions, proper type annotations, functional style, security best practices, and Nushell's unique design principles. Triggers on tasks involving Nushell scripts, modules, custom commands, pipelines, or any .nu file editing. Also helps convert Bash/POSIX scripts to idiomatic Nushell. Covers the type system, data manipulation, performance optimization, security hardening, script review, and common gotchas.
Go 语言陷阱检测:浮点精度、slice/map 内存语义、time/JSON/HTTP 标准库陷阱、 nil 语义、控制流陷阱、容器化性能、string/rune 编码、CPU 缓存友好性。 覆盖 100 Go Mistakes 中 linter 和其他 skills 无法处理的常见错误模式。 Use when writing code involving float comparison, slice/map operations, time/JSON/HTTP usage, string substrings, switch/select/break control flow, nil interface values, Docker/K8S deployment, rune/string iteration, defer with named returns, CPU cache layout, or profiling/diagnostics.
| name | taskfile-optimize |
| description | Taskfile(go-task) 最佳实践与模式,适用于新增/修改 Taskfile.yml、设计任务结构、保证幂等与可维护性、使用 vars/status/preconditions/summary/wildcard 等特性。遇到 Taskfile 设计、重构或排错时使用。 |
https://taskfile.dev/schema.json 如果需要使用某个key,请直接查看该 schema.json 是否支持references/schema.yaml以官方 schema 为准;本地整理用于快速查阅与评估字段影响面。
references/best-practices.yamllevel(MUST / MUST_NOT / SHOULD),用于区分强约束与建议best_practices[]:最佳实践分类列表category:英文分类标识(idempotency / reusability / maintainability)title:中文分类名qs:该分类的引导问题items[]:规则列表items[].id:英文规则标识items[].name:中文规则名items[].level:规则级别(MUST / MUST_NOT / SHOULD)items[].text:规则描述与执行要点references/gotchas.yamlgotchas[]:问题清单id:英文问题标识title:中文问题名desc:问题描述fix:修复建议requires: 声明任务所必需的变量(变量未设置则任务失败),适用于基础的存在性校验。preconditions: 在任务运行前执行校验命令,可对输入参数进行值范围、格式等业务逻辑校验。通常作为输入参数校验的主要关键字。vars: 定义任务的局部变量。status: 定义检查命令,判断任务是否已是最新状态(用于幂等控制)。summary: 为任务提供简短描述。wildcard: 用于通配符任务名,实现批量任务定义。对于"输入参数校验"场景,首选
preconditions实现自定义校验逻辑,仅需确保变量存在时可选用requires。
这三个字段容易混淆,明确职责边界:
requires — 声明任务所需的变量(变量缺失则报错),仅做存在性校验,不做值范围/格式校验preconditions — 在任务执行前运行校验命令,可对输入做值范围、格式等业务逻辑校验status — 定义幂等检查命令,判断任务是否已是最新状态(如文件已存在、内容一致则跳过)一句话记:requires 检查"有没有"、preconditions 检查"对不对"、status 检查"做没做"。
vars: 中使用 sh 子命令时,必须遵守以下规则:
所有面向用户的入口任务必须同时定义:
desc — 简短摘要(一行)summary — 详细使用说明(多行,含参数和注意事项)