mcpField
E
encourage

encourage

github.com/terrylicaAgent 工作流145 次安装1 天前更新
代码仓库

关于 encourage

用于在 RU 循环中添加、查看、移除或清空鼓励项的 Skill。它将指导写入项目配置,并在下一轮生效。

主要功能

  1. 01添加鼓励项
  2. 02查看当前项目
  3. 03按短语移除项目
  4. 04清空鼓励列表
  5. 05下一轮应用更改

适用场景

  1. 01在 RU 循环中优先处理测试覆盖
  2. 02检查或调整当前指导
  3. 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 脚本来管理鼓励条目。

工作原理

  1. 配置文件:更改会写入 .claude/ru-config.json
  2. 在下一次迭代中生效:Stop 钩子会在每次迭代时重新读取配置
  3. 优先级覆盖:鼓励条目会覆盖禁止模式
  4. 模板渲染:鼓励条目会显示在 ## USER GUIDANCE 部分

故障排除

问题原因解决方案
添加时出现 jq 错误配置文件格式错误运行 /ru:settings reset 重新创建
条目未显示拼写错误或大小写不同使用 --list 核对准确文本
鼓励条目未生效RU 未运行使用 /ru:start 启动
按短语移除失败未找到匹配项使用 --list 查看准确的条目名称
找不到配置文件缺少 .claude 目录使用 mkdir -p .claude 创建

执行后反思

此技能完成后,请在结束前检查:

  1. 命令是否成功? — 如果没有,请修复导致失败的说明或错误表。
  2. 参数或输出是否发生变化? — 如果底层工具的接口已变更,请更新用法示例和参数表,使其保持一致。
  3. 是否需要采用变通方法? — 如果你不得不临时变通(使用不同的标志、增加额外步骤),请更新此 SKILL.md,避免下次调用时再次需要相同的变通方法。

仅当问题真实且可复现时才进行更新,不要基于猜测更新。

评论

支持 Markdown