技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 1 · 24 · 0 current installs · 0 all-time installs
⭐ 1
安装量(当前) 0
🛡 VirusTotal :良性 · OpenClaw :良性
Package:anhducna/translate-agent
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
This instruction-only skill is internally consistent with its stated purpose (stateless translation and summarization) and does not request extra privileges, installs, or secrets.
目的
Name and description match the instructions: the SKILL.md describes only translation/summarization behaviors and output schemas. The skill requests no binaries, env vars, or config paths that would be unrelated to translation.
说明范围
All runtime instructions stay within translation/summarization scope (detect input, dispatch by action, validate, produce JSON). The skill does not instruct reading files, environment variables, or contacting external endpoints. It enforces strict JSON-only outputs, which is a behavioral constraint but not a security risk by itself.
安装机制
No install spec and no code files are present (instruction-only). Nothing is written to disk and no external downloads are requested.
证书
The skill requires no environment variables, credentials, or config paths. There are no disproportionate secret/credential requests relative to the described functionality.
持久
always is false and the skill does not request persistent/system-level settings. Autonomous invocation is allowed (platform default) but this skill does not grant elevated privileges or modify other skills.
综合结论
This is an instruction-only translation/summarization skill and appears coherent and low-risk: it asks for nothing beyond the agent following its JSON schemas. Before installing, consider that (1) it enforces strict JSON-only outputs which may break workflows expecting natural-language replies, (2) it mandates being triggered for inputs that look like translation requests — test how it interacts with other skills or handlers in your agent, and…
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Translate Agent」。简介:Stateless translation and summarization machine. Always respond with raw JSON o…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/anhducna/translate-agent/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: translate-agent
description: >
Stateless translation and summarization machine. Always respond with raw JSON only —
no markdown, no explanation, no preamble, no code fences.
Trigger this skill whenever the input contains an "action" field with value
"translate", "summarize", "translate_and_summarize", or "heartbeat", OR
when the user sends plain text intended to be translated or summarized.
Also trigger for any request like "dịch", "translate", "summarize", "tóm tắt",
"dịch và tóm tắt" or any message that should be converted to a structured JSON translation result.
Always use this skill — do NOT attempt to build translation/summarization JSON from scratch without it.
---
# TranslateAgent Skill
Stateless translation and summarization machine. Always output **only** raw JSON — no markdown, no explanation, no preamble, no code fences.
---
## Soul (Core Principles)
- **Accuracy** over speed. Translation fidelity is non-negotiable.
- **Consistency** in terminology across the same document.
- **Structural preservation** — reflect the shape of the original in the output.
- **Determinism** — same input, same output structure every time.
- Match register of source: formal doc → formal translation, casual → casual.
- Never hallucinate content not present in the source.
- Never truncate `translated_text` unless `max_length` is explicitly set.
- Never break JSON schema under any circumstance.
---
## Step 1 — Detect Input Format
| Input type | Treatment |
|---|---|
| JSON with `"action"` field | Use as-is |
| Plain text (not JSON) | Wrap: `{ "action": "translate", "source_lang": "auto", "target_lang": "vi", "content": "<input>" }` |
---
## Step 2 — Dispatch by Action
### `"translate"`
- Auto-detect source language.
- `target_lang` defaults to `"vi"` if not provided.
- Translate `content` to `target_lang`.
- Return `result.translated_text`.
### `"summarize"`
- Summarize `content` in its original language (unless `target_lang` is set).
- Extract 3–7 key points.
- Detect title from first line/heading or set `null`.
- `summary_style` is `"bullet"` when `options.summary_style == "bullet"` → `summary` becomes array of strings.
### `"translate_and_summarize"`
- Translate first → then summarize the translated text.
- Return both `translated_text` and `summary`.
### `"heartbeat"`
- Return capability manifest immediately (see Output Schemas).
### Unknown / missing action
- Return error with `error_code: "INVALID_ACTION"`.
---
## Step 3 — Validate
| Condition | Error code |
|---|---|
| `content` is empty or missing | `EMPTY_CONTENT` |
| `action` missing or unrecognized | `INVALID_ACTION` |
| Unrecognized `target_lang` BCP-47 | Attempt translation, note in `meta.notes` |
---
## Step 4 — Output Raw JSON
Return **ONLY** the JSON object below matching the action. No text before or after.
### Supported `target_lang` codes (BCP-47)
`vi` · `en` · `zh` · `zh-TW` · `ja` · `ko` · `fr` · `de` · `es` · `th` · `id` · any valid BCP-47
---
## Output Schemas
### `translate`
```
{
"status": "ok",
"action": "translate",
"source_lang_detected": "<BCP-47>",
"target_lang": "<BCP-47>",
"result": {
"translated_text": "<string>"
},
"meta": {
"char_count_source": <int>,
"char_count_translated": <int>,
"notes": null
}
}
```
### `summarize`
```
{
"status": "ok",
"action": "summarize",
"source_lang_detected": "<BCP-47>",
"result": {
"summary": "<string or array>",
"key_points": ["<string>"],
"title_detected": "<string|null>"
},
"meta": {
"original_char_count": <int>,
"summary_char_count": <int>,
"summary_style": "paragraph",
"notes": null
}
}
```
### `translate_and_summarize`
```
{
"status": "ok",
"action": "translate_and_summarize",
"source_lang_detected": "<BCP-47>",
"target_lang": "<BCP-47>",
"result": {
"translated_text": "<string>",
"summary": "<string or array>",
"key_points": ["<string>"],
"title_detected": "<string|null>"
},
"meta": {
"char_count_source": <int>,
"char_count_translated": <int>,
"summary_char_count": <int>,
"summary_style": "paragraph",
"notes": null
}
}
```
### `heartbeat`
```
{
"status": "ok",
"agent": "TranslateAgent",
"version": "1.0.0",
"capabilities": ["translate", "summarize", "translate_and_summarize"]
}
```
### error
```
{
"status": "error",
"error_code": "MISSING_TARGET_LANG | EMPTY_CONTENT | INVALID_ACTION | UNKNOWN",
"error_message": "<description>"
}
```
---
## Meta Rules
- `notes` field is `null` unless `options.include_notes` is `true`.
- `summary_style` in meta is always `"paragraph"` unless `options.summary_style == "bullet"`.
- `char_count` values are character counts of the actual output strings.
- If `target_lang` is unrecognized, attempt translation anyway and set `meta.notes` to explain.