signal-pipeline
Skill1 starsChanged 3 months agoMITView on GitHub
Use when the user says "buying signals", "intent data", "trigger events", "job change alerts", "we get signals and nothing happens", "is this intent data worth it", "signal monitoring", "hiring triggers". Builds a signal taxonomy with decay windows, dedup, severity thresholds, and an explicit signal-to-play routing table. Includes the backfill discrimination test for vendor renewal. Writes workspace/data/signal-taxonomy.csv.
In this repository25 other files it gives its agents.
- agent-guardrailsSkill
- agent-observabilitySkill
- agent-rolloutSkill
- agent-scopingSkill
- ai-governanceSkill
- artifact-evalSkill
- attribution-architectureSkill
- context-portfolioSkill
- credit-and-cost-controlSkill
- data-hygieneSkill
- data-model-and-syncSkill
- enrichment-waterfallSkill
- eval-calibrationSkill
- eval-loopSkill
- eval-spec-authoringSkill
- gtm-systems-auditSkill
- icp-scoring-engineSkill
- lifecycle-and-routingSkill
- martech-stack-auditSkill
- ops-and-scale-osSkill
- reporting-architectureSkill
- skill-authoringSkill
- tam-and-sourcingSkill
- warehouse-and-pipesSkill
- writing-qualitySkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 63
Not every signal deserves an action.
- Distinctive: line 94
If flagged accounts converted at roughly the same rate as unflagged ones, the source has no discriminating power and you are paying for …
- Distinctive: line 106
Every signal has a decay window: No exceptions
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Signal Pipeline
Turn events into timed actions. A signal without a decay window and a routing destination is a notification, and notifications get ignored.
When to use
- Setting up trigger-based outreach
- Signals fire and nothing happens, or everything happens
- Evaluating or renewing an intent data contract
- Reps say the alerts are noise
Inputs
- Reads:
workspace/data/object-model.md,workspace/data/scoring-model.md - Needs from user: current signal sources and cost, what happens today when a signal fires, and last year's closed-won and closed-lost lists for the backfill test
Workflow
1. Build the taxonomy with four properties per signal
A signal is not usable until all four are filled in. Use templates/signal-taxonomy.csv.
| Property | Why |
| Decay window | How long it stays actionable. A signal with no window is permanent, which means meaningless |
| Severity | How strongly it predicts a conversation. Drives the threshold |
| Play | Exactly what happens. Not "notify the rep" |
| Owner | Who acts, by name or by role |
Reference windows, adjust to your motion:
| Signal | Decay window | Severity |
| Champion changed jobs to a target account | 30 to 60 days | High |
| New executive hired in the buying function | 90 days | High |
| Funding round announced | 90 days | Medium |
| Hiring for roles that imply your problem | 60 days | Medium |
| Competitor mentioned in a public posting | 45 days | Medium |
| Pricing page or high-intent content visit | 7 to 14 days | High |
| Technology added or removed from their stack | 90 days | Medium |
| Leadership change outside the buying function | 60 days | Low |
| Generic third-party intent surge | 14 to 30 days | Low until tested |
A job-change signal actioned at day 45 is a cold call with extra steps. The window is the value.
2. Dedup before routing
The same underlying event arrives from three sources with three timestamps. Without dedup, one event becomes three alerts and the rep learns to ignore all of them.
Dedup key: account + signal type + rolling window
Rule: first occurrence wins, later duplicates suppressed and countedCount the suppressions. A high suppression rate against one source means you are paying twice for the same event.
3. Set the severity threshold
Not every signal deserves an action. If everything fires, nothing does.
High severity → immediate play, same day
Medium → enters the weekly queue
Low → increments the intent score only, no alert
Below threshold → logged, not surfacedThe tell that the threshold is too low: signal-to-action rate under 30%. Reps are triaging on your behalf, badly, and silently.
4. Write the routing table
The step that makes the difference between a signal system and a notification system.
Signal type + severity + account tier → specific play, specific owner, specific timeframe"Notify the rep in Slack" is not a play. "Send the champion-move sequence, three touches over five days, owner is the account owner" is a play.
5. Run the backfill discrimination test before any renewal
For every paid signal source, sixty days before renewal.
Take last year's closed-won accounts → was the signal flagged?
Take last year's closed-lost accounts → was the signal flagged?
Compare the flag ratesIf flagged accounts converted at roughly the same rate as unflagged ones, the source has no discriminating power and you are paying for noise. This test has killed real contracts. Run it while there is still time to act, not the week of renewal.
6. Instrument the pipeline
Four numbers weekly: volume, signal-to-action rate, precision (actioned signals that became a real conversation), and decay compliance. A sudden volume change means a source broke or a filter changed, and that is worth knowing the same week rather than the next quarter.
Output
- Writes:
workspace/data/signal-taxonomy.csv,workspace/data/signal-routing.md - Uses:
templates/signal-taxonomy.csv - Prints: the taxonomy with all four properties filled, dedup and suppression counts, the threshold, the routing table, and any backfill test results
Rules & quality bar
- Every signal has a decay window. No exceptions
- Every signal has a named play and a named owner. "Notify" is not a play
- Dedup across sources before routing
- A severity threshold exists, and low-severity signals only move the score
- Backfill test before every renewal, sixty days out
- Never buy a broad intent feed without testing it against your own history first
Related skills
- Feeds: the intent axis in
icp-scoring-engine - Hands off to:
lifecycle-and-routing - See also:
docs/stack.mdon signal sources,docs/metrics.mdon signal health
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

