token-burner

Autonomously scan and improve a project — code review, tests, docs, dependency audit, refactoring. Each task isolated in a worktree with verification.

Skill file

Preview skill file
---
name: token-burner
description: Use when autonomously burning tokens on productive project improvements — code review, tests, docs, dependency audit, refactoring. Each task isolated in a git worktree with verification before merge.
---

# Token Burner

在 token 过期前自动执行有价值的项目改进任务,不浪费任何额度。

## Overview

自动扫描项目,发现代码审查、测试生成、文档完善、依赖审计、重构等任务,按优先级排序后自主执行。使用 worktree 隔离每个任务,执行后自动验证,确保每次修改都是安全的。

## When to Use

- User wants to use tokens productively before they expire
- User wants to run an autonomous code improvement session
- User says "burn tokens" / "token burner" / "用掉 token"
- User wants to auto-discover and fix issues across a project
- User inputs `/token-burner`
- User wants automated code review across the project
- User wants to find and fix code smells automatically
- User wants to improve test coverage without manual effort
- User wants to do a full project health check and cleanup

**When NOT to Use:**
- User wants to work on a specific, well-defined task (use normal workflow)
- User wants to chat or brainstorm (no token waste concern)
- User's project has no code to improve
- User wants to run automated tests only (use test runner directly)
- User wants to generate documentation only (use doc generation tools)
- User wants to refactor specific files (do it manually for better control)

## Core Pattern

### Step 1: 项目扫描

检测项目类型和结构,发现可执行任务:

```bash
# 检测项目类型
test -f package.json && echo "Node.js"
test -f go.mod && echo "Go"
test -f requirements.txt && echo "Python"
test -f Cargo.toml && echo "Rust"

# 检测 git 状态
git log --oneline -5          # 最近变更
git diff --stat HEAD~3        # 变更范围
git status --porcelain        # 未提交变更
```

**任务发现引擎:**(详见 `templates/task-discovery.md`)

| 任务类型 | 发现方式 | 优先级 |
|---------|---------|--------|
| 🔒 依赖安全 | 如果 `dependency-audit` skill 可用则委派,否则直接运行审计工具 | P0 - 立即执行 |
| 🐛 代码缺陷 | 分析 `git diff` 中的逻辑问题 | P0 - 立即执行 |
| 🧪 测试覆盖 | 找无测试的源文件,检查覆盖率 | P1 - 高优先级 |
| 📝 文档缺失 | 检查 README、函数注释、API 文档 | P2 - 中优先级 |
| ♻️ 代码重构 | 重复代码、复杂函数、code smell | P2 - 中优先级 |
| 🧹 Git 清理 | 过时分支、conflict markers、大文件 | P3 - 低优先级 |

生成任务列表,每个任务包含:`type`、`file`、`description`、`impact`(high/medium/low)、`risk`(high/medium/low)。

### Step 2: 优先级排序

按 `score = impact_score × (1 - risk_score)` 排序:

| 因子 | high | medium | low |
|------|------|--------|-----|
| impact | 3 | 2 | 1 |
| risk | 0.8 | 0.4 | 0.1 |

**安全策略:**
- P0 任务(安全漏洞、缺陷)→ 立即执行
- P1 任务(测试)→ 可以执行,但每个任务在 worktree 中隔离
- P2 任务(文档、重构)→ 可以执行
- P3 任务(清理)→ 只在有剩余 token 时执行

**前置依赖检查:**

执行前先检查所需工具是否可用,缺失时跳过对应任务类型而非静默失败:

```bash
# 检查工具可用性
command -v jq >/dev/null 2>&1 || echo "⚠️ jq 未安装,安全审计任务将跳过"
command -v npm >/dev/null 2>&1 || echo "⚠️ npm 未安装,Node.js 审计将跳过"
command -v go >/dev/null 2>&1 || echo "⚠️ go 未安装,Go 审计将跳过"
command -v pip-audit >/dev/null 2>&1 || echo "⚠️ pip-audit 未安装,Python 审计将跳过"
```

