关于 encourage
用于在 RU 循环中添加、查看、移除或清空鼓励项的 Skill。它将指导写入项目配置,并在下一轮生效。
主要功能
- 01添加鼓励项
- 02查看当前项目
- 03按短语移除项目
- 04清空鼓励列表
- 05下一轮应用更改
适用场景
- 01在 RU 循环中优先处理测试覆盖
- 02检查或调整当前指导
- 03移除过时的优先事项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill encourage安装后在 Claude Code 中输入/encourage确认已加载。
附带文件references/evolution-log.md
详细介绍
RU:鼓励
在活动的循环会话中,将条目添加到鼓励列表。 鼓励条目在机会发现中具有优先级,并会覆盖禁止模式。
运行时可配置:无论循环是否处于活动状态,都可以使用。更改会在下一次迭代时生效。
自我进化技能:此技能会在使用过程中不断改进。如果说明有误、参数已变更,或需要采用变通方法,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。
用法
/ru:encourage test coverage- 将“test coverage”添加到鼓励列表/ru:encourage --list- 显示当前鼓励条目/ru:encourage --clear- 清除所有鼓励条目/ru:encourage --remove <phrase>- 移除与短语匹配的条目(模糊匹配)
执行
/usr/bin/env bash << 'RALPH_ENCOURAGE_SCRIPT'
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
CONFIG_FILE="$PROJECT_DIR/.claude/ru-config.json"
# Get arguments
ARGS="${ARGUMENTS:-}"
# Ensure config file exists with guidance structure
if [[ ! -f "$CONFIG_FILE" ]]; then
echo '{"guidance": {"forbidden": [], "encouraged": []}}' > "$CONFIG_FILE"
fi
# Ensure guidance structure exists
if ! jq -e '.guidance' "$CONFIG_FILE" >/dev/null 2>&1; then
jq '. + {guidance: {forbidden: [], encouraged: []}}' "$CONFIG_FILE" > "$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
fi
# Handle commands
case "$ARGS" in
"--list"|"-l")
echo "Current encouraged items:"
jq -r '.guidance.encouraged[]?' "$CONFIG_FILE" | while read -r item; do
echo " + $item"
done
COUNT=$(jq -r '.guidance.encouraged | length' "$CONFIG_FILE")
echo ""
echo "Total: $COUNT items"
;;
"--clear"|"-c")
jq '.guidance.encouraged = []' "$CONFIG_FILE" > "$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
echo "Cleared all encouraged items"
;;
--remove\ *)
PHRASE="${ARGS#--remove }"
MATCH=$(jq -r --arg phrase "$PHRASE" \
'.guidance.encouraged[] | select(. | ascii_downcase | contains($phrase | ascii_downcase))' \
"$CONFIG_FILE" | head -1)
if [[ -z "$MATCH" ]]; then
echo "No encouraged item matches: $PHRASE"
exit 1
fi
TS=$(date -u +%Y-%m-%dT%H:%M:%SZ)
jq --arg match "$MATCH" --arg ts "$TS" \
'.guidance.encouraged |= map(select(. != $match)) | .guidance.timestamp = $ts' \
"$CONFIG_FILE" > "$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
echo "Removed from encouraged list: $MATCH"
;;
"")
echo "Usage: /ru:encourage <phrase> | --list | --clear | --remove <phrase>"
echo ""
echo "Current encouraged items:"
jq -r '.guidance.encouraged[]?' "$CONFIG_FILE" | while read -r item; do
echo " + $item"
done
;;
*)
TS=$(date -u +%Y-%m-%dT%H:%M:%SZ)
jq --arg item "$ARGS" --arg ts "$TS" \
'.guidance.encouraged = ((.guidance.encouraged // []) + [$item] | unique) | .guidance.timestamp = $ts' \
"$CONFIG_FILE" > "$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
echo "Added to encouraged list: $ARGS"
echo ""
echo "Current encouraged items:"
jq -r '.guidance.encouraged[]?' "$CONFIG_FILE" | while read -r item; do
echo " + $item"
done
;;
esac
RALPH_ENCOURAGE_SCRIPT
运行上方的 bash 脚本来管理鼓励条目。
工作原理
- 配置文件:更改会写入
.claude/ru-config.json - 在下一次迭代中生效:Stop 钩子会在每次迭代时重新读取配置
- 优先级覆盖:鼓励条目会覆盖禁止模式
- 模板渲染:鼓励条目会显示在
## USER GUIDANCE部分
故障排除
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 添加时出现 jq 错误 | 配置文件格式错误 | 运行 /ru:settings reset 重新创建 |
| 条目未显示 | 拼写错误或大小写不同 | 使用 --list 核对准确文本 |
| 鼓励条目未生效 | RU 未运行 | 使用 /ru:start 启动 |
| 按短语移除失败 | 未找到匹配项 | 使用 --list 查看准确的条目名称 |
| 找不到配置文件 | 缺少 .claude 目录 | 使用 mkdir -p .claude 创建 |
执行后反思
此技能完成后,请在结束前检查:
- 命令是否成功? — 如果没有,请修复导致失败的说明或错误表。
- 参数或输出是否发生变化? — 如果底层工具的接口已变更,请更新用法示例和参数表,使其保持一致。
- 是否需要采用变通方法? — 如果你不得不临时变通(使用不同的标志、增加额外步骤),请更新此 SKILL.md,避免下次调用时再次需要相同的变通方法。
仅当问题真实且可复现时才进行更新,不要基于猜测更新。
评论
支持 Markdown