ワンクリックで
research-cache
Manage and search the research cache for previously analyzed repositories
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Manage and search the research cache for previously analyzed repositories
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Argus — all-in-one information gathering & reconnaissance toolkit. 135 modules covering network infrastructure, web app analysis, and security/threat intelligence. Use for domain recon, subdomain enum, SSL analysis, tech stack detection, vulnerability scanning, and OSINT.
Manage secrets via Bitwarden CLI (bw). Use when pulling secrets into a shell session, creating/updating Secure Notes from .env files, listing vault items, or setting up Bitwarden on a new machine. Secrets live in Bitwarden, get loaded into memory on demand, and die with the shell session — no files on disk.
Develop a thorough, step-by-step specification for a given idea
Set up a recurring build tracker cron job for any GitHub repo. Runs a zero-LLM shell script to detect stale PRs, stale assigned issues, and phase progress, then posts to a Discord channel only when there's something actionable. Use when asked to "track this build every N hours", "prod agents on a project", "set up a build monitor", "watch this repo for stale work", or similar. The tracker is cheap to run — script does all the work, the agent only speaks when findings exist.
Run long-running coding tasks in cloud environments (Claude Code or Codex), with session teleporting and automatic PR creation.
Delegate coding tasks to subagents or run Claude Code/Codex in tmux sessions. Use the Task tool for focused multi-step coding work. Use tmux for long-running interactive sessions, parallel worktree-based fixes, and PR reviews. NOT for simple single-file edits — do those directly.
| name | research-cache |
| description | Manage and search the research cache for previously analyzed repositories |
| user-invocable | true |
Manage the global repository analysis cache used by the /research command.
The research cache stores analysis results from external repositories discovered during web research. This prevents re-analyzing the same repositories and speeds up research workflows.
Cache Location: ~/.claude/research-cache/
Cache Structure:
~/.claude/research-cache/
<owner>-<repo>-<commit-short>/
analysis.md # Focused analysis document
metadata.json # Cache metadata (timestamps, query hash)
When the /research command discovers external repositories:
focused-repository-analyzer agentbash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh stats
Output:
Cache Statistics
Directory: ~/.claude/research-cache
Entries:
Total: 15
Valid: 12
Expired: 3
Invalid: 0
Storage:
Total Size: 45678KB
Configuration:
TTL: 604800s (7 days)
Max Age: 2592000s (30 days)
# List valid entries only
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh list
# Include expired entries
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh list --expired
Output:
Cache Directory: ~/.claude/research-cache
CACHE KEY STATUS CREATED QUERY HASH
---------- ------ ------- ----------
facebook-react-a1b2c3d VALID 2026-01-01T12:00:00 f3a8c91e
vercel-next.js-e4f5g6h VALID 2026-01-02T14:30:00 7b2d4a9c
golang-go-i7j8k9l EXPIRED 2025-12-20T09:15:00 3c1e5f2a
# Purge only expired entries (older than max age)
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh purge
# Force purge all entries
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh purge --force
Output:
Purging: golang-go-i7j8k9l (age: 2678400s)
Purging invalid: broken-repo-abc123
Purge Summary:
Purged: 2
Kept: 13
# Get path to cached analysis
CACHE_KEY="facebook-react-a1b2c3d"
ANALYSIS_PATH=$(bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh get "$CACHE_KEY")
if [ $? -eq 0 ]; then
echo "Found cached analysis: $ANALYSIS_PATH"
cat "$ANALYSIS_PATH"
else
echo "No cached analysis found"
fi
# Check if cache entry exists
CACHE_KEY="facebook-react-a1b2c3d"
if bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh exists "$CACHE_KEY"; then
echo "Cache hit: $CACHE_KEY"
else
echo "Cache miss: $CACHE_KEY"
fi
# Check with query hash matching
QUERY_HASH="f3a8c91e"
if bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh exists "$CACHE_KEY" "$QUERY_HASH"; then
echo "Cache hit with matching query"
else
echo "Cache miss or query mismatch"
fi
# Generate cache key from repo URL and commit
REPO_URL="https://github.com/facebook/react"
COMMIT_HASH="a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0"
CACHE_KEY=$(bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh key "$REPO_URL" "$COMMIT_HASH")
echo "Cache key: $CACHE_KEY"
# Output: facebook-react-a1b2c3d
Each cache entry includes metadata.json:
{
"cache_key": "facebook-react-a1b2c3d",
"repo_url": "https://github.com/facebook/react",
"commit_hash": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0",
"query": "How to implement React hooks?",
"query_hash": "f3a8c91e",
"context": "Discovered during web research for: React hooks implementation",
"created_at": 1735747200,
"created_date": "2026-01-01T12:00:00Z",
"ttl_seconds": 604800,
"expires_at": 1736352000,
"expires_date": "2026-01-08T12:00:00Z"
}
purge monthly to remove old entries--force when resetting research stateCache entries are automatically invalidated when:
# View what's cached
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh list
# Check stats before purging
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh stats
# Purge expired only
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh purge
# Force clean slate
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh purge --force
# Override cache directory
export CLAUDE_RESEARCH_CACHE="/custom/cache/path"
# Default: ~/.claude/research-cache
Edit toolkit/claude-code-4.5/utils/repo-analysis-cache.sh:
# Cache TTL in seconds (7 days)
CACHE_TTL=$((7 * 24 * 60 * 60))
# Max age before purge (30 days)
MAX_CACHE_AGE=$((30 * 24 * 60 * 60))
Symptom: Research always re-analyzes repositories
Check:
# Verify cache exists
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh stats
# Check if entry is valid
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh exists <cache-key>
Fix:
Symptom: Cache directory consuming excessive disk space
Check:
# View cache size
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh stats
Fix:
# Purge expired entries
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh purge
# Or force purge all
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh purge --force
Symptom: Cache entry exists but cannot be read
Fix:
# Manually remove corrupted entry
rm -rf ~/.claude/research-cache/<cache-key>
# Reinitialize cache
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh init
The research cache is automatically used by the /research command:
No manual intervention required for normal research workflows.
Without Cache:
With Cache:
Typical Savings: 99%+ time reduction for repeated research queries
# Get all valid cache keys
for cache_dir in ~/.claude/research-cache/*; do
if [ -f "$cache_dir/metadata.json" ]; then
CACHE_KEY=$(basename "$cache_dir")
AGE=$(jq -r '.created_at' "$cache_dir/metadata.json")
echo "$CACHE_KEY: created $(date -r $AGE)"
fi
done
# Export to JSON
bash toolkit/claude-code-4.5/utils/repo-analysis-cache.sh stats > cache-stats.txt
# Parse for monitoring
grep "Total:" cache-stats.txt
# Find all React-related analyses
grep -r "React" ~/.claude/research-cache/*/analysis.md
# Find analyses newer than N days
find ~/.claude/research-cache -name "metadata.json" -mtime -7 -exec jq -r '.repo_url' {} \;
/research - Main research command that uses cachefocused-repository-analyzer - Agent that generates cached analysestoolkit/claude-code-4.5/utils/repo-analysis-cache.sh - Cache utility script