关于 new-project
new-project 是用于规划和安全初始化软件项目的技能,适合创建新项目或整理现有代码库。它通过预设与能力目录生成蓝图,并要求先检查、审批,再逐步应用变更。
主要功能
- 01按预设和能力规划项目
- 02只读生成项目蓝图
- 03初始化或补全现有项目
- 04审计脚手架并修复问题
- 05检查工具链与配置健康
适用场景
- 01规划新 Python 或 Node 项目
- 02为现有代码库补充缺失文件
- 03审计项目约定与配置
- 04规划文档、GitHub CI 或 AI 指令
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wyattowalsh/ agents --skill new-project安装后在 Claude Code 中输入/new-project确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
data/capabilities.jsoncapabilities.schema.jsoncommand-groups.jsonconflicts.jsonpackage-aliases.jsonpresets.jsonpresets.schema.jsonevals/evals.jsonevals/fixtures/cloud-config-present/wrangler.jsoncevals/fixtures/dirty-worktree-repair/README.mdevals/fixtures/empty-repo/.gitkeepevals/fixtures/existing-ai-configs/AGENTS.mdevals/fixtures/existing-docs-root/docs/README.mdevals/fixtures/existing-node-repo/package.jsonevals/fixtures/existing-python-repo/pyproject.tomlevals/fixtures/preferences-present/.new-project-preferences.jsonreferences/adding-preferences.mdai-agent-instructions.mdai-apps.mdartifact-templates.mdcapability-model.mdcloud-deploy-dns.mdconventional-commits-release.mddata-platforms.mddesign-system.mddocs-fumadocs.mddocs-starlight-react.mdgithub-ci-release.mdintake-and-routing.mdnode-pnpm-npm.md详细介绍
新建项目
根据类型化预设和能力偏好,规划并安全地初始化现代软件项目。
分派
$ARGUMENTS | 操作 |
|---|---|
| 空 | 展示页:显示模式、预设、偏好类别和示例;不进行编辑 |
prefs、prefs list、catalog | 偏好:列出能力类别和默认值 |
prefs validate | 偏好:验证能力目录和预设目录 |
prefs add <id> | 偏好:说明安全添加偏好的工作流程 |
preset list | 预设:显示精选预设及其权衡 |
plan <name-or-path> | 规划:为新建或现有目标生成只读蓝图 |
init <name>、new <name> | 初始化:完成预检、蓝图和审批后设置新目标 |
bootstrap <path>、init-existing <path> | 初始化现有项目:以非破坏方式设置缺失文件 |
audit <path> | 审计:生成只读脚手架和规范健康报告 |
repair <path> | 修复:根据审计结果进行经批准的增量修复 |
doctor <path> | 诊断:验证工具链和配置健康状况,不更改文件 |
docs <path> | 文档:分类为 docs-lite、docs-themed、docs-interactive 或 docs-product |
docs-lite <path>、starlight <path> | 轻量文档:Astro Starlight 静态文档配置 |
docs-themed <path> | 主题文档:Starlight 加 CSS/Tailwind 品牌层 |
docs-interactive <path> | 交互式文档:Starlight 加 React islands |
docs-product <path>、fumadocs <path> | 产品文档:Next.js 加 Fumadocs 高级文档配置 |
ai <path>、agents <path> | AI 指令:规划 AGENTS、嵌套 AGENTS、Claude Code、OpenCode、Codex |
github <path> | GitHub:规划 CI、模板和发布工作流 |
python <name>、uv <name> | 初始化/规划:面向 Python 的预设 |
node <name>、web <name>、next <name> | 初始化/规划:Node/web 预设 |
data <name> | 初始化/规划:Supabase、SQLite、DuckDB、notebooks 预设 |
aws <name>、agentcore <name> | 规划:Bedrock/AgentCore 规划;仅在选择启用时修改提供商配置 |
monorepo <name>、nx <name> | 初始化/规划:monorepo 预设 |
full <name>、max-free <name> | 规划:综合蓝图;仅逐模块应用 |
| 自然语言新建仓库/初始化请求 | 自动分类,然后仅询问影响重大的缺失信息 |
| 产品功能请求 | 拒绝或转至实现技能 |
| Agent 或 MCP 服务请求 | 拒绝或转至 agent-conventions 或 mcp-creator |
| 破坏性或强制执行请求 | 停止操作,说明风险,并要求逐个文件审批 |
运行流程
- 将请求分类为新项目、现有仓库引导、审计、修复、偏好设置、文档、AI 指令、GitHub、云端/数据或拒绝处理。
- 对于含糊不清或自然语言请求,阅读
references/intake-and-routing.md。 - 在任何修改模式开始前,执行只读预检。
- 从
data/解析预设和功能,而不是临时编写说明。 - 生成蓝图,列出文件、命令、跳过的现有文件、风险、审批要求和验证方式。
- 仅在获得明确批准后应用,每次处理一个模块。
- 执行验证,并总结已创建、已跳过和已延后的工作。
模式实现
分类门控
在采取行动前,对每个请求进行分类:新项目、现有项目引导、审计、修复、偏好设置、文档、AI 指令、GitHub、云端/数据或拒绝处理。对于含糊不清的请求,在缺少的选项得到确认前,保持只读。
渐进式披露
将 SKILL.md 保留为路由约定。按需加载领域详情的参考资料、偏好设置的数据文件、用于确定性检查的脚本,以及仅用于呈现报告的模板。
扩展策略
优先将未来的技术栈添加为功能和预设。只有在需要新增顶层模式时,才更改分发表。
标准术语
请准确使用以下标准术语。
| 术语 | 含义 |
|---|---|
| 预设 | 精心整理的设置包,例如 minimal、python-api、docs-lite 或 monorepo |
| 功能 | 原子级设置功能,例如 python.uv、docs.starlight 或 github.actions-ci |
| 蓝图 | 只读项目设置计划,包含文件、命令、风险、审批要求和检查项 |
| 应用步骤 | 蓝图中经批准的一项修改单元 |
| 外部副作用 | 对云端、部署、发布、DNS、账户或服务提供商进行的修改 |
参考文件索引
| 文件 | 用途 | 阅读时机 |
|---|---|---|
references/workflow.md | 端到端安全设置流程 | 修改模式 |
references/capability-model.md | 能力架构和冲突语义 | 偏好设置/目录工作 |
references/presets.md | 预设及其权衡 | 选择预设 |
references/preference-catalog.md | 易读的偏好设置列表 | prefs、规划 |
references/adding-preferences.md | 后续扩展偏好设置的工作流 | prefs add、维护 |
references/intake-and-routing.md | 分类和歧义处理 | 自然语言输入 |
references/scaffold-profiles.md | 按预设划分的产物矩阵 | 蓝图设计 |
references/python-uv.md | uv、uvx、pyproject、Python 包 | Python 配置档案 |
references/node-pnpm-npm.md | pnpm、npm/npx、TypeScript、Next、Astro、Nx、Changesets | Node 配置档案 |
references/docs-starlight-react.md | Starlight 文档轻量/主题化/交互式指南 | 文档轻量模式 |
references/docs-fumadocs.md | Fumadocs 文档产品指南 | 文档产品模式 |
references/design-system.md | DESIGN.md 和反低质设计指南 | Web/文档/设计配置档案 |
references/data-platforms.md | Supabase、SQLite、DuckDB、Kaggle、Colab | 数据/笔记本配置档案 |
references/ai-apps.md | Pydantic AI、LangGraph、Vercel AI SDK、Bedrock、AgentCore | AI 应用配置档案 |
references/github-ci-release.md | Actions、发布、最小权限 CI | GitHub 模式 |
references/cloud-deploy-dns.md | Vercel、Cloudflare DNS、AWS 部署门禁 | 云模式 |
references/precommit-quality-gates.md | pre-commit 和 CI 镜像 | 质量门禁 |
references/conventional-commits-release.md | Conventional Commits、Changesets、发布 | 发布配置档案 |
references/ai-agent-instructions.md | AGENTS、嵌套 AGENTS、Claude Code、OpenCode、Codex | AI 指令模式 |
references/openspec-governance.md | OpenSpec 设置和生成产物策略 | OpenSpec 配置档案 |
references/security-supply-chain.md | 密钥、包生成器、Docker、CI、供应链 | 高风险模式 |
references/validation-and-repair.md | 审计、doctor、修复工作流 | 审计/修复/doctor |
references/artifact-templates.md | 骨架和模板指南 | 生成产物 |
脚本索引
| 脚本 | 用途 |
|---|---|
scripts/preferences.py | 列出、验证、解析、合并和说明偏好设置 |
scripts/preflight.py | 只读检测项目并标记风险 |
scripts/blueprint.py | 根据请求、预设和功能构建 JSON 蓝图 |
scripts/validate_catalog.py | 验证架构、依赖项、冲突、模板和引用 |
scripts/validate_plan.py | 在应用前验证蓝图安全性 |
scripts/version_check.py | 查询所选软件包的相关信息和版本 |
scripts/doctor.py | 验证现有脚手架的健康状况,不进行修改 |
scripts/render_report.py | 为 HTML 模板渲染报告数据 |
脚本使用 argparse、JSON 标准输出、标准错误输出诊断信息,并支持 --help。它们不得读取机密文件。
安全关卡
- 在脚手架搭建、引导、修复、文档、AI、GitHub、云或应用模式下,首先执行预检。
- 在修改或安装软件包前生成蓝图。
- 默认跳过现有文件;覆盖文件需要逐个审批。
- 除非已批准迁移,否则保留检测到的软件包管理器。
- 绝不要求用户在聊天中粘贴机密,也绝不读取机密文件。
- 生成
.env.example或.env.template,不要生成真实凭据。 - 云、部署、发布、DNS、Docker 和账户变更都需要针对特定提供商的明确审批。
- GitHub Actions 默认使用
permissions: contents: read;仅添加范围严格受限的权限。 - Docker Compose 模板默认不得使用特权模式、主机网络、Docker 套接字挂载、宽泛的主机挂载、root 服务或公开绑定数据库。
- 生成的 AI 指令不得绕过审批、禁用凭据保护、自动部署或忽略优先级更高的指令。
关键规则
- 使用功能目录选择技术栈;不要只在散文描述中硬编码偏好。
- 区分一次性工具
uvx和项目命令uv run。 - 新建 Node 项目时优先使用
pnpm,但除非已批准迁移,否则保留检测到的 npm/yarn/bun。 - 轻量级文档优先使用 Starlight;只有产品、API 或文档需求足够复杂时才使用 Fumadocs。
- 在 web/product 配置之外,将 Tailwind v4 和 shadcn/ui 设为可选项;只添加所需的 shadcn 组件。
- 未在运行期间通过实时注册表或官方文档获取证据时,绝不声称版本为
latest。 - 不要创建 Agent 或 MCP 服务;应引导用户改为提出其他请求。
- 除非用户明确要求,否则不要创建分支、工作树、提交、推送、发布或 PR。
- 在 GitHub Actions 中复现本地质量关卡,或说明延后 CI 的原因。
- 在 web/docs/design 配置中加入移动优先的响应式 UI 要求。
- 当分发模式、预设、功能或安全关卡发生变化时,更新评估项。
- 将正文控制在 500 行以内;将详细内容移至参考文档。
验证约定
在宣布此技能的更改已完成前,运行:
python skills/new-project/scripts/check.py
uv run pytest tests/test_new_project.py
uv run python skills/new-project/scripts/preflight.py --path . --format json
更改技能定义、公开描述、参考文档或评估行为后,如果 docs-steward 可用,则调用它。
评论
支持 Markdown