Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Set up Finta workflow automation and data export for local analysis. Use when building fundraising reports, exporting pipeline data, or automating investor outreach workflows. Trigger with phrases like "finta workflow", "finta automation", "finta data export", "finta reporting".
.claude/skills/jeremylongshore-finta-local-dev-loop/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -28% | 0% |
Finta is primarily UI-driven without a public API. For local automation, use CSV exports from Finta combined with Python scripts for analysis, reporting, and integration with other tools.
pipeline-export.csvpythonimport pandas as pd from datetime import datetime # Load Finta export df = pd.read_csv("pipeline-export.csv") # Pipeline summary summary = df.groupby("Stage").agg( count=("Name", "count"), avg_check=("Check Size", "mean"), ).reset_index() print("Pipeline Summary:") print(summary.to_string(index=False)) # Conversion rates stages = ["Researching", "Reaching Out", "Intro Meeting", "Follow-up", "Due Diligence", "Term Sheet", "Closed"] for i in range(len(stages) - 1): current = len(df[df["Stage"] == stages[i]]) next_stage = len(df[df["Stage"] == stages[i+1]]) rate = (next_stage / current * 100) if current > 0 else 0 print(f" {stages[i]} -> {stages[i+1]}: {rate:.0f}%")
pythondef generate_weekly_report(df: pd.DataFrame) -> str: total = len(df) active = len(df[df["Stage"].isin(["Intro Meeting", "Follow-up", "Due Diligence"])]) term_sheets = len(df[df["Stage"] == "Term Sheet"]) closed = len(df[df["Stage"] == "Closed"]) return f""" Fundraise Pipeline Report ({datetime.now().strftime('%Y-%m-%d')}) ================================================== Total investors: {total} Active conversations: {active} Term sheets: {term_sheets} Closed: {closed} """
See finta-sdk-patterns for integration patterns.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 20,641 | 12,515 | -39% | 1 | 1 | 0% | 3,424 | 2,837 | -17% | 0 | 0 | — |
case-02 | fail→fail | 15,325 | 11,580 | -24% | 1 | 1 | 0% | 2,998 | 2,935 | -2% | 0 | 0 | — |
case-03 | fail→pass | 21,649 | 11,577 | -47% | 1 | 1 | 0% | 4,262 | 3,080 | -28% | 0 | 0 | — |
case-04 | fail→pass | 13,982 | 3,660 | -74% | 1 | 1 | 0% | 2,046 | 1,152 | -44% | 0 | 0 | — |
case-05 | fail→pass | 14,259 | 8,905 | -38% | 1 | 1 | 0% | 2,684 | 2,183 | -19% | 0 | 0 | — |
case-06 | fail→pass | 937,562 | 227,104 | -76% | 1 | 1 | 0% | 1,937 | 1,403 | -28% | 0 | 0 | — |
case-07 | fail→pass | 11,351 | 910,430 | +7921% | 1 | 1 | 0% | 1,588 | 1,155 | -27% | 0 | 0 | — |
case-08 | fail→pass | 8,696 | 2,151 | -75% | 1 | 1 | 0% | 1,528 | 908 | -41% | 0 | 0 | — |
case-09 | pass→pass | 10,036 | 2,032 | -80% | 1 | 1 | 0% | 1,924 | 887 | -54% | 0 | 0 | — |
case-10 | fail→fail | 10,117 | 8,252 | -18% | 1 | 1 | 0% | 1,856 | 2,036 | +10% | 0 | 0 | — |
case-11 | fail→pass | 10,154 | 4,743 | -53% | 1 | 1 | 0% | 1,737 | 1,435 | -17% | 0 | 0 | — |
case-12 | fail→pass | 13,417 | 3,845 | -71% | 1 | 1 | 0% | 2,386 | 1,327 | -44% | 0 | 0 | — |
case-13 | fail→pass | 11,351 | 9,230 | -19% | 1 | 1 | 0% | 2,047 | 2,273 | +11% | 0 | 0 | — |
case-14 | fail→pass | 9,346 | 7,210 | -23% | 1 | 1 | 0% | 1,463 | 1,749 | +20% | 0 | 0 | — |
case-15 | fail→pass | 11,307 | 4,557 | -60% | 1 | 1 | 0% | 1,833 | 1,343 | -27% | 0 | 0 | — |
case-16 | fail→pass | 10,290 | 2,387 | -77% | 1 | 1 | 0% | 1,643 | 929 | -43% | 0 | 0 | — |
case-17 | fail→pass | 7,042 | 3,733 | -47% | 1 | 1 | 0% | 1,342 | 1,179 | -12% | 0 | 0 | — |
case-18 | pass→pass | 11,992 | 7,990 | -33% | 1 | 1 | 0% | 2,042 | 1,877 | -8% | 0 | 0 | — |
case-19 | pass→pass | 7,340 | 5,291 | -28% | 1 | 1 | 0% | 1,460 | 1,579 | +8% | 0 | 0 | — |
case-20 | pass→pass | 6,263 | 1,466 | -77% | 1 | 1 | 0% | 863 | 759 | -12% | 0 | 0 | — |
case-21 | fail→pass | 11,099 | 1,492 | -87% | 1 | 1 | 0% | 1,710 | 740 | -57% | 0 | 0 | — |
case-22 | pass→pass | 11,327 | 3,904 | -66% | 1 | 1 | 0% | 1,655 | 1,206 | -27% | 0 | 0 | — |
case-23 | fail→pass | 7,325 | 2,746 | -63% | 1 | 1 | 0% | 1,097 | 985 | -10% | 0 | 0 | — |
case-24 | pass→pass | 7,996 | 2,711 | -66% | 1 | 1 | 0% | 1,432 | 1,012 | -29% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +67 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.