Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

telemetry-terminology-similarity遥测术语相似性

Agent Skill

telemetry-terminology-similarity 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

371

周安装

15

GitHub Stars

37

下载量

116
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:telemetry-terminology-similarity(遥测术语相似性)
来源仓库:https://github.com/terrylica/cc-skills
仓库路径:skills/telemetry-terminology-similarity
安装命令:
npx skills add https://github.com/terrylica/cc-skills --skill telemetry-terminology-similarity
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/terrylica/cc-skills --skill telemetry-terminology-similarity

简介

telemetry-terminology-similarity 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 可结合来源仓库和原始 README 进一步核验具体用法。

SKILL.md

Telemetry Terminology Similarity

Score pairwise similarity of telemetry field names across three independent layers. Emits raw scores — no thresholds, no clustering, no opinions. The consuming AI agent applies its own domain judgment.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

When to Use This Skill

Use this skill when:

  • Auditing a telemetry/logging schema for naming collisions
  • Comparing two JSONL log schemas for field overlap
  • Detecting trace_id vs traceId vs request_id vs correlation_id style problems
  • Validating field naming consistency before shipping telemetry changes

Architecture

5-layer scoring pipeline — each layer catches what the others miss:

┌─────────────────────────────────────────────────────────┐
│  Layer 1: NORMALIZE                                     │
│  camelCase/snake_case split + abbreviation expansion    │
│  wordninja for concatenated words                       │
│  "traceId" → "trace id", "ts" → "timestamp"            │
├─────────────────────────────────────────────────────────┤
│  Layer 2: SYNTACTIC (RapidFuzz, 0-100)                  │
│  token_set_ratio on normalized forms                    │
│  Catches: trace_id ↔ traceId, level ↔ log_level        │
├─────────────────────────────────────────────────────────┤
│  Layer 3: TAXONOMIC (WordNet Wu-Palmer, 0.0-1.0)        │
│  Head-noun synonym detection via hypernym tree          │
│  Catches: level ↔ severity, error ↔ fault, op ↔ action │
├─────────────────────────────────────────────────────────┤
│  Layer 4: SEMANTIC (sentence-transformers, 0.0-1.0)     │
│  Cosine similarity via all-MiniLM-L6-v2 embeddings     │
│  Catches: error ↔ exception, user_id ↔ account_id      │
├─────────────────────────────────────────────────────────┤
│  Layer 5: CANONICAL (--canonical flag, optional)        │
│  RapidFuzz vs bundled OTel/OCSF/CloudEvents dictionary  │
│  Catches: http_method → http.request.method (OTel)      │
├─────────────────────────────────────────────────────────┤
│  Output: All pairs scored + canonical anchors.          │
│  Agent decides what to act on — tool computes, judges.  │
│  Use proposer-prompt.md for structured rename proposals.│
└─────────────────────────────────────────────────────────┘

Two-Phase Workflow: Score → Propose

The skill works in two phases:

  1. Phase 1 — Score (term_similarity.py): Compute raw similarity scores across 5 layers. Tool computes, no opinions emitted.
  2. Phase 2 — Propose (references/proposer-prompt.md): A bundled prompt template that consumes the scoring JSON and asks the LLM to produce structured rename proposals with confidence levels, evidence citations, and explicit escape hatches.

The two phases are deliberately separated. Phase 1 is deterministic and reproducible; Phase 2 applies domain judgment that only an LLM with conversation context can provide.

Dependencies

All installed via uv run (PEP 723 inline metadata — no global install needed):

PackagePurposeSize
sentence-transformersSemantic embeddings (MiniLM-L6)~80 MB
rapidfuzzFast fuzzy string matching (C++)~1.3 MB
wordninjaProbabilistic word splitting~0.5 MB
nltkWordNet Wu-Palmer synonym detection~30 MB
orjsonFast JSON serialization~0.3 MB

First run downloads the all-MiniLM-L6-v2 model (~80 MB) and WordNet data (~30 MB).

Script Location

The analysis script lives in this skill's references/ directory. Resolve the path before use:

# SSoT-OK: marketplace path resolution for cross-repo invocation
SCRIPT_DIR="$(dirname "$(find ~/.claude/plugins -path '*/telemetry-terminology-similarity/references/term_similarity.py' -print -quit 2>/dev/null)")"
SCRIPT="$SCRIPT_DIR/term_similarity.py"

All examples below assume $SCRIPT is set. When invoking from the cc-skills repo itself, use the relative path directly.

Usage

Analyze field names directly

# SSoT-OK: uv run handles PEP 723 inline deps
uv run --python 3.13 "$SCRIPT" \
  trace_id traceId request_id correlation_id \
  level severity log_level priority

Extract fields from a Python codebase

Use Python regex extraction (macOS lacks grep -P):

