From hootsuite-pack
Execute Hootsuite production deployment checklist and rollback procedures. Use when deploying Hootsuite integrations to production, preparing for launch, or implementing go-live procedures. Trigger with phrases like "hootsuite production", "deploy hootsuite", "hootsuite go-live", "hootsuite launch checklist".
npx claudepluginhub flight505/skill-forge --plugin hootsuite-packThis skill is limited to using the following tools:
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.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
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.
HOOTSUITE_API_KEY and OAuth client secret in secrets managerhttps://platform.hootsuite.com/v1)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();
| Check | Risk if Skipped | Priority |
|---|---|---|
| Token refresh logic | All scheduled posts fail silently | P1 |
| Profile disconnection | Publishing gap on key platforms | P1 |
| Media rejection handling | Broken posts with missing images | P2 |
| Timezone validation | Posts published at wrong local time | P2 |
| Content moderation | Brand-damaging automated content | P3 |
See hootsuite-security-basics for social account protection and access control.