用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aiqrank/plugin --skill aiqrank命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | aiqrank |
| description | Compute and share your AI proficiency rank from supported local coding-agent and agent-runtime history. |
| allowed-tools | ["Bash"] |
AIQ Rank takes privacy seriously. Supported coding-agent sessions, including Pi, Hermes, OpenClaw, and NanoClaw when present, are scanned locally — only aggregate metrics (session counts, token totals, and tool names used) are sent to aiqrank as part of your profile. Conversation text never leaves your device.
Run step 0 first. It applies any pending update and records the resolved plugin root at ~/.config/aiqrank/plugin_root, which the later steps read — so the run uses the freshly updated scripts. If step 0 prints an update line, show that one line to the user.
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-}}"; [ -n "$PLUGIN_ROOT" ] || PLUGIN_ROOT="$(ls -d ~/.codex/plugins/cache/aiqrank/aiqrank/*/ 2>/dev/null | sort -V | tail -1 | sed 's:/$::')"; [ -n "$PLUGIN_ROOT" ] || PLUGIN_ROOT="$(ls -d ~/.claude/plugins/cache/aiqrank/aiqrank/*/ 2>/dev/null | sort -V | tail -1 | sed 's:/$::')"; [ -n "$PLUGIN_ROOT" ] && [ -d "$PLUGIN_ROOT/scripts" ] || { echo "aiqrank plugin scripts not found — install the AIQ Rank plugin"; exit 1; }; PY="$(command -v python3 || command -v python)"; [ -n "$PY" ] || { echo "python not found — install Python 3"; exit 1; }; "$PY" "$PLUGIN_ROOT/scripts/self_update.py"
PLUGIN_ROOT="$(cat "$HOME/.config/aiqrank/plugin_root" 2>/dev/null)"; [ -n "$PLUGIN_ROOT" ] && [ -d "$PLUGIN_ROOT/scripts" ] || { echo "aiqrank plugin root not resolved — run step 0 first"; exit 1; }; PY="$(command -v python3 || command -v python)"; [ -n "$PY" ] || { echo "python not found — install Python 3"; exit 1; }; "$PY" "$PLUGIN_ROOT/scripts/scan_transcripts.py" --days 30 > /tmp/aiqrank_metrics.json
PLUGIN_ROOT="$(cat "$HOME/.config/aiqrank/plugin_root" 2>/dev/null)"; [ -n "$PLUGIN_ROOT" ] && [ -d "$PLUGIN_ROOT/scripts" ] || { echo "aiqrank plugin root not resolved — run step 0 first"; exit 1; }; PY="$(command -v python3 || command -v python)"; [ -n "$PY" ] || { echo "python not found — install Python 3"; exit 1; }; "$PY" "$PLUGIN_ROOT/scripts/infer_role.py" --from /tmp/aiqrank_metrics.json > /tmp/aiqrank_role.json
PLUGIN_ROOT="$(cat "$HOME/.config/aiqrank/plugin_root" 2>/dev/null)"; [ -n "$PLUGIN_ROOT" ] && [ -d "$PLUGIN_ROOT/scripts" ] || { echo "aiqrank plugin root not resolved — run step 0 first"; exit 1; }; PY="$(command -v python3 || command -v python)"; [ -n "$PY" ] || { echo "python not found — install Python 3"; exit 1; }; "$PY" "$PLUGIN_ROOT/scripts/upload_metrics.py" --metrics /tmp/aiqrank_metrics.json --role <role-from-step-2> --no-open
The command prints the teaser URL after a successful upload. Open that link manually when you want to preview/sign in; pass --open only when browser launch is explicitly requested. Print nothing inside Claude Code except the one line from upload_metrics.py, plus the update line from step 0 when there is one.
Step 0 updates the plugin automatically, so there is normally nothing to do. The refreshed scanner scripts are used in the same session; the skill text and hooks switch over at the start of the next session.
If step 0 reports that the automatic update did not complete, pass along the manual command it printed:
claude plugin marketplace update aiqrank && claude plugin update aiqrank@aiqrankcodex plugin marketplace upgrade aiqrank && codex plugin add aiqrank@aiqrank, then start a new Codex session and run $aiqrank:aiqrankTo disable background uploads: touch ~/.config/aiqrank/disabled