agentsclimarketplace

Fondo debug bundle

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/fondo-pack/skills/fondo-debug-bundle

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 fondo-debug-bundle

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

'Collect diagnostic information for Fondo support including integration status,

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.1 KB, as published. Nobody here has run it

Fondo Debug Bundle

Overview

Collect Fondo API connectivity status, filing compliance state, integration health, and accounting sync diagnostics into a single archive for Fondo support tickets. This bundle helps troubleshoot bank connection failures, reconciliation discrepancies, R&D credit calculation issues, and tax filing errors.

Debug Collection Script

#!/bin/bash
set -euo pipefail
BUNDLE="debug-fondo-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"

# Environment check
echo "=== Fondo Debug Bundle ===" | tee "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
echo "FONDO_API_KEY: ${FONDO_API_KEY:+[SET]}" >> "$BUNDLE/summary.txt"

# API connectivity
HTTP=$(curl -s -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer ${FONDO_API_KEY}" \
  https://api.fondo.com/v1/compliance/status 2>/dev/null || echo "000")
echo "API Status: HTTP $HTTP" >> "$BUNDLE/summary.txt"

# Compliance and filing status
curl -s -H "Authorization: Bearer ${FONDO_API_KEY}" \
  "https://api.fondo.com/v1/compliance/status" \
  > "$BUNDLE/compliance-status.json" 2>&1 || true

# Integration health (bank, payroll connections)
curl -s -H "Authorization: Bearer ${FONDO_API_KEY}" \
  "https://api.fondo.com/v1/integrations" \
  > "$BUNDLE/integrations.json" 2>&1 || true

# Recent filings and rate limits
curl -s -H "Authorization: Bearer ${FONDO_API_KEY}" \
  "https://api.fondo.com/v1/filings?limit=5" > "$BUNDLE/recent-filings.json" 2>&1 || true
curl -s -D "$BUNDLE/rate-headers.txt" -o /dev/null \
  -H "Authorization: Bearer ${FONDO_API_KEY}" \
  https://api.fondo.com/v1/compliance/status 2>/dev/null || true

tar -czf "$BUNDLE.tar.gz" "$BUNDLE" && rm -rf "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz"

Analyzing the Bundle

tar -xzf debug-fondo-*.tar.gz
cat debug-fondo-*/summary.txt                      # Auth + connectivity
jq '.integrations[] | {name, status}' debug-fondo-*/integrations.json  # Bank/payroll health
jq '.[] | {type, status, due_date}' debug-fondo-*/recent-filings.json  # Filing deadlines
grep -i "ratelimit\|retry" debug-fondo-*/rate-headers.txt

Common Issues

SymptomCheck in BundleFix
API returns 401summary.txt shows HTTP 401Regenerate API key in Fondo dashboard > Settings > API
Bank connection expiredintegrations.json shows disconnected statusRe-authenticate bank via Fondo dashboard > Integrations
Filing shows overduerecent-filings.json has past due_dateContact Fondo support immediately; file extension if deadline approaching
R&D credit mismatchcompliance-status.json shows calculation warningsVerify employee R&D classifications; reconcile payroll provider totals
Transaction sync gapintegrations.json shows stale last_sync dateDisconnect and reconnect the bank integration; check for institution outages

Automated Health Check

async function checkFondo(): Promise<void> {
  const key = process.env.FONDO_API_KEY;
  if (!key) { console.error("[FAIL] FONDO_API_KEY not set"); return; }

  const res = await fetch("https://api.fondo.com/v1/compliance/status", {
    headers: { Authorization: `Bearer ${key}` },
  });
  console.log(`[${res.ok ? "OK" : "FAIL"}] API: HTTP ${res.status}`);

  if (res.ok) {
    const data = await res.json();
    console.log(`[INFO] Compliance status: ${data.status ?? "unknown"}`);
  }
  const remaining = res.headers.get("x-ratelimit-remaining");
  if (remaining) console.log(`[INFO] Rate limit remaining: ${remaining}`);
}
checkFondo();

Resources

Next Steps

See fondo-common-errors.

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.