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.md
source content

Hex Performance Tuning

Latency Benchmarks

OperationTypical Duration
ListProjects200-500ms
RunProject (trigger)500ms-2s
Project execution10s-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
  }
}

Resources