MCP HubMCP Hub
Volver a habilidades

conduct-empirical-wire-capture

pjt222
Actualizado 6 days ago
17 vistas
17
2
17
Ver en GitHub
Diseñodesign

Acerca de

Esta habilidad captura datos HTTP y de telemetría en tiempo de ejecución desde herramientas CLI para verificación y análisis. Ofrece múltiples métodos de captura (archivos de transcripción, proxies, etc.) y genera artefactos JSONL compatibles con comparación de diferencias. Úsela para confirmar hallazgos estáticos, obtener estructuras de carga útil para reimplementación, o observar el comportamiento real de la red.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/conduct-empirical-wire-capture

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

實測線捕

建可重現之線捕架,取 CLI 具之運時 HTTP 與遙測,配每觀察目標至最廉之捕道。

範與倫

配捕前必讀。

  • 線捕為 之求、 賬、 機。捕他用流為竊非研——越範。
  • 憑證幾必現於生線出。捕時即削(步六)——勿「先捕後削」。
  • 捕為 ,非變。勿以所捕繞服鏈限、重放他用會、或未授而啟暗功。
  • 此技之出為內構件。線發現之公佈經 redact-for-public-disclosure(親導 Phase 5),非此技。

  • 靜發現(旗、端、遙名)須運時確其實發
  • 須載形於客重實、埋點、版差
  • 暗活辨須觀二進實發之物,非束疑之物
  • 版間默變→欲可重現構件以對後版

用於:版基線(用 monitor-binary-version-baselines)、旗態探(用 probe-feature-flag-state)、或備削以公佈(用 redact-for-public-disclosure)。

  • :可本地對己賬行之 CLI 具。
  • :具體問(如「端 X 於事 Y 發乎?」、「遙事 Z 之載形何?」)。無問之捕→無人讀之日誌。
  • :前階之靜發現(標目、候旗列、疑端)範捕標。
  • :構件之私工作區路徑。默 ./captures/——須於 .gitignore

一:先建觀察表

配捕前先列所須答之問,各配一捕道。每標一行。

targetobservable viablocker
Outbound HTTP to endpoint Xverbose-fetch stderrTUI noise pollutes terminal
Telemetry event Y on user actionhook-driven subprocessrequires harness hook surface
Token-refresh handshakeoutbound HTTP proxycert trust required
Scheduled-task lifecycle eventlong-running session capturewallclock alignment
Local config mutationon-disk state diffnone — cheapest channel

常見道,廉者先:

  • 磁態檔變——具寫態於已知路→快照間 diff 免費。
  • 謄本檔——具已寫會謄本→直析之。無埋點。
  • verbose-fetch stderr——束供環變(如 bun 之 BUN_CONFIG_VERBOSE_FETCH=curl)路每 fetch 至 stderr。噪而全捕。
  • hook 驅子進——具露生命 hook(UserPromptSubmitStop 等)→每事生短捕子進。
  • 長會捕——一進程跨會,牆鐘標。用於序。
  • 外 HTTP 代理——淨分,然須 CA 證信任且遇證固定即破。

擇捕目之最廉道。三標捕答一問勝於二十標捕答無。

得: 觀察表每問一行,各注道與已知阻。無可行道之標→標「本會超範」。

敗: 諸標皆落代理列→表過雄。削至一二最高值之問,於彼再察低廉道。

二:備棄工作區

線捕污終端、遺檔於意外處、或洩憑於日誌。

mkdir -p captures/$(date -u +%Y-%m-%dT%H-%M-%S)
cd captures/$(date -u +%Y-%m-%dT%H-%M-%S)
echo 'captures/' >> ../../.gitignore
git check-ignore captures/ || echo "WARNING: captures/ not git-ignored"

確捕會非主工會——verbose-fetch 與 TUI 渲染相擾。

得: 時戳之捕目錄已 git-ignore,別於主工會。

敗: git check-ignore 報未 ignore→修 .gitignore 方行任捕。勿以憑險行。

三:hook 驅捕於每事標

目為離散事(工呼、提交、會停)→用具之 hook 面。每事生短命捕子進;勿於進中駐。

模(合成例):

# Hook script, registered with the harness's hook config.
# Invoked once per event; writes one JSONL line; exits.
#!/usr/bin/env bash
set -euo pipefail
TS=$(date -u +%Y-%m-%dT%H:%M:%S.%3NZ)
EVENT="${1:-unknown}"
PAYLOAD=$(jq -c --arg ts "$TS" --arg ev "$EVENT" \
  '{ts:$ts, source:"hook", target:$ev, payload:.}' < /dev/stdin)
echo "$PAYLOAD" >> "$CAPTURE_DIR/events.jsonl"

