> ## Documentation Index
> Fetch the complete documentation index at: https://hc.pillargtm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Preset libraries

> The four out-of-the-box BUILDER rule libraries (EdTech, Public-Sector, AI-Automation, Family-Literacy), what's in each, and which customers fit which library.

PILLAR ships four BUILDER preset libraries. Each contains 5 starter rules tuned for a specific go-to-market motion. **All start in shadow mode** with `shadow_started_at = NOW()`, so the 7-day promotion clock starts on first install.

These libraries are **conversation starters**, not products. The Implementation Engineer customizes every threshold to match the customer's actual numbers before promoting any rule out of shadow. See [BUILDER configuration](/builder/configuration) for the full implementation methodology.

## Quick selector

<CardGroup cols={2}>
  <Card title="Pure private-market K-12 SaaS" icon="graduation-cap">
    **EdTech**
  </Card>

  <Card title="AI-platform / PLG-leaning curriculum" icon="robot">
    **EdTech + AI-Automation**
  </Card>

  <Card title="State / local / federal seller" icon="landmark">
    **Public-Sector** (often standalone)
  </Card>

  <Card title="Hybrid district + family-direct" icon="book-open-reader">
    **Family-Literacy + Public-Sector**
  </Card>

  <Card title="Public-sector with PLG signals" icon="layer-group">
    **Public-Sector + AI-Automation**
  </Card>

  <Card title="Other vertical SaaS" icon="puzzle-piece">
    Closest preset + author 3–5 customer-specific rules from scratch
  </Card>
</CardGroup>

## EdTech library (5 rules)

**File:** `scripts/seed-builder-preset-rules.ts`
**Best fit:** Private K-12 SaaS with district-level sales motion

| Rule                                                 | Trigger                                                         | Action                             |
| ---------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------- |
| Renewal-risk → save play                             | Event (CRITICAL Renewal Risk signal + ARR > \$100k)             | Start `renewal_save_critical` play |
| Daily rescore — accounts approaching renewal         | Schedule (6am ET daily) + renewal in 90d                        | Rescore account                    |
| Escalate stale save plays >48h                       | SLA timer (48h, play not\_completed)                            | Escalate + notify manager          |
| Health-score crash → exec sponsor sync (HIGH IMPACT) | Event (account.health\_changed + drop ≥15 in 7d + ARR > \$250k) | Create exec sponsor task           |
| MQL handoff drift                                    | Event (lead → MQL with no CSM in SLA)                           | Fire HANDOFF\_DRIFT signal         |

## Public-Sector library (5 rules)

**File:** `scripts/seed-builder-presets-public-sector.ts`
**Best fit:** State / local / federal sellers (any public-sector segment)

| Rule                                                    | Trigger                                               | Action                                              |
| ------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------- |
| RFP detected — assemble response team                   | Event (Procurement Activity signal, WARNING+)         | Notify AE + capture lead, create response team task |
| Fiscal-year-end window — accelerate stage               | Schedule (8am ET Mondays) + FY-end \< 90d + Stage ≤ 3 | Push to Stage 4 task                                |
| Cooperative purchasing eligibility check                | Event (lead.score changed + no coop vehicle)          | Fire `no_coop_vehicle` signal                       |
| Board-meeting agenda detected — exec sync (HIGH IMPACT) | Event (board\_agenda\_mention signal + ARR > \$100k)  | Create exec sponsor sync task                       |
| FOIA / public-records request → log + notify            | Event (foia\_inbound signal)                          | Notify compliance lead, log governance signal       |

## AI-Automation library (5 rules)

**File:** `scripts/seed-builder-presets-ai-automation.ts`
**Best fit:** AI-product / automation-platform sales (PLG + sales-led hybrid)

