deepl
Übersetzt Texte, Dokumente und XLIFF-Dateien via DeepL API. Verwende für Übersetzungen mit /deepl translate, /deepl file oder /deepl xliff.
What this skill does
# DeepL Translation Skill
Übersetzt Texte, Dokumente und XLIFF-Dateien via DeepL API.
## Konfiguration
**Erforderlich:**
- `DEEPL_API_KEY` - DeepL API-Schlüssel
**Optional:**
- `DEEPL_TARGET_LANG` - Standard-Zielsprache (Default: `DE`)
## Verfügbare Befehle
| Befehl | Beschreibung |
|--------|--------------|
| `/deepl translate "<text>"` | Text übersetzen |
| `/deepl file <path>` | Dokument übersetzen |
| `/deepl xliff <path>` | XLIFF-Datei übersetzen |
## Gemeinsame Optionen
- `--to <LANG>` - Zielsprache (z.B. EN, DE, FR)
- `--from <LANG>` - Quellsprache (sonst Auto-Detect)
## API-Konfiguration
### API-Key Prüfung
Vor jedem API-Call prüfen:
```bash
if [ -z "$DEEPL_API_KEY" ]; then
echo "❌ DEEPL_API_KEY nicht gesetzt"
echo ""
echo "Setup:"
echo " export DEEPL_API_KEY='your-api-key'"
echo ""
echo "API-Key erhältlich unter: https://www.deepl.com/pro-api"
exit 1
fi
```
### API-Endpunkt bestimmen
DeepL Free Keys enden auf `:fx`:
```bash
if [[ "$DEEPL_API_KEY" == *":fx" ]]; then
DEEPL_API_URL="https://api-free.deepl.com/v2"
else
DEEPL_API_URL="https://api.deepl.com/v2"
fi
```
### Zielsprache bestimmen
```bash
TARGET_LANG="${DEEPL_TARGET_LANG:-DE}"
# Kann mit --to überschrieben werden
```
---
## /deepl translate
Übersetzt freien Text.
### Syntax
```
/deepl translate "<text>" [--to LANG] [--from LANG]
```
### Beispiele
```
/deepl translate "Hello, how are you?"
/deepl translate "Guten Morgen" --to EN
/deepl translate "Bonjour" --from FR --to DE
```
### Anweisungen
1. **Parameter parsen:**
- Text aus Anführungszeichen extrahieren
- `--to` und `--from` Flags verarbeiten
2. **API-Call ausführen:**
```bash
# Variablen setzen
TEXT="{{user_text}}"
TARGET="${TARGET_LANG}" # aus --to oder Environment
SOURCE_PARAM=""
if [ -n "$SOURCE_LANG" ]; then
SOURCE_PARAM="--data-urlencode \"source_lang=$SOURCE_LANG\""
fi
# API-Call
RESPONSE=$(curl -s -X POST "$DEEPL_API_URL/translate" \
-H "Authorization: DeepL-Auth-Key $DEEPL_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "text=$TEXT" \
--data-urlencode "target_lang=$TARGET" \
$SOURCE_PARAM)
# Ergebnis extrahieren
TRANSLATED=$(echo "$RESPONSE" | jq -r '.translations[0].text // empty')
DETECTED_LANG=$(echo "$RESPONSE" | jq -r '.translations[0].detected_source_language // empty')
if [ -z "$TRANSLATED" ]; then
ERROR=$(echo "$RESPONSE" | jq -r '.message // "Unbekannter Fehler"')
echo "❌ Übersetzung fehlgeschlagen: $ERROR"
exit 1
fi
echo "📝 Original ($DETECTED_LANG): $TEXT"
echo "✅ Übersetzung ($TARGET): $TRANSLATED"
```
### Error Handling
| HTTP Code | Bedeutung | Aktion |
|-----------|-----------|--------|
| 403 | Ungültiger API-Key | Key prüfen |
| 429 | Rate Limit | 1s warten, retry |
| 456 | Quota überschritten | DeepL-Konto prüfen |
---
## /deepl file
Übersetzt Dokumente (DeepL-native Formate).
### Unterstützte Formate
| Format | Extension |
|--------|-----------|
| Microsoft Word | .docx |
| Microsoft PowerPoint | .pptx |
| PDF | .pdf (nur Pro) |
| HTML | .html, .htm |
| Plain Text | .txt |
### Syntax
```
/deepl file <path> [--to LANG] [--from LANG] [--output <path>]
```
### Beispiele
```
/deepl file README.txt --to EN
/deepl file document.docx --to FR --output document_fr.docx
```
### Anweisungen
1. **Datei prüfen:**
```bash
FILE_PATH="{{user_path}}"
if [ ! -f "$FILE_PATH" ]; then
echo "❌ Datei nicht gefunden: $FILE_PATH"
exit 1
fi
# Extension prüfen
EXT="${FILE_PATH##*.}"
case "$EXT" in
docx|pptx|pdf|html|htm|txt) ;;
md)
# Markdown als txt behandeln
EXT="txt"
;;
*)
echo "❌ Format nicht unterstützt: .$EXT"
echo "Unterstützt: docx, pptx, pdf, html, txt"
exit 1
;;
esac
```
2. **Dokument hochladen:**
```bash
UPLOAD_RESPONSE=$(curl -s -X POST "$DEEPL_API_URL/document" \
-H "Authorization: DeepL-Auth-Key $DEEPL_API_KEY" \
-F "file=@$FILE_PATH" \
-F "target_lang=$TARGET_LANG")
DOC_ID=$(echo "$UPLOAD_RESPONSE" | jq -r '.document_id // empty')
DOC_KEY=$(echo "$UPLOAD_RESPONSE" | jq -r '.document_key // empty')
if [ -z "$DOC_ID" ]; then
ERROR=$(echo "$UPLOAD_RESPONSE" | jq -r '.message // "Upload fehlgeschlagen"')
echo "❌ $ERROR"
exit 1
fi
echo "📤 Dokument hochgeladen (ID: $DOC_ID)"
```
3. **Status prüfen (polling):**
```bash
echo "⏳ Übersetze..."
while true; do
STATUS_RESPONSE=$(curl -s -X POST "$DEEPL_API_URL/document/$DOC_ID" \
-H "Authorization: DeepL-Auth-Key $DEEPL_API_KEY" \
-d "document_key=$DOC_KEY")
STATUS=$(echo "$STATUS_RESPONSE" | jq -r '.status')
case "$STATUS" in
"done")
echo "✅ Übersetzung fertig"
break
;;
"error")
ERROR=$(echo "$STATUS_RESPONSE" | jq -r '.message')
echo "❌ Fehler: $ERROR"
exit 1
;;
"translating"|"queued")
sleep 2
;;
esac
done
```
4. **Dokument herunterladen:**
```bash
# Output-Pfad bestimmen
if [ -z "$OUTPUT_PATH" ]; then
BASENAME="${FILE_PATH%.*}"
OUTPUT_PATH="${BASENAME}_${TARGET_LANG}.${EXT}"
fi
curl -s -X POST "$DEEPL_API_URL/document/$DOC_ID/result" \
-H "Authorization: DeepL-Auth-Key $DEEPL_API_KEY" \
-d "document_key=$DOC_KEY" \
-o "$OUTPUT_PATH"
echo "📥 Gespeichert: $OUTPUT_PATH"
```
---
## /deepl xliff
Übersetzt XLIFF-Dateien (TYPO3, Symfony, etc.).
### Syntax
```
/deepl xliff <path> [--to LANG] [--force] [--dry-run] [--output <path>]
```
### Optionen
| Option | Beschreibung |
|--------|--------------|
| `--force` | Alle Übersetzungen neu erstellen |
| `--dry-run` | Nur zeigen was übersetzt würde |
| `--output <path>` | In neue Datei schreiben |
### Beispiele
```
/deepl xliff locallang.xlf --to DE
/deepl xliff locallang.xlf --force --to FR
/deepl xliff locallang.xlf --dry-run
```
### Anweisungen
1. **XLIFF-Datei einlesen und validieren:**
```bash
XLIFF_PATH="{{user_path}}"
if [ ! -f "$XLIFF_PATH" ]; then
echo "❌ Datei nicht gefunden: $XLIFF_PATH"
exit 1
fi
# XML validieren
if ! xmllint --noout "$XLIFF_PATH" 2>/dev/null; then
echo "❌ Ungültiges XML in: $XLIFF_PATH"
exit 1
fi
```
2. **Trans-units extrahieren die Übersetzung brauchen:**
```bash
# XLIFF 1.2: <trans-unit> mit leerem/fehlendem <target>
# XLIFF 2.0: <unit>/<segment> mit leerem/fehlendem <target>
# Für XLIFF 1.2:
UNITS_TO_TRANSLATE=$(xmllint --xpath "//trans-unit[not(target) or target='']" "$XLIFF_PATH" 2>/dev/null)
# Bei --force: alle Units
if [ "$FORCE" = "true" ]; then
UNITS_TO_TRANSLATE=$(xmllint --xpath "//trans-unit" "$XLIFF_PATH" 2>/dev/null)
fi
```
3. **Source-Texte sammeln:**
```bash
# Alle source-Texte extrahieren
SOURCES=$(xmllint --xpath "//trans-unit/source/text()" "$XLIFF_PATH" 2>/dev/null)
# Als Array für Batch-Übersetzung
readarray -t SOURCE_ARRAY <<< "$SOURCES"
```
4. **Batch-Übersetzung via API:**
```bash
# DeepL unterstützt mehrere Texte in einem Request
# Baue JSON-Array für text Parameter
TRANSLATIONS=()
for SOURCE in "${SOURCE_ARRAY[@]}"; do
RESPONSE=$(curl -s -X POST "$DEEPL_API_URL/translate" \
-H "Authorization: DeepL-Auth-Key $DEEPL_API_KEY" \
--data-urlencode "text=$SOURCE" \
--data-urlencode "target_lang=$TARGET_LANG")
TRANSLATED=$(echo "$RESPONSE" | jq -r '.translations[0].text')
TRANSLATIONS+=("$TRANSLATED")
done
```
5. **Bei --dry-run: Nur anzeigen:**
```bash
if [ "$DRY_RUN" = "true" ]; then
echo "📋 Würde übersetzen:"
echo ""
for i in "${!SOURCE_ARRAY[@]}"; do
echo " Source: ${SOURCE_ARRAY[$i]}"
echo " Target: ${TRANSLATIONS[$i]}"
echo ""
done
echo "Gesamt: ${#SOURCE_ARRAY[@]} Einheiten"
exit 0
fi
```
6. **XLIFF-Datei aktualisieren:**
Da XML-Manipulation in Bash komplex ist, verwende Python wenn verfügbar:
```python
import xml.etree.ElementTree as ET
tree = ET.parse(xliff_path)
root = tree.getroot()
# NameRelated in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.