子進每事之故:

  • 無 token 態、無會耦——每呼獨。
  • 一捕敗不污下。
  • 子進負荷可——事罕(每用動,非每字節)。

得: 每發事之一 JSONL 行於 events.jsonl,皆 jq 可析。

敗: jq 報析錯→載含未轉義控字或二進。管 jq -R(生輸)且 base64 編載欄。

四:長會捕於序狀

目為序(多輪握手、計劃任務生命、退避態機)→一捕進跨會、牆鐘標。

# Run the harness with verbose-fetch routed to a tee-d log.
BUN_CONFIG_VERBOSE_FETCH=curl harness-cli run-task 2> >(
  while IFS= read -r line; do
    printf '%s\t%s\n' "$(date -u +%Y-%m-%dT%H:%M:%S.%3NZ)" "$line"
  done >> "$CAPTURE_DIR/session.tsv"
)

牆鐘前綴使多並發捕之序無歧。TSV(制表分)故意——抗 shell 於 stderr 破 JSON 引號。

會終後轉 TSV 至 JSONL(步五),非行中。

得: TSV 日誌含單調增時戳,每 stderr 行一列。

敗: 時戳倒→具緩 stderr→重行加 stdbuf -oL -eL 或束等效之行緩旗。

五:歸一為 JSONL

JSONL 為構件格式:每行一 JSON 物,欄 timestampsourcetargetpayload。利 diff、jq 可濾、編輯器重載穩。

# Parse the TSV from Step 4 into JSONL.
awk -F'\t' '{
  printf "{\"timestamp\":\"%s\",\"source\":\"verbose-fetch\",\"target\":\"%s\",\"payload\":%s}\n",
    $1, "session", $2
}' < session.tsv | jq -c . > session.jsonl

驗每行可析:

while IFS= read -r line; do
  echo "$line" | jq -e . > /dev/null || echo "BAD LINE: $line"
done < session.jsonl

常用濾:

# Show only requests to a specific endpoint pattern.
jq -c 'select(.payload | tostring | test("/api/v1/example"))' session.jsonl

# Show timing between consecutive captures.
jq -r '.timestamp' session.jsonl | sort | uniq -c

得: *.jsonl 每行過 jq -e .;無 BAD LINE 警。

敗: 有行敗→源 TSV 之載嵌制表符→重行步四以異分或 base64 編次欄。

六:捕時削

寫磁前削驗頭、會 ID、bearer token、PII。events.jsonlsession.jsonl 首寫不當含一機。

# Stream the raw capture through a redactor before persisting.
redact() {
  sed -E \
    -e 's/(authorization:[[:space:]]*Bearer[[:space:]]+)[A-Za-z0-9._-]+/\1<REDACTED>/gi' \
    -e 's/(x-api-key:[[:space:]]*)[A-Za-z0-9._-]+/\1<REDACTED>/gi' \
    -e 's/(cookie:[[:space:]]*)[^;]+/\1<REDACTED>/gi' \
    -e 's/("password"[[:space:]]*:[[:space:]]*)"[^"]*"/\1"<REDACTED>"/g' \
    -e 's/("token"[[:space:]]*:[[:space:]]*)"[^"]*"/\1"<REDACTED>"/g'
}

cat raw-capture.txt | redact > session.tsv

捕後驗無漏:

# Patterns that must not appear in any *.jsonl file.
grep -Ei 'bearer [A-Za-z0-9]{20,}|sk-[A-Za-z0-9]{20,}|ghp_[A-Za-z0-9]{20,}' captures/ \
  && { echo "LEAK DETECTED"; exit 1; } \
  || echo "redaction clean"

「捕後削」之構件必漏。唯安模為「捕即削」。成品中發未削 token→視全捕為洩——刪之、轉憑、重行。

得: LEAK DETECTED 檢退 0(無匹)。grep 於已知憑前綴無返。

敗: 漏檢中→勿就地改檔。刪全捕目錄、延削正則涵漏類、自步三或四重行。

七:記前分響類

HTTP 狀態碼於異脈有異義。記前分使下游 jq 濾於意,非生碼。

Observed statusChannel contextClassification
200 / 201Anysuccess
401 on token-refresh endpointHandshakeexpected handshake step
401 on data endpointAfter authauth failure (real)
404 on lazy-loaded resourceFirst fetchexpected miss
404 on documented endpointAfter feature gategate-induced absence
429Anyrate-limit (back off; do not retry tight)
5xxAnyserver failure (record, do not assume)

捕時加 class 欄:

jq -c '. + {class: (
  if (.payload.status == 401 and (.target | test("token|refresh"))) then "handshake"
  elif (.payload.status >= 200 and .payload.status < 300) then "success"
  elif (.payload.status == 401) then "auth-fail"
  elif (.payload.status == 429) then "rate-limit"
  elif (.payload.status >= 500) then "server-fail"
  else "other" end)}' session.jsonl > session.classified.jsonl

