From pua
Runs autonomous iterative development loops with PUA quality enforcement until tasks complete via check-validate-fix cycles. No user interaction needed. Invoke with /pua:pua-loop.
npx claudepluginhub kongji1/pua --plugin puaThis skill uses the workspace's default tool permissions.
> Ralph Loop 提供"不停地做",PUA 提供"做得更好"。合在一起 = **自主迭代 + 质量压力 + 零人工干预**。
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Ralph Loop 提供"不停地做",PUA 提供"做得更好"。合在一起 = 自主迭代 + 质量压力 + 零人工干预。
pua:pua 核心 skill 的全部行为协议 — 三条红线、方法论、压力升级照常执行用户输入 /pua:pua-loop "任务描述" 时,执行以下流程:
运行 setup 脚本(改编自 Ralph Loop,MIT 协议):
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-pua-loop.sh" "$ARGUMENTS" --max-iterations 30 --completion-promise "LOOP_DONE"
这会创建 .claude/pua-loop.local.md 状态文件,内含用户任务描述和 PUA 行为协议。PUA 的 Stop hook 检测到此文件后循环运行,每次迭代将文件内容喂回 Claude——行为协议随每次迭代送达,context compaction 后也不会丢失。
输出:
▎ [PUA Loop] 自动迭代模式启动。最多 30 轮,完成后输出 <promise>LOOP_DONE</promise>。
▎ 取消方式:/cancel-pua-loop 或删除 .claude/pua-loop.local.md
▎ 因为信任所以简单——交给我,不用盯。
按 PUA 核心 skill 的行为协议执行用户任务。每轮迭代带阿里味旁白。
| 迭代轮次 | PUA 等级 | 旁白 |
|---|---|---|
| 1-3 | L0 信任期 | ▎ 第 N 轮迭代,稳步推进。 |
| 4-7 | L1 温和失望 | ▎ 第 N 轮了还没搞定?换方案,别原地打转。 |
| 8-15 | L2 灵魂拷问 | ▎ 第 N 轮。底层逻辑到底是什么?你在重复同一个错误。 |
| 16-25 | L3 361 | ▎ 第 N 轮。3.25 的边缘了。穷尽了吗? |
| 26+ | L4 毕业 | ▎ 最后几轮。要么搞定,要么准备体面退出。 |
只有满足以下全部条件才能输出 <promise>LOOP_DONE</promise>:
否则继续迭代。
Loop 中遇到以下情况,必须使用退出信号,禁止在 loop 内干等或假装能自行解决:
<loop-abort>任务不可能在 loop 内完成时使用(需要外部账号、不存在的依赖、根本性需求变更等):
<loop-abort>任务需要访问生产数据库,当前环境无权限,无法继续</loop-abort>
效果:删除状态文件,loop 彻底终止。
<loop-pause>运行时发现需要用户补全一项本地配置才能继续时使用:
<loop-pause>需要在 .env 文件中填写 STRIPE_SECRET_KEY,当前值为空</loop-pause>
效果:loop 暂停(状态保留),用户补全后可在新会话中自动恢复。
在输出 <loop-pause> 之前,先将当前进度写入 .claude/pua-loop-context.md,包含:
<loop-abort> 或 <loop-pause> 来逃避困难任务——只有真正需要人工介入才用当检测到 .claude/pua-loop.local.md 存在且 active: false 时,Loop 处于暂停状态:
cat .claude/pua-loop.local.md # 查看暂停原因和当前迭代
cat .claude/pua-loop-context.md # 查看上次保存的进度(如有)
读取暂停原因,使用 AskUserQuestion 确认用户已完成所需操作(如填写 API key)。
sed -i 's/^active: false/active: true/' .claude/pua-loop.local.md
sed -i 's/^session_id: .*/session_id: /' .claude/pua-loop.local.md
session_id 清空后,hook 在下一次 Stop 时自动绑定当前会话。
按 .claude/pua-loop-context.md 中记录的进度继续执行任务。
PUA Loop 借鉴了 Ralph Loop 的核心机制(Stop hook 截获退出 + 将 prompt 喂回),但完全独立实现:各自有独立的 Stop hook 和状态文件(PUA 用 .claude/pua-loop.local.md,Ralph 用 .claude/ralph-loop.local.md)。两者可以同时安装,互不干扰。PUA Loop 在此基础上扩展了 PUA 质量压力、迭代压力升级、<loop-abort> 和 <loop-pause> 信号。