用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/braintrustdata/lingua --skill testing命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Audit, plan, implement, and verify updates to OpenAI, Anthropic, or Google generated provider types. Use when a provider specification or generated.rs diff may require capability, adapter, universal type, serializer, streaming, payload-case, or test changes.
Add support for a new LLM provider format to Lingua. Follow the test-first workflow with payload snapshots.
Run transformation coverage tests. Use compact mode when iterating on fixes, full mode when planning or documenting bugs.
基于 SOC 职业分类
正在显示 SKILL.md
| name | testing |
| description | Lingua's testing tools for transformation coverage and end-to-end SDK validation. |
Two complementary testing approaches for validating cross-provider transformations.
| Tool | Purpose | Uses API? | When to Use |
|---|---|---|---|
coverage-report | Field-level roundtrip coverage | No | Finding missing/changed fields |
lingua-capture + test:transforms | Real SDK validation | Capture only | Validating against real APIs |
Tests transformations roundtrip without calling APIs. Detects lost, added, or changed fields.
# After code changes - fast validation
cargo run --bin coverage-report -- -f compact
# Filter to specific providers
cargo run --bin coverage-report -- -f compact -p anthropic,responses
# Filter to specific test case
cargo run --bin coverage-report -- -f compact -t "reasoning*"
# Initial investigation with full error details
cargo run --bin coverage-report
# Save to bug file for planning
cargo run --bin coverage-report -- -p anthropic > .Codex/anthropic_bugs.md
Stats: 669/1704 (39.3%) [512+157lim] 1035fail
[P1] L:usage.prompt_cache_tokens (123)
ant→ggl: cacheParam (response)...(+44)
L: = Lost fields, A: = Added, C: = Changed(123) = affected test casesoai=ChatCompletions, ant=Anthropic, rsp=Responses, ggl=Google, bed=BedrockValidates against real provider SDKs with schema validation at every step.
chat-completions ↔ anthropicresponses ↔ anthropicCalls real SDKs (requires API keys):
cd payloads
pnpm lingua-capture # Capture missing only
pnpm lingua-capture --force # Recapture all
pnpm lingua-capture toolCall # Filter by name
Output: transforms/{source}_to_{target}/{caseName}.json
Uses captured responses (no API calls):
cd payloads
pnpm test:transforms # Run all
pnpm test:transforms:update # Update snapshots
pnpm test:transforms:watch # Watch mode
Some transformations are impossible. Document in transform_errors.json:
{
"responses_to_anthropic": {
"reasoningRequestTruncated": "max_tokens (100) < budget_tokens (1024 min)"
}
}
These tests pass silently.
Add case to payloads/cases/:
newFeature: {
"chat-completions": { model: "...", messages: [...] },
anthropic: { model: "...", max_tokens: 1024, messages: [...] },
}
Check coverage:
cargo run --bin coverage-report -- -f compact -t newFeature
Capture SDK responses:
cd payloads && pnpm lingua-capture newFeature
Run transform tests:
pnpm test:transforms
Investigate with full coverage report:
cargo run --bin coverage-report -- -p anthropic,responses > .Codex/fix_bugs.md
Iterate with compact mode:
cargo run --bin coverage-report -- -f compact -p anthropic,responses
Verify SDK compatibility:
cd payloads && pnpm test:transforms
If snapshots changed intentionally:
pnpm test:transforms:update