skills/curate-skills/SKILL.md
Govern skill inventory through output-contract and acceptance-criteria checks, lifecycle assignment, and overlap detection. Core goal — produce verifiable status and normalized documentation for all skills in repository.
npx skillsauth add nesnilnehc/ai-cortex curate-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
通过对每个技能执行可验证的两项检查(输出合约存在性 + 验收准则数量)来分配 status,并规范化 agent.yaml 与 README。代理优先;agent.yaml 是机器可消费的事实来源。
首要目标:为存储库中所有技能产出可验证的 status、规范化文档与仓库级清单。
成功标准(必须满足全部):
has_output_contract: true|falseacceptance_criteria 字段(数组,允许为空)owner/repo:skill-name 形式填入 overlaps_withskills/SKILL_INVENTORY.md 写入或刷新,含状态分布、合约覆盖、缺失清单、最终建议验收测试:AI agent 是否可仅通过 agent.yaml 文件就理解每个技能的 status 与关系,无需阅读 SKILL.md 或 README?
本技能负责:
## Appendix: Output contract 或 ## 附录:输出合约/合同/契约)skills/SKILL_INVENTORY.md 生成本技能不负责:
交接点:当 SKILL_INVENTORY.md 写入并附带最终建议时,交给用户审查或 refine-skill-design 处理识别出的问题。
skills_directory 下所有技能目录has_output_contract: true:
## Appendix: Output contract## 附录:输出合约## 附录:输出合同## 附录:输出契约validated ← has_output_contract == true AND len(acceptance_criteria) >= 1experimental ← 否则archive_candidate ← 仅由维护者手动设置,本技能不主动转移overlaps_with(owner/repo:skill-name 形式)和 market_position(differentiated / commodity / experimental)skills/SKILL_INVENTORY.md,必须含最终建议节validated = has_output_contract AND len(acceptance_criteria) >= 1
experimental = otherwise
archive_candidate = manual only
无评分系统。无 cognitive mode 推导。无门控阈值。两个布尔条件即决定 status。
owner/repo:skill-name 列表,本仓库与其他仓库格式一致;无则空 []differentiated:明显差异化、最小重叠、库存中独特价值commodity:通用能力,与多个技能重叠experimental:早期、利基或定位不明确交互:在批量覆盖技能文件或写入 SKILL_INVENTORY.md 之前,与用户确认;除非用户明确请求完整运行(如"curate all skills")。
skills_directory:包含技能子目录的根路径(例如 skills/)skills/SKILL_INVENTORY.md 或结构化聊天摘要archive_candidate(仅维护者手动)scores、asqm_quality、validation_gates 已由 ADR 008 移除,写入即为违规)refine-skill-designrefine-skill-designrefine-skill-design 或人工generate-standard-readme何时停止并交接:
refine-skill-designrefine-skill-designowner/repo:skill-name 形式填入scores / asqm_quality / validation_gates 字段?AI agent 是否可仅通过 agent.yaml 文件就理解每个技能的 status 与关系,无需阅读 SKILL.md 或 README?
skills_directory: skills/;用户:"curate all skills in this repo"skills/SKILL_INVENTORY.md 含最终建议本技能写入或更新每个技能的 agent.yaml 时,使用此结构:
name: [kebab-case skill name]
status: validated | experimental | archive_candidate
primary_use: [one-line purpose]
inputs:
- [list of input names]
outputs:
- [list of output artifacts]
has_output_contract: true | false # SKILL.md 是否含输出合约附录
acceptance_criteria: # 可观测的输入→输出断言;空数组合法但 status 降为 experimental
- [criterion 1]
- [criterion 2]
overlaps_with: # Git-repo form: owner/repo:skill-name
- [owner/repo:skill-name]
market_position: differentiated | commodity | experimental
status 推导规则:
validated ← has_output_contract AND len(acceptance_criteria) >= 1experimental ← 否则archive_candidate ← 仅维护者手动设置禁止字段(由 ADR 008 移除):scores、asqm_quality、validation_gates、cognitive_mode。
development
Generate an LLM agent test suite (golden cases, mock-LLM unit tests, evaluator harness) from an agent implementation and its agent-test contract. Use when an agent has no tests, or a contract exists but the test code is missing.
development
After code changes, auto-detect the project's build system and local deployment method for a given directory, then build the project and restart its locally-deployed environment (Docker Compose / systemd / process manager). Never assumes — asks only when detection is ambiguous. Caches detected commands per project in .cortex/redeploy-local.yaml; re-invocations on the same project skip re-scanning until signal files change, the cache expires (30 days), or the skill version bumps.
tools
Publish a NATS message conforming to a cross-team contract, using NATS MCP tools. Authors the contract on first use if missing. Reads project-level cache (.cortex/nats.yaml) to avoid re-prompting basics across sessions.
tools
Drain pending NATS messages from a producer contract via NATS MCP tools (default batch / drain-style). Applies Tolerant Reader semantics and per-message ack/nak/term, returning aggregated stats. Reads project-level cache (.cortex/nats.yaml) to avoid re-prompting.