claude-code – skill Lập trình cho agent AI
Giao việc lập trình cho Claude Code CLI (tính năng, PR).
Cài skill claude-code bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/claude-code-7d269.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /claude-code – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/claude-code-7d269.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $claude-code – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/claude-code-7d269.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /claude-code – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/claude-code-7d269.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /claude-code – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Claude Code — Hermes Orchestration Guide
Delegate coding tasks to [Claude Code](https://code.claude.com/docs/en/cli-reference) (Anthropic's autonomous coding agent CLI) via the Hermes terminal. Claude Code v2.x can read files, write code, run shell commands, spawn subagents, and manage git workflows autonomously.
Prerequisites
- Install:
npm install -g @anthropic-ai/claude-code - Auth: run
claudeonce to log in (browser OAuth for Pro/Max, or setANTHROPIC_API_KEY) - Console auth:
claude auth login --consolefor API key billing - SSO auth:
claude auth login --ssofor Enterprise - Check status:
claude auth status(JSON) orclaude auth status --text(human-readable) - Health check:
claude doctor— checks auto-updater and installation health - Version check:
claude --version(requires v2.x+) - Update:
claude updateorclaude upgrade
Two Orchestration Modes
Hermes interacts with Claude Code in two fundamentally different ways. Choose based on the task.
Mode 1: Print Mode (-p) — Non-Interactive (PREFERRED for most tasks)
Print mode runs a one-shot task, returns the result, and exits. No PTY needed. No interactive prompts. This is the cleanest integration path.
terminal(command="claude -p 'Add error handling to all API calls in src/' --allowedTools 'Read,Edit' --max-turns 10", workdir="/path/to/project", timeout=120)When to use print mode:
- One-shot coding tasks (fix a bug, add a feature, refactor)
- CI/CD automation and scripting
- Structured data extraction with
--json-schema - Piped input processing (
cat file | claude -p "analyze this") - Any task where you don't need multi-turn conversation
Print mode skips ALL interactive dialogs — no workspace trust prompt, no permission confirmations. This makes it ideal for automation.
Mode 2: Interactive PTY via tmux — Multi-Turn Sessions
Interactive mode gives you a full conversational REPL where you can send follow-up prompts, use slash commands, and watch Claude work in real time. Requires tmux orchestration.
# Start a tmux session
terminal(command="tmux new-session -d -s claude-work -x 140 -y 40")
# Launch Claude Code inside it
terminal(command="tmux send-keys -t claude-work 'cd /path/to/project && claude' Enter")
# Wait for startup, then send your task
# (after ~3-5 seconds for the welcome screen)
terminal(command="sleep 5 && tmux send-keys -t claude-work 'Refactor the auth module to use JWT tokens' Enter")
# Monitor progress by capturing the pane
terminal(command="sleep 15 && tmux capture-pane -t claude-work -p -S -50")
# Send follow-up tasks
terminal(command="tmux send-keys -t claude-work 'Now add unit tests for the new JWT code' Enter")
# Exit when done
terminal(command="tmux send-keys -t claude-work '/exit' Enter")When to use interactive mode:
- Multi-turn iterative work (refactor → review → fix → test cycle)
- Tasks requiring human-in-the-loop decisions
- Exploratory coding sessions
- When you need to use Claude's slash commands (
/compact,/review,/model)
PTY Dialog Handling (CRITICAL for Interactive Mode)
Claude Code presents up to two confirmation dialogs on first launch. You MUST handle these via tmux send-keys:
Dialog 1: Workspace Trust (first visit to a directory)
❯ 1. Yes, I trust this folder ← DEFAULT (just press Enter)
2. No, exitHandling: tmux send-keys -t <session> Enter — default selection is correct.
Dialog 2: Individual Permission Prompts (normal flow)
Each tool use that needs approval (file write, shell command, network) shows a prompt. Answer that one prompt — this is different from disabling prompts for the whole run:
# Read the prompt before answering it
terminal(command="tmux capture-pane -t <session> -p -S -30")
# Allow this one action (Enter = default "Yes"); Esc declines it
terminal(command="tmux send-keys -t <session> Enter")Never send a blind Enter on a timer to approve prompts you have not read — that is the bypass flag with extra steps.
A narrower opt-in than the full bypass is --permission-mode acceptEdits: file edits in the working directory are accepted, shell and other tool calls still prompt. Use it only in a dedicated worktree after reviewing the task.
Robust Dialog Handling Pattern
# Default launch — keep permission prompts enabled
terminal(command="tmux send-keys -t claude-work 'claude \"your task\"' Enter")
# Handle trust dialog (Enter for default "Yes")
terminal(command="sleep 4 && tmux send-keys -t claude-work Enter")
# Now wait for Claude to work
terminal(command="sleep 15 && tmux capture-pane -t claude-work -p -S -60")Note: After the first trust acceptance for a directory, the trust dialog won't appear again.
Opt-in: --dangerously-skip-permissions (isolated environments only)
This disables permission prompts for the whole run — grants filesystem, shell, and network access with no prompts. Acceptable only in a throwaway worktree or isolated container.
❯ 1. No, exit ← DEFAULT (safe choice)
2. Yes, I acceptTo accept: tmux send-keys -t <session> Down && sleep 0.3 && tmux send-keys -t <session> Enter
CLI Subcommands
| Subcommand | Purpose |
|------------|---------|
| claude | Start interactive REPL |
| claude "query" | Start REPL with initial prompt |
| claude -p "query" | Print mode (non-interactive, exits when done) |
| cat file \| claude -p "query" | Pipe content as stdin context |
| claude -c | Continue the most recent conversation in this directory |
| claude -r "id" | Resume a specific session by ID or name |
| claude auth login | Sign in (add --console for API billing, --sso for Enterprise) |
| claude auth status | Check login status (returns JSON; --text for human-readable) |
| claude mcp add <name> -- <cmd> | Add an MCP server |
| claude mcp list | List configured MCP servers |
| claude mcp remove <name> | Remove an MCP server |
| claude agents | List configured agents |
| claude doctor | Run health checks on installation and auto-updater |
| claude update / claude upgrade | Update Claude Code to latest version |
| claude remote-control | Start server to control Claude from claude.ai or mobile app |
| claude install [target] | Install native build (stable, latest, or specific version) |
| claude setup-token | Set up long-lived auth token (requires subscription) |
| claude plugin / claude plugins | Manage Claude Code plugins |
| claude auto-mode | Inspect auto mode classifier configuration |
Print Mode Deep Dive
Structured JSON Output
terminal(command="claude -p 'Analyze auth.py for security issues' --output-format json --max-turns 5", workdir="/project", timeout=120)Returns a JSON object with:
{
"type": "result",
"subtype": "success",
"result": "The analysis text...",
"session_id": "75e2167f-...",
"num_turns": 3,
"total_cost_usd": 0.0787,
"duration_ms": 10276,
"stop_reason": "end_turn",
"terminal_reason": "completed",
"usage": { "input_tokens": 5, "output_tokens": 603, ... },
"modelUsage": { "claude-sonnet-4-6": { "costUSD": 0.078, "contextWindow": 200000 } }
}Key fields: session_id for resumption, num_turns for agentic loop count, total_cost_usd for spend tracking, subtype for success/error detection (success, error_max_turns, error_budget).
Streaming JSON Output
For real-time token streaming, use stream-json with --verbose:
terminal(command="claude -p 'Write a summary' --output-format stream-json --verbose --include-partial-messages", timeout=60)Returns newline-delimited JSON events. Filter with jq for live text:
claude -p "Explain X" --output-format stream-json --verbose --include-partial-messages | \
jq -rj 'select(.type == "stream_event" and .event.delta.type? == "text_delta") | .event.delta.text'Stream events include system/api_retry with attempt, max_retries, and error fields (e.g., rate_limit, billing_error).
Bidirectional Streaming
For real-time input AND output streaming:
claude -p "task" --input-format stream-json --output-format stream-json --replay-user-messages--replay-user-messages re-emits user messages on stdout for acknowledgment.
Piped Input
# Pipe a file for analysis
terminal(command="cat src/auth.py | claude -p 'Review this code for bugs' --max-turns 1", timeout=60)
# Pipe multiple files
terminal(command="cat src/*.py | claude -p 'Find all TODO comments' --max-turns 1", timeout=60)
# Pipe command output
terminal(command="git diff HEAD~3 | claude -p 'Summarize these changes' --max-turns 1", timeout=60)JSON Schema for Structured Extraction
terminal(command="claude -p 'List all functions in src/' --output-format json --json-schema '{\"type\":\"object\",\"properties\":{\"functions\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"functions\"]}' --max-turns … (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- android-cli – Điều phối các tác vụ phát triển Android gồm tạo dự án, triển khai, quản lý SDK và chẩn…
- android-dev – Hướng dẫn phát triển ứng dụng Android chuẩn production, bao gồm native (Kotlin/Java), đa…
- angular-best-practices – Hướng dẫn tối ưu hiệu năng và thực hành tốt nhất cho Angular. Dùng khi viết, review hoặc…
- browserstack – Chạy kiểm thử trên BrowserStack. Dùng khi người dùng nhắc đến “browserstack”…
- hunt-aspnet – Săn bề mặt tấn công đặc thù ASP.NET — giải mã ViewState (chỉ ký vs mã hóa), khôi phục…
- animated-github-profile – Xây dựng README hồ sơ GitHub có hiệu ứng động, nổi bật như phim ngắn, chỉ dùng SVG, CSS…
- debugging-strategies – Thành thạo các kỹ thuật debug có hệ thống, công cụ profiling và phân tích nguyên nhân…
- business-operations-skills – Dùng khi vận hành, chẩn đoán hoặc thiết kế hoạt động nội bộ doanh nghiệp — tài liệu hóa…