instructions.md Copy instructions---
name: hootsuite-debug-bundle
description: 'Collect Hootsuite debug evidence for support tickets and troubleshooting.
Use when encountering persistent issues, preparing support tickets,
or collecting diagnostic information for Hootsuite problems.
Trigger with phrases like "hootsuite debug", "hootsuite support bundle",
"collect hootsuite logs", "hootsuite diagnostic".
'
allowed-tools: Read, Bash(grep:*), Bash(curl:*), Bash(tar:*), Grep
version: 1.6.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- hootsuite
- social-media
compatibility: Designed for Claude Code
---
# Hootsuite Debug Bundle
## Overview
Collect Hootsuite API connectivity status, social profile health, scheduled post state, and OAuth token validity into a single diagnostic archive. This bundle helps troubleshoot failed post scheduling, disconnected social accounts, media upload errors, and API authentication problems.
## Debug Collection Script
```bash
#!/bin/bash
set -euo pipefail
BUNDLE="debug-hootsuite-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"
# Environment check
echo "=== Hootsuite Debug Bundle ===" | tee "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
echo "HOOTSUITE_API_KEY: ${HOOTSUITE_API_KEY:+[SET]}" >> "$BUNDLE/summary.txt"
echo "HOOTSUITE_ACCESS_TOKEN: ${HOOTSUITE_ACCESS_TOKEN:+[SET]}" >> "$BUNDLE/summary.txt"
# API connectivity — user profile endpoint
HTTP=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
https://platform.hootsuite.com/v1/me 2>/dev/null || echo "000")
echo "API Status: HTTP $HTTP" >> "$BUNDLE/summary.txt"
# User profile and social profiles
curl -s -H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
https://platform.hootsuite.com/v1/me > "$BUNDLE/me.json" 2>&1 || true
curl -s -H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
https://platform.hootsuite.com/v1/socialProfiles > "$BUNDLE/profiles.json" 2>&1 || true
# Scheduled posts and rate limit headers
curl -s -D "$BUNDLE/rate-headers.txt" -H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
"https://platform.hootsuite.com/v1/messages?limit=10&state=SCHEDULED" > "$BUNDLE/scheduled-posts.json" 2>&1 || true
tar -czf "$BUNDLE.tar.gz" "$BUNDLE" && rm -rf "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz"
```
## Analyzing the Bundle
```bash
tar -xzf debug-hootsuite-*.tar.gz
cat debug-hootsuite-*/summary.txt # Auth + connectivity
jq '.data[] | {id, type, socialNetworkId}' debug-hootsuite-*/profiles.json # Connected accounts
jq '.data[] | {id, state, scheduledSendTime}' debug-hootsuite-*/scheduled-posts.json
grep -i "ratelimit\|retry" debug-hootsuite-*/rate-headers.txt
```
## Common Issues
| Symptom | Check in Bundle | Fix |
|---------|----------------|-----|
| API returns 401 | `summary.txt` shows HTTP 401 | OAuth token expired; re-authorize via Hootsuite app OAuth flow |
| Social profile disconnected | `profiles.json` shows missing or error-state profile | Re-connect the social account in Hootsuite dashboard > Social Accounts |
| Scheduled post failed | `scheduled-posts.json` shows FAILED state | Check media URLs are accessible; verify profile has posting permissions |
| Rate limited (429) | `rate-headers.txt` shows Retry-After | Reduce scheduling frequency; batch post creation requests |
| Missing profiles | `profiles.json` returns fewer accounts than expected | Check team permissions; verify plan supports connected account count |
## Automated Health Check
```typescript
async function checkHootsuite(): Promise<void> {
const token = process.env.HOOTSUITE_ACCESS_TOKEN;
if (!token) { console.error("[FAIL] HOOTSUITE_ACCESS_TOKEN not set"); return; }
const res = await fetch("https://platform.hootsuite.com/v1/me", {
headers: { Authorization: `Bearer ${token}` },
});
console.log(`[${res.ok ? "OK" : "FAIL"}] API: HTTP ${res.status}`);
if (res.ok) {
const profiles = await fetch("https://platform.hootsuite.com/v1/socialProfiles", {
headers: { Authorization: `Bearer ${token}` },
});
const data = await profiles.json();
console.log(`[INFO] Connected profiles: ${data.data?.length ?? 0}`);
}
}
checkHootsuite();
```
## Prerequisites
- An incident ID, bounded collection window, approved restricted destination, and a draft-only sandbox profile.
- A redaction policy excluding tokens, post copy, media, handles, audience data, and account metadata before evidence leaves the runtime.
## Instructions
1. Collect only status, latency band, schedule state, configuration revision, quota headers, and opaque profile/post correlation IDs.
2. Verify redaction before packaging and stop if copy, media, or account fields cannot be proven absent.
3. Compare aggregate results to baseline, encrypt the bundle at the approved location, and grant minimum access.
4. Record owner/deletion date, then remove temporary evidence after the incident window.
## Output
Create a bundle manifest with incident ID, collection window, checks run, opaque correlation IDs, aggregate metrics, revision, destination, owner, and retention. Copy, media, handles, and credentials are prohibited.
## Error Handling
Stop for failed redaction, unknown destination, or a command that could publish or expose account content. Record the missing evidence class and escalate; do not bypass safeguards.
## Examples
`incident=inc-opaque-21; window=15m; profile=sandbox-brand; schedule=failed; latency=p95-420ms; destination=restricted-support; retention=7d` is a useful redacted bundle summary.
## Resources
- [Hootsuite Status](https://status.hootsuite.com)
## Next Steps
See `hootsuite-common-errors`.
---
name: hootsuite-debug-bundle
description: 'Collect Hootsuite debug evidence for support tickets and troubleshooting.
Use when encountering persistent issues, preparing support tickets,
or collecting diagnostic information for Hootsuite problems.
Trigger with phrases like "hootsuite debug", "hootsuite support bundle",
"collect hootsuite logs", "hootsuite diagnostic".
'
allowed-tools: Read, Bash(grep:*), Bash(curl:*), Bash(tar:*), Grep
version: 1.6.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- hootsuite
- social-media
compatibility: Designed for Claude Code
---
# Hootsuite Debug Bundle
## Overview
Collect Hootsuite API connectivity status, social profile health, scheduled post state, and OAuth token validity into a single diagnostic archive. This bundle helps troubleshoot failed post scheduling, disconnected social accounts, media upload errors, and API authentication problems.
## Debug Collection Script
```bash
#!/bin/bash
set -euo pipefail
BUNDLE="debug-hootsuite-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"
# Environment check
echo "=== Hootsuite Debug Bundle ===" | tee "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
echo "HOOTSUITE_API_KEY: ${HOOTSUITE_API_KEY:+[SET]}" >> "$BUNDLE/summary.txt"
echo "HOOTSUITE_ACCESS_TOKEN: ${HOOTSUITE_ACCESS_TOKEN:+[SET]}" >> "$BUNDLE/summary.txt"
# API connectivity — user profile endpoint
HTTP=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
https://platform.hootsuite.com/v1/me 2>/dev/null || echo "000")
echo "API Status: HTTP $HTTP" >> "$BUNDLE/summary.txt"
# User profile and social profiles
curl -s -H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
https://platform.hootsuite.com/v1/me > "$BUNDLE/me.json" 2>&1 || true
curl -s -H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
https://platform.hootsuite.com/v1/socialProfiles > "$BUNDLE/profiles.json" 2>&1 || true
# Scheduled posts and rate limit headers
curl -s -D "$BUNDLE/rate-headers.txt" -H "Authorization: Bearer ${HOOTSUITE_ACCESS_TOKEN}" \
"https://platform.hootsuite.com/v1/messages?limit=10&state=SCHEDULED" > "$BUNDLE/scheduled-posts.json" 2>&1 || true
tar -czf "$BUNDLE.tar.gz" "$BUNDLE" && rm -rf "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz"
```
## Analyzing the Bundle
```bash
tar -xzf debug-hootsuite-*.tar.gz
cat debug-hootsuite-*/summary.txt # Auth + connectivity
jq '.data[] | {id, type, socialNetworkId}' debug-hootsuite-*/profiles.json # Connected accounts
jq '.data[] | {id, state, scheduledSendTime}' debug-hootsuite-*/scheduled-posts.json
grep -i "ratelimit\|retry" debug-hootsuite-*/rate-headers.txt
```
## Common Issues
| Symptom | Check in Bundle | Fix |
|---------|----------------|-----|
| API returns 401 | `summary.txt` shows HTTP 401 | OAuth token expired; re-authorize via Hootsuite app OAuth flow |
| Social profile disconnected | `profiles.json` shows missing or error-state profile | Re-connect the social account in Hootsuite dashboard > Social Accounts |
| Scheduled post failed | `scheduled-posts.json` shows FAILED state | Check media URLs are accessible; verify profile has posting permissions |
| Rate limited (429) | `rate-headers.txt` shows Retry-After | Reduce scheduling frequency; batch post creation requests |
| Missing profiles | `profiles.json` returns fewer accounts than expected | Check team permissions; verify plan supports connected account count |
## Automated Health Check
```typescript
async function checkHootsuite(): Promise<void> {
const token = process.env.HOOTSUITE_ACCESS_TOKEN;
if (!token) { console.error("[FAIL] HOOTSUITE_ACCESS_TOKEN not set"); return; }
const res = await fetch("https://platform.hootsuite.com/v1/me", {
headers: { Authorization: `Bearer ${token}` },
});
console.log(`[${res.ok ? "OK" : "FAIL"}] API: HTTP ${res.status}`);
if (res.ok) {
const profiles = await fetch("https://platform.hootsuite.com/v1/socialProfiles", {
headers: { Authorization: `Bearer ${token}` },
});
const data = await profiles.json();
console.log(`[INFO] Connected profiles: ${data.data?.length ?? 0}`);
}
}
checkHootsuite();
```
## Prerequisites
- An incident ID, bounded collection window, approved restricted destination, and a draft-only sandbox profile.
- A redaction policy excluding tokens, post copy, media, handles, audience data, and account metadata before evidence leaves the runtime.
## Instructions
1. Collect only status, latency band, schedule state, configuration revision, quota headers, and opaque profile/post correlation IDs.
2. Verify redaction before packaging and stop if copy, media, or account fields cannot be proven absent.
3. Compare aggregate results to baseline, encrypt the bundle at the approved location, and grant minimum access.
4. Record owner/deletion date, then remove temporary evidence after the incident window.
## Output
Create a bundle manifest with incident ID, collection window, checks run, opaque correlation IDs, aggregate metrics, revision, destination, owner, and retention. Copy, media, handles, and credentials are prohibited.
## Error Handling
Stop for failed redaction, unknown destination, or a command that could publish or expose account content. Record the missing evidence class and escalate; do not bypass safeguards.
## Examples
`incident=inc-opaque-21; window=15m; profile=sandbox-brand; schedule=failed; latency=p95-420ms; destination=restricted-support; retention=7d` is a useful redacted bundle summary.
## Resources
- [Hootsuite Status](https://status.hootsuite.com)
## Next Steps
See `hootsuite-common-errors`.
Install this skill Download the complete skill package or use the command below.
Your agent Claude Code Your shell macOS / Linux Windows PowerShell Run from your project’s root folder.
mkdir -p ".claude/skills" && archive=$(mktemp) && curl -fSL "https://megaaihub.com/downloads/hootsuite-debug-bundle.zip" -o "$archive" && unzip -o "$archive" -d ".claude/skills" && rm -f "$archive" Copy install command Download skill ZIPOriginal SKILL.md, bundled files, source attribution, and license notices. Reload your agent if it does not discover the new skill.
LICENSE MIT
ACCESS Free / no account
AgentSkill.sh import support-agent
Download MarkdownSource & author Creator / publisher jeremylongshore Project source Original project Source repository record
Open issues and PRs 21
Repository size ~515,760 KB
Default branch main
Created Oct 9, 2025
Repository updated Nov 3, 2026
Last push Nov 3, 2026
Language Python
License MIT
Topics agent-skills · ai · ai-agents · anthropic · automation · claude-code · claude-code-plugins · developer-tools · devops · llm · marketplace · mcp
Repository-wide figures from GitHub, checked Nov 3, 2026. Stars are endorsements, not a Mega AI Hub quality rating. Repository size is GitHub’s estimate; a ZIP download may differ.
Classification Fields of work Marketing Sales Customer Support Roles Customer Success Manager Social Media Manager Support Agent Skill specialties API Tools & integrations Hootsuite Country applicability Country not specified Creator / publisher jeremylongshore Source catalog labels. Country labels describe applicability, not creator location.