Skip to main content

AI Collaboration Platform

Loop them in.

Add teammates or external advisors directly to your Claude Code or Codex CLI sessions.

SOC 2GDPR

How it works

Your AI workspace. Fully connected.

From one engineer to your whole team.

01

Scan your work

Understand the landscape: skills, hooks, memory. Every tool call, decision and context. Patterns no single run reveals.

02

Share individual sessions

Package the complete context: branch, files, history, tool calls. Send directly from the terminal via Email, Slack, or GitHub.

03

Get an expert

Stuck on something? Connect a trusted expert, consultant, or vendor to your workspace. They see what happened, and get you moving. No more guessing alone.

04

They reply, you keep going

Receive and share Skills, workflows, automations. Knowledge stops dying in one user's terminal.

Features

From session to system.

Every tool call, every file change, every run. Visible to you, shareable with your team, open to expert insight.

Tools
Trace every tool call and share findings
Skills
Build, manage, and reuse skills across every project
Bookmarks
Mark what matters. Share with your team.
Hooks
Plug into every lifecycle event in Claude Code
GitHub
Follow every commit, PR, and branch your agent touches
Files
See every file your agent touches

Built for Claude Code

You stay in Claude Code. FlowPad connects your team's AI work.

One install. Your sessions, your team, your trusted experts. All in the same place.

rotating-cli-subtitle
FlowPad homepage animations×
Review About page after messaging pivot
SKSarah K. is reviewing the sessionstaff eng · payments
$ npm test src/payment/refund.test.ts
FAILsrc/payment/refund.test.ts
Refund > handles partial refund
expect(received).toBe(expected) // Object.is equality
Expected: 9.99 Received: 9.989999999999998 Δ 0.000000000000002
at handlesPartialRefund (src/payment/refund.test.ts:41:25)node_modules/jest-jasmine2/build/jasmine/Env.js
> the test is failing on a rounding issue
I see the problem. The amount is producing a floating-point precision artifact.
Let me check the refund logic.
Read(src/payment/refund.ts)
⎿ 47 lines
17→/** Calculate partial refund honoring 2-decimal currency precision. */
18→export function refund({ amount, fees = 0, taxes = 0 }: RefundInput): number {
19→ if (amount <= 0 || amount > REFUND_CAP_USD) return 0;
20→ const net = amount - fees + taxes;
21→ return parseFloat(net.toFixed(2));
22→}
Edit(src/payment/refund.ts)
⎿ refund.ts · 2 changes
return parseFloat(net.toFixed(2));
+ return Math.round((amount - fees + taxes) * 100) / 100;
Bash(npm test src/payment/refund.test.ts)
FAILTests: 1 failed, 4 passed (5 total, 1.2s) — Expected 9.99, received 9.989999999999998
Same failure. Let me try a tolerance check.
Edit(src/payment/refund.test.ts)
⎿ refund.test.ts · 2 changes
expect(refund({ amount: 9.99, fees: 0, taxes: 0 })).toBe(9.99);
+ expect(Math.abs(refund({ amount: 9.99 }) - 9.99)).toBeLessThan(Number.EPSILON);
Bash(npm test src/payment/refund.test.ts)
FAILTests: 1 failed, 4 passed (5 total, 1.2s) — Expected 9.99, received 9.989999999999998
Still failing. I'm out of clean options.
Edit(src/payment/refund.ts)from Sarah K.✓ Applied
⎿ refund.ts · 2 changes
return Math.round((amount - fees + taxes) * 100) / 100;
+ return new Decimal(amount).sub(fees).add(taxes).toDP(2).toNumber();
Bash(npm test src/payment/refund.test.ts)
PASSTests: 5 passed, 0 failed (5 total, 0.8s)
Refund > handles partial refund Expected: 9.99 Received: 9.99 Δ 0 (exact)
All tests passing. refund.ts ready to commit.
claude-sonnet-4-6|78,210 / 200,000 tokens|● Debug mode
UTF-8 · LF · main|Powered by Flowpad
Loop in an expert
Bundle
8 messages · 2 file edits · 1 failing test
Send to
Slack
Gmail
GitHub
SKSarah K.
Sent to Sarah K.via Slack · #payments
Sent
SK
Sarah repliedshared a skill · refund-precision.skill.md
View
SK
Sarah K.staff eng · payments · 2m ago
skill
“Float math. Don't round — use a decimal lib. Patch attached.”
refund.ts+1·−1
return Math.round((amount - fees + taxes) * 100) / 100;
+ return new Decimal(amount).sub(fees).add(taxes).toDP(2).toNumber();
applies to src/payment/refund.ts
0x
Faster to resolution
with an expert in the loop
0%
Of your AI context
Shared with your team and any expert.
1 fix
Every engineer's default
Solved once, used always.

From one fix to everyone's fix.

When an expert solves a problem, the fix lives on. It becomes a skill, a workflow, an automation every agent on your team can reuse.

Stop solving alone.

Open source. Works with Claude Code. Brings your team into the work.