| Rule                                            | Trigger                                                                          | Action                                                   |
| ----------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------- |
| Usage spike → expansion play                    | Event (usage > 200% trailing-30d avg, non-enterprise plan)                       | Fire usage\_spike\_expansion signal + notify AE          |
| Rate-limit warning → proactive plan upgrade     | Schedule (7am PT daily) + rate\_limit\_hits\_7d > 0                              | Plan upgrade conversation task                           |
| Model-deprecation notice → migration sync       | Event (model\_deprecation\_announced signal)                                     | Fire model\_migration\_required signal + create CSM task |
| Eval-stage stuck > 14d → unblock motion         | SLA timer (14d, task stale) + opp in Eval/POC + no exec sponsor                  | Notify manager + create stakeholder task                 |
| Token-cost spike → finance review (HIGH IMPACT) | Schedule (9am PT 1st of month) + token\_cost +50% MoM + committed\_spend \< 100% | Contract restructure task                                |

## Family-Literacy library (5 rules)

**File:** `scripts/seed-builder-presets-family-literacy.ts`
**Best fit:** Hybrid district + family-direct EdTech with family-engagement signals

| Rule                                        | Trigger                                                                      | Action                                                      |
| ------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------- |
| Completion-rate drop → engagement check     | Schedule (7am ET Mondays) + completion \< 60% + > 500 families               | Fire program\_engagement\_at\_risk signal + create CSM task |
| New-family welcome SLA                      | SLA timer (72h, family\_welcome task not\_completed)                         | Escalate to enrollment manager                              |
| District renewal + family churn cross-check | Schedule (8am ET daily) + renewal \< 90d + family churn > 25%                | Fire renewal\_with\_family\_churn CRITICAL signal           |
| Marketing → Enrollment specialist handoff   | Event (lead → enrolled\_pending without specialist in 24h)                   | Fire handoff\_drift\_enrollment signal                      |
| Multi-school district expansion             | Schedule (9am ET 1st of month) + single-school + 80%+ adoption + 6mo+ tenure | Create expansion conversation task                          |

## Why four separate libraries instead of one

Different motions have fundamentally different leading indicators and handoff paths:

<CardGroup cols={2}>
  <Card title="Handoff-path differences" icon="arrows-left-right">
    EdTech's "MQL handoff drift" rule assumes the AE → CSM handoff. Family-Literacy uses Marketing → Enrollment Specialist. Mixing the wrong preset would seed a handoff rule that doesn't match the customer's actual motion.
  </Card>

  <Card title="Cron timing differences" icon="clock">
    Public-Sector's FY-end cron uses Monday-morning timing because public RFP responses go out Mon–Wed. AI-Automation's monthly token-cost cron runs at 9am PT because most AI customers are West-Coast-headquartered.
  </Card>

  <Card title="High-impact differences" icon="triangle-exclamation">
    EdTech flags exec sponsor syncs as high-impact. AI-Automation flags contract restructure conversations. Public-Sector flags board-meeting agenda touchpoints. Each library gets the right `is_high_impact` defaults.
  </Card>

  <Card title="Vocabulary differences" icon="language">
    A `completion_rate` predicate makes sense for Family-Literacy but not pure EdTech. A `committed_spend_ratio` makes sense for AI-Automation but not Public-Sector. Each library uses field names that match its motion.
  </Card>
</CardGroup>

## Stacking rules across libraries

Multiple libraries can stack on the same org. The seed scripts are idempotent on `(org_id, name)` — running the same library twice skips duplicates.

For a family-literacy customer that sells to districts, the recommended stack is **Family-Literacy + Public-Sector** — the family-engagement rules cover the family-direct motion, while the public-sector rules cover RFP / FOIA / coop-purchasing exposure on the district contracts.

For a curriculum-SaaS customer with product usage telemetry, the recommended stack is **EdTech + AI-Automation** — the EdTech base covers district sales motion + renewal cadence, while the AI-Automation rules cover usage-spike expansion + rate-limit warning + engagement-decay signals from the product telemetry.

## Adding a new preset library

When a new ICP emerges (e.g. healthcare-revenue-cycle or vertical-saas-finance), the right path is to:

<Steps>
  <Step title="Identify the 5 most-distinctive automation patterns for that motion" />

  <Step title="Write a `scripts/seed-builder-presets-<icp-slug>.ts` modeled on the existing four" />

  <Step title="Test against a real customer's data on dev before adding to docs" />

  <Step title="Add a new section to this page" />

  <Step title="Add the preset to the implementation methodology in [BUILDER configuration](/builder/configuration)" />
</Steps>
