[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CXB2317FD7T07313N7PBNS":3,"skill-same:01M6CXB2317FD7T07313N7PBNS":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M6CXB2317FD7T07313N7PBNS","coding-agent",null,"Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.","albertdobmeyer\u002Fopentrapp","albertdobmeyer","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F116975874?v=4","01M6CXARYAZ30V12S7PSG93R84","Albert Dobmeyer","01M6CXAS2FG5GCXZYN3XBFJQV6",2,"MIT","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Fskills\u002Fcoding-agent\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33],"coding agent","coding","cli","codex","codex cli","run","code","pi","process","opencode","2026-11-10 10:12:30",false,"---\nname: coding-agent\nversion: 1.0.0\ndescription: Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.\nmetadata: {\"clawdbot\":{\"emoji\":\"?\",\"requires\":{\"anyBins\":[\"claude\",\"codex\",\"opencode\",\"pi\"]}}}\n---\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## When to Use\n\n- Running Codex CLI, Claude Code, OpenCode, or Pi for automated coding tasks\n- Batch processing multiple PRs, issues, or code reviews in parallel\n- Non-interactive code generation or refactoring with background monitoring\n- Orchestrating multiple coding agents across git worktrees\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats\u002Fscratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"\u003Cagent command>\"\n# Or for project work:\nbash workdir:~\u002Fproject\u002Ffolder background:true command:\"\u003Cagent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md ?).\n\n---\n\n## Codex CLI\n\n**Model:** `gpt-5.2-codex` is the default (set in ~\u002F.codex\u002Fconfig.toml)\n\n### Building\u002FCreating (use --full-auto or --yolo)\n```bash\n# --full-auto: sandboxed but auto-approves in workspace\nbash workdir:~\u002Fproject background:true command:\"codex exec --full-auto \\\"Build a snake game with dark theme\\\"\"\n\n# --yolo: NO sandbox, NO approvals (fastest, most dangerous)\nbash workdir:~\u002Fproject background:true command:\"codex --yolo \\\"Build a snake game with dark theme\\\"\"\n\n# Note: --yolo is a shortcut for --dangerously-bypass-approvals-and-sandbox\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in Clawdbot's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~\u002FProjects\u002Fclawdbot)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT clawdbot)\nbash workdir:~\u002FProjects\u002Fsome-other-repo background:true command:\"codex review --base main\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https:\u002F\u002Fgithub.com\u002Fclawdbot\u002Fclawdbot.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"codex review --base origin\u002Fmain\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add \u002Ftmp\u002Fpr-130-review pr-130-branch\nbash workdir:\u002Ftmp\u002Fpr-130-review background:true command:\"codex review --base main\"\n```\n\n**Why?** Checking out branches in the running Clawdbot repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs\u002Fpull\u002F*\u002Fhead:refs\u002Fremotes\u002Forigin\u002Fpr\u002F*'\n\n# Deploy the army - one Codex per PR!\nbash workdir:~\u002Fproject background:true command:\"codex exec \\\"Review PR #86. git diff origin\u002Fmain...origin\u002Fpr\u002F86\\\"\"\nbash workdir:~\u002Fproject background:true command:\"codex exec \\\"Review PR #87. git diff origin\u002Fmain...origin\u002Fpr\u002F87\\\"\"\nbash workdir:~\u002Fproject background:true command:\"codex exec \\\"Review PR #95. git diff origin\u002Fmain...origin\u002Fpr\u002F95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment \u003CPR#> --body \"\u003Creview content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs\u002Fpull\u002F*\u002Fhead:refs\u002Fremotes\u002Forigin\u002Fpr\u002F*'`\n- **Use git diff:** Tell Codex to use `git diff origin\u002Fmain...origin\u002Fpr\u002FXX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## Claude Code\n\n```bash\nbash workdir:~\u002Fproject background:true command:\"claude \\\"Your task\\\"\"\n```\n\n---\n\n## OpenCode\n\n```bash\nbash workdir:~\u002Fproject background:true command:\"opencode run \\\"Your task\\\"\"\n```\n\n---\n\n## Pi Coding Agent\n\n```bash\n# Install: npm install -g @mariozechner\u002Fpi-coding-agent\nbash workdir:~\u002Fproject background:true command:\"pi \\\"Your task\\\"\"\n```\n\n---\n\n## Pi flags (common)\n\n- `--print` \u002F `-p`: non-interactive; runs prompt and exits.\n- `--provider \u003Cname>`: pick provider (default: google).\n- `--model \u003Cid>`: pick model (default: gemini-2.5-flash).\n- `--api-key \u003Ckey>`: override API key (defaults to env vars).\n\nExamples:\n\n```bash\n# Set provider + model, non-interactive\nbash workdir:~\u002Fproject background:true command:\"pi --provider openai --model gpt-4o-mini -p \\\"Summarize src\u002F\\\"\"\n```\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd \u002Ftmp && git clone git@github.com:user\u002Frepo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix\u002Fissue-78 \u002Ftmp\u002Fissue-78 main\ngit worktree add -b fix\u002Fissue-99 \u002Ftmp\u002Fissue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-\u002Ftmp}\u002Fcodex-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Codex in each (after pnpm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd \u002Ftmp\u002Fissue-78 && pnpm install && codex --yolo 'Fix issue #78: \u003Cdescription>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd \u002Ftmp\u002Fissue-99 && pnpm install && codex --yolo 'Fix issue #99: \u003Cdescription>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd \u002Ftmp\u002Fissue-78 && git push -u origin fix\u002Fissue-78\ngh pr create --repo user\u002Frepo --head fix\u002Fissue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove \u002Ftmp\u002Fissue-78\ngit worktree remove \u002Ftmp\u002Fissue-99\n```\n\n**Why worktrees?** Each Codex works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Codex is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Codex, use Codex. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Codex processes at once for batch work\n7. **NEVER start Codex in ~\u002Fclawd\u002F** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or \u002Ftmp for blank slate chats\n8. **NEVER checkout branches in ~\u002FProjects\u002Fclawdbot\u002F** — that's the LIVE Clawdbot instance! Clone to \u002Ftmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request\u002Fproblem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path\u002Ffile.ts` - [description]\n\n**Modified files:**\n- `path\u002Ffile.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n*Submitted by Razor ? - Mariano's AI agent*\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Codex\u002Fagent\n\n**Example:** https:\u002F\u002Fgithub.com\u002Fsteipete\u002Fbird\u002Fpull\u002F22\n","# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## When to Use\n\n- Running Codex CLI, Claude Code, OpenCode, or Pi for automated coding tasks\n- Batch processing multiple PRs, issues, or code reviews in parallel\n- Non-interactive code generation or refactoring with background monitoring\n- Orchestrating multiple coding agents across git worktrees\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats\u002Fscratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"\u003Cagent command>\"\n# Or for project work:\nbash workdir:~\u002Fproject\u002Ffolder background:true command:\"\u003Cagent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md ?).\n\n---\n\n## Codex CLI\n\n**Model:** `gpt-5.2-codex` is the default (set in ~\u002F.codex\u002Fconfig.toml)\n\n### Building\u002FCreating (use --full-auto or --yolo)\n```bash\n# --full-auto: sandboxed but auto-approves in workspace\nbash workdir:~\u002Fproject background:true command:\"codex exec --full-auto \\\"Build a snake game with dark theme\\\"\"\n\n# --yolo: NO sandbox, NO approvals (fastest, most dangerous)\nbash workdir:~\u002Fproject background:true command:\"codex --yolo \\\"Build a snake game with dark theme\\\"\"\n\n# Note: --yolo is a shortcut for --dangerously-bypass-approvals-and-sandbox\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in Clawdbot's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~\u002FProjects\u002Fclawdbot)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT clawdbot)\nbash workdir:~\u002FProjects\u002Fsome-other-repo background:true command:\"codex review --base main\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https:\u002F\u002Fgithub.com\u002Fclawdbot\u002Fclawdbot.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"codex review --base origin\u002Fmain\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add \u002Ftmp\u002Fpr-130-review pr-130-branch\nbash workdir:\u002Ftmp\u002Fpr-130-review background:true command:\"codex review --base main\"\n```\n\n**Why?** Checking out branches in the running Clawdbot repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs\u002Fpull\u002F*\u002Fhead:refs\u002Fremotes\u002Forigin\u002Fpr\u002F*'\n\n# Deploy the army - one Codex per PR!\nbash workdir:~\u002Fproject background:true command:\"codex exec \\\"Review PR #86. git diff origin\u002Fmain...origin\u002Fpr\u002F86\\\"\"\nbash workdir:~\u002Fproject background:true command:\"codex exec \\\"Review PR #87. git diff origin\u002Fmain...origin\u002Fpr\u002F87\\\"\"\nbash workdir:~\u002Fproject background:true command:\"codex exec \\\"Review PR #95. git diff origin\u002Fmain...origin\u002Fpr\u002F95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment \u003CPR#> --body \"\u003Creview content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs\u002Fpull\u002F*\u002Fhead:refs\u002Fremotes\u002Forigin\u002Fpr\u002F*'`\n- **Use git diff:** Tell Codex to use `git diff origin\u002Fmain...origin\u002Fpr\u002FXX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## Claude Code\n\n```bash\nbash workdir:~\u002Fproject background:true command:\"claude \\\"Your task\\\"\"\n```\n\n---\n\n## OpenCode\n\n```bash\nbash workdir:~\u002Fproject background:true command:\"opencode run \\\"Your task\\\"\"\n```\n\n---\n\n## Pi Coding Agent\n\n```bash\n# Install: npm install -g @mariozechner\u002Fpi-coding-agent\nbash workdir:~\u002Fproject background:true command:\"pi \\\"Your task\\\"\"\n```\n\n---\n\n## Pi flags (common)\n\n- `--print` \u002F `-p`: non-interactive; runs prompt and exits.\n- `--provider \u003Cname>`: pick provider (default: google).\n- `--model \u003Cid>`: pick model (default: gemini-2.5-flash).\n- `--api-key \u003Ckey>`: override API key (defaults to env vars).\n\nExamples:\n\n```bash\n# Set provider + model, non-interactive\nbash workdir:~\u002Fproject background:true command:\"pi --provider openai --model gpt-4o-mini -p \\\"Summarize src\u002F\\\"\"\n```\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd \u002Ftmp && git clone git@github.com:user\u002Frepo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix\u002Fissue-78 \u002Ftmp\u002Fissue-78 main\ngit worktree add -b fix\u002Fissue-99 \u002Ftmp\u002Fissue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-\u002Ftmp}\u002Fcodex-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Codex in each (after pnpm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd \u002Ftmp\u002Fissue-78 && pnpm install && codex --yolo 'Fix issue #78: \u003Cdescription>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd \u002Ftmp\u002Fissue-99 && pnpm install && codex --yolo 'Fix issue #99: \u003Cdescription>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd \u002Ftmp\u002Fissue-78 && git push -u origin fix\u002Fissue-78\ngh pr create --repo user\u002Frepo --head fix\u002Fissue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove \u002Ftmp\u002Fissue-78\ngit worktree remove \u002Ftmp\u002Fissue-99\n```\n\n**Why worktrees?** Each Codex works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Codex is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Codex, use Codex. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Codex processes at once for batch work\n7. **NEVER start Codex in ~\u002Fclawd\u002F** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or \u002Ftmp for blank slate chats\n8. **NEVER checkout branches in ~\u002FProjects\u002Fclawdbot\u002F** — that's the LIVE Clawdbot instance! Clone to \u002Ftmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request\u002Fproblem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path\u002Ffile.ts` - [description]\n\n**Modified files:**\n- `path\u002Ffile.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n*Submitted by Razor ? - Mariano's AI agent*\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Codex\u002Fagent\n\n**Example:** https:\u002F\u002Fgithub.com\u002Fsteipete\u002Fbird\u002Fpull\u002F22\n",{"name":5,"version":39,"metadata":40,"description":7},"1.0.0",{"clawdbot":41},{"emoji":42,"requires":43},"?",{"anyBins":44},[45,27,33,31],"claude","main","4ad602ec8c10264470f26774e1075a29f1bee581","workloads\u002Fskills\u002Fskills\u002Fcoding-agent",1,"https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp","https:\u002F\u002Fopentrapp.com","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer","albertdobmeyer.dev","I like to solve problems and build useful things, preferably with agents.","2026-09-14 04:32:08",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add albertdobmeyer\u002Fopentrapp --skill coding-agent",{"tool":62,"command":63},"bunx","bunx skills add albertdobmeyer\u002Fopentrapp --skill coding-agent",{"tool":65,"command":66},"pnpm","pnpm dlx skills add albertdobmeyer\u002Fopentrapp --skill coding-agent","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Fskills\u002Fcoding-agent\u002FSKILL.md",true,[70],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},".trust","OTHER","其他",301,"https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Fskills\u002Fcoding-agent\u002F.trust",[77,87,98,116,125,132],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":34},"01M6CXDR8F14T6QQJBH1N1VVYS","note-summarizer","Summarizes your notes for quick review.","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Ftests\u002Fjudge-fixtures\u002Fnote-summarizer\u002FSKILL.md",[],[84,85,86],"note summarizer","notes","review",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":34},"01M6CXDNEB4DENBG58DDP5VEN0","judge-clean","A clean reference skill for the judge second-opinion test.","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Ftests\u002Fjudge-fixtures\u002Fjudge-clean\u002FSKILL.md",[],[94,95,96,97],"clean","judge clean","test","reference",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":105,"publishedAt":34},"01M6CXDK1RYQH2PZK36XJ5QNGZ","{{SKILL_NAME=null}=null}","TODO — Write a one-sentence description of when to use this workflow skill (50-200 chars). Start with an action verb.","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Ftemplates\u002Fworkflow\u002FSKILL.md",[104],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[106,107,108,109,110,111,112,113,114,115],"skill name","{{SKILL NAME=null}=null}","{Skill Name=null}","write","use","todo","linux","workflow","win32","start",{"skillNo":117,"name":100,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":122,"publishedAt":34},"01M6CXDGPG4KYBNAYV9YMNY77P","TODO — Write a one-sentence description of when to use this language\u002Fsyntax reference (50-200 chars). Start with an action verb.","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Ftemplates\u002Flanguage-ref\u002FSKILL.md",[121],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[106,107,108,123,109,110,97,124,111,112,115,114],"syntax","language",{"skillNo":126,"name":100,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":131,"publishedAt":34},"01M6CXDEB146MPK7ES94E4CCFN","TODO — Write a one-sentence description of when to use this skill (50-200 chars). Start with an action verb.","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Ftemplates\u002Fcli-tool\u002FSKILL.md",[130],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[108,107,106,112,114,115,109,110,111],{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":141,"publishedAt":34},"01M6CXDB3R546NFVZ874VGJAVN","test-patterns","Write and run tests across languages and frameworks. Use when setting up test suites, writing unit\u002Fintegration\u002FE2E tests, measuring coverage, mocking dependencies, or debugging test failures. Covers Node.js (Jest\u002FVitest), Python (pytest), Go, Rust, and Bash.","https:\u002F\u002Fgithub.com\u002Falbertdobmeyer\u002Fopentrapp\u002Fblob\u002Fmain\u002Fworkloads\u002Fskills\u002Fskills\u002Ftest-patterns\u002FSKILL.md",[138],{"categoryNo":139,"categoryName":140,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[142,143,96,144,145,146,147,148,29,114,149,150,151,152,109,153,154,155,156,157],"patterns","test patterns","up","go","rust","e2e tests","debugging","Bash","vitest","python3","node","coverage","pytest","jest","across","writing"]