en un clic
loop
// Create a recurring loop that runs a prompt on a schedule. Usage - /loop 5m check the build, /loop check the PR every 30m, /loop run tests (defaults to 10m). /loop list to show jobs, /loop clear to cancel all.
// Create a recurring loop that runs a prompt on a schedule. Usage - /loop 5m check the build, /loop check the PR every 30m, /loop run tests (defaults to 10m). /loop list to show jobs, /loop clear to cancel all.
Diagnose memory leaks in the Qwen Code CLI using heap snapshots and the chrome-devtools CLI. Use when investigating high memory usage, unbounded growth, or suspected object retention issues.
Review changed code for correctness, security, code quality, and performance. Use when the user asks to review code changes, a PR, or specific files. Invoke with `/review`, `/review <pr-number>`, `/review <file-path>`, or `/review <pr-number> --comment` to post inline comments on the PR.
Diagnose frozen, stuck, or slow Qwen Code sessions on this machine. Scans for problematic processes, high CPU/memory usage, hung subprocesses, and debug logs. Use /stuck or /stuck <PID> to focus on a specific process.
This skill should be used when the user asks to "用 tmux 做真实测试", "保存 tmux 日志", "像真实用户一样测试 Qwen", "生成可复查的 TUI 测试报告", "测试 slash command 交互", or requests a tmux-based real user E2E run with complete readable logs. It guides real TUI usage with step-by-step capture-pane snapshots rather than ANSI raw pipe logs.
Execute batch operations on multiple files in parallel. Automatically discovers files, splits into chunks, and processes with parallel worker agents. Use `/batch` followed by operation and file pattern.
Answer any question about Qwen Code usage, features, configuration, and troubleshooting by referencing the official user documentation. Also helps users view or modify their settings.json. Invoke with `/qc-helper` followed by a question, e.g. `/qc-helper how do I configure MCP servers?` or `/qc-helper change approval mode to yolo`.
| name | loop |
| description | Create a recurring loop that runs a prompt on a schedule. Usage - /loop 5m check the build, /loop check the PR every 30m, /loop run tests (defaults to 10m). /loop list to show jobs, /loop clear to cancel all. |
| argument-hint | [interval] <prompt> | list | clear |
| allowedTools | ["cron_create","cron_list","cron_delete"] |
If the input (after stripping the /loop prefix) is exactly one of these keywords, run the subcommand instead of scheduling:
list — call CronList and display the results. Done.clear — call CronList, then call CronDelete for every job returned. Confirm how many were cancelled. Done.Otherwise, parse the input below into [interval] <prompt…> and schedule it with CronCreate.
^\d+[smhd]$ (e.g. 5m, 2h), that's the interval; the rest is the prompt.every <N><unit> or every <N> <unit-word> (e.g. every 20m, every 5 minutes, every 2 hours), extract that as the interval and strip it from the prompt. Only match when what follows "every" is a time expression — check every PR has no interval.10m and the entire input is the prompt.If the resulting prompt is empty, show usage /loop [interval] <prompt> and stop — do not call CronCreate.
Examples:
5m /babysit-prs → interval 5m, prompt /babysit-prs (rule 1)check the deploy every 20m → interval 20m, prompt check the deploy (rule 2)run tests every 5 minutes → interval 5m, prompt run tests (rule 2)check the deploy → interval 10m, prompt check the deploy (rule 3)check every PR → interval 10m, prompt check every PR (rule 3 — "every" not followed by time)5m → empty prompt → show usageSupported suffixes: s (seconds, rounded up to nearest minute, min 1), m (minutes), h (hours), d (days). Convert:
| Interval pattern | Cron expression | Notes |
|---|---|---|
Nm where N ≤ 59 | */N * * * * | every N minutes |
Nm where N ≥ 60 | 0 */H * * * | round to hours (H = N/60, must divide 24) |
Nh where N ≤ 23 | 0 */N * * * | every N hours |
Nd | 0 0 */N * * | every N days at midnight local |
Ns | treat as ceil(N/60)m | cron minimum granularity is 1 minute |
If the interval doesn't cleanly divide its unit (e.g. 7m → */7 * * * * gives uneven gaps at :56→:00; 90m → 1.5h which cron can't express), pick the nearest clean interval and tell the user what you rounded to before scheduling.
cron: the expression from the table aboveprompt: the parsed prompt from above, verbatim (slash commands are passed through unchanged)recurring: true