VSCode配置 AI agent skills 详细步骤

VSCode配置 AI agent skills 详细步骤

在VS Code中配置“Agent Skills”,是为你的AI编程助手(如GitHub Copilot)定制可复用的专业能力包。你可以把它理解为教你助手如何执行特定任务的标准说明书

在这里插入图片描述

它主要由一个 SKILL.md 文件以及相关的脚本、示例组成。当你的需求与某个技能描述匹配时,Copilot会自动加载这个“技能包”来更精准地帮你完成任务,比如创建测试、调试工作流等

启用功能

在这里插入图片描述

技能创建位置

项目根目录个人配置文件夹中,创建一个特定的文件夹来存放你的技能包
  • 项目技能:在项目根目录创建 .github/skills/ 目录。就会作用于项目
  • 个人技能:在你电脑用户目录下创建 ~/.copilot/skills/(推荐)或 ~/.claude/skills/。作用于你电脑里所有的项目

技能编写规范

my-skill/ (技能文件夹) ├── SKILL.md # 必需:核心入口文件,包含元数据和主要指令 ‼️‼️‼️ ├── references/ 或 resources/ # 可选:参考文档(如API说明、详细政策) │ ├── advanced-guide.md │ └── api-reference.md ├── examples/ # 可选:使用示例 │ └── common-use-cases.md ├── scripts/ # 可选:可执行脚本(Python、Bash、node等) │ └── process_data.py └── templates/ 或 assets/ # 可选:输出模板、品牌资源等 └── report-template.md 

哪怕你这个技能包里啥也不放,SKILL.md必须有‼️

创建技能案例

比如用来检查vue项目代码规范的项目技能

存放目录:.github/skills/code-review/
SKILL.md:

--- name: code-review description: | Guides the review and enforcement of code style and quality standards in Vue 3 projects using ESLint, Prettier, and Vue-specific rules. Use when asked about code style, linting errors, or how to write compliant Vue code. --- # Vue 3 项目代码规范审查指南 ## 🎯 何时使用此技能 当用户的问题涉及以下方面时,应激活此技能: - 检查代码风格或规范问题 - 解释或修复ESLint/Prettier报错 - 询问Vue组件的最佳实践写法(如组件命名、Props定义、脚本顺序) - 需要自动生成符合项目规范的代码片段 ## 🔧 核心工具与配置 本项目使用以下工具链强制执行代码规范。在提供建议前,请先确认项目根目录是否存在对应配置文件。 | 工具 | 配置文件 | 主要职责 | | :--- | :--- | :--- | | **ESLint** | `.eslintrc.js` | JavaScript/TypeScript代码质量检查,识别潜在错误 | | **Prettier** | `.prettierrc` | 代码风格格式化,保持样式统一 | | **eslint-plugin-vue** | (继承自ESLint配置) | 专用于Vue 3的官方规则集 | ## 📝 重点审查内容 在审查或生成Vue代码时,请优先检查以下方面。 ### 1. 组件命名与结构 - **单文件组件命名**:使用**PascalCase**,例如 `UserProfile.vue`。 - **组件引用命名**:在模板和脚本中引用时保持PascalCase,例如 `<UserProfile />`。 - **脚本结构顺序**:建议遵循 `<script setup>`、`import`、`Props/Emits`定义、响应式数据、计算属性、生命周期钩子、方法的逻辑顺序。 ### 2. 语法与风格 - **优先使用 `<script setup>`** 语法以提高简洁性。 - **Props定义**:使用 `defineProps` 并尽可能提供详细类型定义。 - **响应式数据**:优先使用 `ref` 处理基本类型,使用 `reactive` 处理对象;在模板中正确使用 `.value`。 - **代码格式化**:确保代码遵循Prettier规则(通常是尾随逗号、单引号、2空格缩进)。 ### 3. Vue特定规则检查 确保代码遵守 `eslint-plugin-vue` 的核心规则: - **`vue/component-name-in-template-casing`**: 模板中组件名必须为PascalCase。 - **`vue/attribute-hyphenation`**: 模板中的属性名必须使用kebab-case(例如 `:user-name`)。 - **`vue/html-self-closing`**: 没有内容的标签应自闭合。 - **`vue/mustache-interpolation-spacing`**: 插值表达式 `{{ }}` 内应有空格。 ## 🛠️ 常用命令与修复建议 当用户遇到规范问题时,提供可执行的解决方案。 ### 运行检查与修复 ```bash # 检查整个项目并输出错误报告 npm run lint # 检查并自动修复可修复的问题 npm run lint:fix # 检查特定文件 npx eslint ./src/components/UserProfile.vue --ext .vue # 使用Prettier格式化所有文件 npm run format 
在这里插入图片描述

