Communitygithub.com

roebi/agent-skills

AI 代理技能庫,專為使用技能的 AI 代理所設計

agent-skills 是什麼?

這是一個為 AI 代理(如 Claude Code、Cursor 或 Codex)設計的完整終端機與 CLI 技能知識庫。它提供從基本 Bash 操作到容器編排、HTTP 請求及 AI 代理執行等完整技術棧的參考。技能涵蓋命令執行、工具檢查、管線、檔案系統操作、腳本撰寫、環境變數管理等常見模式;並提供 `references/` 目錄下的詳細參考文件,包括 Bash 核心、容器(Podman、kubectl、Helm)、cURL 以及 AI 代理(aider-chat、Claude CLI)等主題。此技能可協助 AI 代理在 Linux 終端機環境中高效、安全地執行任務,並遵循腳本最佳實踐,如使用 `set -euo pipefail` 和正確引用變數。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add roebi/agent-skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

終端機與 CLI 技能

在 Linux 終端機中工作的參考 — 涵蓋從基本 bash 到容器編排及 AI 代理執行的完整技術棧。

如何使用此技能

此檔案涵蓋最常見的模式。如需詳細命令參考,請按需載入 references/ 中的相關檔案:

主題參考檔案
Bash 核心:管道、腳本、檔案系統、安裝、環境變數references/bash.md
容器:Podman、Kubernetes (kubectl)、Helmreferences/containers.md
HTTP 請求:curlreferences/curl.md
AI 代理:aider-chat、claude CLIreferences/agents.md

1. 執行 bash 命令

command [options] [arguments]

# 依序執行 — 遇到第一個失敗即停止
cmd1 && cmd2 && cmd3

# 無論失敗與否皆執行
cmd1; cmd2; cmd3

# 將輸出擷取到變數
OUTPUT=$(command)

# 重新導向 stdout / stderr / 兩者
command > out.txt
command 2> err.txt
command &> all.txt

# 捨棄所有輸出
command > /dev/null 2>&1

2. 檢查工具是否存在

type -a tool_name      # 所有找到 tool 的位置
apropos keyword        # 尋找符合關鍵字的命令
which tool_name        # PATH 上的第一個二進位檔
whereis tool_name      # 二進位檔、原始碼及 man page 位置

3. 結合 &&

# 僅在先前的命令成功時才繼續
sudo apt update && sudo apt upgrade -y

# 安全地鏈結多個步驟
mkdir -p build && cd build && cmake ..

4. 使用 | 管道

# 將一個命令的 stdout 作為 stdin 傳遞給下一個命令
cmd1 | cmd2 | cmd3

# 常見模式
ls -la | grep ".conf"
ps aux | grep nginx
journalctl -u myservice | grep ERROR | tail -20
cat file.txt | wc -l

5. 使用 cat 讀取內容

cat file.txt                   # 將完整檔案輸出到 stdout
cat file1.txt file2.txt        # 串接多個檔案
head -n 20 file.txt            # 前 20 行
tail -n 20 file.txt            # 後 20 行
tail -f /var/log/app.log       # 即時追蹤日誌輸出
less file.txt                  # 分頁檢視(按 q 退出)
grep "pattern" file.txt        # 符合模式的行
grep -r "pattern" ./dir/       # 在目錄中遞迴搜尋
grep -n "pattern" file.txt     # 顯示行號
grep -i "pattern" file.txt     # 不區分大小寫

6. 排序結果

sort file.txt                  # 字母順序(升序)
sort -r file.txt               # 反向順序
sort -n file.txt               # 數字排序
sort -k2 file.txt              # 按第 2 欄排序
sort -t: -k3 -n /etc/passwd    # 自訂分隔符 (:)、第 3 欄、數字排序
ls -la | sort -k5 -n           # 依檔案大小排序 ls 輸出(第 5 欄)

7. 唯一結果

# uniq 僅移除*連續*重複 — 務必先進行排序
sort file.txt | uniq            # 去除重複
sort file.txt | uniq -c        # 計算出現次數
sort file.txt | uniq -d        # 僅顯示重複行
sort file.txt | uniq -u        # 僅顯示出現一次的行

# 典型管道:統計日誌中錯誤類型數量
cat app.log | grep ERROR | sort | uniq -c | sort -rn

8. 使用 heredoc 撰寫並執行腳本

# 內聯建立腳本檔案
cat << 'EOF' > myscript.sh
#!/bin/bash
set -euo pipefail   # 遇到錯誤、未設定變數或管道失敗時退出

echo "Today: $(date +%Y-%m-%d)"

for i in 1 2 3; do
  echo "Step $i"
done
EOF

chmod +x myscript.sh
./myscript.sh

# 或直接執行而不建立檔案
bash << 'EOF'
echo "內聯執行"
ls -la /tmp
EOF

腳本最佳實踐:

  • 始終以 #!/bin/bash 開頭
  • 使用 set -euo pipefail 作為安全預設
  • 始終引用變數:使用 "$VAR" 而非 $VAR
  • 使用 $(...) 取代反引號

9. 檔案系統 — 快速參考

# 導覽與檢查
pwd && ls -lah              # 我在哪裡 + 這裡有什麼
tree -L 2                   # 目錄樹(2 層深度)
find /path -name "*.log"    # 依名稱搜尋
du -sh /path                # 目錄的大小
df -h                       # 所有掛載點的磁碟使用量

# 建立 / 複製 / 移動 / 刪除
mkdir -p /path/to/dir       # 建立(含父目錄)
cp -r src/ dst/             # 複製目錄
mv src dst                  # 移動或重新命名
rm -rf dir/                 # 遞迴刪除(不可逆)

# 權限與擁有者
chmod +x file               # 設為可執行
chmod 644 file              # rw-r--r--
chown user:group file       # 變更擁有者

# 連結
ln -s /target /link         # 符號連結
readlink -f /link           # 解析符號連結為真實路徑

# 掛載
mount                       # 列出所有啟用的掛載
lsblk                       # 區塊裝置樹
findmnt                     # 掛載點樹

→ 完整檔案系統參考:references/bash.md

10. 安裝與更新 — 快速參考

# APT
sudo apt update && sudo apt upgrade -y
sudo apt install -y package-name

# pip (Python)
pip install package --break-system-packages

# npm (Node.js)
npm install -g package-name

→ 完整安裝參考(snap、原始碼編譯、pip 選項):references/bash.md

11. 取得命令的說明

command --help              # 內聯說明(最快)
man command                 # 完整 man page
apropos keyword             # 搜尋 man page 摘要
whatis command              # 一行描述
info command                # GNU info 頁面(適用於 GNU 工具)
help cd                     # Shell 內建命令的說明

12. 環境變數 — 快速參考

export VAR="value"          # 為目前 Shell 及其子程序設定
unset VAR                   # 移除變數
env                         # 列出所有環境變數
VAR=value command           # 僅為單一命令設定

→ 變數持久化、載入 .env 檔案:references/bash.md


詳細參考

當你需要完整的命令覆蓋範圍時,請載入這些檔案:

  • references/bash.md — 完整檔案系統、安裝/更新、環境變數、腳本模式
  • references/containers.md — Podman、kubectl、Helm
  • references/curl.md — 用於 HTTP 請求的 curl
  • references/agents.md — aider-chat 與 claude CLI

相關技能