@wonsukchoi/crondex 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -128
- package/bin/crondex.js +44 -0
- package/catalog.json +1298 -14
- package/jobs/agriculture/equipment-maintenance-due-reminder.yaml +36 -0
- package/jobs/agriculture/irrigation-schedule-check.yaml +41 -0
- package/jobs/agriculture/weather-frost-alert.yaml +41 -0
- package/jobs/construction/change-order-approval-reminder.yaml +31 -0
- package/jobs/creator/crosspost-lag-check.yaml +35 -0
- package/jobs/crypto/gas-price-alert.yaml +34 -0
- package/jobs/crypto/smart-contract-upgrade-watch.yaml +49 -0
- package/jobs/crypto/wallet-balance-watch.yaml +37 -0
- package/jobs/devops/github-issue-triage.yaml +38 -0
- package/jobs/ecommerce/abandoned-cart-recovery-check.yaml +38 -0
- package/jobs/ecommerce/low-stock-reorder-alert.yaml +33 -0
- package/jobs/ecommerce/return-refund-backlog-check.yaml +29 -0
- package/jobs/education/report-card-deadline-reminder.yaml +27 -0
- package/jobs/events/event-budget-overrun-check.yaml +31 -0
- package/jobs/finance/subscription-price-hike-watch.yaml +44 -0
- package/jobs/fleet/vehicle-registration-expiry-check.yaml +31 -0
- package/jobs/gaming/game-patch-notes-watch.yaml +39 -0
- package/jobs/gaming/stream-schedule-reminder.yaml +30 -0
- package/jobs/gaming/subscriber-churn-watch.yaml +39 -0
- package/jobs/healthcare/appointment-no-show-follow-up.yaml +32 -0
- package/jobs/healthcare/license-credential-expiry-check.yaml +35 -0
- package/jobs/healthcare/patient-recall-reminder.yaml +34 -0
- package/jobs/hiring/offer-expiry-reminder.yaml +31 -0
- package/jobs/hospitality/health-inspection-due-reminder.yaml +32 -0
- package/jobs/hr/benefits-enrollment-deadline-reminder.yaml +34 -0
- package/jobs/hr/new-hire-paperwork-check.yaml +35 -0
- package/jobs/hr/payroll-run-reminder.yaml +30 -0
- package/jobs/insurance/claim-status-check.yaml +30 -0
- package/jobs/insurance/coverage-gap-audit.yaml +37 -0
- package/jobs/insurance/policy-renewal-reminder.yaml +35 -0
- package/jobs/inventory/expiring-perishable-stock-check.yaml +24 -0
- package/jobs/investing/dividend-payment-tracker.yaml +34 -0
- package/jobs/legal/nda-expiry-check.yaml +31 -0
- package/jobs/logistics/freight-rate-spike-watch.yaml +38 -0
- package/jobs/manufacturing/preventive-maintenance-due-check.yaml +31 -0
- package/jobs/marketing/competitor-page-diff-watch.yaml +48 -0
- package/jobs/marketing/seo-rank-drop-watch.yaml +38 -0
- package/jobs/nonprofit/volunteer-hours-shortfall-check.yaml +30 -0
- package/jobs/personal/end-of-day-wrap-message.yaml +32 -0
- package/jobs/personal/new-restaurant-roundup.yaml +35 -0
- package/jobs/podcast/guest-followup-reminder.yaml +31 -0
- package/jobs/productivity/morning-briefing-digest.yaml +42 -0
- package/jobs/productivity/recurring-task-queue-reset.yaml +37 -0
- package/jobs/realestate/rent-payment-late-check.yaml +23 -0
- package/jobs/restaurant/health-inspection-prep-reminder.yaml +29 -0
- package/jobs/restaurant/inventory-waste-log-review.yaml +32 -0
- package/jobs/restaurant/reservation-noshow-deposit-check.yaml +32 -0
- package/jobs/sales/newly-funded-leads-scout.yaml +44 -0
- package/jobs/sales/quota-attainment-check.yaml +33 -0
- package/jobs/support/sla-breach-warning.yaml +31 -0
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
id: subscriber-churn-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Subscriber/Follower Churn Watch
|
|
4
|
+
description: >
|
|
5
|
+
Checks your channel's subscriber or follower count trend and flags a
|
|
6
|
+
meaningful drop so you can investigate before it becomes a pattern. Use
|
|
7
|
+
this if you've ever noticed a slow bleed of subscribers only after
|
|
8
|
+
checking your dashboard months later.
|
|
9
|
+
category: gaming
|
|
10
|
+
tags: [streaming, subscribers, churn, analytics]
|
|
11
|
+
schedule: "0 9 * * 1"
|
|
12
|
+
timezone: "America/Los_Angeles"
|
|
13
|
+
runner: agent-prompt
|
|
14
|
+
prompt: |
|
|
15
|
+
Check subscriber/follower counts for {{channel_name}} on
|
|
16
|
+
{{platform_name}} for the last {{lookback_weeks}} weeks (via any
|
|
17
|
+
analytics dashboard or API available).
|
|
18
|
+
1. Report week-over-week change in subscriber/follower count.
|
|
19
|
+
2. Flag if this week's net change is negative or more than
|
|
20
|
+
{{drop_threshold_pct}}% below the recent average.
|
|
21
|
+
3. If there's a drop, note anything that coincided with it (missed
|
|
22
|
+
stream days, controversial clip, platform-wide event) if that
|
|
23
|
+
information is available.
|
|
24
|
+
4. If growth is healthy, just report the trend in one line.
|
|
25
|
+
variables:
|
|
26
|
+
channel_name:
|
|
27
|
+
default: "your channel"
|
|
28
|
+
description: Channel/handle to check.
|
|
29
|
+
platform_name:
|
|
30
|
+
default: "Twitch"
|
|
31
|
+
description: Platform to check (e.g. "Twitch", "YouTube", "Kick").
|
|
32
|
+
lookback_weeks:
|
|
33
|
+
default: 8
|
|
34
|
+
description: Weeks of history to establish a baseline trend.
|
|
35
|
+
drop_threshold_pct:
|
|
36
|
+
default: 15
|
|
37
|
+
description: Percentage drop below the recent average that counts as worth flagging.
|
|
38
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
39
|
+
notes: Depends on what the platform's API/dashboard exposes — some platforms require OAuth to pull subscriber history.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
id: appointment-no-show-follow-up
|
|
2
|
+
version: 1
|
|
3
|
+
name: Appointment No-Show Follow-Up
|
|
4
|
+
description: >
|
|
5
|
+
Reviews yesterday's no-show appointments and drafts a follow-up message
|
|
6
|
+
offering to rebook. Use this if you've ever let a missed appointment go
|
|
7
|
+
quiet and lost the patient/client entirely instead of just rebooking them.
|
|
8
|
+
category: healthcare
|
|
9
|
+
tags: [appointments, no-show, patients, scheduling]
|
|
10
|
+
schedule: "0 9 * * *"
|
|
11
|
+
timezone: "America/New_York"
|
|
12
|
+
runner: agent-prompt
|
|
13
|
+
prompt: |
|
|
14
|
+
Pull yesterday's appointments from {{scheduling_system}} and find any marked
|
|
15
|
+
no-show or cancelled-late.
|
|
16
|
+
1. For each, note the patient/client name, appointment type, and provider.
|
|
17
|
+
2. Draft a short, warm follow-up message (SMS or email length) offering to
|
|
18
|
+
rebook, without shaming them for missing it.
|
|
19
|
+
3. Flag anyone with 2+ no-shows in the last {{lookback_days}} days
|
|
20
|
+
separately — practices often want a different (firmer) policy for
|
|
21
|
+
repeat no-shows.
|
|
22
|
+
4. Output as a list ready for staff to review and send — do not send
|
|
23
|
+
anything automatically.
|
|
24
|
+
variables:
|
|
25
|
+
scheduling_system:
|
|
26
|
+
default: "your scheduling/EHR system"
|
|
27
|
+
description: Name of the scheduling or EHR system to check (e.g. "Epic", "Calendly", "SimplePractice").
|
|
28
|
+
lookback_days:
|
|
29
|
+
default: 90
|
|
30
|
+
description: Window to check for repeat no-show patterns.
|
|
31
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
32
|
+
notes: Draft-only — never send messages automatically. Confirm HIPAA/compliance rules for your practice before wiring this to an agent with system access.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
id: license-credential-expiry-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Staff License/Credential Expiry Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks a tracked list of staff licenses, certifications, or credentials
|
|
6
|
+
(e.g. nursing license, CPR cert, DEA registration) and warns before any
|
|
7
|
+
expire. Use this if you've ever had a provider accidentally see patients
|
|
8
|
+
on a lapsed license or certification.
|
|
9
|
+
category: healthcare
|
|
10
|
+
tags: [compliance, licensing, credentials, staff]
|
|
11
|
+
schedule: "0 8 * * 1"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
awk -F',' -v days="{{warn_days_before}}" '
|
|
16
|
+
NR==1 {next}
|
|
17
|
+
{
|
|
18
|
+
cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
|
|
19
|
+
cmd | getline expiry_epoch; close(cmd);
|
|
20
|
+
"date +%s" | getline now_epoch; close("date +%s");
|
|
21
|
+
diff_days = (expiry_epoch - now_epoch) / 86400;
|
|
22
|
+
if (diff_days <= days) {
|
|
23
|
+
printf "EXPIRING: %s — %s expires %s (%d days)\n", $1, $2, $3, diff_days;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
' "{{credential_csv_path}}"
|
|
27
|
+
variables:
|
|
28
|
+
credential_csv_path:
|
|
29
|
+
default: "./staff-credentials.csv"
|
|
30
|
+
description: "Path to a CSV of staff credentials with columns: staff_name,credential_type,expiry_date (YYYY-MM-DD)."
|
|
31
|
+
warn_days_before:
|
|
32
|
+
default: 45
|
|
33
|
+
description: How many days before expiry to start warning.
|
|
34
|
+
compatible_agents: [generic, claude, codex]
|
|
35
|
+
notes: Assumes a maintained CSV export from your credentialing/HR system — point it at whatever that system can export on a schedule.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
id: patient-recall-reminder
|
|
2
|
+
version: 1
|
|
3
|
+
name: Patient Recall Reminder
|
|
4
|
+
description: >
|
|
5
|
+
Finds patients due (or overdue) for a routine checkup, cleaning, or
|
|
6
|
+
screening and lists them for outreach. Use this if recall/recare lists
|
|
7
|
+
pile up and patients quietly fall off the schedule for a year or more.
|
|
8
|
+
category: healthcare
|
|
9
|
+
tags: [patients, recall, checkup, outreach]
|
|
10
|
+
schedule: "0 8 1 * *"
|
|
11
|
+
timezone: "America/New_York"
|
|
12
|
+
runner: agent-prompt
|
|
13
|
+
prompt: |
|
|
14
|
+
Check {{scheduling_system}} for patients whose last visit for
|
|
15
|
+
"{{recall_type}}" was more than {{recall_interval_months}} months ago and
|
|
16
|
+
who have no future appointment booked.
|
|
17
|
+
1. List each patient, their last visit date, and how overdue they are.
|
|
18
|
+
2. Sort by most overdue first.
|
|
19
|
+
3. Draft a short recall message per patient (or a template if the list is
|
|
20
|
+
long) inviting them to book.
|
|
21
|
+
4. Call out anyone more than double the recall interval overdue — these
|
|
22
|
+
are the ones most at risk of having left the practice entirely.
|
|
23
|
+
variables:
|
|
24
|
+
scheduling_system:
|
|
25
|
+
default: "your scheduling/EHR system"
|
|
26
|
+
description: Name of the scheduling or EHR system to check.
|
|
27
|
+
recall_type:
|
|
28
|
+
default: "annual checkup"
|
|
29
|
+
description: What kind of visit this recall tracks (e.g. "dental cleaning", "annual physical", "eye exam").
|
|
30
|
+
recall_interval_months:
|
|
31
|
+
default: 12
|
|
32
|
+
description: How many months between visits before someone counts as due.
|
|
33
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
34
|
+
notes: Draft-only — outreach messages should be reviewed by staff before sending, and must follow your practice's patient communication/compliance policy.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: offer-expiry-reminder
|
|
2
|
+
version: 1
|
|
3
|
+
name: Offer Expiry Reminder
|
|
4
|
+
description: >
|
|
5
|
+
Flags extended offers that are close to their response deadline with no
|
|
6
|
+
answer yet. Use this if an offer has ever quietly expired because
|
|
7
|
+
nobody followed up before the deadline passed.
|
|
8
|
+
category: hiring
|
|
9
|
+
tags: [hiring, offers, recruiting]
|
|
10
|
+
schedule: "0 9 * * 1-5"
|
|
11
|
+
timezone: "UTC"
|
|
12
|
+
runner: shell
|
|
13
|
+
command: >
|
|
14
|
+
today=$(date +%s);
|
|
15
|
+
awk -F, -v today="$today" -v warn={{warn_days}} '
|
|
16
|
+
NR>1 && $3 == "pending" {
|
|
17
|
+
cmd="date -d \"" $2 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $2 "\" +%s";
|
|
18
|
+
cmd | getline exp_ts; close(cmd);
|
|
19
|
+
days_left = int((exp_ts - today) / 86400);
|
|
20
|
+
if (days_left <= warn && days_left >= 0) print "WARNING: offer to " $1 " expires in " days_left " days (" $2 "), no response yet";
|
|
21
|
+
}
|
|
22
|
+
' {{offers_csv}}
|
|
23
|
+
variables:
|
|
24
|
+
offers_csv:
|
|
25
|
+
default: "offers.csv"
|
|
26
|
+
description: "CSV with header row, columns: candidate_name,expiry_date(YYYY-MM-DD),status(pending/accepted/declined)."
|
|
27
|
+
warn_days:
|
|
28
|
+
default: 2
|
|
29
|
+
description: Days before offer expiry to start warning.
|
|
30
|
+
compatible_agents: [generic, claude, codex]
|
|
31
|
+
notes: Keep offers.csv updated as offers go out and candidates respond — one row per open offer.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
id: health-inspection-due-reminder
|
|
2
|
+
version: 1
|
|
3
|
+
name: Health Inspection Due Reminder
|
|
4
|
+
description: >
|
|
5
|
+
Warns you before a health department inspection is expected, based on
|
|
6
|
+
your jurisdiction's typical interval. Use this if an inspector has ever
|
|
7
|
+
shown up to a kitchen that wasn't ready because nobody was tracking when
|
|
8
|
+
the last one happened.
|
|
9
|
+
category: hospitality
|
|
10
|
+
tags: [hospitality, health-inspection, compliance]
|
|
11
|
+
schedule: "0 8 1 * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
today=$(date +%s);
|
|
16
|
+
last_ts=$(date -d "{{last_inspection_date}}" +%s 2>/dev/null || date -jf "%Y-%m-%d" "{{last_inspection_date}}" +%s);
|
|
17
|
+
days_since=$(( (today - last_ts) / 86400 ));
|
|
18
|
+
days_left=$(( {{typical_interval_days}} - days_since ));
|
|
19
|
+
if [ "$days_left" -le "{{warn_days}}" ]; then echo "WARNING: next health inspection likely due within $days_left days (last was {{last_inspection_date}})"; exit 1;
|
|
20
|
+
else echo "OK: next inspection likely due in about $days_left days"; fi
|
|
21
|
+
variables:
|
|
22
|
+
last_inspection_date:
|
|
23
|
+
default: "2026-01-01"
|
|
24
|
+
description: Date of the last health inspection (YYYY-MM-DD).
|
|
25
|
+
typical_interval_days:
|
|
26
|
+
default: 180
|
|
27
|
+
description: Typical number of days between inspections in your jurisdiction.
|
|
28
|
+
warn_days:
|
|
29
|
+
default: 14
|
|
30
|
+
description: Days before the estimated next inspection to start warning.
|
|
31
|
+
compatible_agents: [generic, claude, codex]
|
|
32
|
+
notes: This is an estimate based on your jurisdiction's typical cadence, not an actual scheduled date — most health departments don't publish inspection dates in advance.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
id: benefits-enrollment-deadline-reminder
|
|
2
|
+
version: 1
|
|
3
|
+
name: Benefits Open Enrollment Deadline Reminder
|
|
4
|
+
description: >
|
|
5
|
+
Counts down to the open-enrollment deadline and flags employees who
|
|
6
|
+
haven't submitted elections yet. Use this if open enrollment has ever
|
|
7
|
+
closed with people accidentally defaulting to no coverage or last
|
|
8
|
+
year's plan.
|
|
9
|
+
category: hr
|
|
10
|
+
tags: [hr, benefits, enrollment, deadline]
|
|
11
|
+
schedule: "0 9 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: agent-prompt
|
|
14
|
+
prompt: |
|
|
15
|
+
Open enrollment closes on {{enrollment_deadline}}. Check
|
|
16
|
+
{{benefits_system}} for who has and hasn't submitted elections yet.
|
|
17
|
+
1. Report days remaining until the deadline.
|
|
18
|
+
2. List employees with no submitted election.
|
|
19
|
+
3. If within {{final_warn_days}} days of the deadline, draft an urgent
|
|
20
|
+
reminder message to the non-responders and, separately, a summary
|
|
21
|
+
for HR of who still needs a nudge.
|
|
22
|
+
4. If the deadline has passed, report final completion rate instead.
|
|
23
|
+
variables:
|
|
24
|
+
enrollment_deadline:
|
|
25
|
+
default: "YYYY-MM-DD"
|
|
26
|
+
description: Date open enrollment closes.
|
|
27
|
+
benefits_system:
|
|
28
|
+
default: "your benefits administration platform"
|
|
29
|
+
description: Name of the benefits/HRIS system to check.
|
|
30
|
+
final_warn_days:
|
|
31
|
+
default: 5
|
|
32
|
+
description: Days before deadline to switch from routine reminders to urgent ones.
|
|
33
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
34
|
+
notes: Draft-only — review reminder messages before sending, especially anything framed as "urgent" to employees.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
id: new-hire-paperwork-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: New Hire Paperwork Completion Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks which recently started employees still have incomplete
|
|
6
|
+
onboarding paperwork (I-9, tax forms, benefits enrollment, signed
|
|
7
|
+
handbook) and flags them before they become a compliance problem. Use
|
|
8
|
+
this if onboarding paperwork has ever slipped through the cracks past
|
|
9
|
+
the legal deadline.
|
|
10
|
+
category: hr
|
|
11
|
+
tags: [hr, onboarding, compliance, paperwork]
|
|
12
|
+
schedule: "0 9 * * 1"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: agent-prompt
|
|
15
|
+
prompt: |
|
|
16
|
+
Check onboarding status in {{hris_system}} for anyone who started in the
|
|
17
|
+
last {{lookback_days}} days.
|
|
18
|
+
1. For each new hire, list which required documents are still
|
|
19
|
+
incomplete: {{required_documents}}.
|
|
20
|
+
2. Flag anyone approaching or past a legal deadline (e.g. I-9 must be
|
|
21
|
+
completed within 3 business days of start in the US) as urgent.
|
|
22
|
+
3. Draft a reminder message to the employee and/or their manager for
|
|
23
|
+
each incomplete item.
|
|
24
|
+
variables:
|
|
25
|
+
hris_system:
|
|
26
|
+
default: "your HRIS/onboarding system"
|
|
27
|
+
description: Name of the HR system to check (e.g. "BambooHR", "Rippling", "Gusto").
|
|
28
|
+
lookback_days:
|
|
29
|
+
default: 30
|
|
30
|
+
description: How far back to check for recent hires.
|
|
31
|
+
required_documents:
|
|
32
|
+
default: "I-9, W-4, direct deposit form, benefits enrollment, signed handbook acknowledgment"
|
|
33
|
+
description: Comma-separated list of documents your onboarding requires.
|
|
34
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
35
|
+
notes: Legal deadlines for onboarding paperwork vary by country/jurisdiction — confirm the specifics for yours rather than relying on the example given.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
id: payroll-run-reminder
|
|
2
|
+
version: 1
|
|
3
|
+
name: Payroll Run Cutoff Reminder
|
|
4
|
+
description: >
|
|
5
|
+
Reminds you before the payroll submission cutoff so timesheets and
|
|
6
|
+
changes get in on time. Use this if payroll has ever run late because a
|
|
7
|
+
timesheet or new-hire update missed the cutoff by a day.
|
|
8
|
+
category: hr
|
|
9
|
+
tags: [payroll, hr, reminder, deadline]
|
|
10
|
+
schedule: "0 9 * * *"
|
|
11
|
+
timezone: "America/New_York"
|
|
12
|
+
runner: shell
|
|
13
|
+
command: >
|
|
14
|
+
today=$(date +%d);
|
|
15
|
+
cutoff="{{cutoff_day_of_month}}";
|
|
16
|
+
if [ "$today" -ge $((cutoff - {{warn_days_before}})) ] && [ "$today" -le "$cutoff" ]; then
|
|
17
|
+
echo "PAYROLL CUTOFF APPROACHING: due on day $cutoff of this month, today is day $today.";
|
|
18
|
+
echo "Checklist: timesheets submitted, new hires entered, terminations processed, PTO adjustments logged.";
|
|
19
|
+
else
|
|
20
|
+
echo "No payroll cutoff in the warning window today.";
|
|
21
|
+
fi
|
|
22
|
+
variables:
|
|
23
|
+
cutoff_day_of_month:
|
|
24
|
+
default: 25
|
|
25
|
+
description: Day of the month payroll submissions are due.
|
|
26
|
+
warn_days_before:
|
|
27
|
+
default: 3
|
|
28
|
+
description: How many days before the cutoff to start reminding.
|
|
29
|
+
compatible_agents: [generic, claude, codex]
|
|
30
|
+
notes: Assumes a fixed monthly cutoff day — adjust the command or add a variable if your payroll provider uses a different schedule (biweekly, semi-monthly).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
id: claim-status-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Open Claim Status Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks the status of any open insurance claims and flags ones that
|
|
6
|
+
haven't moved in a while. Use this if a claim has ever gone quiet for
|
|
7
|
+
weeks because nobody was following up with the adjuster.
|
|
8
|
+
category: insurance
|
|
9
|
+
tags: [insurance, claims, follow-up]
|
|
10
|
+
schedule: "0 9 * * 1"
|
|
11
|
+
timezone: "UTC"
|
|
12
|
+
runner: agent-prompt
|
|
13
|
+
prompt: |
|
|
14
|
+
Check the status of each open claim listed: {{open_claims}} (via the
|
|
15
|
+
insurer's portal, email correspondence, or whatever access is
|
|
16
|
+
available).
|
|
17
|
+
1. Report current status and last update date for each.
|
|
18
|
+
2. Flag any claim with no status change in more than
|
|
19
|
+
{{stale_after_days}} days as needing follow-up.
|
|
20
|
+
3. Draft a short follow-up message to the adjuster for each stale claim,
|
|
21
|
+
referencing the claim number and asking for a status update.
|
|
22
|
+
variables:
|
|
23
|
+
open_claims:
|
|
24
|
+
default: "list your open claim numbers here"
|
|
25
|
+
description: Comma-separated list of open claim numbers/references to track.
|
|
26
|
+
stale_after_days:
|
|
27
|
+
default: 14
|
|
28
|
+
description: Days without a status update before a claim counts as stale.
|
|
29
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
30
|
+
notes: Draft-only — review before sending anything to an adjuster or insurer.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
id: coverage-gap-audit
|
|
2
|
+
version: 1
|
|
3
|
+
name: Coverage Gap Audit
|
|
4
|
+
description: >
|
|
5
|
+
Compares your current insurance policies against a standard coverage
|
|
6
|
+
checklist for your situation and flags anything missing or underinsured.
|
|
7
|
+
Use this if you've ever added a policy for one specific thing and never
|
|
8
|
+
circled back to check the overall picture still made sense.
|
|
9
|
+
category: insurance
|
|
10
|
+
tags: [insurance, coverage, audit, risk]
|
|
11
|
+
schedule: "0 9 1 1,7 *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: agent-prompt
|
|
14
|
+
prompt: |
|
|
15
|
+
Review the current policies listed: {{current_policies}}, for a
|
|
16
|
+
{{profile_type}} profile.
|
|
17
|
+
1. Compare against a standard coverage checklist for that profile type
|
|
18
|
+
(e.g. for a homeowner: dwelling, liability, flood/earthquake if
|
|
19
|
+
applicable, umbrella; for a small business: general liability,
|
|
20
|
+
property, cyber, workers' comp as relevant).
|
|
21
|
+
2. Flag anything commonly recommended that's missing entirely.
|
|
22
|
+
3. Flag any policy whose coverage limit looks low relative to
|
|
23
|
+
{{asset_value_estimate}} in assets/exposure, with a one-line reason.
|
|
24
|
+
4. This is a gap-finding pass, not financial/legal advice — say so, and
|
|
25
|
+
recommend confirming any changes with a licensed agent.
|
|
26
|
+
variables:
|
|
27
|
+
current_policies:
|
|
28
|
+
default: "list your current policies and coverage limits here"
|
|
29
|
+
description: Summary of currently held policies and their limits.
|
|
30
|
+
profile_type:
|
|
31
|
+
default: "homeowner"
|
|
32
|
+
description: Who this audit is for (e.g. "homeowner", "renter", "small business", "landlord").
|
|
33
|
+
asset_value_estimate:
|
|
34
|
+
default: "not specified"
|
|
35
|
+
description: Rough total value of assets/exposure to size coverage against.
|
|
36
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
37
|
+
notes: General-knowledge gap-finding only — not a substitute for advice from a licensed insurance professional.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
id: policy-renewal-reminder
|
|
2
|
+
version: 1
|
|
3
|
+
name: Policy Renewal Reminder
|
|
4
|
+
description: >
|
|
5
|
+
Warns you before an insurance policy's renewal date so you have time to
|
|
6
|
+
shop around or review coverage, instead of auto-renewing on autopilot.
|
|
7
|
+
Use this if you've ever realized a policy renewed months ago at a higher
|
|
8
|
+
rate without you noticing.
|
|
9
|
+
category: insurance
|
|
10
|
+
tags: [insurance, renewal, policy, reminder]
|
|
11
|
+
schedule: "0 8 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
awk -F',' -v days="{{warn_days_before}}" '
|
|
16
|
+
NR==1 {next}
|
|
17
|
+
{
|
|
18
|
+
cmd = "date -d \"" $2 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $2 "\" +%s 2>/dev/null";
|
|
19
|
+
cmd | getline expiry_epoch; close(cmd);
|
|
20
|
+
"date +%s" | getline now_epoch; close("date +%s");
|
|
21
|
+
diff_days = (expiry_epoch - now_epoch) / 86400;
|
|
22
|
+
if (diff_days <= days && diff_days >= 0) {
|
|
23
|
+
printf "RENEWAL DUE: %s renews %s (%d days)\n", $1, $2, diff_days;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
' "{{policies_csv_path}}"
|
|
27
|
+
variables:
|
|
28
|
+
policies_csv_path:
|
|
29
|
+
default: "./insurance-policies.csv"
|
|
30
|
+
description: "Path to a CSV with columns: policy_name,renewal_date (YYYY-MM-DD)."
|
|
31
|
+
warn_days_before:
|
|
32
|
+
default: 30
|
|
33
|
+
description: How many days before renewal to start warning.
|
|
34
|
+
compatible_agents: [generic, claude, codex]
|
|
35
|
+
notes: Maintain the CSV manually or export it from whatever policy-management tool/broker portal you use.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
id: expiring-perishable-stock-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Expiring Perishable Stock Check
|
|
4
|
+
description: >
|
|
5
|
+
Flags perishable inventory nearing its expiry date so it can be sold,
|
|
6
|
+
discounted, or used before it's wasted. Use this if stock has ever
|
|
7
|
+
expired on the shelf because nobody was tracking dates until it was too
|
|
8
|
+
late.
|
|
9
|
+
category: inventory
|
|
10
|
+
tags: [inventory, perishables, waste]
|
|
11
|
+
schedule: "0 6 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
psql "{{database_url}}" -t -c "select sku, quantity, expiry_date from inventory where expiry_date is not null and expiry_date <= current_date + interval '{{warn_days}} days' order by expiry_date;"
|
|
16
|
+
variables:
|
|
17
|
+
database_url:
|
|
18
|
+
default: "postgres://user:pass@host:5432/db"
|
|
19
|
+
description: Connection string for the inventory database.
|
|
20
|
+
warn_days:
|
|
21
|
+
default: 5
|
|
22
|
+
description: Days before expiry_date to start flagging stock.
|
|
23
|
+
compatible_agents: [generic, claude, codex]
|
|
24
|
+
notes: Assumes an `inventory` table with a nullable `expiry_date` column — adjust the query to your schema.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
id: dividend-payment-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Dividend Payment Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Checks that an expected dividend payment actually landed by its
|
|
6
|
+
scheduled pay date. Use this if a dividend has ever quietly not shown up
|
|
7
|
+
and it took weeks to notice something was wrong with a holding or
|
|
8
|
+
broker.
|
|
9
|
+
category: investing
|
|
10
|
+
tags: [investing, dividends, income]
|
|
11
|
+
schedule: "0 9 * * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
today=$(date +%s);
|
|
16
|
+
awk -F, -v today="$today" '
|
|
17
|
+
NR>1 && $3 == "pending" {
|
|
18
|
+
cmd="date -d \"" $2 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $2 "\" +%s";
|
|
19
|
+
cmd | getline pay_ts; close(cmd);
|
|
20
|
+
if (pay_ts < today) print "WARNING: " $1 " dividend was due " $2 " and is still marked pending";
|
|
21
|
+
}
|
|
22
|
+
' {{dividends_csv}}
|
|
23
|
+
variables:
|
|
24
|
+
dividends_csv:
|
|
25
|
+
default: "dividends.csv"
|
|
26
|
+
description: "CSV with header row, columns: ticker,pay_date(YYYY-MM-DD),status(pending/received)."
|
|
27
|
+
warn_days:
|
|
28
|
+
default: 0
|
|
29
|
+
description: Unused placeholder kept for consistency with other date-check jobs; flags immediately once the pay date has passed.
|
|
30
|
+
compatible_agents: [generic, claude, codex]
|
|
31
|
+
notes: >
|
|
32
|
+
Update dividends.csv to "received" once a payment lands (check your
|
|
33
|
+
brokerage statement) — this job only flags entries still marked
|
|
34
|
+
"pending" past their pay date.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: nda-expiry-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: NDA Expiry Check
|
|
4
|
+
description: >
|
|
5
|
+
Warns you before a signed NDA reaches its expiration or renewal date.
|
|
6
|
+
Use this if an NDA has ever lapsed mid-relationship and nobody noticed
|
|
7
|
+
the confidentiality coverage had run out.
|
|
8
|
+
category: legal
|
|
9
|
+
tags: [legal, nda, contracts]
|
|
10
|
+
schedule: "0 9 1 * *"
|
|
11
|
+
timezone: "UTC"
|
|
12
|
+
runner: shell
|
|
13
|
+
command: >
|
|
14
|
+
today=$(date +%s);
|
|
15
|
+
awk -F, -v today="$today" -v warn={{warn_days}} '
|
|
16
|
+
NR>1 {
|
|
17
|
+
cmd="date -d \"" $2 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $2 "\" +%s";
|
|
18
|
+
cmd | getline exp_ts; close(cmd);
|
|
19
|
+
days_left = int((exp_ts - today) / 86400);
|
|
20
|
+
if (days_left <= warn) print "WARNING: NDA with \"" $1 "\" expires in " days_left " days (" $2 ")";
|
|
21
|
+
}
|
|
22
|
+
' {{ndas_csv}}
|
|
23
|
+
variables:
|
|
24
|
+
ndas_csv:
|
|
25
|
+
default: "ndas.csv"
|
|
26
|
+
description: "CSV with header row, columns: counterparty,expiry_date(YYYY-MM-DD)."
|
|
27
|
+
warn_days:
|
|
28
|
+
default: 30
|
|
29
|
+
description: Days before expiry to start warning.
|
|
30
|
+
compatible_agents: [generic, claude, codex]
|
|
31
|
+
notes: Keep ndas.csv updated whenever an NDA is signed — one row per counterparty/agreement.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
id: freight-rate-spike-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Freight Rate Spike Watch
|
|
4
|
+
description: >
|
|
5
|
+
Checks a freight lane's current quoted rate against your baseline and
|
|
6
|
+
flags a spike. Use this if a shipping rate has ever quietly doubled and
|
|
7
|
+
only got noticed when the invoice came in.
|
|
8
|
+
category: logistics
|
|
9
|
+
tags: [logistics, freight, rates]
|
|
10
|
+
schedule: "0 7 * * 1"
|
|
11
|
+
timezone: "UTC"
|
|
12
|
+
runner: agent-prompt
|
|
13
|
+
prompt: |
|
|
14
|
+
Check the current freight rate for the lane {{lane_description}} via
|
|
15
|
+
{{rate_source_hint}}.
|
|
16
|
+
1. Compare the current quote to the baseline rate of {{baseline_rate}}
|
|
17
|
+
per {{rate_unit}}.
|
|
18
|
+
2. Flag if it's {{spike_threshold_pct}}% or more above baseline.
|
|
19
|
+
3. Report the current rate, the delta, and if visible, the likely driver
|
|
20
|
+
(fuel surcharge, capacity crunch, seasonal demand).
|
|
21
|
+
variables:
|
|
22
|
+
lane_description:
|
|
23
|
+
default: "Los Angeles, CA to Chicago, IL"
|
|
24
|
+
description: Origin/destination lane to check.
|
|
25
|
+
rate_source_hint:
|
|
26
|
+
default: "your freight broker or a rate index (DAT, Freightos)"
|
|
27
|
+
description: Where to check current freight rates.
|
|
28
|
+
baseline_rate:
|
|
29
|
+
default: 2.50
|
|
30
|
+
description: Baseline rate per unit to compare against.
|
|
31
|
+
rate_unit:
|
|
32
|
+
default: "mile"
|
|
33
|
+
description: Unit the rate is quoted in.
|
|
34
|
+
spike_threshold_pct:
|
|
35
|
+
default: 20
|
|
36
|
+
description: Percent above baseline that counts as a spike.
|
|
37
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
38
|
+
notes: No generic script mode — freight rate sources vary (broker quotes, load boards, rate indices) and most don't expose a simple public API.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: preventive-maintenance-due-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Preventive Maintenance Due Check
|
|
4
|
+
description: >
|
|
5
|
+
Flags equipment coming due for scheduled preventive maintenance. Use
|
|
6
|
+
this if a machine has ever failed unexpectedly that would've been
|
|
7
|
+
caught by a PM visit nobody scheduled in time.
|
|
8
|
+
category: manufacturing
|
|
9
|
+
tags: [manufacturing, maintenance, equipment]
|
|
10
|
+
schedule: "0 7 * * 1"
|
|
11
|
+
timezone: "UTC"
|
|
12
|
+
runner: shell
|
|
13
|
+
command: >
|
|
14
|
+
today=$(date +%s);
|
|
15
|
+
awk -F, -v today="$today" -v warn={{warn_days}} '
|
|
16
|
+
NR>1 {
|
|
17
|
+
cmd="date -d \"" $2 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $2 "\" +%s";
|
|
18
|
+
cmd | getline due_ts; close(cmd);
|
|
19
|
+
days_left = int((due_ts - today) / 86400);
|
|
20
|
+
if (days_left <= warn) print "WARNING: equipment \"" $1 "\" PM due in " days_left " days (" $2 ")";
|
|
21
|
+
}
|
|
22
|
+
' {{pm_schedule_csv}}
|
|
23
|
+
variables:
|
|
24
|
+
pm_schedule_csv:
|
|
25
|
+
default: "pm-schedule.csv"
|
|
26
|
+
description: "CSV with header row, columns: equipment_id,next_pm_date(YYYY-MM-DD)."
|
|
27
|
+
warn_days:
|
|
28
|
+
default: 7
|
|
29
|
+
description: Days before the scheduled PM date to start warning.
|
|
30
|
+
compatible_agents: [generic, claude, codex]
|
|
31
|
+
notes: Keep pm-schedule.csv updated from your CMMS export or maintenance log before each run.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
id: competitor-page-diff-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Competitor Page Diff Watch
|
|
4
|
+
description: >
|
|
5
|
+
Snapshots a competitor's pricing or landing page and diffs it against the
|
|
6
|
+
last snapshot, turning any real change into a short action memo instead
|
|
7
|
+
of a wall of markup diff. Use this if a competitor has ever changed
|
|
8
|
+
pricing or repositioned a page and you found out from a customer instead
|
|
9
|
+
of noticing it yourself.
|
|
10
|
+
category: marketing
|
|
11
|
+
tags: [competitor, monitoring, pricing, marketing]
|
|
12
|
+
schedule: "0 9 * * 1"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: hybrid
|
|
15
|
+
command: >
|
|
16
|
+
snapshot_dir="{{snapshot_dir}}";
|
|
17
|
+
mkdir -p "$snapshot_dir";
|
|
18
|
+
today_file="$snapshot_dir/$(date +%Y-%m-%d).html";
|
|
19
|
+
curl -s -A "Mozilla/5.0" "{{competitor_url}}" -o "$today_file";
|
|
20
|
+
prev_file=$(ls -1 "$snapshot_dir" | grep -v "$(basename "$today_file")" | sort | tail -1);
|
|
21
|
+
if [ -n "$prev_file" ]; then
|
|
22
|
+
diff "$snapshot_dir/$prev_file" "$today_file" | head -100;
|
|
23
|
+
else
|
|
24
|
+
echo "first snapshot taken, nothing to diff against yet.";
|
|
25
|
+
fi
|
|
26
|
+
prompt: |
|
|
27
|
+
Compare today's snapshot of {{competitor_url}} against the previous one
|
|
28
|
+
(raw HTML diff provided by the script, or fetch and compare yourself).
|
|
29
|
+
1. Ignore markup/whitespace/tracking-param noise.
|
|
30
|
+
2. Summarize any real content change: pricing, plan names, feature
|
|
31
|
+
claims, or messaging changes.
|
|
32
|
+
3. If nothing meaningful changed, say so in one line.
|
|
33
|
+
4. If something did change, draft a short internal action memo: what
|
|
34
|
+
changed, why it might matter, and one suggested response (match
|
|
35
|
+
pricing, update our comparison page, no action needed).
|
|
36
|
+
script_note: >
|
|
37
|
+
`command` only saves a raw HTML diff — full of markup and whitespace
|
|
38
|
+
noise, no interpretation of what actually changed or whether it matters.
|
|
39
|
+
`prompt` filters the noise and produces an actionable summary.
|
|
40
|
+
variables:
|
|
41
|
+
competitor_url:
|
|
42
|
+
default: "https://example.com/pricing"
|
|
43
|
+
description: Competitor page URL to monitor (pricing/landing pages work best).
|
|
44
|
+
snapshot_dir:
|
|
45
|
+
default: "./competitor-snapshots"
|
|
46
|
+
description: Local directory to store daily HTML snapshots for diffing.
|
|
47
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
48
|
+
notes: Respect the target site's robots.txt/terms before scraping; some sites render pricing via JS and won't diff meaningfully from raw HTML alone.
|