使用技能

有了技能包后,它的使用是智能且自动化的。你无需手动“打开”技能,而是通过与AI助手(如Copilot Chat)进行自然对话来触发的。整个过程就像一位熟悉你项目规范的新队友在帮你。
从触发到生效的完整过程:

在这里插入图片描述

说白了就是在VS Code中打开Copilot Chat面板直接对话:

在这里插入图片描述

怎么验证技能是否生效?
一个简单的验证方法是,问一个非常具体、且答案明确写在 SKILL.md 中的问题。
比如 :“我们项目对于Vue单文件组件的文件名,要求使用什么命名法?”
如果技能被正确加载,AI的回答会直接引用 SKILL.md 中的原文(如“使用PascalCase,例如 UserProfile.vue”),而不是一个泛泛的通用答案。

在这里插入图片描述

Read more

从vw/vh到clamp(),前端响应式设计的痛点与进化

从vw/vh到clamp(),前端响应式设计的痛点与进化

目录 从vw/vh到clamp(),前端响应式设计的痛点与进化 一、原生响应式设计的痛点 1、使用 vw/vh/% 的蜜月期与矛盾点 2、以 px+@media 为主轴实现多端样式兼容 二、clamp():响应式设计的新思路 1、clamp() 是什么? 2、优势分析 三、实际应用场景示例 1、标题文字大小 2、布局容器宽度 3、按钮与间距 4、配合calc()实现更灵活布局 四、clamp() 的局限与思考 五、结语 从vw/vh到clamp(),前端响应式设计的痛点与进化 一、原生响应式设计的痛点 1、使用 vw/vh/% 的蜜月期与矛盾点

By Ne0inhk

Flutter 三方库 jwt_io 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、全能的 JSON Web Token (JWT) 加解密与身份安全验证引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 jwt_io 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、全能的 JSON Web Token (JWT) 加解密与身份安全验证引擎 在鸿蒙(OpenHarmony)系统的端云一体化登录、政企应用的安全审计或复杂的跨端权限校验场景中,如何确保来自云端授信中心的 JWT Token 既能被正确解析(Decode),又能被严密地校验其合法性与过期时间?jwt_io 为开发者提供了一套工业级的、基于 RFC 7519 标准的 JSON Web Token 深度处理方案。本文将深入实战其在鸿蒙应用安全底座中的应用。 前言 什么是 JWT IO?它不仅是一个简单的 Base64 解码器,而是一个具备深厚 RFC

By Ne0inhk
分享一个开箱即用的 React K 线图组件,前端炒股看盘必备

分享一个开箱即用的 React K 线图组件,前端炒股看盘必备

一个 prop 画出专业 K 线图,数据获取和指标计算全自动。 为什么又造了个轮子 先说结论:不是我想造,是被逼的。 需求很简单 —— 在一个 React 项目里加一个股票 K 线图,要能切周期、看指标、支持缩放拖拽。听起来是不是很基础? 然后我开始找现成方案。TradingView 的 Lightweight Charts 不错,但免费版功能有限,而且它不是 React 组件,得自己封装一层。npm 上搜 “react kline” 或者 “react candlestick”,出来的结果要么年久失修,要么只是个 demo 级别的东西,拿来用还不如自己写。 既然找不到趁手的,那就自己搞一个。顺便把它做得通用一点,发出来给大家省点时间。 长什么样 项目名叫 kline-charts-react,

By Ne0inhk
回看经典!第十三章 C语言数据结构与算法基础:文件操作、排序查找实现及链表简介(2015年C语言培训班笔记重读)

回看经典!第十三章 C语言数据结构与算法基础:文件操作、排序查找实现及链表简介(2015年C语言培训班笔记重读)

目录 第十三章 基础数据结构 第1课:复习文件操作 第2课:冒泡排序与选择排序 第3课:二分查找算法 第4课:用递归实现二分查找 第5课:单向链表的实现         本文汇总了C语言在数据结构入门阶段的多个核心主题。包括文件操作(fopen、读写、指针)、基础排序算法(冒泡、选择)与查找算法(顺序、二分查找及其递归实现)的原理与代码实现,并简要介绍了单向链表的存储特点。通过对比和多个代码示例,为理解更复杂的数据结构与算法打下坚实基础。 第十三章 基础数据结构 第1课:复习文件操作 fopen函数的参数中,没有写具体路径,则表示在程序运行的当前目录下(相对路径);写了具体路径就是绝对路径。 文件结尾标识符EOF的使用 案例1:用feof判断读取下面文件中一个个字符: 代码: int main(){        FILE *p=fopen("d:\\c1\\gcc\

By Ne0inhk