agentsclimarketplace

Hootsuite prod checklist

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/hootsuite-pack/skills/hootsuite-prod-checklist

425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill hootsuite-prod-checklist

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

'Execute Hootsuite production deployment checklist and rollback procedures.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.5 KB, 954 tokens by cl100k_base, as published. Nobody here has run it

Hootsuite Production Checklist

Overview

Hootsuite manages social media publishing, scheduling, and analytics across multiple platforms (Twitter/X, LinkedIn, Facebook, Instagram). A production integration automates post scheduling, monitors engagement, and syncs analytics. Failures mean posts go out at wrong times, media uploads get rejected, or social profile disconnections go undetected, creating gaps in your publishing calendar.

Authentication & Secrets

  • HOOTSUITE_API_KEY and OAuth client secret in secrets manager
  • OAuth app reviewed and approved in Hootsuite developer portal
  • Token refresh logic tested with deliberately expired tokens
  • Separate OAuth app for production vs development
  • Key rotation schedule documented (before annual app review)

API Integration

  • Production base URL configured (https://platform.hootsuite.com/v1)
  • Rate limit handling with exponential backoff
  • Message scheduling tested with all connected social profiles
  • Media upload validated (images, video, carousel per platform)
  • Character limits enforced per platform (X: 280, LinkedIn: 3000, FB: 63K)
  • Timezone handling verified for scheduled posts across regions
  • Social profile health check detects disconnected accounts

Error Handling & Resilience

  • Circuit breaker configured for Hootsuite API outages
  • Retry with backoff for 429/5xx responses
  • REJECTED media states handled with user notification
  • Social profile disconnection detected and alerted within 1 hour
  • Scheduled post failure queued for retry (not silently dropped)
  • Content moderation filter on automated posts (banned words, compliance)

Monitoring & Alerting

  • API latency tracked per endpoint (publish, schedule, analytics)
  • Error rate alerts set (threshold: >3% over 10 minutes)
  • Token refresh failures trigger immediate notification
  • Failed post scheduling reported with platform and error detail
  • Engagement analytics sync monitored for completeness

Validation Script

async function checkHootsuiteReadiness(): Promise<void> {
  const checks: { name: string; pass: boolean; detail: string }[] = [];
  // API connectivity
  try {
    const res = await fetch('https://platform.hootsuite.com/v1/me', {
      headers: { Authorization: `Bearer ${process.env.HOOTSUITE_API_KEY}` },
    });
    checks.push({ name: 'Hootsuite API', pass: res.ok, detail: res.ok ? 'Connected' : `HTTP ${res.status}` });
  } catch (e: any) { checks.push({ name: 'Hootsuite API', pass: false, detail: e.message }); }
  // Credentials present
  checks.push({ name: 'API Key Set', pass: !!process.env.HOOTSUITE_API_KEY, detail: process.env.HOOTSUITE_API_KEY ? 'Present' : 'MISSING' });
  // Social profiles connected
  try {
    const res = await fetch('https://platform.hootsuite.com/v1/socialProfiles', {
      headers: { Authorization: `Bearer ${process.env.HOOTSUITE_API_KEY}` },
    });
    const data = await res.json();
    const count = data?.data?.length || 0;
    checks.push({ name: 'Social Profiles', pass: count > 0, detail: `${count} profiles connected` });
  } catch (e: any) { checks.push({ name: 'Social Profiles', pass: false, detail: e.message }); }
  for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
}
checkHootsuiteReadiness();

Error Handling

CheckRisk if SkippedPriority
Token refresh logicAll scheduled posts fail silentlyP1
Profile disconnectionPublishing gap on key platformsP1
Media rejection handlingBroken posts with missing imagesP2
Timezone validationPosts published at wrong local timeP2
Content moderationBrand-damaging automated contentP3

Resources

Next Steps

See hootsuite-security-basics for social account protection and access control.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.