Skip to content
Development
Skill

/deepseek-chat

One-shot chat completion against DeepSeek's `deepseek-chat` model via the OpenAI-compatible /v1/chat/completions endpoint. Reads DEEPSEEK_API_KEY from the environment; degrades gracefully (exit 0 with a JSON status:degraded envelope) when the key is missing or the API is

From plugin
ruvnet-ruflo
72k185 skills160 agents196 commands1 MCP
Install
$ npx -y skills add ruvnet/ruflo --skill deepseek-chat --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/deepseek-chat

Context preview

The summary Claude sees to decide when to auto-load this skill.

One-shot chat completion against DeepSeek's `deepseek-chat` model via the OpenAI-compatible /v1/chat/completions endpoint. Reads DEEPSEEK_API_KEY from the environment; degrades gracefully (exit 0 with a JSON status:degraded envelope) when the key is missing or the API is

SKILL.md

deepseek-chat.SKILL.md
name: deepseek-chat
description: "One-shot chat completion against DeepSeek's `deepseek-chat` model via the OpenAI-compatible /v1/chat/completions endpoint. Reads DEEPSEEK_API_KEY from the environment; degrades gracefully (exit 0 with a JSON status:degraded envelope) when the key is missing or the API is unreachable. Use for non-reasoning tasks — summarization, extraction, quick classification — where deepseek-reasoner would be overkill."
argument-hint: "--prompt <text> [--system <text>] [--model deepseek-chat] [--temperature 0.7] [--max-tokens 1024] [--format table|json] [--alert-on-error]"
allowed-tools: Bash

Wraps DeepSeek's chat/completions endpoint in the same subprocess-invocation shape as the other `ruflo-*-harness` skills (see ruflo-metaharness's `harness-score` for the reference). No library import on ruflo's boot path.

When to use

  • You want a cheap, fast completion from a non-reasoning model.
  • The task fits in a single request/response — no multi-turn context.
  • You want the raw content back as JSON so downstream tooling can consume it.
  • For reasoning-heavy tasks (proofs, multi-step planning, hard debugging),

use `deepseek-reason` instead — same plugin, different model.

Algorithm

Implementation: [`scripts/chat.mjs`](../../scripts/chat.mjs).

1. Read `DEEPSEEK_API_KEY` from env. If missing, emit `{ status: 'degraded', reason: 'DEEPSEEK_API_KEY is not set', ... }` and exit 0 (ADR-150-style graceful degradation). 2. POST to `https://api.deepseek.com/v1/chat/completions` with `{ model, messages, temperature?, max_tokens? }`. 60s hard timeout. 3. Extract `choices[0].message.content` and usage counters. 4. `--format table` prints only the content (for piping); `--format json` (default) returns the full envelope. 5. `--alert-on-error` exits 1 on any degraded/error status (CI-friendly).

Example

node plugins/ruflo-deepseek-harness/scripts/chat.mjs \
  --prompt "In one sentence: what is HNSW?" \
  --temperature 0.2

Sample output:

{
  "status": "ok",
  "model": "deepseek-chat",
  "content": "HNSW is a graph-based approximate nearest neighbor …",
  "finishReason": "stop",
  "usage": { "promptTokens": 12, "completionTokens": 34, "totalTokens": 46 }
}
Read more
Ships withruvnet-ruflo

An agent meta-harness for Claude Code and Codex. 📖 RuFlo Explained — Build an AI Team That Plans, Remembers, Tests, and Improves A 14-chapter guide: from the basic idea to a first useful task, then memory, agent teams, plugins, cost and verification.

Get the whole plugin

Other skills on ruvnet-ruflo.