开发工具代码编辑器数据科学【免费下载链接】positronPositron, a next-generation data science IDE项目地址https://gitcode.com/gh_mirrors/po/positron点击查看免费下载GitHub Copilot Chat 内置了一组代理技能Agent Skills文件用于在特定场景下指导 AI 代理执行完整的工作流。本文聚焦 Positron 仓库中 project-setup-info-context7/SKILL.md 这一技能文档讲解它如何驱动 AI 代理借助 context7 MCP 工具完成从零搭建整个项目TypeScript 项目、React 应用、Node.js 服务、MCP 服务器、VS Code 扩展等的脚手架工作并深入仓库源码揭示其注册条件、开关配置与底层实现。读完本文你将掌握这一技能的触发边界、两步调用流程以及它与本地脚手架方案的取舍关系。一、Skill 是什么一段指导 AI 代理的操作手册在 VS Code / Positron 的 Copilot 生态中Skill技能是以SKILL.md为核心的目录化指令集。根据仓库内 agent-customization/references/skills.md 的说明一个标准技能目录结构为.skills/skill-name/ ├── SKILL.md # 必填name 必须与文件夹同名 ├── scripts/ # 可执行代码 ├── references/ # 按需加载的文档 └── assets/ # 模板、样板代码project-setup-info-context7正是这样一个技能其SKILL.md通过 YAML frontmatter 声明元信息正文给出具体操作步骤供 AI 代理在新建完整项目场景下按图索骥。二、frontmatter 元信息何时该用、何时不该用该技能的核心价值体现在description字段中它既是代理自动加载技能时的触发器也是判断适用边界的准则主要包含三部分内容。2.1 定位面向完整项目脚手架而非单文件description首先明确了本技能的设计定位This tool is designed for full project initialization and scaffolding, not for creating individual files.即它服务的是完整的项目初始化和脚手架搭建包括文件夹结构创建、package.json与依赖管理、配置文件tsconfig、eslint等、初始样板代码、开发环境设置以及构建与运行说明。它不负责创建单个文件——后者应交给普通文件创建工具完成。2.2 When to use触发本技能的场景用户想要从零创建一个完整的新项目搭建整个项目框架TypeScript 项目、React 应用、Node.js 服务器等初始化带完整结构的 MCPModel Context Protocol服务器创建带正确脚手架结构的VS Code 扩展搭建Next.js、Vite等基于框架的项目用户提出new projectcreate a workspaceset up a [framework] project等请求需要建立包含依赖、配置文件和文件夹结构的完整开发环境。2.3 When NOT to use明确禁止的边界创建单个文件或小型代码片段向已有项目添加单个文件对现有代码库做修改用户要求create a file或add a component简单的代码示例或演示调试或修复既有代码。从仓库实现看这种按场景分流的机制通过 package.json 的 chatSkills 注册表 落地context7 版技能与本地版技能project-setup-info-local互斥注册由同一个配置开关决定加载哪一个详见下文第三节。三、核心工作流程两步调用 context7 工具SKILL.md正文给出了一条极简但完整的两步操作路径Call themcp_context7_resolve-library-idtool with your project requirements.Call themcp_context7_get-library-docstool to get scaffolding instructions.对应中文实践为解析库 ID调用mcp_context7_resolve-library-id工具传入项目的技术需求如React TypeScript Vite由 context7 服务解析出对应的库/框架标识获取脚手架文档调用mcp_context7_get-library-docs工具获取针对该库的官方脚手架指令然后据此创建文件夹结构、依赖与配置文件。文档同时给出一个前置条件Only setup a project if the folder is empty or if youve just called the tool first calling the tool to create a workspace.——即只有目标文件夹为空、或刚刚调用工具创建工作区时才允许执行项目搭建防止覆盖已有代码。这两个工具并非 Positron 内置 API而是由 context7 这个第三方 MCP 服务器提供。仓库中通过github.copilot.mcp.viewContext7命令引导用户安装它实现细节位于 getting-started/vscode-node/commands.ts该命令以npx -y upstash/context7-mcplatest作为启动命令、以context7作为服务器名构造 MCP 安装 URI 并交给 VS Code 完成安装。这意味着 AI 代理调用mcp_context7_*工具的前提是当前环境中已配置并运行该 MCP 服务器。四、仓库中的加载机制一个开关决定两种脚手架方案4.1 chatSkills 注册表与 when 条件在 extensions/copilot/package.json 中两个项目脚手架技能被注册进chatSkills并带有互斥的when条件{ path: ./assets/prompts/skills/project-setup-info-local/SKILL.md, when: !config.github.copilot.chat.newWorkspace.useContext7, sessionTypes: [local] }, { path: ./assets/prompts/skills/project-setup-info-context7/SKILL.md, when: config.github.copilot.chat.newWorkspace.useContext7, sessionTypes: [local] }sessionTypes: [local]表示该技能只在本地会话非 CLI 会话中生效when表达式把加载决定完全交给配置项github.copilot.chat.newWorkspace.useContext7为false时加载本地版技能为true时加载本文讨论的 context7 版技能。4.2 配置项定义与默认值开关本身定义在同文件的 contributes.configuration 段github.copilot.chat.newWorkspaceCreation.enabled布尔值默认true标签为experimental控制是否启用代理式工作区创建整体功能github.copilot.chat.newWorkspace.useContext7布尔值默认false标签为experimental决定新建工作区时是否使用 context7 工具来搭建项目。对应的中文化描述见 package.nls.jsonWhether to use the Context7 tools to scaffold project for new workspace creation.由此可见context7 脚手架属于默认关闭的实验性能力需要用户显式开启github.copilot.chat.newWorkspace.useContext7并在环境中安装 context7 MCP 服务器后才能激活。五、与本地版技能project-setup-info-local的对比同目录下的 project-setup-info-local/SKILL.md 是默认路径的实现两者解决同一个问题从零搭建完整项目但知识来源完全不同对比维度project-setup-info-localproject-setup-info-context7加载条件useContext7为 false默认useContext7为 true知识来源内置的固定命令模板context7 MCP 动态查询的最新文档覆盖场景VS Code 扩展、Next.js、Vite、MCP Server、Python 脚本/包任意可通过 context7 解析到文档的库/框架典型命令npx --package yo --package generator-code -- yo code . --skipOpen、npx create-next-applatest .、npx create-vitelatest .mcp_context7_resolve-library-id→mcp_context7_get-library-docs特性参数固定、无需外部服务依赖网络与 context7 MCP 服务器本地版技能的价值在于离线可用、命令参数完整列举如 Yeoman 扩展模板的-t/--extensionType、--pkgManagerNext.js 的--ts/--app/--src-dirVite 的-t/--template等适合网络受限环境context7 版技能的价值在于文档实时更新能拿到库的最新版本与脚手架说明避免内置模板滞后。六、SKILL.md 的格式规范与编写要点若要理解该文件为何如此精炼可参考 agent-customization/references/skills.md 中给出的 SKILL.md 编写原则frontmatter 字段name必填1-64 字符小写字母数字加连字符且必须与文件夹同名、description何时用、怎么用最长 1024 字符、可选argument-hint与user-invocable、disable-model-invocation渐进式加载代理先只读name与description约 100 tokens判断相关性命中后才加载正文5000 tokens 以内引用文件按需再载入关键词丰富的描述在description中埋入触发词如本文件中的 new project、create a workspace、set up a [framework] project保证可被发现自包含把完成任务所需的过程性知识全部写入正文。project-setup-info-context7的description之所以写得像一份完整的技术规格正是为了在仅读取元信息阶段就让代理准确判断是否调用它这也解释了为何正文只有两条步骤——真正的脚手架细节由 context7 实时返回无需冗余内嵌。七、使用前提与注意事项综合文档与源码实际使用该技能需满足以下前提开启实验性开关将github.copilot.chat.newWorkspace.useContext7设为true默认false并确保github.copilot.chat.newWorkspaceCreation.enabled为true安装 context7 MCP 服务器可通过github.copilot.mcp.viewContext7命令一键安装其底层等价于以npx -y upstash/context7-mcplatest注册名为context7的 MCP 服务器目标目录必须为空文档明确要求仅在文件夹为空或刚创建工作区时执行搭建网络可用mcp_context7_resolve-library-id与mcp_context7_get-library-docs均依赖 context7 在线服务离线环境应回退到project-setup-info-local技能遵守边界单文件创建、既有项目修改、调试修复等场景不在本技能职责内应使用普通文件创建或编辑工具。理解这套机制后开发者既可以按需开启 context7 脚手架以获得最新库文档支撑也可以在默认配置下依赖内置模板获得稳定可控的脚手架体验——两条路径由同一开关无缝切换这正是 Positron/Copilot 在代理式项目搭建能力上的一种务实设计。赞分享开发工具代码编辑器数据科学【免费下载链接】positronPositron, a next-generation data science IDE项目地址https://gitcode.com/gh_mirrors/po/positron点击查看免费下载相关推荐VS Code Copilot 项目脚手架技能context7 SKILL.md 的加载机制与双步脚手架流程详解VS Code Copilot 项目脚手架技能context7 SKILL.md 的加载机制与双步脚手架流程详解 本文围绕 VS Code 仓库中 Copil开发工具代码编辑器Positron 内置 Copilot Skill 实战用 project-setup-info-local 在 VS Code 工作区一键搭建完整项目脚手架Positron 内置 Copilot Skill 实战用 project setup info local 在 VS Code 工作区一键搭建完整项目脚手架开发工具代码编辑器数据科学vscode-copilot-chat 新工作区搭建技能SKILL深度解析基于 context7 的两步式项目脚手架流程vscode copilot chat 新工作区搭建技能SKILL深度解析基于 context7 的两步式项目脚手架流程 导读 本篇文章以 assets/人工智能AI 应用AI Agent代码智能体交互助手工具调用MCP Clients创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考 SEO 优化官网定制响应式建站教育培训建站