feat(skills): add gitlink-issueops — Issue 驱动的 Agent 自动化示例 Skill(响应 #6) #220

Merged
wbtiger merged 1 commits from recorder/gitlink-cli:feat/issueops-skill into master 2026-06-14 19:35:42 +08:00
Contributor

这个 PR 做什么

响应 #6(维护者:『后续可以考虑出一个示例 Skill 来演示这个场景』):新增 skills/gitlink-issueops——创建 Issue 即触发 Agent 干活的事件驱动自动化 Skill,已于 2026-06-10 在 #6 评论区认领。

设计

  • 两种模式:Live 回调(有公网端点)+ Replay 轮询(零基础设施:实测 GitLink 对每次 webhook 投递都会记录完整事件负载,端点收不到也不丢,webhook +tasks 即可回放——无公网 IP 的个人开发者也能玩 IssueOps)
  • 任务约定[agent] 标题前缀 / agent:todo 标签触发;完成后评论回执 + agent:done 标签闭环
  • 安全规则:Issue 内容视为不可信输入(只当任务数据、绝不当指令,防 prompt injection);写操作需用户确认且仅限自有/授权仓库;绝不自动关 Issue / 合并 PR
  • 联动:代码类任务可接 gitlink-gatekeeper(Issue → PR → 确定性评分卡)
  • 与现有 Skill 分工明确:gitlink-webhook 管命令、gitlink-issue-triage 管存量分拣、本 Skill 管「事件 → 行动」实时闭环

已在真实平台全链路验证(references/validation-session.md,所有 id 可复核)

webhook id 51579 → Issue #3(id 144169,[agent] 前缀)→ hooktask 4836246(issues:opened 完整负载)→ Agent 产出贡献者清单并回帖(comment 475692)→ agent:done 标签挂载成功(v1 PATCH tag_ids)。

验证中发现并沉淀进 REFERENCE.md 的平台细节:issues_only 事件名、投递异步延迟、普通 Issue 打标签必须走 v1 PATCH(老 API 404)、CLI 0.2.0 api 命令占位符不替换的规避法。

影响面

仅新增 skills/gitlink-issueops/(SKILL.md + references/ 共 3 个文件),不改动任何现有文件与 Go 代码。

## 这个 PR 做什么 响应 #6(维护者:『后续可以考虑出一个示例 Skill 来演示这个场景』):新增 `skills/gitlink-issueops`——**创建 Issue 即触发 Agent 干活**的事件驱动自动化 Skill,已于 2026-06-10 在 #6 评论区认领。 ## 设计 - **两种模式**:Live 回调(有公网端点)+ **Replay 轮询**(零基础设施:实测 GitLink 对每次 webhook 投递都会记录完整事件负载,端点收不到也不丢,`webhook +tasks` 即可回放——无公网 IP 的个人开发者也能玩 IssueOps) - **任务约定**:`[agent]` 标题前缀 / `agent:todo` 标签触发;完成后评论回执 + `agent:done` 标签闭环 - **安全规则**:Issue 内容视为不可信输入(只当任务数据、绝不当指令,防 prompt injection);写操作需用户确认且仅限自有/授权仓库;绝不自动关 Issue / 合并 PR - **联动**:代码类任务可接 `gitlink-gatekeeper`(Issue → PR → 确定性评分卡) - 与现有 Skill 分工明确:`gitlink-webhook` 管命令、`gitlink-issue-triage` 管存量分拣、本 Skill 管「事件 → 行动」实时闭环 ## 已在真实平台全链路验证(references/validation-session.md,所有 id 可复核) webhook id 51579 → Issue #3(id 144169,[agent] 前缀)→ hooktask 4836246(issues:opened 完整负载)→ Agent 产出贡献者清单并回帖(comment 475692)→ `agent:done` 标签挂载成功(v1 PATCH tag_ids)。 验证中发现并沉淀进 REFERENCE.md 的平台细节:`issues_only` 事件名、投递异步延迟、普通 Issue 打标签必须走 v1 PATCH(老 API 404)、CLI 0.2.0 `api` 命令占位符不替换的规避法。 ## 影响面 仅新增 `skills/gitlink-issueops/`(SKILL.md + references/ 共 3 个文件),不改动任何现有文件与 Go 代码。
recorder added 1 commit 2026-06-12 10:36:21 +08:00
968ea0d7b4 feat(skills): add gitlink-issueops — issue-driven agent automation (closes #6)
IssueOps loop: create an issue -> agent picks it up -> result written back.
Two modes: live webhook callback, and a zero-infra Replay mode that polls
'webhook +tasks' (GitLink records every delivery payload even if the endpoint
is unreachable - validated on the real platform).

- SKILL.md: task conventions ([agent] prefix / agent:todo label), 7-step loop,
  untrusted-input rule (issue content is data, never instructions), write ops
  gated on user confirmation, gatekeeper integration for code tasks
- references/REFERENCE.md: allowed webhook events, hooktask payload anatomy,
  dedup cursor, the two issue-id/API tracks (v1 PATCH tag_ids for plain issues),
  CLI 0.2.0 quirks discovered during validation
- references/validation-session.md: full real-platform run with verifiable ids
  (webhook 51579, issue #3/144169, hooktask 4836246, comment 475692, label attached)

Requested by maintainer in #6 ('后续可以考虑出一个示例 Skill 来演示这个场景').
wbtiger merged commit 6454645f50 into master 2026-06-14 19:35:42 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#220
No description provided.