AlexStocks commented on code in PR #3340:
URL: https://github.com/apache/dubbo-go/pull/3340#discussion_r3288455283


##########
.agents/skills/dubbo-go-domain/SKILL.md:
##########
@@ -0,0 +1,164 @@
+---

Review Comment:
   [P0] 缺少 Apache 2.0 许可证头。Apache 项目要求所有源文件(含 Markdown 文档)包含标准许可证头。dubbo-go 项目 
`doc/` 目录下的 Markdown 文件均有许可证头,`.agents/skills/` 目录下也不应例外。
   
   建议:在文件顶部添加:
   ```
   <!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. ... -->
   ```
   全部 19 个文件均需添加。



##########
.agents/skills/dubbo-go-observability-filters/SKILL.md:
##########
@@ -0,0 +1,64 @@
+---
+name: dubbo-go-observability-filters
+description: >-
+  Implements and reviews dubbo-go filters, metrics, tracing, logging, and 
related cross-cutting interception. Use when
+  the user asks about Filter, Invoke, OnResponse, service.filter, 
reference.filter, filter chain order, TPS limiting,
+  active limit, auth, token, access log, Sentinel, Seata, graceful shutdown 
filters, OpenTelemetry, tracing,
+  Prometheus metrics, metrics probes, logger integration, or packages filter/, 
metrics/, otel/, logger/, and
+  protocol/protocolwrapper/. Do not use for protocol wire behavior unless 
interception changes the transport contract.
+---
+
+# dubbo-go Observability and Filters
+
+## Purpose
+
+Use this skill to change or explain the filter chain and cross-cutting 
concerns such as metrics, tracing, logging, rate limiting, auth, and response 
interception.
+
+## When to use
+
+Use for filter registration, filter order, provider or consumer interception, 
`OnResponse`, TPS strategies, metrics collectors, OpenTelemetry tracing, 
logging integration, and probe endpoints.
+
+Do not use for concrete wire protocol behavior unless filter behavior changes 
the transport contract.
+
+## Inputs
+
+Required:
+- Filter name, metrics/tracing component, config key, or package path.
+- Intended interception or telemetry behavior.
+
+Optional:
+- URL filter params, invocation attachments, context values, metric labels, 
span output, or log output.
+
+If missing, inspect `filter/filter.go` and 
`protocol/protocolwrapper/protocol_filter_wrapper.go`.
+
+## Workflow
+
+1. Read `filter/filter.go` for the `Invoke` and `OnResponse` contract.
+2. Read `protocol/protocolwrapper/protocol_filter_wrapper.go` for provider and 
consumer chain construction.
+3. Inspect extension registration in `common/extension/filter.go` and any TPS 
extension files.
+4. Read the concrete filter under `filter/`.
+5. For metrics, inspect `metrics/` and the `filter/metrics/` integration.
+6. For tracing, inspect `filter/otel/`, `filter/tracing/`, and `otel/`.
+7. Read `references/filter-observability-flow.md` before changing filter 
order, metric labels, or span semantics.
+
+## Output format
+
+Return filter chain position, provider or consumer side, telemetry contract, 
changed files, and validation performed.
+
+## Validation
+
+- Confirm filter names are registered and selected through `service.filter` or 
`reference.filter`.
+- Confirm filters call the next invoker exactly once unless intentionally 
short-circuiting.
+- Confirm `OnResponse` handles both success and error results.
+- Run focused tests such as `go test ./filter/... ./metrics/... ./otel/...`; 
use `make test` for broad interception changes.
+
+## Edge cases

Review Comment:
   [P1] 路径引用有误:文档引用 `filter/otel/` 和 `filter/tracing/`,但 dubbo-go 实际代码中 
OpenTelemetry 相关代码位于顶级 `otel/` 目录。需核实实际目录结构并修正。



##########
.agents/skills/dubbo-go-domain/references/project-rules.md:
##########
@@ -0,0 +1,37 @@
+# dubbo-go Project Rules

Review Comment:
   [P2] project-rules.md 与 domain SKILL.md 的 "Do Not" 和 "Coding Guidelines" 
章节内容几乎完全重复。两处维护同一套规则会导致后续更新不一致。
   
   建议:选择一处作为规范权威来源(建议 project-rules.md),SKILL.md 中仅引用而非复制。



##########
.agents/skills/dubbo-go-protocol/SKILL.md:
##########
@@ -0,0 +1,64 @@
+---
+name: dubbo-go-protocol
+description: >-
+  Implements and reviews dubbo-go protocol and transport changes. Use when the 
user asks about Protocol, Invoker,

