Claude-code-plugins-plus-skills hex-performance-tuning
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/hex-pack/skills/hex-performance-tuning" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-hex-performance-tuning && rm -rf "$T"
manifest:
plugins/saas-packs/hex-pack/skills/hex-performance-tuning/SKILL.mdsource content
Hex Performance Tuning
Latency Benchmarks
| Operation | Typical Duration |
|---|---|
| ListProjects | 200-500ms |
| RunProject (trigger) | 500ms-2s |
| Project execution | 10s-30min (depends on queries) |
| GetRunStatus (poll) | 100-300ms |
Instructions
Cache Project Lists
import { LRUCache } from 'lru-cache'; const projectCache = new LRUCache<string, any>({ max: 50, ttl: 300000 }); // 5 min async function getCachedProjects(client: HexClient) { const cached = projectCache.get('projects'); if (cached) return cached; const projects = await client.listProjects(); projectCache.set('projects', projects); return projects; }
Parallel Independent Runs
// Run independent projects in parallel (respecting rate limits) async function parallelRuns(client: HexClient, configs: Array<{ id: string; params: any }>) { return Promise.allSettled( configs.map(c => runWithRetry(client, c.id, c.params)) ); }
Optimize Poll Interval
// Adaptive polling: start fast, slow down async function adaptivePoll(client: HexClient, projectId: string, runId: string) { let interval = 2000; // Start at 2s while (true) { const status = await client.getRunStatus(projectId, runId); if (['COMPLETED', 'ERRORED', 'KILLED'].includes(status.status)) return status; await new Promise(r => setTimeout(r, interval)); interval = Math.min(interval * 1.5, 30000); // Max 30s } }