Claude-code-plugins-plus finta-debug-bundle

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/finta-pack/skills/finta-debug-bundle" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-finta-debug-bundle && rm -rf "$T"
manifest: plugins/saas-packs/finta-pack/skills/finta-debug-bundle/SKILL.md
source content

Finta Debug Bundle

Overview

Collect Finta API connectivity status, fundraising round data, investor pipeline health, and integration state into a single diagnostic archive. This bundle helps troubleshoot CRM sync failures, missing investor records, round update errors, and authentication problems. Attach the output to Finta support tickets for faster resolution of fundraising workflow issues.

Debug Collection Script

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

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

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

# Fundraising rounds summary
curl -s -H "Authorization: Bearer ${FINTA_API_KEY}" \
  "https://api.finta.io/v1/rounds" \
  > "$BUNDLE/rounds.json" 2>&1 || true

# Investor records (limited)
curl -s -H "Authorization: Bearer ${FINTA_API_KEY}" \
  "https://api.finta.io/v1/investors?limit=10" \
  > "$BUNDLE/investors-sample.json" 2>&1 || true

# Connected integrations status
curl -s -H "Authorization: Bearer ${FINTA_API_KEY}" \
  "https://api.finta.io/v1/integrations" \
  > "$BUNDLE/integrations.json" 2>&1 || true

# Rate limit headers
curl -s -D "$BUNDLE/rate-headers.txt" -o /dev/null \
  -H "Authorization: Bearer ${FINTA_API_KEY}" \
  https://api.finta.io/v1/rounds 2>/dev/null || true

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

Analyzing the Bundle

tar -xzf debug-finta-*.tar.gz
cat debug-finta-*/summary.txt                  # Auth + connectivity overview
jq '.[] | {id, name, status}' debug-finta-*/rounds.json  # Active rounds
jq 'length' debug-finta-*/investors-sample.json          # Investor count check
grep -i "ratelimit\|retry" debug-finta-*/rate-headers.txt

Common Issues

SymptomCheck in BundleFix
API returns 401
summary.txt
shows HTTP 401
Regenerate API key in Finta Settings > API Keys
Rounds list empty
rounds.json
returns empty array
Verify rounds exist in Finta dashboard; check workspace permissions
Investor sync missing
investors-sample.json
has fewer records than expected
Check CRM integration in
integrations.json
; re-authorize connection
Integration disconnected
integrations.json
shows error status
Re-authenticate the integration from Finta Settings > Integrations
Rate limited (429)
rate-headers.txt
shows Retry-After
Reduce polling frequency; batch investor lookups

Automated Health Check

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

  const res = await fetch("https://api.finta.io/v1/rounds", {
    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] Active rounds: ${Array.isArray(data) ? data.length : 0}`);
  }
}
checkFinta();

Resources

Next Steps

See

finta-common-errors
for fundraising CRM sync and investor pipeline troubleshooting patterns.