원클릭으로
code-annotator
代码高质量注释生成工作流。为 Python 项目生成恰到好处的 Docstring 注释,强调全局上下文感知、注释粒度控制和 PEP 257 规范。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
代码高质量注释生成工作流。为 Python 项目生成恰到好处的 Docstring 注释,强调全局上下文感知、注释粒度控制和 PEP 257 规范。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
契约治理三件套的「值层」。核对同一个物理契约值(MQ topic/group、OSS bucket、消息字段名/别名、内部 HTTP 路径等)在 .env/.env.example/代码生效点/Java 对端多处是否逐字相等,找出配置漂移与死值,防止消息收不到/文件取不到。本 skill 只比对「同一个值在多处是否一致」,不判断结构/语义是否破坏对端(那是结构层,转 contract-guard),也不改文档。
指导 LLM 如何使用 toLink-Rag 项目的 MQ 消息中台进行消息收发、定义新消息类型以及处理多厂商适配逻辑。
当用户认为当前模块代码实现完毕,且当前分支应为 dev,需要从 dev 基于当前修改创建规范分支、提交并发起合并到 dev 的 GitHub PR 时使用;也用于发布收口,即直接创建 dev -> master 的 release PR,不新建 release 分支。适用于“从 dev 新建分支”“把当前修改提 PR”“实现完成创建 feature/refactor 分支并 PR”“发布新版本”“dev 合并 master”等交付收口场景。本 skill 是交付链终点,并在建分支/提 PR 前执行收口门槛:测试未过、契约文档失同步、acceptance 未提升者拒绝收口。
当用户要求把需求、功能、技术方案、架构改造、故障复盘、项目治理实践或实现过程写成博客/技术文章时必须使用;尤其适用于“写一篇博客”“生成技术博客”“把这个需求写成文章”“根据这个功能写博客”“把项目实现讲清楚”等请求。使用时要基于用户给出的需求和 toLink-Rag 当前仓库的真实代码、文档、契约、配置与测试证据完成分析,默认输出 Markdown 到 `.specs/blog/《博客名称》.md`。文章须采用「少量
把项目里已有的内部组件(如 MQ 中台、解析 pipeline、缓存层、对象存储)抽象成一份「项目自有 skill」,让 AI 每次接入都自动复用该组件的架构边界与约定。读组件真实代码,提炼「架构定位 / 职责边界 / 已落地清单 / 扩展点 / 红线」五要素,按统一原型生成 SKILL.md,登记到 .ai/skills/README.md 注册表并跑校验。
当用户要提 issue、登记 bug、记录新需求时使用;自动识别所属项目,生成结构化 issue 内容,先在 Linear 建主记录、再在 GitHub 建镜像,并双向回链。用户说"提个 issue""记一下这个 bug""把这个需求登记一下""同步到 Linear 和 GitHub""别再依赖 Linear 自动同步"时都应触发,即使没有明确说出"Linear"或"GitHub"。
| name | code-annotator |
| description | 代码高质量注释生成工作流。为 Python 项目生成恰到好处的 Docstring 注释,强调全局上下文感知、注释粒度控制和 PEP 257 规范。 |
| when_to_use | 当用户要求为代码生成注释、补充文档字符串、优化代码说明、添加 docstring 或提到生成代码注解时激活。触发示例:'给这个文件加注释'、'补充docstring'、'生成代码注释'、'加一下注释说明' |
资深后端架构师与文档专家,精通 Python Docstring 规范。能够结合文件的本地逻辑以及它在项目中的全局上下文,生成恰到好处的代码注释。既不遗漏关键业务解释,也不浪费笔墨注释显而易见的代码。
拒绝废话 - 不要对显而易见的代码进行翻译式注释。
count = 0 # 初始化计数器 → 废话user.name = name # 设置用户名 → 废话说明核心业务职责、设计意图、架构位置。
说明业务目的、入参含义、返回值、可能抛出的异常。
必须注释的场景:
禁止注释的场景:
在生成注释前,分析文件在架构中的位置:
class SparseVectorService:
"""稀疏向量服务层。
编排稀疏向量编码与产出规整,按 provider 复用本地或远程 BGE-M3 编码器,
向上游提供与 dense 召回对仗的稀疏向量化能力,不直接维护 MySQL/Qdrant 状态。
"""
async def vectorize_chunk(self, request: SparseChunkVectorizationRequest) -> SparseVector:
"""对单个 chunk 原文生成稀疏向量。
Args:
request: 待编码 chunk(含 chunk_id、content、bucket_id 等定位字段)
Returns:
indices 升序、values 一一对应的稀疏向量
Raises:
SparseVectorEncodingError: 编码失败或返回结构异常时抛出
SparseVectorOutputError: 清洗后稀疏维度为空时抛出
"""
# 现场过滤:只处理 dense 已成功且 sparse 尚未成功的 chunk(幂等、避免重复写)
sparse_chunks = [
c for c in chunks
if c.dense_vector_status == CHUNK_STATUS_INDEXED
and c.sparse_vector_status != SPARSE_VECTOR_STATUS_INDEXED
]
# 复用同一套 lexical weights 清洗,保证本地/远程 provider 产出口径一致
vectors = await self._encoder.aencode([c.content for c in sparse_chunks])
import 的核心依赖,分析外部模块的业务作用示例取自本项目领域(RAG 解析/向量化),不要用与项目无关的样例(如用户注册)。
为稀疏向量编码器 http_encoder.py 生成注释
上下文分析
SparseVectorEncoderProtocol)bge-m3-server(HTTP)、httpxsparse_vector/factory.py 按 SPARSE_VECTOR_PROVIDER=bge_m3_http 装配,供 SparseVectorService 调用输出带注释的代码:
class BGEM3HttpSparseVectorEncoder:
"""调用远程 bge-m3-server 生成 sparse lexical weights 的编码器。
与本地 BGEM3SparseVectorEncoder 实现同一 SparseVectorEncoderProtocol,
上层编排无感切换;本类只负责 HTTP 调用与输出规整,不处理 MySQL/Qdrant 状态。
"""
async def aencode(self, texts: Sequence[str]) -> list[SparseVector]:
"""调用远程 /encode 接口,把一批文本编码为稀疏向量。
Args:
texts: 待编码的 chunk 原文,返回向量与其一一同序。
Returns:
与输入同序的稀疏向量列表;输入为空时返回空列表。
Raises:
SparseVectorEncodingError: HTTP 调用失败或响应结构异常时抛出。
"""
if not texts:
return []
# 只取 sparse,关闭 dense/colbert,降低远程计算与网络开销
payload = {"texts": list(texts), "return_dense": False, "return_sparse": True}
data = await self._post_encode(payload)
# 远程返回的 sparse 必须与输入数量严格对齐,否则后续与 chunk 配对会错位
sparse = data.get("sparse")
if not isinstance(sparse, list) or len(sparse) != len(texts):
raise SparseVectorEncodingError("bge-m3-server sparse 结构或数量不匹配")
# 复用与本地推理同一套清洗规则,保证两种 provider 产出口径一致
return [normalize_lexical_weights(w, top_k=self._top_k) for w in sparse]