anastasiyaw/codex-claude-code-config/deepseek-provider-contract
Claude Code and agent skill by anastasiyaw/codex-claude-code-config
- community
Checking that the SKILL.md file is still in the repository.
Validate a proposed DeepSeek API integration before any key or project context is sent: check thinking-mode tool-call history, strict-schema assumptions, bounded output, and provider data boundaries. Use when integrating DeepSeek, adding DeepSeek tool calls or streaming, debugging DeepSeek 400 after a tool call, or evaluating a DeepSeek harness/MCP. Do NOT use for a generic model comparison, ordinary local coding, or to send a repository transcript to a provider by default.
Install
npx vskill@latest install anastasiyaw/codex-claude-code-config/deepseek-provider-contractSKILL.md
DeepSeek Provider Contract
This is a local, offline contract check. It neither reads DEEPSEEK_API_KEY nor sends code, transcripts, or secrets. A third-party harness is an implementation candidate, not a trusted route.
Use It In This Order
- Classify the proposed prompt/data. Private archive, credentials, customer
data, and whole transcripts stay local unless the user explicitly authorizes that provider and scope.
- Freeze the provider model, endpoint, request budget, and fallback in the
integration plan. Do not inherit defaults from a community wrapper.
- Save a redacted request-history fixture that explicitly declares whether the
outbound request carries tools, then run:
The fixture shape is {"outbound_request":{"tools":[...]},"messages":[...]}; use "tools": [] only for an outbound tools-free request.
``text python skills/operational/deepseek-provider-contract/scripts/validate_deepseek_history.py fixture.json ``
- Run the provider only in a bounded, opt-in experiment. Record model, endpoint,
max output, cache-usage fields, request digest, and observed result.
- Compare against the incumbent on the same frozen task before adding any route
to a workflow. A passing history fixture proves message lifecycle only; it does not prove quality, price, availability, or data handling.
Required Invariants
- In thinking mode with tools, preserve the provider's complete assistant
message, including reasoning_content and tool_calls. Do not rebuild a reduced assistant message from content alone.
- Each tool result has the exact prior
tool_call_id. - While a request carries
tools, retain the documentedreasoning_content
from prior assistant turns in its history. Do not reduce this to only the most recent tool-call turn; check the current provider documentation because model and endpoint semantics change.
- Use strict schema only with the beta endpoint and only after validating the
supported JSON Schema subset. Never call a schema "strict" merely because it looks valid locally.
- Set output bounds explicitly and make cache hits/misses observability, not a
correctness promise.
Adoption Decision
Adopt a DeepSeek route only when all are true:
- The offline history validator and its regression tests pass.
- A redacted live canary succeeds with the exact frozen integration.
- The frozen benchmark beats or materially supplements the current route.
- Provider data scope and failure fallback are written down.
Otherwise keep this skill and the fixture only; do not install a global MCP.
Gotchas
- For a tools-bearing request, the current DeepSeek documentation requires the
prior assistant reasoning_content; a tools-free request has different context semantics. Treat the offline validator as a narrow fixture check, not a substitute for the live API contract.
- A response can say cache-hit while quality or latency still changes; measure
those separately.
- A history normalizer that strips
reasoning_contentcan make the next
tools-bearing request request fail with HTTP 400 even if the first request succeeded.
- Model names, limits, pricing, and beta semantics are provider facts: re-check
the official documentation at the integration date.
Troubleshooting
| Symptom | Likely cause | Fix | |
|---|---|---|---|
| HTTP 400 after a tool result | Assistant reasoning was discarded | Preserve the complete assistant tool-call message and rerun the validator | |
| Tool JSON is rejected in strict mode | Wrong endpoint or unsupported schema | Use the beta endpoint, validate the schema subset, or turn strict mode off | |
| Wrapper works once then loses context | History was normalized too aggressively | Compare its persisted fixture with the provider contract | |
| Temptation to add global MCP | Scope and data boundary were skipped | Keep it opt-in until a frozen canary and benchmark pass |
Sources
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/operational/deepseek-provider-contract/SKILL.md
Popularity
- Repository stars
- 150
- Repository forks
- 24
- 7-day trend score
- 25
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/anastasiyaw/codex-claude-code-config/deepseek-provider-contract)