encourage について
RU のループ中に、優先する項目を追加・確認・削除・一括消去するスキルです。設定をプロジェクト構成に保存し、次の反復から反映します。
主な機能
- 01優先項目の追加
- 02現在の項目の確認
- 03語句による項目削除
- 04優先リストの消去
- 05次の反復で変更を適用
活用シーン
- 01RU のループでテストカバレッジを優先
- 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 対応