<< All versions

Skill v1.0.0

currentLLM-judged scan95/100
guerrilla2799/abm-and-scale-os/signal-engine
──Details
PublishedSeptember 29, 2026 at 01:13 AM
Content Hashsha256:f0898c569b3d3958...
Git SHA
──Files
Files (1 file, 6.4 KB)
SKILL.md6.4 KBactive
SKILL.md · 98 lines · 6.4 KB

version: "1.0.0" name: signal-engine description: >- Use when the user says "buying signals", "intent data", "triggers", "what should we watch for", "signal-based outbound", "how do we know when to reach out", "route signals to plays". Builds the trigger taxonomy, sets decay windows and scores, and writes the signal-to-play routing table that turns a detected event into a specific action with an owner and an SLA. Writes workspace/program/signals.md.


Signal Engine

Define what events are worth acting on, how long they stay worth acting on, and exactly what happens when one fires.

When to use

  • After tiering, as part of foundation
  • "We bought intent data and nothing happened" (the most common reason to run this)
  • Reply rates are fine but timing feels random
  • Adding a new signal source to an existing program

Inputs

  • Reads: workspace/program/icp.md, workspace/program/charter.md, workspace/program/stack.md, docs/plays-library.md
  • Needs from user: which signal sources are available or affordable, who can act on a signal, and how fast

Workflow

1. Start from what the signal is evidence of

A signal is only useful if it is evidence that a specific problem just became urgent. Write that sentence for every candidate signal before adding it. If you cannot, it is a data point, not a signal.

2. Build the taxonomy

Tiered by strength, because they are not equal.

Tier A – strong, act within days

SignalEvidence ofDecay
Relevant executive starts in roleA stack and vendor review is coming120 days
Champion from a customer joins a target accountA person who already knows your value is now inside90 days
Competitor contract expiry or public dissatisfactionA live evaluation window60 days
Inbound from a target accountSelf-declared interest48 hours
Public initiative naming your categoryBudget is forming180 days

Tier B – moderate, act within two weeks

SignalEvidence ofDecay
Funding round, Series B or laterPermission to spend, pressure to show progress90 days
Hiring surge in the target functionThe capability now matters, the approach is undecided60 days while roles are open
Acquisition or mergerConsolidation and system decisions180 days
New office, market, or regionExpansion needs120 days
Technology adoption or removalStack in motion90 days
Regulatory deadline in their sectorA forced projectUntil the deadline

Tier C – weak alone, useful in combination Website visits, content downloads, ad engagement, third-party topic intent, review-site activity, social engagement, event attendance.

The combination rule: two Tier C signals inside 14 days on the same account is worth a Tier B response. One Tier C signal alone is worth logging, not acting on. This rule is what makes third-party intent data useful instead of noisy.

3. Set decay explicitly

Decay runs on one of two bases, and the taxonomy records which. Detection-based decay counts days since the signal was observed, which is right for almost everything. Deadline-based decay counts backward from a fixed external date, which is the only correct handling for a regulatory or contractual deadline. A compliance deadline eighteen months out is not urgent today and is extremely urgent at T-90. A detection-based window on that row either expires it the day it is found or never expires it at all, and both are wrong.

Every signal has a shelf life, written down. An executive who started 11 months ago is not a new-executive signal. Decayed signals drop out of the intent score automatically, which is what keeps account-tiering honest.

4. Build the routing table

The part that makes the difference between a signal feed and a signal engine:

SignalTier gatePlayOwnerSLAChannel
New executiveT1, T2New executive playAccount owner + exec sponsor5 business daysExec email, then rep cadence
Champion job changeAny fit >= 3Champion job change playOriginal AE3 business daysPersonal note
Inbound from targetAnyInbound fast-trackSDR then ownerSame dayCall then email
FundingT1, T2Funding playAccount owner10 business daysCadence + matched ads
Hiring surgeT2Hiring surge playSDR10 business daysCadence
2x Tier C in 14 daysT1, T2Warm-up touchAccount owner5 business daysPersonal email

Rules for the table: every row has a named owner and an SLA in days, a signal with no play attached does not get collected, and if the SLA is missed twice on a row, either fix the staffing or delete the row.

5. Set the monitoring cadence

Weekly sweep for the full list, daily for Tier A signals on T1 accounts, real-time for inbound. Match the cadence to what you can genuinely act on. A daily feed nobody reads is worse than a weekly one somebody does.

6. Feed the intent score

Signals become the intent_score column in account-tiering. Define the point values here, in one place, and let tiering read them. Points expire on the decay schedule.

7. Measure the signals themselves

Quarterly, per signal type: how many fired, how many were acted on within SLA, what the reply rate was, and how many opportunities resulted. Kill the ones that produce nothing. Most programs are collecting at least one signal that has never produced a meeting, and nobody has checked.

Output

  • Writes: workspace/program/signals.md including the taxonomy, decay windows, point values, and the routing table
  • Prints: the routing table, the sources needed for each signal, and any signal with no owner

Rules & quality bar

  • No signal without a play. Collecting a signal you will not act on costs money and creates guilt
  • Every routing row has an owner and an SLA in days. Unowned rows are deleted, not left aspirational
  • Decay is enforced. A signal past its window is not a signal
  • Tier C never fires alone. Two in 14 days, or nothing
  • Review the signal set quarterly and delete the dead ones
  • No inferred intent presented as fact. Third-party intent is a probability, and it gets labeled as one

Related skills

  • Feeds: account-tiering (intent score), play-designer (which play fires), outbound-cadence (the opening line)
  • Reads: icp-definition
  • See also: docs/plays-library.md for the plays each signal routes to
All versions