Claude-code-plugins-plus-skills hootsuite-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/hootsuite-pack/skills/hootsuite-performance-tuning" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-hootsuite-performance-tuning && rm -rf "$T"
manifest:
plugins/saas-packs/hootsuite-pack/skills/hootsuite-performance-tuning/SKILL.mdsource content
Hootsuite Performance Tuning
Instructions
Step 1: Cache Social Profiles
import { LRUCache } from 'lru-cache'; const profileCache = new LRUCache<string, any>({ max: 100, ttl: 3600000 }); async function getCachedProfiles(): Promise<any[]> { const cached = profileCache.get('profiles'); if (cached) return cached; const response = await fetch('https://platform.hootsuite.com/v1/socialProfiles', { headers: { 'Authorization': `Bearer ${await getStoredToken()}` }, }); const { data } = await response.json(); profileCache.set('profiles', data); return data; }
Step 2: Batch Message Scheduling
import PQueue from 'p-queue'; const scheduleQueue = new PQueue({ concurrency: 2, interval: 1000, intervalCap: 2 }); async function batchSchedule(posts: Array<{ text: string; profileId: string; time: Date }>) { const results = await Promise.allSettled( posts.map(post => scheduleQueue.add(() => fetch('https://platform.hootsuite.com/v1/messages', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.HOOTSUITE_ACCESS_TOKEN}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ text: post.text, socialProfileIds: [post.profileId], scheduledSendTime: post.time.toISOString() }), }).then(r => r.json()) ) ) ); const succeeded = results.filter(r => r.status === 'fulfilled').length; console.log(`Scheduled ${succeeded}/${posts.length} posts`); }
Step 3: Connection Reuse
import { Agent } from 'https'; const agent = new Agent({ keepAlive: true, maxSockets: 5 }); // Pass agent to fetch/axios for connection reuse to platform.hootsuite.com
Resources
Next Steps
For cost optimization, see
hootsuite-cost-tuning.