docs: add dubbo-go agent skills#3340
Conversation
Signed-off-by: Oxidaner <18622412361@163.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3340 +/- ##
===========================================
+ Coverage 46.76% 53.89% +7.13%
===========================================
Files 295 461 +166
Lines 17172 35478 +18306
===========================================
+ Hits 8031 19122 +11091
- Misses 8287 14850 +6563
- Partials 854 1506 +652 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds a set of dubbo-go “agent skill” documents under .agents/skills/ to help route work to the right subsystem and provide reference flows/validation guidance for reviews and changes across the codebase.
Changes:
- Introduces subsystem-specific skill definitions (config/runtime/protocol/registry/metadata/cluster/filters+observability/tools).
- Adds reference “flow” documents for each skill to standardize investigation and validation steps.
- Adds a top-level project/domain guide skill with architecture map and project rules references.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .agents/skills/dubbo-go-tools/SKILL.md | Defines scope/workflow for tooling/codegen-related changes. |
| .agents/skills/dubbo-go-tools/references/tooling-flow.md | Documents tools areas, Make targets, and nested-module testing guidance. |
| .agents/skills/dubbo-go-runtime/SKILL.md | Defines scope/workflow for public runtime lifecycle and client/server construction. |
| .agents/skills/dubbo-go-runtime/references/client-server-lifecycle.md | Documents consumer/provider/proxy/shutdown lifecycle flows. |
| .agents/skills/dubbo-go-registry/SKILL.md | Defines scope/workflow for registry + service discovery behavior. |
| .agents/skills/dubbo-go-registry/references/registry-discovery-flow.md | Documents registry contracts, extension points, and notification rules. |
| .agents/skills/dubbo-go-protocol/SKILL.md | Defines scope/workflow for protocol + transport implementations. |
| .agents/skills/dubbo-go-protocol/references/protocol-flow.md | Documents export/refer/url/destroy rules and wrapper behavior. |
| .agents/skills/dubbo-go-observability-filters/SKILL.md | Defines scope/workflow for filters, metrics, tracing, logging, TPS, etc. |
| .agents/skills/dubbo-go-observability-filters/references/filter-observability-flow.md | Documents filter contract and chain construction rules. |
| .agents/skills/dubbo-go-metadata/SKILL.md | Defines scope/workflow for metadata info/service/report/mapping changes. |
| .agents/skills/dubbo-go-metadata/references/metadata-flow.md | Documents metadata collection/reporting/service/mapping flow. |
| .agents/skills/dubbo-go-domain/SKILL.md | Provides project-wide guide and routing to narrower subsystem skills. |
| .agents/skills/dubbo-go-domain/references/project-rules.md | Documents compatibility, generated-file rules, and validation selection. |
| .agents/skills/dubbo-go-domain/references/architecture-map.md | Maps subsystem ownership and end-to-end flows. |
| .agents/skills/dubbo-go-config/SKILL.md | Defines scope/workflow for configuration loading/config center/hot reload. |
| .agents/skills/dubbo-go-config/references/config-flow.md | Documents config loader entry points, injection, and hot reload behavior. |
| .agents/skills/dubbo-go-cluster/SKILL.md | Defines scope/workflow for cluster strategies, routing, and load-balancing. |
| .agents/skills/dubbo-go-cluster/references/routing-cluster-flow.md | Documents invocation path and cluster/directory/router contracts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
pls check this https://github.com/Tsukikage7/dubbo-go-skills which in under construction |
|
@Tsukikage7 check this |
AlexStocks
left a comment
There was a problem hiding this comment.
Code Review — dubbo-go #3340
不建议合并,需重大修改。
P0 × 1:全部 19 个文件缺少 Apache 2.0 许可证头(Apache 项目硬性要求)。同时 PR 描述为模板化占位符 "Fixes # (issue)",无具体 issue 关联和变更动机说明,违反 Apache 社区贡献规范。.agents/ 目录命名(点号前缀)可能被 .gitignore 排除,需确认或改用 agents/ 目录名。
P1 × 4:Go 版本号可疑(1.25.0)、目录路径引用有误(filter/otel/ → otel/)、协议列表不准确(HTTP/3)、cluster 策略列表不完整
P2 × 3:domain SKILL.md 与 project-rules.md 内容大量重复、runtime 术语与代码组织不对应、工具流程图过于简略
改进优先级:
- 为全部 19 个文件添加 Apache 2.0 许可证头
- 重写 PR 描述,关联 issue,说明变更动机
- 确认 .agents/ 目录不被 .gitignore 排除
- 逐项核实文档中的代码路径、API 签名、Go 版本号
- 消除 domain SKILL.md 与 project-rules.md 的内容重复
|
This pr is by the https://github.com/Tsukikage7/dubbo-go-skills version update.
|
|
我的意思是把有参考文档的这个事情写在skills里面 不过你这个pr加了就加了吧,也挺好的 |
There was a problem hiding this comment.
只保留Tell Codex: 剩下的删掉?
There was a problem hiding this comment.
我晕了 I have fixed it.
There was a problem hiding this comment.
你看一下https://github.com/obra/superpowers 就没有这个文档
这个install.md 真的有必要吗
|
|
Gemini 删掉 |
| @@ -0,0 +1,6 @@ | |||
| { | |||
There was a problem hiding this comment.
[P1] 你在本 PR 里要求“Gemini 删掉”,但当前 head 里 .agents/GEMINI.md 和这份 .agents/gemini-extension.json 仍然作为新增文件存在(都被这个 PR 引入)。如果决定不带 Gemini 适配,需要在本 PR 一并 git rm 掉 GEMINI.md 和 gemini-extension.json,并从 package.json/plugin.json/marketplace.json 任何引用 gemini 的位置同步移除,避免后续 install 流程指向不存在的文件。
| @@ -0,0 +1,282 @@ | |||
| --- | |||
There was a problem hiding this comment.
[P1] 这一批 7 个 .agents/skills//SKILL.md 仍然没有 Apache 2.0 license header(debug、development、extensions、guide、java-interop、migrate、scaffolding 全部命中),与 PR 描述里“Added Apache 2.0 license headers to commentable files under .agents”不一致;同一批的 .codex/INSTALL.md、.opencode/plugins/dubbo-go-agent-skills.js、README.md 都已加上,只剩 SKILL.md 漏了。Markdown 可以用 HTML 注释或 frontmatter 注释加 ASF header;这是 Apache 项目硬要求,需要在 7 个文件里全部补齐,否则 release audit 会卡。
|
| * The ASF licenses this file to You under the Apache License, Version 2.0 | ||
| * (the "License"); you may not use this file except in compliance with | ||
| * the License. You may obtain a copy of the License at | ||
| * |
There was a problem hiding this comment.
[P1] 新增插件文件未通过空白检查
git diff --check 在本文件第 8、10 行检测到尾随空格。该文件会作为插件入口分发,请先清除尾随空格并确保仓库格式检查通过。
| @@ -0,0 +1,20 @@ | |||
| { | |||
There was a problem hiding this comment.
[P1] README 中的 Claude 安装入口无法从仓库根目录发现这个 marketplace
README 要求执行 /plugin marketplace add apache/dubbo-go,但 Claude 官方协议要求 GitHub marketplace 的 .claude-plugin/marketplace.json 位于仓库根目录;当前文件放在 .agents/.claude-plugin/marketplace.json。本地 claude plugin validate .agents 虽能通过,但对 README 实际指向的仓库根目录执行 claude plugin validate . 会稳定报 No manifest found ... Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json。此外 marketplace 的 source 指向整个仓库,而实际 skills/plugin root 位于 .agents。因此用户按文档操作时无法安装这些 skill。建议将 marketplace manifest 放到仓库根 .claude-plugin/marketplace.json,并用相对 ./.agents 或 git-subdir 明确插件根;插件 manifest 也应按协议放在插件根的 .claude-plugin/plugin.json,然后用 README 中的完整命令做一次端到端安装验证。
| **Mount an HTTP handler** on the same Triple port (Triple-only): | ||
|
|
||
| ```go | ||
| srv.AttachHTTPHandler("/healthz", http.HandlerFunc(healthz)) |
There was a problem hiding this comment.
[P1] 生成的 HTTP handler 示例无法编译
当前 server.(*Server).AttachHTTPHandler 的签名只有一个参数:AttachHTTPHandler(handler http.Handler) error,不接受 path。把本示例放进独立消费者模块编译会报 too many arguments ... have (string, http.HandlerFunc), want (http.Handler)。同样的错误还出现在 guide/SKILL.md 和 migrate/SKILL.md。这与 README 宣称“生成可直接编译的骨架”冲突。建议先用 http.NewServeMux() 在 mux 上注册 /healthz、/api 等路径,再把整个 mux 作为唯一参数传给 AttachHTTPHandler,并给所有 Go 示例增加自动编译测试。
| type tenantAffinityLB struct{} | ||
|
|
||
| func (lb *tenantAffinityLB) Select(invokers []base.Invoker, inv base.Invocation) base.Invoker { | ||
| tenant := inv.Attachment("tenant-id") |
There was a problem hiding this comment.
[P1] 示例调用了不存在的 Invocation API
protocol/base.Invocation 只提供 GetAttachment、GetAttachmentInterface、GetAttachmentWithDefaultValue 等方法,没有 Attachment。独立消费者探针按这里的代码编译会报 inv.Attachment undefined;同一错误还出现在本文件前面的附件说明。建议根据需要改为 GetAttachment 或 GetAttachmentInterface,并把 skill 中的代码块纳入编译门禁,否则 Agent 会稳定生成无法构建的扩展实现。



Description
Fixes # (issue)
Checklist
develop