diagnose について
diagnose は FloatingClock の診断スキルで、読み取り専用のチェックから1ページの診断レポートを作成します。確認できた不具合やパスの変更があれば、スキルを更新する手順も定めています。
主な機能
- 011ページの診断レポート
- 02読み取り専用のシステムチェック
- 03再現可能な問題の確認と修正
活用シーン
- 01FloatingClock のインストール状態の確認
- 02パス変更の確認後に診断手順を更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill diagnoseインストール後、Claude Code で/diagnoseを入力して読み込まれたか確認します。
詳細
/floating-clock:diagnose
1 ページの診断サマリーを出力します。
自己進化型スキル:このスキルは使用を通じて改善されます。チェックに誤りがある、パラメーターがずれている、または回避策が必要だった場合は、先送りせず、すぐにこのファイルを修正してください。実際に再現できる問題がある場合にのみ更新してください。
手順
読み取り専用チェックを順番に実行します。いつでも安全に実行できます。ファイルは変更せず、NSUserDefaults にも触れません。
PLUGIN_ROOT="$(cc-plugin-root floating-clock)"
APP_SYS="/Applications/FloatingClock.app"
APP_LOCAL="$PLUGIN_ROOT/build/FloatingClock.app"
echo "=== FloatingClock diagnostic ==="
echo
# Installed app
if [ -d "$APP_SYS" ]; then
echo "[installed] $APP_SYS"
BIN="$APP_SYS/Contents/MacOS/floating-clock"
if [ -x "$BIN" ]; then
file "$BIN" | sed 's/^/ /'
stat -f " size: %z bytes" "$BIN"
fi
codesign -dv --verbose=0 "$APP_SYS" 2>&1 | sed 's/^/ /'
/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" \
-c "Print :CFBundleVersion" "$APP_SYS/Contents/Info.plist" 2>/dev/null \
| paste - - | sed 's/^/ version: /; s/\t/ · build /'
else
echo "[installed] not found (use /floating-clock:install)"
fi
echo
# Local build
if [ -d "$APP_LOCAL" ]; then
echo "[local] $APP_LOCAL"
BIN="$APP_LOCAL/Contents/MacOS/floating-clock"
if [ -x "$BIN" ]; then
stat -f " size: %z bytes" "$BIN"
fi
/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" \
-c "Print :CFBundleVersion" "$APP_LOCAL/Contents/Info.plist" 2>/dev/null \
| paste - - | sed 's/^/ version: /; s/\t/ · build /'
else
echo "[local] not built (run: cd $PLUGIN_ROOT && make all)"
fi
echo
# Running process
PIDS=$(pgrep -f "FloatingClock.app/Contents/MacOS/floating-clock" 2>/dev/null)
if [ -n "$PIDS" ]; then
echo "[process] running · pid(s) $PIDS"
ps -o pid,rss,%cpu,etime -p $PIDS | tail -n +2 | sed 's/^/ /'
else
echo "[process] not running"
fi
echo
# Current profile (if defaults exist)
ACTIVE=$(defaults read com.cc-skills.floating-clock ActiveProfile 2>/dev/null)
if [ -n "$ACTIVE" ]; then
echo "[profile] active: $ACTIVE"
else
echo "[profile] defaults not initialized (run the app first)"
fi
echo
# Test-suite status (quick — just runs existing test binary, skips rebuild)
TEST_BIN="$PLUGIN_ROOT/build/test_session"
if [ -x "$TEST_BIN" ]; then
echo "[tests] running cached test binary…"
"$TEST_BIN" 2>&1 | tail -1 | sed 's/^/ /'
else
echo "[tests] build/test_session not found (run: cd $PLUGIN_ROOT && make check)"
fi
echo
echo "=== diagnostic complete ==="
実行後の振り返り
このスキルの実行後、終了する前に確認してください。
- レポートはユーザーが必要としていた情報を示しましたか? — 不足している項目(署名の詳細、plist キー、最近のクラッシュログなど)があれば、追加してください。
- チェックで誤ったシグナルが出ましたか? — 条件を厳密にするか、そのチェックを削除してください。
- パスやアーティファクト名にずれが生じていましたか? — 次回の実行で実際の環境に合うよう、スクリプト(バイナリのパス、アプリバンドルのパス、テストバイナリの場所)を更新してください。
推測ではなく、実際に再現できる問題がある場合にのみ更新してください。
コメント
Markdown 対応