Skip to main content

collect-cli-fixtures

Collects real CLI (Claude, Gemini) stream-json output as .jsonl fixture files. Use when adding new fixture scenarios, updating after CLI version changes, or covering new protocol event types.

跳到安装

来源信息

仓库
recca0120/code-quest
最近来源活动
2026年5月7日 14:06
检测到的 SKILL.md 语言
英语
星标
11
分支
2

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
collect-cli-fixtures
description
Collects real CLI (Claude, Gemini) stream-json output as .jsonl fixture files. Use when adding new fixture scenarios, updating after CLI version changes, or covering new protocol event types.
# Collect CLI Fixtures ## Capture Script ```bash scripts/capture-fixture.sh <name> [prompt] ``` ### Print mode ```bash claude --output-format stream-json -p "say hello" 2>/dev/null > /tmp/claude-simple-text.jsonl ``` ### Interactive mode (control protocol) ```bash mkfifo /tmp/claude-stdin claude --output-format stream-json --input-format stream-json --verbose \ < /tmp/claude-stdin 2>/dev/null | tee /tmp/claude-interactive.jsonl & exec 3>/tmp/claude-stdin # Send control_request JSON via fd 3, sleep between requests exec 3>&-; kill %1 2>/dev/null; rm /tmp/claude-stdin ``` ### From DB ```bash mysql -u root -h 127.0.0.1 -P 3306 code_quest -N -e \ "SELECT raw FROM raw_entries WHERE raw LIKE '{\"type\":\"<type>\"%' LIMIT 1;" ``` ## Validation ```bash # Every line must be valid JSON while IFS= read -r line; do echo "$line" | jq . > /dev/null 2>&1 || echo "INVALID: $line" done < /tmp/fixture.jsonl # Check event type distribution cat /tmp/fixture.jsonl | jq -r '.type' | sort | uniq -c ``` ## Sanitization ```bash sed -i '' 's/"session_id":"[^"]*"/"session_id":"test-session-id"/g' fixture.jsonl grep -l "sk-" fixture.jsonl # Check for API key leaks ``` ## Destination ``` apps/summoner/src/__fixtures__/claude/ ├── real/<name>.jsonl # From DB or real CLI └── synthetic/<name>.jsonl # Hand-crafted (mark for future replacement) ``` ## Checklist - [ ] CLI installed and working - [ ] Fixture captured from real CLI (never hand-written) - [ ] Every line is valid JSON - [ ] Sensitive data sanitized - [ ] Placed in correct directory (real/ or synthetic/) - [ ] Tracking doc updated (`docs/fixture-capture-tracking.md`) ## Reference - Tracking: `docs/fixture-capture-tracking.md` - Fixture-Driven TDD: `/fixture-driven-tdd`
在 GitHub 查看