Community生产力与协作github.com

aitormf/agent-skills

通过引导式访谈,为项目创建或更新上下文文件(AGENTS.md、docs/ARCHITECTURE.md 及其不可协商原则、CONTRIBUTING.md、ADR、SECURITY.md 和 PR 模板)。适用于启动新项目、在现有项目中引入 AI 代理,或当被要求提供“章程”、项目原则、架构规则或代理相关文档时。

agent-skills 是什么?

该技能通过结构化的多轮访谈,帮助用户为其项目建立稳定、持久的规则,并将这些规则分别放置到最合适的文件中。它替代了 Spec Kit 的 `constitution.md`,将其内容合理分配到 `ARCHITECTURE.md`(核心架构原则)、`CONTRIBUTING.md`(贡献流程)、`ADRs`(架构决策记录)、`SECURITY.md`(安全策略)和 `AGENTS.md`(AI 代理专用指令)等文件中。技能支持绿地和棕地项目模式,也能处理从 `constitution.md` 的迁移。它强调规则的可工具验证性、避免重复,并确保 `AGENTS.md` 简洁(不超过 150 行)且作为链接图谱。最后,技能会生成所有必需文件,并创建 `CLAUDE.md`(仅包含 `@AGENTS.md` 引用),适用于 Cursor、Claude Code 等 AI 代理平台,确保代理在每次会话中都能获取正确的项目上下文。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aitormf/agent-skills/tree/HEAD/skills/generate-project-context

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

项目上下文

帮助用户决定并记录项目的稳定规则,每条规则归入其所属的文件。用户来做决策:你负责阅读、提出具体的选项和草稿。

它替代了 Spec Kit 的 constitution.md。其所有内容都有了更合适的归宿:

内容文件阅读者
技术栈、分层、依赖规则、不可协商的原则、术语表docs/ARCHITECTURE.md用户和代理;spec-to-plan 和 review-spec 会检查这些原则
质量、分支、提交、PR、审查、AI 使用CONTRIBUTING.md用户(代理通过链接访问)
每个架构决策的理由及被舍弃的备选方案docs/adr/NNNN-*.md两者,按需查看
命令、边界、非显而易见的约定、文档地图AGENTS.md(以及引用 @AGENTS.md 的 CLAUDE.md)代理,每次会话
如何报告漏洞、代理策略SECURITY.md用户

模板位于 assets/en/(英文)和 assets/es/(西班牙文)。使用项目文档所使用的语言;如果不清楚,询问用户。每个模板在其开头的注释中说明了如何填写。

规则

  • 不要重复。 如果某内容已存在于 pyproject.toml、CI 或 linter 中,链接到它;不要复制它。如果一个原则出现在两个文件中,它们最终会相互矛盾:原则只存在于 ARCHITECTURE.md 中。
  • AGENTS.md 要简短: 不超过 150 行。它是一张链接地图,不包含具体内容。对于每一行:“如果我删除它,代理会出错吗?”。如果不会,就删除。
  • 可以用工具检查的内容就用工具检查。 对于每个原则,询问如何验证(lint、import-linter、测试、CI、审查)并记录在其列中。
  • 没有易变内容: 没有冲刺状态或 TODO。这些内容放在项目管理工具或 docs/plans/ 中。
  • 展示每个文件的全文(或差异,如果文件已存在),并且仅在用户批准后才写入。

流程

1. 阅读项目

在提问之前,先阅读:清单文件(pyproject.toml、package.json、go.mod……)、README.md、任何现有的上下文文件、.github/workflows/、linter 配置和文件夹结构。利用你所发现的内容来提出建议,而不是提出开放式问题。

确定模式并告知用户:

  • 绿地(没有代码或几乎没有):ARCHITECTURE.md 是规定性的,描述“将如何”。
  • 棕地:ARCHITECTURE.md 是描述性的,描述“当前如何”。理想情况放入 ADR 和工具的限制器中。如果上下文文件已存在,只询问差距并提出差异。
  • 从 constitution.md 迁移:根据上表分配其内容,并提出删除它或将其缩减为链接的建议。

2. 按轮次访谈

一次一个类别。对于每个问题,提供具体的选项(A、B、“保持待定”、“其他”)。如果文件已经回答了问题,则请求确认而不是询问。如果某个类别不适用(例如,没有数据库),则跳过它并说明原因。每轮结束时,总结已决定的内容。

轮次决策内容目的地
1. 目的项目是什么以及其范围;类型(应用、服务、库、CLI)ARCHITECTURE.md §1、README.md
2. 技术栈与架构语言、框架、持久化、基础设施;层次或模块以及它们可以导入什么ARCHITECTURE.md §2–4、每个架构决策一个 ADR
3. 不可协商的原则5-10 条稳定、可验证的规则:为什么,以及每条规则如何被检查ARCHITECTURE.md §5
4. 质量先写测试还是后写,最低覆盖率,类型检查,从不模拟什么CONTRIBUTING.md §5;如果不可协商,同时也是一条原则
5. 安全身份验证、敏感数据、输入验证、法规合规ARCHITECTURE.md §10、SECURITY.md
6. 流程分支、约定式提交、合并或压缩、审批、PR 大小、允许的 AI 工具CONTRIBUTING.md §4、§6–7
7. 依赖添加依赖的策略、禁止的库、构建还是购买原则(如果不可协商)或 CONTRIBUTING.md
8. 代理相关命令(验证命令是必需的)、非显而易见的约定、关键或脆弱区域(棕地)、边界(总是/询问/从不)AGENTS.md

在第 8 轮中,验证命令是与其它技能(plan-to-tasks、implement、review)的契约。如果不存在,则建议 setup-guardrails-python(或语言对应的等效命令),或在 AGENTS.md 中保留为开放问题。如果项目将使用 review-prepush 或 review-pr,也提供可选的 ## Code review 部分(模板在 review-context/assets/AGENTS-code-review.md):基础分支、高风险路径、报告语言……

3. 起草并写入

顺序:ARCHITECTURE.md → ADR → CONTRIBUTING.md → SECURITY.md → AGENTS.md。AGENTS.md 放在最后,因为它链接到所有其他文件。

  • 从 assets/ 中的模板开始。删除目前尚不适用的部分;不要留空。
  • ADR:将 ADR.md 复制为 docs/adr/0000-template.md(西班牙语中为 0000-plantilla.md),将 adr-README.md 复制为 docs/adr/README.md。为第 2-3 轮中的每个架构决策创建一个 ADR。棕地模式:只创建 3-5 个追溯性 ADR,针对最常被质疑的决策,并包括被舍弃的备选方案。
  • AGENTS.md 必须包含:
    • “规划”行:在实施之前,对照 docs/ARCHITECTURE.md 中的原则检查计划;
    • 指向 CONTRIBUTING.md 的链接以了解流程。
  • CLAUDE.md 仅包含 @AGENTS.md,除非它已有其他内容。在这种情况下,建议将其内容移动到 AGENTS.md 中。
  • pull_request_template.md 放在 .github/ 中。提供它,但不要强制使用。

4. 总结

列出创建或更改的文件以及遗留的开放问题。提醒用户:

  • AGENTS.md 每月审查并精简,尤其是在更换模型时。
  • ARCHITECTURE.md 每个季度对照代码检查一次。
  • 代理重复的每个错误都会成为工具规则,或者作为最后的手段,成为“已知陷阱”下的一行。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能