xinyu-yudian

unsubmitted-check

支持两类用户指令,自动分流执行逻辑:

xinyu-yudian 0 Updated 3w ago

Resources

1
GitHub

Install

npx skillscat add xinyu-yudian/unsubmitted-check

Install via the SkillsCat registry.

SKILL.md

未提交的文件

列出尚未提交到远程/在线仓库的项目文件。

代码提交推送

将本地变更提交并推送至线上仓库,带可视化弹窗确认交互,可自定义提交备注。

输出格式规则

  • 输出模版:
    1. 查询模板:严格遵循 references/formats-check.md
    2. 提交模板:严格遵循 references/formats-push.md
  • 默认路径输出使用相对仓库路径,过滤无更改文件;
  • 自动区分逻辑分支加载对应命令:
    • 查询逻辑:调用 references/commands-git-check.md / references/commands-svn-check.md
    • 提交逻辑:调用 references/commands-git-push.md / references/commands-svn-push.md
  • 执行命令完成后统一解析、渲染标准化输出。

弹窗交互规范(仅「提交:」指令触发)

弹窗分为三块区域:

  1. 备注输入框
    单行可编辑文本,默认值 = 用户指令「提交:」后方的全部文本,支持手动修改、清空;
    点击确认时校验:输入框不可为空,否则弹窗提示填写备注。
  2. 变更预览只读输出框
    弹窗加载时自动预执行未提交查询,展示本次待提交的全部文件;
    若无任何待提交文件,预览框提示「当前无待提交变更,无法提交」,确认按钮置灰禁用。
  3. 操作按钮
    • 【确认提交】:校验通过后执行提交推送命令;
    • 【取消】:关闭弹窗,终止全部流程,输出取消提示。

工作流程(自动分流双逻辑)

分支1:用户指令匹配「未提交:」

  1. 检测目标目录版本控制系统(Git/SVN);
  2. 收集当前目录未同步线上的候选变更文件;
  3. 读取文件本地内容;
  4. 仅输出文件列表与代码块,无多余解释,异常时输出错误说明。

分支2:用户指令匹配「提交:」

  1. 检测当前目录版本控制系统(Git/SVN);
  2. 解析指令:提取默认提交备注、提取限定提交目录;
  3. 预执行未提交查询,筛选目标目录内变更文件,加载至弹窗预览区;
  4. 唤起交互弹窗等待用户操作:
    • 点击取消:关闭弹窗,输出「已取消本次代码提交,本地变更未推送」;
    • 点击确认:读取修改后的备注文本,执行对应版本控制提交推送脚本;
  5. 捕获命令执行日志,按提交专用模板输出:提交备注、提交文件清单、推送结果;
  6. 异常兜底:冲突、权限不足、服务器离线等错误完整输出原始日志。

Git

  • 查询未提交文件:使用 references/commands-git-check.md
  • 代码提交推送:使用 references/commands-git-push.md

SVN

  • 查询未提交文件:使用 references/commands-svn-check.md
  • 代码提交推送:使用 references/commands-svn-push.md