Agent SkillsAgentchengfeng/chengfeng-videocut-skills › chengfeng-report-videocut-bug

chengfeng-report-videocut-bug

GitHub

用于整理、脱敏并上报 chengfeng-videocut 的 GitHub Bug。仅处理确认可复现的问题,区分 Bug 与建议。流程包括:只读诊断、选择仓库、生成结构化 JSON、脱敏预览并经用户确认后提交 Issue,严禁自动上报或包含敏感信息。

plugins/chengfeng-videocut/skills/chengfeng-report-videocut-bug/SKILL.md Agentchengfeng/chengfeng-videocut-skills

Trigger Scenarios

上报 Bug 反馈剪口播问题 提交 GitHub Issue 这个问题告诉开发者 要求继续提交已预览的 Bug 草稿

Install

npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-report-videocut-bug -g -y
More Options

Non-standard path

npx skills add https://github.com/Agentchengfeng/chengfeng-videocut-skills/tree/main/plugins/chengfeng-videocut/skills/chengfeng-report-videocut-bug -g -y

Use without installing

npx skills use Agentchengfeng/chengfeng-videocut-skills@chengfeng-report-videocut-bug

指定 Agent (Claude Code)

npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-report-videocut-bug -a claude-code -g -y

安装 repo 全部 skill

npx skills add Agentchengfeng/chengfeng-videocut-skills --all -g -y

预览 repo 内 skill

npx skills add Agentchengfeng/chengfeng-videocut-skills --list

SKILL.md

Frontmatter
{
    "name": "chengfeng-report-videocut-bug",
    "description": "整理、脱敏并上报 chengfeng-videocut 的 GitHub Bug。用户说上报 Bug、反馈剪口播问题、提交 GitHub Issue、这个问题告诉开发者,或要求继续提交已预览的 Bug 草稿时使用。不要用于功能建议、普通排错、代码提交或未获用户确认的自动上报。",
    "user-invocable": true
}

上报 Bug

这是 chengfeng-videocut 的支持入口,不是第三条剪辑流程。默认只生成公开 Issue 草稿;外部写入必须经过脱敏预览与用户确认。

问题描述
   |
   v
最小只读诊断 -> 脱敏 -> 展示仓库 / 标题 / 正文
                                  |
                           用户明确确认
                                  |
                                  v
                     认证 + 标签检查 + 查重
                                  |
                                  v
                         创建 GitHub Issue

1. 确认这是可复现 Bug

先区分:

  • Bug:实际行为偏离已有契约、界面、版本能力或确定性结果。
  • 功能建议:产品从未承诺该能力;不要伪装成 Bug。
  • 使用疑问:先回答或诊断,不自动上报。

只收集复现所需的最小事实。不得安装 Runtime、启动 Studio、改项目、重新剪片或上传媒体来“补证据”。Runtime 存在时,可从插件根目录执行 node scripts/ensure-runtime.cjs --json 做只读探测,只保留 state / kind / version / healthy / error.code;不要附完整 doctor 输出。不存在就写“未检测到”。

2. 选择固定仓库

工作区根目录不一定是 Git 仓库,禁止从当前目录猜 remote:

问题组件 target GitHub 仓库
Runtime、Studio、UI、CLI、API、时间线、渲染 product Agentchengfeng/chengfeng-videocut
Skill、Marketplace、安装编排、MCP App、工作流说明 skills Agentchengfeng/chengfeng-videocut-skills

跨组件问题优先报最先违反契约的仓库,并在正文说明另一个组件;无法判断时先问用户。

3. 生成结构化输入

umask 077 把候选写入当前任务临时目录的 JSON,不写产品规范文件;提交结束后删除临时 JSON 与 Markdown:

{
  "schemaVersion": 1,
  "target": "product",
  "component": "Studio",
  "title": "Runtime 0.1.1 无法打开 HyperFrames 顶层剪口播视图",
  "summary": "一句话说明影响",
  "steps": ["第一步", "第二步"],
  "expected": "预期行为",
  "actual": "实际行为",
  "environment": {
    "Runtime": "0.1.1",
    "OS": "macOS"
  },
  "evidence": ["只放最小、可公开的诊断"],
  "acceptance": ["可验证的修复条件"]
}