token 刷道之 401 非敗——為握手首半。誤分握手步為敗→生假陽發現耗審者神。

得: *.classified.jsonl 每行有 class 欄有已知值。

敗: 多生 other→表不全於此具→每重現 other 模加一行方續析。

八:持捕清單

捕行可重現僅入與出俱記。寫清單:

cat > capture-manifest.json <<EOF
{
  "captured_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
  "harness_version": "$(harness-cli --version 2>/dev/null || echo unknown)",
  "channel": "verbose-fetch",
  "question": "Does endpoint X fire on event Y?",
  "targets": ["endpoint-X", "event-Y"],
  "files": ["session.jsonl", "session.classified.jsonl"],
  "redaction_check": "passed"
}
EOF

清單使捕可與後版 diff。

得: capture-manifest.json 在、jq 可析、列捕目錄諸構件檔。

敗: 具無版旗→改記二進之 sha256sum。無識之二進生不可比之捕。

  • 觀察表於行任捕令前已建
  • 捕目錄 git-ignore 且時戳
  • *.jsonl 檔逐行過 jq -e .
  • 削漏檢於已知憑前綴無匹
  • 每捕事有 class 欄有已知值
  • capture-manifest.json 記具版(或 sha256)、道、問
  • 捕目錄只含步一所列標(無他應之附流)

  • 先捕後問:無人讀之日誌為廢盤廢神。先建觀察表;只捕答具體問者。
  • 先求 mitmproxy:外代理為最侵之道。須證信任、遇證固定即破、污具環。僅磁、謄本、verbose-fetch、hook 皆阻時用。
  • 於主工會捕:verbose-fetch stderr 入 TUI 渲染→或洩他工片於捕。必用棄 shell。
  • 「後削」:捕後削之構件皆曾漏憑一次。捕即削,否則勿捕。
  • 齊視 4xx 為敗:token 刷道之 401 為握手步非敗。按道脈分響類(步七)方下結論。
  • 長捕於每事標:會長進捕三離散事→耦 token 態於捕間且一壞事毒下。每事用 hook 子進;序留長捕。
  • 無清單:無 capture-manifest.json 之 JSONL 不可重現——不知何版生即不可與下月二進 diff。
  • 捕他用之流:超範。線捕為己賬於己機。偶錄他用之求→刪捕、緊道。

  • monitor-binary-version-baselines — 親法之 Phase 1;生此技清單所引之版基線
  • probe-feature-flag-state — Phases 2-3;線捕為其證一股,此技教捕半
  • instrument-distributed-tracing — 共 JSONL+牆鐘哲;應於一二進非服務網
  • redact-for-public-disclosure — Phase 5;此技只涵捕時削於內用,非離私區前之公佈級削

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/wenyan-ultra/skills/conduct-empirical-wire-capture
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

executing-plans

Diseño

Utilice la habilidad executing-plans cuando tenga un plan de implementación completo para ejecutar en lotes controlados con puntos de revisión. Esta habilidad carga y revisa críticamente el plan, luego ejecuta tareas en pequeños lotes (por defecto 3 tareas) mientras reporta el progreso entre cada lote para la revisión del arquitecto. Esto asegura una implementación sistemática con puntos de control de calidad integrados.

Ver habilidad

requesting-code-review

Diseño

Esta habilidad despacha un subagente revisor de código para analizar los cambios en el código frente a los requisitos antes de proceder. Debe usarse después de completar tareas, implementar funciones principales o antes de fusionar con la rama principal. La revisión ayuda a detectar problemas de forma temprana al comparar la implementación actual con el plan original.

Ver habilidad

connect-mcp-server

Diseño

Esta habilidad proporciona una guía integral para que los desarrolladores conecten servidores MCP a Claude Code mediante transportes HTTP, stdio o SSE. Cubre la instalación, configuración, autenticación y seguridad para integrar servicios externos como GitHub, Notion y APIs personalizadas. Úsala al configurar integraciones MCP, al configurar herramientas externas o al trabajar con el Protocolo de Contexto del Modelo de Claude.

Ver habilidad

web-cli-teleport

Diseño

Esta habilidad ayuda a los desarrolladores a elegir entre las interfaces web y CLI de Claude Code mediante el análisis de tareas, y luego permite la teletransportación fluida de sesiones entre estos entornos. Optimiza el flujo de trabajo gestionando el estado y el contexto de la sesión al cambiar entre web, CLI o móvil. Úsala para proyectos complejos que requieren diferentes herramientas en varias etapas.

Ver habilidad