**过滤规则:**
- 跳过 `node_modules/`、`vendor/`、`.git/` 等目录
- 跳过已由其他 skill 覆盖的任务(如 git-hooks-setup 已配置的)
- 跳过超过 500 行变更的大任务(拆分为子任务)

### Step 3: 自主执行

使用 Agent tool 逐个执行任务,每个任务在独立 worktree 中:

```
对每个 task in 队列:
  retries = 0
  max_retries = 3
  while retries < max_retries:
    1. Agent(task.prompt, {
         subagent_type: "general-purpose",
         isolation: "worktree",
         description: "token-burner:" + task.type
       })
    2. 在 worktree 中跑测试验证
    3. 如果测试通过 → 合并到主分支,break
    4. 如果测试失败 → retries++
       - 如果 retries < max_retries → 回滚 worktree,重试
       - 如果 retries >= max_retries → 记录失败原因,跳过此任务
    5. 更新任务状态
```

**每种任务的执行策略:**

| 任务类型 | 执行方式 | 验证方式 |
|---------|---------|---------|
| 🔒 依赖安全 | 运行审计工具,生成修复命令 | 重新审计确认 |
| 🐛 代码缺陷 | 分析 diff,定位问题,修复 | 跑相关测试 |
| 🧪 测试覆盖 | 为源文件生成单元测试 | 跑新测试确认通过 |
| 📝 文档缺失 | 生成 README/注释/API docs | 检查文档格式 |
| ♻️ 代码重构 | 提取函数、消除重复、简化逻辑 | 跑全量测试 |
| 🧹 Git 清理 | 清理无用文件、格式化 | git status 确认 |

**执行限制:**
- 每个任务最多 3 次重试
- 单个任务超时 5 分钟则跳过
- 总任务数默认最多 20 个(可通过 `--max-tasks` 调整)

### Step 4: 记录和报告

每个任务完成后记录到 memory(任务类型、文件、状态、说明),执行结构见 `templates/execution-report.md`。

### Step 5: 收尾

生成最终报告 `templates/execution-report.md`,包含:
- 执行统计(成功率、耗时、token 消耗估算)
- 每个任务的详细结果
- 未执行任务的原因
- 下次运行建议

## Quick Reference

Note: Parameters below are natural language hints parsed by the AI. Without parameters, the AI will ask interactively.

```bash
/token-burner                          # Scan and execute all tasks
/token-burner 只跑测试和文档            # Only test and doc tasks
/token-burner 最多跑 10 个任务          # Limit to 10 tasks
/token-burner 只扫描不执行              # Scan only, don't execute
/token-burner 扫描 /path/to/repo       # Target specific project
```

| Hint | Description | Default |
|------|-------------|---------|
| 只跑 `type` | Task type filter (security/bug/test/docs/refactor/clean) | All |
| 最多跑 `N` 个任务 | Maximum tasks to execute | 20 |
| 只扫描不执行 | Scan only, don't execute | false |
| 扫描 `path` | Target project path | Current directory |

## Common Mistakes

| 错误 | 正确做法 | 原因 |
|------|----------|------|
| 不跑测试就合并 | 每个任务执行后必须验证 | 避免引入新 bug |
| 一次执行太多任务 | 控制在 20 个以内 | 避免 token 耗尽时半途而废 |
| 跳过 worktree 隔离 | 始终用 isolation: "worktree" | 避免任务间互相干扰 |
| 不记录执行结果 | 写入 memory 文件 | 下次运行需要知道哪些做过 |
| 对生产代码不做验证 | 改完必须跑测试 | 确保不破坏现有功能 |
| 不检查工具可用性 | 执行前验证工具是否存在 | 缺失工具的任务应跳过而非报错 |
| 在大项目上不限制任务数 | 设置 `--max-tasks` 限制 | 避免 token 耗尽后任务中断 |
| 跳过风险评估 | 按 impact × (1 - risk) 排序 | 高风险任务应谨慎处理 |
| 不区分 node_modules 等目录 | 跳过 vendor/node_modules/.git | 扫描第三方代码浪费 token |
| 重构时不做 diff 检查 | 限制单任务变更 < 500 行 | 过大变更难以验证安全性 |

Source

Creator's repository · wu529778790/shenzjd-skills

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk