Skip to main content

codex-hygiene-skill

Audit and tune Codex Desktop context surfaces, tool availability, and token usage through telemetry measurement

インストールへ移動

ソース情報

リポジトリ
reason-machines/codex-skills
ソースの最終更新活動
2026年7月14日 01:37
検出された SKILL.md の言語
英語
スター
0
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
codex-hygiene-skill
description
Audit and tune Codex Desktop context surfaces, tool availability, and token usage through telemetry measurement
triggers
["measure my Codex context usage","check Codex tool availability","audit token usage in this thread","show me Codex telemetry stats","analyze Codex Desktop performance","review MCP server status","optimize Codex context size","check why Codex is slow"]
# Codex Hygiene Skill > Skill by [ara.so](https://ara.so) — Codex Skills collection. This skill provides expertise in using **codex-hygiene**, a tool for auditing and tuning Codex Desktop context and tool surfaces. It measures recent telemetry, reviews MCP/app/skill availability, and helps keep long-running goal workflows scoped to current work. ## What Codex Hygiene Does Codex Hygiene is a diagnostic skill that: - **Measures token usage**: Queries Codex Desktop SQLite telemetry databases to show recent token consumption per thread and window - **Audits tool availability**: Distinguishes actual tool calls from tool availability, enabled state from cached inventory - **Identifies bottlenecks**: Helps correlate elevated usage with app surface size, MCP/plugin state, snapshot reuse, stale project stanzas, long-thread replay, or background fan-out - **Suggests reversible hygiene**: Recommends cleanup steps without deleting logs, caches, or projects - **Maintains quality**: Keeps long-running goal work quality-aware by narrowing replay and tool scope ## Installation Install codex-hygiene into your Codex skills directory: ```bash # Create skills directory if needed mkdir -p "$HOME/.agents/skills" # Clone the repository git clone https://github.com/sunflower-of-parchman/codex-hygiene.git \ "$HOME/.agents/skills/codex-hygiene" ``` After installation, invoke the skill with `$codex-hygiene`. Codex normally detects newly installed skills automatically. Restart Codex Desktop if the skill doesn't appear. ## Key Commands ### Measure Context Usage The primary command is `measure_codex_context.sh`, which queries Codex telemetry: ```bash # Basic measurement (recent activity) "$HOME/.agents/skills/codex-hygiene/scripts/measure_codex_context.sh" # Measure specific window (last 5 interactions) "$HOME/.agents/skills/codex-hygiene/scripts/measure_codex_context.sh" 5 # Measure specific window with more history "$HOME/.agents/skills/codex-hygiene/scripts/measure_codex_context.sh" 30 # Measure specific thread in window "$HOME/.agents/skills/codex-hygiene/scripts/measure_codex_context.sh" 5 <thread_id> ``` ### Script Parameters - **First argument**: Number of recent entries to examine (default: recent activity) - **Second argument**: Specific thread ID to analyze (optional) ### Environment Variables ```bash # Custom Codex data location export CODEX_HOME="$HOME/.codex-custom" # Skill installation directory (if not default) export SKILL_DIR="$HOME/my-custom-path/codex-hygiene" ``` ## Understanding Output The measurement script provides compact counts covering: ### Token Telemetry - Input tokens by thread - Output tokens by thread - Total tokens per interaction - Window-level aggregates ### Tool Availability - Number of tools reported as available - Tools actually called - MCP servers enabled vs. cached - App integrations active ### Context Sources - Snapshot reuse frequency - Project stanza count - Thread replay depth - Background task count **Safety note**: The script does NOT dump full logs, configs, tool schemas, secrets, or environment values. ## Configuration ### Codex Configuration File Codex Hygiene reads but does not modify `~/.codex/config.toml`. Always back up before manual edits: ```bash # Backup your config cp ~/.codex/config.toml ~/.codex/config.toml.backup # View current MCP servers cat ~/.codex/config.toml | grep -A 10 "\[mcp\]" ``` ### Custom Data Locations If your Codex data lives elsewhere: ```bash export CODEX_HOME="/path/to/codex/data" "$SKILL_DIR/scripts/measure_codex_context.sh" ``` ## Common Patterns ### Diagnose High Token Usage ```bash # Measure recent threads SKILL_DIR="$HOME/.agents/skills/codex-hygiene" "$SKILL_DIR/scripts/measure_codex_context.sh" 10 # Check if usage correlates with: # - Many MCP servers enabled # - Large tool availability surface # - Deep thread replay # - Stale project contexts ``` ### Audit MCP Server State ```bash # List MCP servers (requires jq and codex CLI) codex mcp list # Check server status in config cat ~/.codex/config.toml | grep -A 5 "\\[mcp.servers" # Compare enabled vs. actually-called tools in telemetry "$SKILL_DIR/scripts/measure_codex_context.sh" 5 ``` ### Optimize Long-Running Threads For threads with elevated token usage: ```bash # Measure specific thread "$SKILL_DIR/scripts/measure_codex_context.sh" 20 thread_abc123 # Review recommendations in references/long-thread-replay.md cat "$SKILL_DIR/references/long-thread-replay.md" # Consider: # - Starting fresh thread for new subtask # - Disabling unused MCP servers temporarily # - Removing stale project paths from config ``` ### Pre-Deploy Hygiene Check Before starting a large goal or project: ```bash # 1. Measure baseline "$SKILL_DIR/scripts/measure_codex_context.sh" 5 # 2. Review MCP servers - disable unused codex mcp list # Edit config to comment out unused servers # 3. Clean stale project contexts # Review ~/.codex/config.toml [projects] section # 4. Restart Codex Desktop to apply changes ``` ## Real Code Examples ### Shell Integration ```bash #!/bin/bash # Add to your .bashrc or .zshrc for quick hygiene checks codex_measure() { local skill_dir="$HOME/.agents/skills/codex-hygiene" if [ -d "$skill_dir" ]; then "$skill_dir/scripts/measure_codex_context.sh" "${1:-10}" else echo "codex-hygiene not installed" fi } # Usage: codex_measure 5 ``` ### Pre-Commit Hook ```bash #!/bin/bash # .git/hooks/pre-push # Check Codex hygiene before pushing code SKILL_DIR="$HOME/.agents/skills/codex-hygiene" if [ -f "$SKILL_DIR/scripts/measure_codex_context.sh" ]; then echo "Running Codex hygiene check..." "$SKILL_DIR/scripts/measure_codex_context.sh" 3 fi ``` ### Periodic Monitoring Script ```bash #!/bin/bash # monitor_codex_hygiene.sh # Run daily to track token usage trends SKILL_DIR="$HOME/.agents/skills/codex-hygiene" LOG_FILE="$HOME/.codex-hygiene-history.log" timestamp=$(date +"%Y-%m-%d %H:%M:%S") echo "=== $timestamp ===" >> "$LOG_FILE" "$SKILL_DIR/scripts/measure_codex_context.sh" 5 >> "$LOG_FILE" 2>&1 echo "" >> "$LOG_FILE" # Review trends tail -50 "$LOG_FILE" ``` ## Troubleshooting ### Script Not Found **Problem**: `command not found: measure_codex_context.sh` **Solution**: ```bash # Verify installation ls "$HOME/.agents/skills/codex-hygiene/scripts/" # Use full path SKILL_DIR="$HOME/.agents/skills/codex-hygiene" "$SKILL_DIR/scripts/measure_codex_context.sh" # Or add to PATH export PATH="$HOME/.agents/skills/codex-hygiene/scripts:$PATH" ``` ### SQLite Database Locked **Problem**: `database is locked` **Solution**: ```bash # Close Codex Desktop # Wait 5 seconds # Run measurement again "$SKILL_DIR/scripts/measure_codex_context.sh" 5 # The script uses -readonly flag, but active writes can block ``` ### No Telemetry Data **Problem**: Script shows no data or zero counts **Solution**: ```bash # Check if Codex telemetry database exists ls -lh ~/.codex/telemetry.db # Check if CODEX_HOME is set incorrectly echo $CODEX_HOME # Verify Codex Desktop has been used recently # (telemetry is only written during active use) ``` ### jq or codex CLI Not Found **Problem**: Optional tools missing **Solution**: ```bash # Install jq (macOS) brew install jq # Install jq (Linux) sudo apt-get install jq # Debian/Ubuntu sudo yum install jq # RedHat/CentOS # Verify codex CLI which codex # These are optional - core measurement works without them ``` ### Permission Denied **Problem**: Cannot read telemetry database **Solution**: ```bash # Check permissions ls -l ~/.codex/telemetry.db # Fix if needed (database should be user-readable) chmod 644 ~/.codex/telemetry.db # Verify ownership ls -l ~/.codex/ ``` ## Advanced Usage ### Custom Telemetry Queries The measurement script uses read-only SQLite queries. You can run custom queries: ```bash # Interactive SQLite session sqlite3 -readonly ~/.codex/telemetry.db # Example: List all tables .tables # Example: Show schema .schema # Example: Count total interactions SELECT COUNT(*) FROM interactions; # Exit .quit ``` ### Combining with Other Tools ```bash # Export measurement to JSON for analysis "$SKILL_DIR/scripts/measure_codex_context.sh" 20 | \ awk '/tokens/{print}' | \ tee codex-usage.txt # Watch telemetry in real-time watch -n 5 "$SKILL_DIR/scripts/measure_codex_context.sh" 3 # Compare before/after MCP changes "$SKILL_DIR/scripts/measure_codex_context.sh" 5 > before.txt # Make MCP config changes and restart Codex "$SKILL_DIR/scripts/measure_codex_context.sh" 5 > after.txt diff before.txt after.txt ``` ## References The skill includes detailed references: - **references/remediation.md**: Step-by-step cleanup recommendations - **references/long-thread-replay.md**: Managing token usage in long conversations ```bash # View remediation guide cat "$HOME/.agents/skills/codex-hygiene/references/remediation.md" # View long-thread guide cat "$HOME/.agents/skills/codex-hygiene/references/long-thread-replay.md" ``` ## Safety & Best Practices 1. **Read-only by default**: Scripts use `sqlite3 -readonly` flag 2. **No secrets dumped**: Output excludes configs, schemas, env vars, API keys 3. **Backup configs**: Always backup `~/.codex/config.toml` before editing 4. **Reversible actions**: Recommendations focus on disable/restart, not delete 5. **Version awareness**: Telemetry schemas may change across Codex versions ## Testing Run the included test suite: ```bash cd "$HOME/.agents/skills/codex-hygiene" bash tests/measure_codex_context_test.sh ``` ## Compatibility - **OS**: macOS, Linux, Unix-like systems - **Requirements**: Bash, `sqlite3`, Perl, `awk`, `sort` - **Optional**: `jq`, `codex` CLI for enhanced app-cache and plugin summaries - **Codex**: Designed for Codex Desktop with local telemetry databases ## When to Use This Skill Use codex-hygiene when: - Codex Desktop feels slow or unresponsive - Token usage seems unexpectedly high - You want to audit which tools are actually being called - Long-running threads are accumulating context - You're debugging MCP server configuration - You need to optimize before a large coding session - You want visibility into Codex's internal state --- **Project**: [sunflower-of-parchman/codex-hygiene](https://github.com/sunflower-of-parchman/codex-hygiene) **License**: MIT
GitHubで見る