Review Comment:
   [P1] 协议列表中包含 "HTTP/3 transport",但 dubbo-go 主仓库是否包含 HTTP/3 实现需确认。HTTP/3 
支持可能在独立仓库或分支中。若不存在则应删除此引用。



##########
.agents/skills/dubbo-go-cluster/SKILL.md:
##########
@@ -0,0 +1,64 @@
+---
+name: dubbo-go-cluster
+description: >-
+  Implements and reviews dubbo-go cluster, routing, directory, and 
load-balancing changes. Use when the user asks about
+  failover, failfast, failsafe, failback, forking, broadcast, available, 
zoneaware, adaptive service, Directory,
+  RouterChain, condition, tag, script, affinity or Polaris routers, load 
balance algorithms, retries, provider
+  selection, or packages cluster/cluster/, cluster/directory/, 
cluster/router/, and cluster/loadbalance/. Do not use
+  for registry backend mechanics unless the directory snapshot contract is 
affected.

Review Comment:
   [P1] cluster 策略列表可能不完整:列出 
failover/failfast/failsafe/failback/forking/broadcast/available/zoneaware/adaptive,但需核实
 `cluster/cluster/` 目录下所有策略实现。"adaptive" 在 dubbo-go 中通常与 service discovery 相关而非 
cluster strategy,需确认。



##########
.agents/skills/dubbo-go-runtime/SKILL.md:
##########
@@ -0,0 +1,64 @@
+---

Review Comment:
   [P2] "runtime" 术语模糊:dubbo-go 代码库中没有 `runtime/` 目录,runtime 概念分散在 
`client/`、`server/`、`proxy/`、`graceful_shutdown/` 中。SKILL 名称与代码组织不直接对应。
   
   建议:考虑改名为 `dubbo-go-client-server` 或在文档中更明确地解释 "runtime" 指代哪些包。



##########
.agents/skills/dubbo-go-domain/SKILL.md:
##########
@@ -0,0 +1,164 @@
+---
+name: dubbo-go-domain
+description: >-
+  Use this skill when working on the dubbo-go codebase, including implementing 
features, fixing bugs, writing tests,
+  reviewing code, updating documentation, or routing work to a narrower 
dubbo-go-* domain skill. Use for cross-module
+  questions, end-to-end flows, subsystem boundaries, or deciding whether 
config, runtime, protocol, registry, metadata,
+  cluster routing, filters and observability, or tools guidance applies.
+---
+
+# dubbo-go Project Guide
+
+## Project Overview
+
+dubbo-go is the Go implementation of Apache Dubbo. It is an RPC and 
microservice framework that provides service export and reference, registry and 
service discovery, protocol interoperability, cluster fault tolerance, traffic 
governance, configuration, metadata, metrics, tracing, and developer tools.
+
+It mainly provides:
+- Public client and server APIs for Go services.
+- Dubbo, Dubbo3, Triple, gRPC, REST, JSONRPC, and related transport support.
+- Registry integration with Nacos, Zookeeper, Etcd, Polaris, and 
application-level service discovery.
+- Metadata collection, metadata reporting, service name mapping, routing, load 
balancing, filters, metrics, tracing, and CLI or code generation tools.
+
+This repository does not own external registry servers, Dubbo Java 
implementation, sample applications outside this repository, or production 
deployment infrastructure.
+
+## Tech Stack
+
+- Language: Go, module `dubbo.apache.org/dubbo-go/v3`.
+- Go version: `go 1.25.0` in `go.mod`; root `Makefile` uses 
`GOTOOLCHAIN=go1.25.0+auto` for tests.
+- Build: Go modules plus nested Go modules under selected `tools/` directories.
+- Test: `go test`, `testify`, `gomock`, and focused package tests.
+- Lint and format: `go fmt`, `imports-formatter`, `go vet`, `golangci-lint`, 
and `make fmt` or `make lint`.

Review Comment:
   [P1] Go 版本声明可疑:文档称 `go 1.25.0`,但截至 2026 年 5 月 Go 1.25 尚未正式发布(通常 8 月发布)。需核实 
go.mod 实际内容,若 go.mod 确实写了 1.25.0 则注明这是 toolchain 指令而非最低版本要求。



##########
.agents/skills/dubbo-go-tools/references/tooling-flow.md:
##########
@@ -0,0 +1,29 @@
+# Tooling Flow

Review Comment:
   [P2] 工具流程图过于简略,是所有 reference 文档中最短的。缺少 protoc 插件工作流、schema 
生成流程等关键信息。建议补充完整的工具链流程,特别是 `protoc-gen-go-triple` 的代码生成管线。



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to