Github Skill 提交

Github Skill 提交

环境准备

实现"自动给本地代码建仓并推送至 GitHub"的 Skill,核心在于将繁琐的 Git 初始化、远程仓库创建和首次推送流程自动化。这通常依赖于 ‌GitHub CLI (gh)‌ 工具,因为它允许通过命令行直接操作 GitHub API,无需手动在网页上创建仓库。

安装 GitHub CLI

githubcli

安装

bash 复制代码
winget install --id GitHub.cli

验证

如果是通过git安装的,安装完毕后重新开一下git窗口再执行此指令即可验证安装是否成功。

bash 复制代码
gh --version

关联cli与github

bash 复制代码
gh auth login

第3步此图选择了跳过是因为我这里之前已经上传过了。所有选项都根据自己实际情况选即可。

配置VSCode

打开skill配置

顶部工具栏【文件】-【首选项】-【设置】-【chat.useAgentSkills】。

安装机器人插件

此处选择的是"GitHub Copilot Chat"。

装好以后重启一下VScode。即可打开聊天框。

创建Skill

‌Skill 是 AI 助手的"专业技能包"‌,本质是一个结构化的配置文件(通常为 Markdown 格式),用于定义 AI 在特定场景下的行为逻辑、执行步骤和约束规则,让 AI 从"通用聊天"变为"专业执行者"。

一、 Skill 的核心构成

元数据区‌:定义名称、描述及触发条件,决定 AI 何时调用该技能。

‌执行流程‌:将复杂任务拆解为原子化步骤(如:分析→生成→验证)。

规则约束‌:明确"做什么"和"不做什么",确保输出符合专业标准。

以下是一个把当前项目推送到github的skill文件,自动初始化本地 Git 仓库,创建对应的 GitHub 远程仓库,并推送初始代码。适用于从零开始的项目开源或备份。

skill通用模板
markup 复制代码
---
name: [技能名称]
description: [简短描述,说明触发场景和核心功能]
disable-model-invocation: [true/false,是否禁止模型自由发挥]
---
# [技能名称]

## 核心目标
[一句话说明该技能要解决的具体问题]

## 执行流程
1. ‌**[步骤一]**‌:[具体动作,如:扫描文件、提取参数]
2. ‌**[步骤二]**‌:[具体动作,如:生成代码、调用工具]
3. ‌**[步骤三]**‌:[具体动作,如:验证结果、输出报告]

## 规则约束
- [约束1:如技术栈限制、字数限制]
- [约束2:如安全校验、格式规范]
markup 复制代码
---
name: github-init
description: 自动初始化本地 Git 仓库,创建对应的 GitHub 远程仓库,并推送初始代码。适用于从零开始的项目开源或备份。
disable-model-invocation: true
---

# GitHub 初始化与推送技能

此技能用于将当前本地目录初始化为 Git 仓库,并在 GitHub 上创建对应的远程仓库,最后推送代码。

## 前置条件检查
1. 确认已安装 `git` 和 `gh` (GitHub CLI)。
2. 确认用户已登录 GitHub CLI (`gh auth status`)。
3. 确认当前目录不为空,且用户希望将其作为项目根目录。

## 执行流程

### 1. 环境诊断
- 运行 `git --version` 和 `gh --version` 检查工具是否可用。
- 如果 `gh` 未安装,提示用户安装 GitHub CLI。
- 如果未登录,运行 `gh auth login` 引导用户登录。

### 2. 初始化本地 Git
- 检查当前目录是否已是 Git 仓库 (`git rev-parse --is-inside-work-tree`)。
- 如果不是,执行 `git init`。
- 配置用户信息(如果未配置):
  - `git config user.name "Your Name"`
  - `git config user.email "your@email.com"`
- 创建 `.gitignore` 文件(如果不存在):
  - 根据项目类型(Python, Node, Java 等)生成合适的 `.gitignore` 内容。
  - 例如 Python 项目包含 `__pycache__/`, `*.pyc`, `venv/` 等。

### 3. 暂存与提交
- 执行 `git add .` 暂存所有文件。
- 执行 `git commit -m "Initial commit"` 进行首次提交。
  - 如果提交失败(如无变更),检查原因并提示用户。

### 4. 创建 GitHub 远程仓库
- 询问用户仓库名称(默认使用当前目录名)和可见性(public/private)。
- 执行 `gh repo create <repo-name> --source=. --remote=origin --push --<visibility>`。
  - `<repo-name>`: 仓库名称。
  - `<visibility>`: `--public` 或 `--private`。
  - `--source=.`: 指定当前目录为源码。
  - `--remote=origin`: 自动添加远程 origin。
  - `--push`: 自动推送当前分支。
- 如果用户希望手动控制,可分步执行:
  1. `gh repo create <repo-name> --<visibility>`
  2. `git remote add origin https://github.com/<user>/<repo-name>.git`
  3. `git branch -M main`
  4. `git push -u origin main`

### 5. 验证与反馈
- 运行 `gh repo view --web` 在浏览器中打开仓库页面,供用户确认。
- 输出仓库 URL 和成功消息。

## 注意事项
- &zwnj;**安全性**&zwnj;:在提交前,务必扫描是否有敏感信息(如 API Keys、密码)。如果发现疑似敏感信息,暂停并警告用户。
- &zwnj;**分支命名**&zwnj;:现代 GitHub 默认主分支为 `main`,确保本地分支重命名为 `main` (`git branch -M main`)。
- &zwnj;**错误处理**&zwnj;:如果远程仓库已存在,提示用户选择拉取合并或强制推送(谨慎使用)。

## 示例命令触发
当用户说"帮我把这个项目发到 GitHub"或"初始化并推送到 GitHub"时,触发此技能。

执行skill

输入与 description 匹配的指令,如 "帮我把这个项目发到github",Agent 应该会自动激活你创建的 Skill 并执行审查。

github提交skill