禁止放入:

  • API Key、Token、Cookie、.env
  • 视频、音频、截图、完整日志或转录正文;
  • 客户名、原视频名、真实 projectId、用户绝对路径;
  • 未经用户允许的私人仓库内容。

4. 先生成并展示脱敏草稿

从当前 SKILL.md 定位脚本:

PLUGIN_ROOT="$(codex plugin list --json | node -e 'let s=""; process.stdin.on("data", c => s += c); process.stdin.on("end", () => { const rows = JSON.parse(s).installed || []; const hit = rows.filter(x => x.enabled && x.name === "chengfeng-videocut" && x.source && x.source.path); if (hit.length !== 1) process.exit(1); process.stdout.write(hit[0].source.path); });')"
test -n "$PLUGIN_ROOT" && test -f "$PLUGIN_ROOT/.codex-plugin/plugin.json" || { echo "chengfeng-videocut enabled plugin root unavailable" >&2; exit 1; }
REPORT="$PLUGIN_ROOT/skills/chengfeng-report-videocut-bug/scripts/report-bug.cjs"
node "$REPORT" draft --input "$reportJson" --output "$draftMarkdown" --json

PLUGIN_ROOT 只来自上面已启用 Plugin 行的 source.path。不要依赖未保证存在的 SKILL_DIR、硬编码开发机路径或用目录搜索猜测安装位置。

target 必须明确为 productskills,缺失和拼错都应停止,不能静默改报另一仓库。脚本会清理常见密钥、本地用户名、卷名、路径余段和 localhost 查询参数;自动脱敏不能识别任意客户名,仍必须人工通读。向用户展示:

repo
label=bug
title
完整脱敏正文

同时保存返回的 confirmationReceipt,并向用户展示 confirmationToken 与过期时间。用户没有明确确认这份公开内容时停止;仅仅检测到错误不等于同意上报。令牌只绑定草稿内容,并不自行证明用户同意;Agent 仍必须等待明确回复。确认只对当前任务中紧接着的一次提交有效,30 分钟过期,不能跨任务或重复使用。

5. 确认后提交

只对刚刚展示、内容未变化的草稿提交:

node "$REPORT" submit \
  --input "$reportJson" \
  --target "$target" \
  --confirmed \
  --confirm-token "$confirmationToken" \
  --receipt "$confirmationReceipt" \
  --json

固定规则:

  • 提交前脚本检查 gh auth status、目标仓库 Issues 与 bug 标签;失败时保留草稿。
  • 相同组件、复现步骤与实际结果的指纹已存在时返回原 Issue URL,不用宽泛标题冒充重复。
  • 确认后正文发生变化时返回 confirmation_mismatch,必须重新预览。
  • 确认凭据过期或已使用时返回 confirmation_expired / confirmation_replayed,必须重新预览。
  • 创建结果没有明确 Issue URL 时,不自动重试;它可能已经创建。
  • 只有拿到 GitHub Issue URL,才能说“已经上报”。

失败处理

  • github_auth_required:说明草稿已完成但未提交,禁止声称成功。
  • github_issue_create_failed:保留草稿和手工入口,不循环重试。
  • confirmation_required / confirmation_mismatch:重新展示精确公开内容。
  • 目标仓库无权限或不可见:不要改报任意仓库;让用户决定是否改报公开 Skills 仓。

Version History

  • 0e991ed Current 2026-07-30 23:58

Same Skill Collection

plugins/chengfeng-videocut/skills/chengfeng-check-videocut-updates/SKILL.md
plugins/chengfeng-videocut/skills/chengfeng-cut-talking-head/SKILL.md
plugins/chengfeng-videocut/skills/chengfeng-export-talking-head/SKILL.md
plugins/chengfeng-videocut/skills/chengfeng-finish-talking-head/SKILL.md
plugins/chengfeng-videocut/skills/chengfeng-subtitle-talking-head/SKILL.md
plugins/chengfeng-videocut/skills/cut-talking-head/SKILL.md
plugins/chengfeng-videocut/skills/finish-talking-head/SKILL.md
口播成片/动画/ian-xiaohei-svg-motion/SKILL.md

Metadata

Files
0
Version
0e991ed
Hash
fab08895
Indexed
2026-07-30 23:58

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-02 00:13
浙ICP备14020137号-1 $bản đồ khách truy cập$