skills/gco-translate/SKILL.md
Translation using GitHub Copilot CLI (free GPT-4.1 tier). PREFERRED when Codex quota is low. Use when: (1) User says 'gco translate', 'copilot translate', or '/gco-translate', (2) Translating between languages (Japanese, English, etc.), (3) Translating documentation, comments, or UI strings with zero token cost. Copilot drafts, Claude Code reviews and writes. Falls back to Claude Code if Copilot rate-limited.
npx skillsauth add takazudo/claude-resources gco-translateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Translation via GitHub Copilot CLI (gco-pure.sh), reviewed and finalized by Claude Code. Uses GPT-4.1 on the free Copilot tier.
GCO_PURE="$HOME/.claude/skills/gco/scripts/gco-pure.sh"
If the file does not exist or is not executable, report "gco-pure.sh not found. Ensure base/copilot-text-tools branch is merged." and fall back to Claude Code translation.
gco-pure.sh passes zero tool flags to Copilot — the model cannot read files or execute code. All file I/O is handled by Claude Code.
Check Copilot's current rate-limit state (informational only):
RATE_CHECK=$(node "$HOME/.claude/scripts/gco-rate-limit.js" check 2>&1)
gco-rate-limit.js check always exits 0. Output is either ok or degraded: … (Copilot in low-cost mode, still usable). Proceed regardless — this is informational context only.
Inline syntax: /gco-translate translate "hello" from en to ja
File syntax: /gco-translate translate path/to/source.md from en to ja
Translate the following text from <source-lang> to <target-lang>.
Context: <what the text is for — technical documentation, UI, blog, etc.>
Tone: <formal/casual/technical>
Rules:
- Preserve technical terms and code references as-is
- Maintain formatting (markdown, HTML tags, etc.)
- Preserve line breaks and paragraph structure
- Use natural phrasing in the target language
Text to translate:
---
<source text>
---
For file translation: Claude reads the source file content first. For content over ~100KB, write it to a temp file and pass as the second positional arg to gco-pure.sh.
GCO_PURE="$HOME/.claude/skills/gco/scripts/gco-pure.sh"
LOGDIR=$(node "$HOME/.claude/scripts/get-logdir.js")
mkdir -p "$LOGDIR"
DATETIME=$(date +%Y%m%d_%H%M%S)
DRAFT_LOG="$LOGDIR/${DATETIME}-gco-translate-draft.md"
STDERR_LOG="$LOGDIR/${DATETIME}-gco-translate-draft-stderr.log"
# Guard: ensure gco-pure.sh exists — if missing, skip to Step 5 (fallback)
if [ ! -x "$GCO_PURE" ]; then
echo "gco-pure.sh not found or not executable: $GCO_PURE" >&2
exit 1 # caller (Claude) catches this and proceeds to Step 5
fi
# Inline translation: pipe source text via stdin
printf '%s' "<source text>" \
| bash "$GCO_PURE" "<translation prompt>" \
> "$DRAFT_LOG" \
2>"$STDERR_LOG"
# File translation (preferred for files, avoids shell-escaping issues):
# bash "$GCO_PURE" "<translation prompt>" "<source-file-path>" \
# > "$DRAFT_LOG" \
# 2>"$STDERR_LOG"
gco-pure.sh handles its own 15-minute internal timeout. No outer timeout needed.
After Copilot completes, check output files:
node "$HOME/.claude/scripts/gco-rate-limit.js" check-output \
"$DRAFT_LOG" \
"$STDERR_LOG"
RATE_OUT_EXIT=$?
If RATE_OUT_EXIT is non-zero (rate limit pattern detected), proceed to Step 5: Fallback.
Then check if draft output is empty:
DRAFT_CONTENT=$(cat "$DRAFT_LOG" 2>/dev/null)
If DRAFT_CONTENT is empty or blank, proceed to Step 5: Fallback. Do not continue to Step 6 with an empty draft.
If gco-pure.sh is not found, Copilot times out, produces no output, or rate limit is detected:
For inline translation: output the final translation to stdout.
For file translation: Claude writes the output file directly. Copilot never touches the filesystem.
Present the translation to the user. For file translation, show the output file path. Include the draft log path for debugging.
gco-pure.sh has an internal 15-minute (900s) timeout — no outer wrapper neededgco-pure.sh runs with --available-tools (empty list) — zero tool access to Copilotgco-pure.sh "<prompt>" "<file-path>" form (second positional arg) instead of stdin to avoid shell-escaping issues$LOGDIR/${DATETIME}-gco-translate-draft.md for debugging even in fallback scenariostools
Acceptance gate for a branch produced by an OpenAI Codex CLI run — usually Codex implementing a /big-plan epic that was handed off to it. Codex reports the work 'done' (or the user flags it WIP with corrections); this skill confirms the branch actually fulfils the original spec, fixes what falls short, and routes larger discoveries into GitHub issues. Use when: (1) User says '/finalize-codex-work', 'finalize codex work', 'confirm the codex work', 'check the codex branch', or 'codex said it's done', (2) A branch is the result of a Codex CLI session and needs verification against its spec issue/PR, (3) After assigning a /big-plan epic to Codex CLI. Pass -m/--merge to run /pr-complete -c at the end.
tools
Read a Figma design node directly from a share URL via the Figma REST API — no Dev Mode subscription, no MCP, no desktop app. Renders the node to PNG and dumps its full style/layout JSON so the design can be described, compared, or implemented. Use whenever the user gives a Figma design URL (figma.com/design/... or /file/...) and wants to see, read, inspect, reference, or implement that node — including `/fig-url-refer <url>`. This is the URL-based counterpart to `/figrefer` (which needs a Dev-plan desktop MCP); prefer this one when the input is a URL rather than a live desktop selection.
tools
Sync the user's Claude Code workflow skills into the OpenAI Codex CLI settings repo ($HOME/.codex) as Codex-native ports, fix the Codex .gitignore for new local state, then commit and push. Use when: (1) user says '/dev-codex-sync-settings-from-claude', 'sync codex settings', 'sync claude skills to codex', 'port skills to codex', or 'update codex from claude'; (2) after updating ~/.claude workflow skills (big-plan, x, x-as-pr, x-wt-teams) and Codex should catch up; (3) the $HOME/.codex repo has drifted behind $HOME/.claude. The ports are condensed Codex-native REWRITES, never file copies.
development
Analyze a video file (mov, mp4, webm, etc.) or a YouTube video by extracting still frames with ffmpeg and reading them chronologically with vision — Claude cannot ingest video files directly. Use whenever the user provides a video file path or YouTube URL and wants to know what happens in it: "read this video", "watch this video", "check this recording", "what happens in this .mov/.mp4", analyzing a screen recording of a UI bug, or verifying UI behavior captured in a video, even if they don't name this skill.