python3 -c "
import re, glob
fields = set()
for f in glob.glob('**/*.py', recursive=True):
    text = open(f).read()
    for m in re.finditer(r'\"([a-z][a-z0-9_]*?)\":', text):
        fields.add(m.group(1))
for f in sorted(fields):
    print(f)
" | uv run --python 3.13 "$SCRIPT"

Analyze from stdin (pipe from jq, etc.)

head -1 telemetry.jsonl | jq -r 'keys[]' | uv run --python 3.13 "$SCRIPT"

Analyze a JSONL file's fields

uv run --python 3.13 "$SCRIPT" --jsonl /path/to/telemetry.jsonl

Compare two JSON schemas

uv run --python 3.13 "$SCRIPT" --schema-a schema_v1.json --schema-b schema_v2.json

Control output size

uv run --python 3.13 "$SCRIPT" --top 30 field1 field2 field3   # Top 30 pairs
uv run --python 3.13 "$SCRIPT" --top 0 field1 field2 field3    # All pairs
uv run --python 3.13 "$SCRIPT" --json field1 field2 field3     # JSON output

Lookup against canonical standards (OTel/OCSF/CloudEvents)

# Anchor each field against 1,453 bundled canonical names from OTel + OCSF + CloudEvents
uv run --python 3.13 "$SCRIPT" --canonical http_method http_status request_id severity

Output adds a === CANONICAL ANCHORS === section showing the closest standard names per field. Useful for "should we rename to match an industry standard" decisions.

Generate structured rename proposals (Phase 2)

After running with --json --canonical, paste the output into references/proposer-prompt.md — a bundled prompt template that produces atomic, reviewable rename proposals with confidence levels and explicit escape hatches.

# Phase 1: Score
uv run --python 3.13 "$SCRIPT" --json --canonical [fields...] > analysis.json

# Phase 2: Apply proposer prompt (paste analysis.json into the template)
# The LLM produces structured proposals.json — review atomically

Parameters

ParameterDefaultDescription
--top50Show top N pairs by combined score (0 = all)
--canonicalfalseLookup each field against bundled OTel/OCSF/CloudEvents dict
--jsonlExtract fields from a JSONL file (all unique keys)
--schema-a/-bCross-schema comparison (two JSON schema files)
--jsonfalseOutput as structured JSON instead of text

Output Format

Text output (default)

Fields analyzed: 21
Unique after normalization: 19

=== EXACT DUPLICATES (after normalization) ===
  trace_id  ==  traceId
  timestamp  ==  ts

=== SCORED PAIRS (sorted by combined score) ===
    syn    tax    sem   comb  pair
    ---    ---    ---   ----  ----
  100.0  0.000  0.560  1.000  level                     <-> log_level
    0.0  1.000  0.472  1.000  error                     <-> fault
   66.7  0.909  0.457  0.909  operation                 <-> action
   46.2  0.833  0.251  0.833  level                     <-> severity
   28.6  0.667  0.700  0.700  error                     <-> exception

Three independent scores per pair — the agent reads all three to decide:

  • syn (syntactic): high = surface-level name variant
  • tax (taxonomic): high = WordNet synonym (hypernym tree)
  • sem (semantic): high = embedding similarity (distributional)
  • comb (combined): max(syn/100, tax, sem) — sorting key

JSON output (--json)

Structured JSON with exact_duplicates and scored_pairs arrays.

How Each Layer Contributes

ScenariosyntaxsemWhich layer wins
trace_id vs traceId100.00.01.0Syntactic
level vs severity46.20.8330.251Taxonomic
error vs fault0.01.0000.472Taxonomic
operation vs action66.70.9090.457Taxonomic
error vs exception28.60.6670.700Semantic
user_id vs account_id47.10.00.792Semantic

Abbreviation Dictionary

The normalizer expands common telemetry abbreviations:

AbbrExpansionAbbrExpansion
tstimestampuiduser id
reqrequestrespresponse
errerrormsgmessage
svcserviceenvenvironment
opoperationlvllevel
evteventctxcontext
acctaccountcfgconfiguration
durdurationlatlatency

Add domain-specific abbreviations by editing ABBREVIATIONS in term_similarity.py.

Troubleshooting

IssueCauseSolution
ModuleNotFoundErrorMissing depsUse uv run (PEP 723 resolves automatically)
Model download slowFirst runCached after first download (~110 MB total)
Script not found from other repoPath not resolvedSet $SCRIPT per Script Location section
grep: invalid option -- PmacOS lacks PCREUse python3 -c "import re..." pattern instead

Post-Execution Reflection

After this skill completes, check before closing:

  1. Did the command succeed? — If not, fix the instruction or error table that caused the failure.
  2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
  3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.

Only update if the issue is real and reproducible — not speculative.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.78%
按下载量换算40

Claude

29.12%
按下载量换算34

Cursor

19.49%
按下载量换算23

Gemini CLI

9.2%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills