Most outbound tooling — Apollo, Clay's default enrichment, a purchased list — answers "who fits the ICP profile." It never answers "who is doing something right now that makes this the moment to reach out." A profile match from six months ago is stale by the time an SDR sends the email.
The fix isn't a bigger list. It's scoring real, current activity and only acting on genuine signal — the same principle whether the domain is Amazon sellers or, as shown here, open-source companies.
Composite score = trailing-4-week commit velocity vs. the 4 weeks before it. Deceleration is scored 0, not negative — a slowdown isn't a buying signal, and the honest answer to "no signal" is 0, not a fabricated penalty.
| Company / repo | Stars | Commits, last 4wk | Commits, prior 4wk | Change | Signal score |
|---|---|---|---|---|---|
| ComposioHQ/composio | 29,096 | 119 | 42 | +183.3% | 183.3 |
| mem0ai/mem0 | 60,126 | 152 | 94 | +61.7% | 61.7 |
| block/goose | 50,669 | 263 | 185 | +42.2% | 42.2 |
| browser-use/browser-use | 102,817 | 37 | 446 | −91.7% | 0 |
| e2b-dev/E2B | 12,844 | 64 | 76 | −15.8% | 0 |
| langflow-ai/langflow | 151,180 | 116 | 521 | −77.7% | 0 |
| crewAIInc/crewAI | 54,940 | 93 | 118 | −21.2% | 0 |
| letta-ai/letta | 23,658 | 2 | 0 | n/a | 0 |
Composio's commit volume nearly tripled between the trailing 4-week window and the 4 weeks before it — a real, verifiable acceleration, not a modeled guess. In a live GTM system, this is exactly the kind of event that should trigger a look: a sudden build-out often correlates with a funding event, a new hire wave, or a push toward a launch — all real reasons an outbound message timed to this moment lands differently than a cold list-based send.
This score alone doesn't prove intent — it's one signal, not a verdict. The point of the mechanism isn't "this one number replaces judgment," it's that a real, current, checkable signal is a far better trigger than a static list that doesn't know anything changed.
Scoring the signal is only half of "signal-based intent orchestration." The other half: use it to draft something real. draft_outreach.py pulls a few more real, current facts about the top-scoring company and has Claude draft a short message grounded only in those facts — never a generic pitch.
Description: "Composio powers 1000+ toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action."
Recent commit subjects (last 8): CI hardening — least-privilege tokens, fork-PR guards, audit gates · dependency security bumps · compatibility fixes across LangChain, LangGraph, and AutoGen · OpenAI parallel-tool-call fix.
"Composio's commit velocity jumped 183% in the last month, and looking at what's actually landing, most of the recent volume is CI/security hardening (least-privilege tokens, fork-PR guards, dependency audit fixes) plus compatibility fixes across LangChain, LangGraph, and AutoGen. That combination — tightening infrastructure while broadening framework support — usually shows up right before a team scales its integration surface or preps for a bigger audit. Is that roughly what's happening, or is this a different push?"
No message was sent to anyone. This script only ever prints a draft — the design rule behind it, same one used across every outreach draft in this project, is that AI drafts and a human approves every send. The facts above are real, pulled live via GitHub's API; the draft text was written by hand to match what the script's system prompt is instructed to produce — I didn't have an API key available when building this to generate it live. Running the script yourself (with your own ANTHROPIC_API_KEY) will produce an actual model-drafted message against whichever company scores highest at the time.
Full script: signal_score.py — runnable, no API key required.
# composite score: reward genuine acceleration only # deceleration -> 0, not a fabricated negative signal def signal_score(velocity_change_pct): if velocity_change_pct is None: return 0 return max(0, round(velocity_change_pct, 1)) # velocity: trailing 4wk commits vs. the 4wk before that, # computed from GitHub's public /stats/commit_activity endpoint last4 = sum(w["total"] for w in activity[-4:]) prev4 = sum(w["total"] for w in activity[-8:-4]) change_pct = (last4 - prev4) / prev4 * 100
I designed the original version of this mechanism during a prior GTM engineering role — moving outbound from a static Apollo-style contact list to live, per-account signal detection. This is that same idea, rebuilt independently and cleanly on public data, to show the mechanism rather than just describe it.
Or write directly: ai.adityachouhan@gmail.com