@wonsukchoi/crondex 0.21.0 → 0.23.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 +31 -44
- package/catalog.json +8862 -1873
- package/jobs/automotive/ase-certification-expiry-check.yaml +36 -0
- package/jobs/automotive/csi-score-monitor.yaml +33 -0
- package/jobs/automotive/customer-pay-warranty-pay-mix-tracker.yaml +47 -0
- package/jobs/automotive/fi-product-attachment-rate-tracker.yaml +39 -0
- package/jobs/automotive/loaner-fleet-availability-check.yaml +40 -0
- package/jobs/automotive/manufacturer-recall-notice-check.yaml +39 -0
- package/jobs/automotive/parts-reorder-point-check.yaml +36 -0
- package/jobs/automotive/repair-cycle-time-trend-monitor.yaml +42 -0
- package/jobs/automotive/service-appointment-no-show-tracker.yaml +38 -0
- package/jobs/automotive/service-bay-utilization-check.yaml +38 -0
- package/jobs/automotive/shop-supply-reorder-check.yaml +31 -0
- package/jobs/automotive/trade-in-appraisal-variance-check.yaml +39 -0
- package/jobs/automotive/used-vehicle-inventory-aging-check.yaml +35 -0
- package/jobs/construction/critical-path-material-lead-time-review.yaml +43 -0
- package/jobs/construction/daily-jobsite-log-compliance-check.yaml +34 -0
- package/jobs/construction/equipment-utilization-cost-check.yaml +35 -0
- package/jobs/construction/heavy-equipment-inspection-compliance-check.yaml +34 -0
- package/jobs/construction/jobsite-safety-incident-near-miss-tracker.yaml +35 -0
- package/jobs/construction/lien-waiver-collection-tracker.yaml +27 -0
- package/jobs/construction/permit-application-approval-backlog-check.yaml +33 -0
- package/jobs/construction/project-budget-variance-check.yaml +34 -0
- package/jobs/construction/punch-list-completion-tracker.yaml +36 -0
- package/jobs/construction/retainage-holdback-release-tracker.yaml +33 -0
- package/jobs/construction/rfi-response-time-tracker.yaml +33 -0
- package/jobs/construction/subcontractor-pay-application-approval-tracker.yaml +35 -0
- package/jobs/construction/submittal-shop-drawing-review-check.yaml +45 -0
- package/jobs/construction/weather-delay-impact-log.yaml +44 -0
- package/jobs/ecommerce/affiliate-commission-payout-check.yaml +38 -0
- package/jobs/ecommerce/back-in-stock-notification-backlog-check.yaml +30 -0
- package/jobs/ecommerce/bundle-component-stock-mismatch-check.yaml +37 -0
- package/jobs/ecommerce/chargeback-fraud-risk-order-review.yaml +43 -0
- package/jobs/ecommerce/competitor-price-watch.yaml +60 -0
- package/jobs/ecommerce/economic-nexus-threshold-check.yaml +43 -0
- package/jobs/ecommerce/failed-payment-dunning-check.yaml +35 -0
- package/jobs/ecommerce/marketplace-listing-sync-drift-check.yaml +48 -0
- package/jobs/ecommerce/product-feed-health-check.yaml +35 -0
- package/jobs/ecommerce/purchase-order-overdue-check.yaml +32 -0
- package/jobs/ecommerce/storefront-ssl-domain-expiry-check.yaml +46 -0
- package/jobs/ecommerce/vip-tier-reclassification-check.yaml +55 -0
- package/jobs/ecommerce/wishlist-abandonment-check.yaml +37 -0
- package/jobs/education/chronic-absenteeism-tracker.yaml +34 -0
- package/jobs/education/department-budget-variance-check.yaml +37 -0
- package/jobs/education/enrollment-withdrawal-trend-tracker.yaml +39 -0
- package/jobs/education/facility-work-order-backlog-check.yaml +34 -0
- package/jobs/education/free-reduced-lunch-eligibility-renewal-check.yaml +36 -0
- package/jobs/education/iep-504-review-deadline-tracker.yaml +35 -0
- package/jobs/education/parent-teacher-conference-noshow-tracker.yaml +29 -0
- package/jobs/education/school-bus-route-ontime-check.yaml +40 -0
- package/jobs/education/standardized-test-registration-deadline-check.yaml +35 -0
- package/jobs/education/substitute-teacher-fill-rate-tracker.yaml +35 -0
- package/jobs/education/teacher-certification-expiry-tracker.yaml +35 -0
- package/jobs/education/textbook-inventory-shortage-check.yaml +32 -0
- package/jobs/finance/accounts-payable-aging-check.yaml +40 -0
- package/jobs/finance/bank-statement-reconciliation-check.yaml +40 -0
- package/jobs/finance/budget-vs-actual-variance-report.yaml +38 -0
- package/jobs/finance/contractor-1099-threshold-tracker.yaml +43 -0
- package/jobs/finance/credit-utilization-watch.yaml +40 -0
- package/jobs/finance/duplicate-payment-detection.yaml +43 -0
- package/jobs/finance/expense-report-compliance-check.yaml +46 -0
- package/jobs/finance/late-fee-interest-risk-check.yaml +43 -0
- package/jobs/finance/loan-covenant-compliance-check.yaml +37 -0
- package/jobs/finance/month-end-close-checklist-tracker.yaml +39 -0
- package/jobs/finance/multi-account-cash-position-rollup.yaml +45 -0
- package/jobs/finance/petty-cash-float-reconciliation.yaml +43 -0
- package/jobs/finance/quarterly-estimated-tax-calculator.yaml +66 -0
- package/jobs/finance/vendor-early-pay-discount-tracker.yaml +45 -0
- package/jobs/fleet/accident-incident-report-tracker.yaml +34 -0
- package/jobs/fleet/driver-mvr-review-tracker.yaml +34 -0
- package/jobs/fleet/driver-safety-score-monitor.yaml +39 -0
- package/jobs/fleet/ev-battery-health-check.yaml +36 -0
- package/jobs/fleet/fuel-efficiency-trend-monitor.yaml +33 -0
- package/jobs/fleet/geofence-violation-check.yaml +37 -0
- package/jobs/fleet/lease-return-condition-check.yaml +33 -0
- package/jobs/fleet/tire-wear-replacement-check.yaml +30 -0
- package/jobs/fleet/toll-violation-tracker.yaml +34 -0
- package/jobs/fleet/vehicle-pool-scheduling-conflict-check.yaml +37 -0
- package/jobs/fleet/vehicle-tco-tracker.yaml +41 -0
- package/jobs/fleet/vehicle-utilization-rate-check.yaml +37 -0
- package/jobs/growth/cohort-retention-curve-monitor.yaml +39 -0
- package/jobs/growth/customer-health-score-monitor.yaml +37 -0
- package/jobs/growth/dau-mau-engagement-ratio-check.yaml +39 -0
- package/jobs/growth/dormant-account-reactivation-check.yaml +39 -0
- package/jobs/growth/expansion-revenue-opportunity-tracker.yaml +44 -0
- package/jobs/growth/feature-adoption-rate-tracker.yaml +44 -0
- package/jobs/growth/nps-trend-tracker.yaml +40 -0
- package/jobs/growth/onboarding-funnel-dropoff-check.yaml +39 -0
- package/jobs/growth/paywall-upgrade-prompt-conversion-check.yaml +40 -0
- package/jobs/growth/product-qualified-lead-tracker.yaml +42 -0
- package/jobs/growth/referral-program-performance-tracker.yaml +35 -0
- package/jobs/growth/trial-to-paid-conversion-rate-tracker.yaml +48 -0
- package/jobs/growth/winback-reactivation-campaign-tracker.yaml +46 -0
- package/jobs/healthcare/appointment-slot-utilization-check.yaml +56 -0
- package/jobs/healthcare/claims-denial-resubmission-check.yaml +43 -0
- package/jobs/healthcare/clinical-supply-low-stock-check.yaml +30 -0
- package/jobs/healthcare/controlled-substance-inventory-reconciliation.yaml +42 -0
- package/jobs/healthcare/hipaa-access-log-audit.yaml +74 -0
- package/jobs/healthcare/patient-balance-collections-aging-check.yaml +41 -0
- package/jobs/healthcare/patient-immunization-schedule-check.yaml +41 -0
- package/jobs/healthcare/patient-portal-message-backlog-check.yaml +39 -0
- package/jobs/healthcare/patient-satisfaction-survey-tracking.yaml +59 -0
- package/jobs/healthcare/prescription-refill-request-backlog-check.yaml +38 -0
- package/jobs/healthcare/prior-authorization-expiry-check.yaml +53 -0
- package/jobs/healthcare/staff-cme-credit-tracking.yaml +41 -0
- package/jobs/healthcare/telehealth-session-issue-check.yaml +51 -0
- package/jobs/hospitality/adr-revpar-tracker.yaml +43 -0
- package/jobs/hospitality/cancellation-rate-spike-check.yaml +21 -0
- package/jobs/hospitality/group-booking-space-utilization-check.yaml +40 -0
- package/jobs/hospitality/guest-complaint-sla-tracker.yaml +34 -0
- package/jobs/hospitality/guest-satisfaction-score-monitor.yaml +41 -0
- package/jobs/hospitality/linen-inventory-turnover-check.yaml +35 -0
- package/jobs/hospitality/loyalty-points-reconciliation-check.yaml +33 -0
- package/jobs/hospitality/minibar-charge-reconciliation-check.yaml +38 -0
- package/jobs/hospitality/occupancy-forecast-variance-check.yaml +33 -0
- package/jobs/hospitality/ota-rate-parity-check.yaml +36 -0
- package/jobs/hospitality/overbooking-risk-alert.yaml +38 -0
- package/jobs/hospitality/room-maintenance-work-order-tracker.yaml +31 -0
- package/jobs/hospitality/upsell-upgrade-conversion-tracker.yaml +37 -0
- package/jobs/hr/aca-fte-threshold-monitor.yaml +44 -0
- package/jobs/hr/cobra-notification-deadline-tracker.yaml +47 -0
- package/jobs/hr/compliance-training-completion-check.yaml +41 -0
- package/jobs/hr/eeo1-filing-deadline-reminder.yaml +37 -0
- package/jobs/hr/handbook-acknowledgment-tracking.yaml +34 -0
- package/jobs/hr/headcount-budget-variance-check.yaml +37 -0
- package/jobs/hr/leave-of-absence-return-tracker.yaml +42 -0
- package/jobs/hr/org-chart-manager-drift-check.yaml +40 -0
- package/jobs/hr/pay-equity-band-outlier-check.yaml +58 -0
- package/jobs/hr/pto-year-end-use-it-or-lose-it-check.yaml +49 -0
- package/jobs/hr/retirement-plan-enrollment-deadline-check.yaml +40 -0
- package/jobs/hr/workers-comp-claim-status-check.yaml +42 -0
- package/jobs/insurance/adjuster-caseload-balance-check.yaml +45 -0
- package/jobs/insurance/agent-broker-license-expiry-tracker.yaml +40 -0
- package/jobs/insurance/cat-event-exposure-monitor.yaml +37 -0
- package/jobs/insurance/claims-aging-backlog-tracker.yaml +48 -0
- package/jobs/insurance/doi-filing-deadline-tracker.yaml +42 -0
- package/jobs/insurance/loss-ratio-by-line-monitor.yaml +43 -0
- package/jobs/insurance/policy-lapse-rate-monitor.yaml +41 -0
- package/jobs/insurance/premium-payment-delinquency-tracker.yaml +42 -0
- package/jobs/insurance/quote-to-bind-conversion-tracker.yaml +41 -0
- package/jobs/insurance/reinsurance-treaty-renewal-tracker.yaml +38 -0
- package/jobs/insurance/siu-fraud-referral-tracker.yaml +36 -0
- package/jobs/insurance/subrogation-recovery-tracker.yaml +41 -0
- package/jobs/insurance/underwriting-queue-sla-monitor.yaml +45 -0
- package/jobs/legal/conflict-of-interest-check-tracker.yaml +38 -0
- package/jobs/legal/corporate-minute-book-completeness-check.yaml +31 -0
- package/jobs/legal/data-privacy-request-deadline-tracker.yaml +61 -0
- package/jobs/legal/entity-authority-document-expiry-check.yaml +37 -0
- package/jobs/legal/legal-document-retention-purge-review.yaml +39 -0
- package/jobs/legal/litigation-hold-acknowledgment-tracker.yaml +40 -0
- package/jobs/legal/non-compete-expiry-tracker.yaml +37 -0
- package/jobs/legal/outside-counsel-invoice-budget-check.yaml +37 -0
- package/jobs/legal/settlement-payment-schedule-tracker.yaml +34 -0
- package/jobs/legal/timekeeper-billable-hours-compliance-check.yaml +39 -0
- package/jobs/legal/trademark-infringement-watch.yaml +43 -0
- package/jobs/legal/vendor-coi-expiry-tracker.yaml +37 -0
- package/jobs/logistics/3pl-performance-scorecard.yaml +45 -0
- package/jobs/logistics/bol-freight-class-accuracy-audit.yaml +33 -0
- package/jobs/logistics/cargo-insurance-claim-status-check.yaml +39 -0
- package/jobs/logistics/carrier-load-tender-acceptance-check.yaml +34 -0
- package/jobs/logistics/carrier-otd-performance-scorecard.yaml +41 -0
- package/jobs/logistics/carrier-rate-contract-renewal-check.yaml +35 -0
- package/jobs/logistics/cross-dock-dwell-time-watch.yaml +43 -0
- package/jobs/logistics/freight-invoice-rate-audit.yaml +38 -0
- package/jobs/logistics/fuel-surcharge-rate-monitor.yaml +40 -0
- package/jobs/logistics/international-shipment-documentation-check.yaml +36 -0
- package/jobs/logistics/linehaul-transit-time-variance-check.yaml +43 -0
- package/jobs/logistics/proof-of-delivery-reconciliation-check.yaml +38 -0
- package/jobs/logistics/route-load-optimization-check.yaml +32 -0
- package/jobs/manufacturing/changeover-time-tracker.yaml +29 -0
- package/jobs/manufacturing/critical-spare-parts-stock-check.yaml +29 -0
- package/jobs/manufacturing/first-pass-yield-report.yaml +37 -0
- package/jobs/manufacturing/lot-traceability-audit.yaml +37 -0
- package/jobs/manufacturing/non-conformance-report-backlog-check.yaml +34 -0
- package/jobs/manufacturing/oee-efficiency-check.yaml +37 -0
- package/jobs/manufacturing/osha-recordable-incident-audit.yaml +37 -0
- package/jobs/manufacturing/production-schedule-adherence-check.yaml +35 -0
- package/jobs/manufacturing/safety-certification-expiry-check.yaml +37 -0
- package/jobs/manufacturing/scrap-waste-rate-watch.yaml +33 -0
- package/jobs/manufacturing/shift-handoff-report.yaml +37 -0
- package/jobs/manufacturing/supplier-quality-ppm-watch.yaml +38 -0
- package/jobs/manufacturing/tooling-die-wear-check.yaml +31 -0
- package/jobs/manufacturing/work-order-backlog-check.yaml +37 -0
- package/jobs/marketing/ad-creative-fatigue-check.yaml +44 -0
- package/jobs/marketing/affiliate-partner-performance-check.yaml +38 -0
- package/jobs/marketing/attribution-discrepancy-check.yaml +42 -0
- package/jobs/marketing/brand-share-of-voice-check.yaml +43 -0
- package/jobs/marketing/campaign-roas-cpa-anomaly-check.yaml +41 -0
- package/jobs/marketing/competitor-ad-creative-watch.yaml +40 -0
- package/jobs/marketing/email-list-growth-rate-check.yaml +43 -0
- package/jobs/marketing/landing-page-conversion-drop-check.yaml +44 -0
- package/jobs/marketing/mql-to-sql-handoff-sla-check.yaml +29 -0
- package/jobs/marketing/mql-volume-pace-check.yaml +34 -0
- package/jobs/marketing/paid-search-negative-keyword-waste-check.yaml +37 -0
- package/jobs/marketing/press-release-pickup-tracking.yaml +32 -0
- package/jobs/marketing/webinar-registration-attendance-check.yaml +38 -0
- package/jobs/realestate/capital-reserve-fund-threshold-check.yaml +32 -0
- package/jobs/realestate/eviction-notice-deadline-tracker.yaml +37 -0
- package/jobs/realestate/landlord-insurance-claim-status-check.yaml +35 -0
- package/jobs/realestate/lease-renewal-offer-window-check.yaml +35 -0
- package/jobs/realestate/maintenance-request-sla-check.yaml +39 -0
- package/jobs/realestate/move-in-move-out-inspection-tracker.yaml +35 -0
- package/jobs/realestate/rent-increase-notice-deadline-check.yaml +54 -0
- package/jobs/realestate/rent-roll-vacancy-loss-report.yaml +32 -0
- package/jobs/realestate/rental-license-renewal-check.yaml +35 -0
- package/jobs/realestate/security-deposit-return-deadline-check.yaml +38 -0
- package/jobs/realestate/tenant-application-review-backlog-check.yaml +35 -0
- package/jobs/realestate/tenant-renters-insurance-compliance-check.yaml +35 -0
- package/jobs/realestate/utility-billback-reconciliation-check.yaml +41 -0
- package/jobs/restaurant/comp-void-anomaly-tracker.yaml +39 -0
- package/jobs/restaurant/daily-sales-flash-report.yaml +36 -0
- package/jobs/restaurant/delivery-platform-commission-reconciliation.yaml +33 -0
- package/jobs/restaurant/delivery-receiving-discrepancy-check.yaml +33 -0
- package/jobs/restaurant/food-handler-permit-expiry-tracker.yaml +33 -0
- package/jobs/restaurant/gift-card-liability-check.yaml +45 -0
- package/jobs/restaurant/kitchen-ticket-time-watch.yaml +38 -0
- package/jobs/restaurant/liquor-pour-cost-variance-check.yaml +34 -0
- package/jobs/restaurant/menu-86-frequency-tracker.yaml +39 -0
- package/jobs/restaurant/menu-item-profitability-check.yaml +33 -0
- package/jobs/restaurant/pos-end-of-day-reconciliation-check.yaml +31 -0
- package/jobs/restaurant/table-turnover-rate-tracker.yaml +36 -0
- package/jobs/restaurant/waitlist-conversion-check.yaml +37 -0
- package/jobs/retail/cash-office-deposit-variance-check.yaml +34 -0
- package/jobs/retail/competitor-price-monitoring-check.yaml +42 -0
- package/jobs/retail/damaged-merchandise-writeoff-tracker.yaml +41 -0
- package/jobs/retail/employee-discount-abuse-check.yaml +39 -0
- package/jobs/retail/layaway-special-order-pickup-tracker.yaml +33 -0
- package/jobs/retail/loyalty-enrollment-redemption-rate-tracker.yaml +37 -0
- package/jobs/retail/markdown-execution-audit-check.yaml +29 -0
- package/jobs/retail/planogram-compliance-audit-check.yaml +36 -0
- package/jobs/retail/pos-void-refund-anomaly-tracker.yaml +42 -0
- package/jobs/retail/price-tag-audit-accuracy-check.yaml +37 -0
- package/jobs/retail/sales-per-square-foot-tracker.yaml +36 -0
- package/jobs/retail/seasonal-staffing-coverage-check.yaml +35 -0
- package/jobs/retail/store-closing-checklist-compliance-check.yaml +32 -0
- package/jobs/retail/visual-merchandising-compliance-check.yaml +40 -0
- package/jobs/sales/champion-departure-watch.yaml +44 -0
- package/jobs/sales/closed-lost-reason-audit.yaml +42 -0
- package/jobs/sales/commission-payout-tracker.yaml +32 -0
- package/jobs/sales/contract-renewal-opportunity-tracker.yaml +28 -0
- package/jobs/sales/discount-approval-pending-check.yaml +31 -0
- package/jobs/sales/forecast-submission-compliance-check.yaml +42 -0
- package/jobs/sales/multi-year-renewal-escalation-tracker.yaml +31 -0
- package/jobs/sales/pipeline-hygiene-audit.yaml +26 -0
- package/jobs/sales/poc-trial-conversion-tracker.yaml +29 -0
- package/jobs/sales/referral-followup-tracker.yaml +40 -0
- package/jobs/sales/territory-coverage-gap-check.yaml +43 -0
- package/jobs/veterinary/appointment-no-show-rate-tracker.yaml +49 -0
- package/jobs/veterinary/boarding-kennel-capacity-utilization-check.yaml +39 -0
- package/jobs/veterinary/client-payment-plan-delinquency-check.yaml +36 -0
- package/jobs/veterinary/dvm-license-dea-registration-expiry-check.yaml +41 -0
- package/jobs/veterinary/microchip-registration-verification-check.yaml +40 -0
- package/jobs/veterinary/patient-record-completeness-audit.yaml +41 -0
- package/jobs/veterinary/pet-medication-refill-backlog-check.yaml +36 -0
- package/jobs/veterinary/puppy-kitten-vaccine-series-compliance-check.yaml +39 -0
- package/jobs/veterinary/senior-pet-wellness-recall-tracker.yaml +43 -0
- package/jobs/veterinary/spay-neuter-followup-compliance-check.yaml +35 -0
- package/jobs/veterinary/specialist-referral-followup-check.yaml +38 -0
- package/jobs/veterinary/surgical-schedule-utilization-check.yaml +36 -0
- package/jobs/veterinary/vet-staff-ce-credit-tracking.yaml +36 -0
- package/jobs/warehousing/conveyor-sortation-downtime-watch.yaml +48 -0
- package/jobs/warehousing/labor-productivity-rate-check.yaml +33 -0
- package/jobs/warehousing/mhe-preventive-maintenance-check.yaml +38 -0
- package/jobs/warehousing/order-fulfillment-sla-watch.yaml +42 -0
- package/jobs/warehousing/shift-headcount-coverage-check.yaml +33 -0
- package/jobs/warehousing/slotting-velocity-review-check.yaml +44 -0
- package/jobs/warehousing/warehouse-damage-writeoff-review.yaml +41 -0
- package/jobs/warehousing/warehouse-near-miss-incident-rate-watch.yaml +47 -0
- package/jobs/warehousing/warehouse-space-utilization-check.yaml +39 -0
- package/jobs/warehousing/wave-pick-batch-efficiency-check.yaml +33 -0
- package/jobs/warehousing/wms-integration-error-check.yaml +36 -0
- package/jobs/warehousing/yard-trailer-detention-watch.yaml +41 -0
- package/lib/category-descriptions.js +12 -12
- package/lib/duplicates-allowlist.js +15 -0
- package/package.json +2 -2
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
id: conflict-of-interest-check-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Conflict-of-Interest Check Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Checks new matters or clients waiting on a conflict-of-interest clearance
|
|
6
|
+
and flags any that have sat unresolved past a set number of days. Use
|
|
7
|
+
this if a new engagement has ever started before the conflicts check
|
|
8
|
+
actually cleared, because the request got sent and then forgotten.
|
|
9
|
+
category: legal
|
|
10
|
+
tags: [legal, conflicts-check, intake, compliance]
|
|
11
|
+
schedule: "0 9 * * 1-5"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
awk -F',' -v days="{{overdue_days}}" '
|
|
16
|
+
NR==1 {next}
|
|
17
|
+
$4 == "pending" {
|
|
18
|
+
cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
|
|
19
|
+
cmd | getline requested_epoch; close(cmd);
|
|
20
|
+
"date +%s" | getline now_epoch; close("date +%s");
|
|
21
|
+
pending_days = (now_epoch - requested_epoch) / 86400;
|
|
22
|
+
if (pending_days >= days) {
|
|
23
|
+
printf "CONFLICTS CHECK PENDING: %s (matter: %s) — requested %s (%d days ago)\n", $1, $2, $3, pending_days;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
' "{{conflicts_csv_path}}"
|
|
27
|
+
variables:
|
|
28
|
+
conflicts_csv_path:
|
|
29
|
+
default: "./conflict-checks.csv"
|
|
30
|
+
description: "Path to a CSV with columns: client_or_matter_name,proposed_matter,check_requested_date (YYYY-MM-DD),status (pending/cleared/conflict-identified)."
|
|
31
|
+
overdue_days:
|
|
32
|
+
default: 2
|
|
33
|
+
description: Days a conflicts check can remain pending before it's flagged.
|
|
34
|
+
compatible_agents: [generic, claude, codex]
|
|
35
|
+
notes: >
|
|
36
|
+
This tracks whether a conflicts check was run and resolved before
|
|
37
|
+
engagement start — it does not run the conflicts search itself, which
|
|
38
|
+
depends on your practice management/conflicts database.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: corporate-minute-book-completeness-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Corporate Minute Book Completeness Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks the corporate minute book against the list of resolutions and
|
|
6
|
+
actions that should be documented for the year and flags anything
|
|
7
|
+
missing. Use this if a board resolution or annual consent has ever been
|
|
8
|
+
discussed and acted on but never actually got written up and filed in
|
|
9
|
+
the minute book, which surfaces at the worst time — due diligence for
|
|
10
|
+
a financing or sale.
|
|
11
|
+
category: legal
|
|
12
|
+
tags: [legal, corporate-governance, board-resolutions, minute-book]
|
|
13
|
+
schedule: "0 9 1 1,4,7,10 *"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: shell
|
|
16
|
+
command: >
|
|
17
|
+
awk -F',' '
|
|
18
|
+
NR==1 {next}
|
|
19
|
+
$4 == "no" {
|
|
20
|
+
printf "MISSING FROM MINUTE BOOK: %s — %s (required by %s, not yet filed)\n", $1, $2, $3;
|
|
21
|
+
}
|
|
22
|
+
' "{{minute_book_checklist_csv_path}}"
|
|
23
|
+
variables:
|
|
24
|
+
minute_book_checklist_csv_path:
|
|
25
|
+
default: "./minute-book-checklist.csv"
|
|
26
|
+
description: "Path to a CSV with columns: item_id,description (e.g. 'annual board consent', 'officer appointment resolution'),required_by_date (YYYY-MM-DD or a plain label like 'Q2'),filed (yes/no)."
|
|
27
|
+
compatible_agents: [generic, claude, codex]
|
|
28
|
+
notes: >
|
|
29
|
+
Assumes someone maintains the checklist whenever a resolution, consent,
|
|
30
|
+
or corporate action is decided — this only checks whether the paper
|
|
31
|
+
trail is complete, it doesn't draft the resolutions themselves.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
id: data-privacy-request-deadline-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Data Privacy Request (GDPR/CCPA) Deadline Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Flags open data subject access/deletion requests approaching their
|
|
6
|
+
statutory response deadline and drafts a status summary for whoever
|
|
7
|
+
owns the response. Use this if a GDPR or CCPA-style privacy request has
|
|
8
|
+
ever come uncomfortably close to its response window because tracking
|
|
9
|
+
it lived in someone's inbox instead of a real deadline list.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, data-privacy, gdpr, ccpa, deadline]
|
|
12
|
+
schedule: "0 8 * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: hybrid
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' -v days="{{warn_days_before}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
$5 == "open" {
|
|
19
|
+
cmd = "date -d \"" $4 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $4 "\" +%s 2>/dev/null";
|
|
20
|
+
cmd | getline due_epoch; close(cmd);
|
|
21
|
+
"date +%s" | getline now_epoch; close("date +%s");
|
|
22
|
+
diff_days = (due_epoch - now_epoch) / 86400;
|
|
23
|
+
if (diff_days <= days) {
|
|
24
|
+
printf "PRIVACY REQUEST DUE: %s — %s request, due %s (%d days)\n", $1, $2, $4, diff_days;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
' "{{privacy_requests_csv_path}}"
|
|
28
|
+
prompt: |
|
|
29
|
+
Here is the raw list of open data privacy requests approaching their
|
|
30
|
+
deadline (from the shell check): {{command_output}}. For each one:
|
|
31
|
+
1. Note the request type ({{request_types_hint}}) and which regulation's
|
|
32
|
+
clock applies (e.g. GDPR's ~30-day window, CCPA's 45-day window).
|
|
33
|
+
2. Flag anything with fewer than {{urgent_within_days}} days left as
|
|
34
|
+
urgent and needing an owner today.
|
|
35
|
+
3. Draft a short status update summarizing what's open, what's urgent,
|
|
36
|
+
and who should act next, suitable for pasting into a privacy/legal
|
|
37
|
+
ops channel.
|
|
38
|
+
variables:
|
|
39
|
+
privacy_requests_csv_path:
|
|
40
|
+
default: "./data-privacy-requests.csv"
|
|
41
|
+
description: "Path to a CSV with columns: request_id,request_type (access/deletion/correction/opt-out),regulation (gdpr/ccpa/other),response_due_date (YYYY-MM-DD),status (open/closed)."
|
|
42
|
+
warn_days_before:
|
|
43
|
+
default: 7
|
|
44
|
+
description: Days before the statutory response deadline to start flagging.
|
|
45
|
+
urgent_within_days:
|
|
46
|
+
default: 2
|
|
47
|
+
description: Days left at which an open request becomes urgent in the drafted summary.
|
|
48
|
+
request_types_hint:
|
|
49
|
+
default: "access, deletion, correction, or opt-out of sale"
|
|
50
|
+
description: Short reminder of the request categories your intake form uses.
|
|
51
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
52
|
+
script_note: >
|
|
53
|
+
The shell command gives a zero-token list of requests inside the warning
|
|
54
|
+
window from date math alone; the prompt adds regulation-specific
|
|
55
|
+
framing and a drafted, prioritized summary a non-lawyer can act on
|
|
56
|
+
without re-reading each row.
|
|
57
|
+
notes: >
|
|
58
|
+
Actual statutory deadlines, extensions, and exceptions vary by
|
|
59
|
+
regulation and request type — confirm with privacy counsel. This is a
|
|
60
|
+
tracking and drafting aid, not a substitute for legal review of any
|
|
61
|
+
individual request.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
id: entity-authority-document-expiry-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Entity Authority Document Expiry Check
|
|
4
|
+
description: >
|
|
5
|
+
Warns before a power of attorney, corporate signing-authority
|
|
6
|
+
certificate, or other entity-authority document reaches its expiration
|
|
7
|
+
date. Use this if a bank, counterparty, or government office has ever
|
|
8
|
+
rejected a signature because the power of attorney or authority
|
|
9
|
+
certificate backing it had quietly expired.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, power-of-attorney, corporate-authority, compliance]
|
|
12
|
+
schedule: "0 9 1 * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
today=$(date +%s);
|
|
17
|
+
awk -F, -v today="$today" -v warn={{warn_days}} '
|
|
18
|
+
NR>1 {
|
|
19
|
+
cmd="date -d \"" $3 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $3 "\" +%s";
|
|
20
|
+
cmd | getline exp_ts; close(cmd);
|
|
21
|
+
days_left = int((exp_ts - today) / 86400);
|
|
22
|
+
if (days_left <= warn) print "WARNING: \"" $1 "\" (" $2 ") expires in " days_left " days (" $3 ")";
|
|
23
|
+
}
|
|
24
|
+
' {{authority_docs_csv}}
|
|
25
|
+
variables:
|
|
26
|
+
authority_docs_csv:
|
|
27
|
+
default: "entity-authority-documents.csv"
|
|
28
|
+
description: "CSV with header row, columns: document_name,document_type (e.g. power-of-attorney, signing-authority-certificate),expiry_date(YYYY-MM-DD)."
|
|
29
|
+
warn_days:
|
|
30
|
+
default: 45
|
|
31
|
+
description: Days before expiry to start warning.
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: >
|
|
34
|
+
Distinct from `business-license-renewal-check` (operating licenses/permits)
|
|
35
|
+
— this tracks documents that grant someone authority to act or sign on
|
|
36
|
+
the entity's behalf. Update the CSV whenever an authority document is
|
|
37
|
+
issued, renewed, or revoked.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
id: legal-document-retention-purge-review
|
|
2
|
+
version: 1
|
|
3
|
+
name: Legal Document Retention Purge Review
|
|
4
|
+
description: >
|
|
5
|
+
Checks contracts and legal documents against their retention schedule
|
|
6
|
+
and flags anything past its retention period as eligible for archival
|
|
7
|
+
or destruction review. Use this if signed contracts and legal files
|
|
8
|
+
have ever piled up indefinitely because nobody was checking them
|
|
9
|
+
against how long the business's own retention policy actually requires
|
|
10
|
+
keeping them.
|
|
11
|
+
category: legal
|
|
12
|
+
tags: [legal, records-retention, document-management, compliance]
|
|
13
|
+
schedule: "0 8 1 * *"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: shell
|
|
16
|
+
command: >
|
|
17
|
+
today=$(date +%s);
|
|
18
|
+
awk -F',' -v today="$today" '
|
|
19
|
+
NR==1 {next}
|
|
20
|
+
$4 == "no" {
|
|
21
|
+
cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
|
|
22
|
+
cmd | getline exp_epoch; close(cmd);
|
|
23
|
+
if (today >= exp_epoch) {
|
|
24
|
+
printf "RETENTION EXPIRED: %s (%s) — retention ended %s, check for holds before purging\n", $1, $2, $3;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
' "{{records_csv_path}}"
|
|
28
|
+
variables:
|
|
29
|
+
records_csv_path:
|
|
30
|
+
default: "./legal-records-retention-schedule.csv"
|
|
31
|
+
description: "Path to a CSV with columns: document_id,document_type,retention_end_date (YYYY-MM-DD),reviewed (yes/no). One row per contract/legal document tracked under the retention policy."
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: >
|
|
34
|
+
Business's own contract/legal-file retention schedule — distinct from
|
|
35
|
+
`public-records-retention-purge-check` in government (public-sector
|
|
36
|
+
records law) and from `litigation-hold-acknowledgment-tracker` in this
|
|
37
|
+
category. Always cross-check against any active litigation hold before
|
|
38
|
+
destroying anything this flags — a hold overrides the normal retention
|
|
39
|
+
schedule.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
id: litigation-hold-acknowledgment-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Litigation Hold Acknowledgment Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Checks active litigation hold notices against the custodian list and
|
|
6
|
+
flags anyone who hasn't acknowledged receipt yet. Use this if a
|
|
7
|
+
litigation hold has ever gone out and nobody could later prove every
|
|
8
|
+
custodian actually got and confirmed it, which is exactly what gets
|
|
9
|
+
picked apart in a spoliation motion.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, litigation, litigation-hold, ediscovery, compliance]
|
|
12
|
+
schedule: "0 8 * * 1-5"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' -v days="{{escalate_after_days}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
$5 == "active" && $4 == "" {
|
|
19
|
+
cmd = "date -d \"" $3 "\" +%s 2>/dev/null || date -j -f %Y-%m-%d \"" $3 "\" +%s 2>/dev/null";
|
|
20
|
+
cmd | getline sent_epoch; close(cmd);
|
|
21
|
+
"date +%s" | getline now_epoch; close("date +%s");
|
|
22
|
+
pending_days = (now_epoch - sent_epoch) / 86400;
|
|
23
|
+
if (pending_days >= days) {
|
|
24
|
+
printf "NOT ACKNOWLEDGED: %s — hold \"%s\" sent %s (%d days ago)\n", $1, $2, $3, pending_days;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
' "{{holds_csv_path}}"
|
|
28
|
+
variables:
|
|
29
|
+
holds_csv_path:
|
|
30
|
+
default: "./litigation-holds.csv"
|
|
31
|
+
description: "Path to a CSV with columns: custodian_name,matter_name,notice_sent_date (YYYY-MM-DD),acknowledged_date (blank if not yet acknowledged),hold_status (active/released)."
|
|
32
|
+
escalate_after_days:
|
|
33
|
+
default: 5
|
|
34
|
+
description: Days a sent hold notice can go unacknowledged before it's flagged for follow-up.
|
|
35
|
+
compatible_agents: [generic, claude, codex]
|
|
36
|
+
notes: >
|
|
37
|
+
Assumes counsel maintains the CSV whenever a hold is issued, released, or
|
|
38
|
+
a custodian confirms receipt. Distinct from court-deadline-reminder
|
|
39
|
+
(filing/response deadlines within a matter) — this tracks preservation
|
|
40
|
+
obligations and custodian acknowledgment instead.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
id: non-compete-expiry-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Non-Compete / Non-Solicit Expiry Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Tracks the restricted-period end date of non-compete and non-solicit
|
|
6
|
+
agreements for departed employees and warns as each one is about to
|
|
7
|
+
expire. Use this if you've ever needed to know exactly when a former
|
|
8
|
+
employee's restrictive covenant runs out — before deciding whether to
|
|
9
|
+
act on a suspected violation, or before it's too late to.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, non-compete, non-solicit, restrictive-covenants, employment]
|
|
12
|
+
schedule: "0 9 1 * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
today=$(date +%s);
|
|
17
|
+
awk -F',' -v today="$today" -v warn={{warn_days}} '
|
|
18
|
+
NR>1 {
|
|
19
|
+
cmd="date -d \"" $3 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $3 "\" +%s";
|
|
20
|
+
cmd | getline exp_ts; close(cmd);
|
|
21
|
+
days_left = int((exp_ts - today) / 86400);
|
|
22
|
+
if (days_left <= warn) print "WARNING: " $2 " covenant for " $1 " expires in " days_left " days (" $3 ")";
|
|
23
|
+
}
|
|
24
|
+
' {{covenants_csv}}
|
|
25
|
+
variables:
|
|
26
|
+
covenants_csv:
|
|
27
|
+
default: "non-compete-covenants.csv"
|
|
28
|
+
description: "CSV with header row, columns: former_employee_name,covenant_type (non-compete/non-solicit),restricted_period_end_date(YYYY-MM-DD)."
|
|
29
|
+
warn_days:
|
|
30
|
+
default: 30
|
|
31
|
+
description: Days before the restricted period ends to start warning.
|
|
32
|
+
compatible_agents: [generic, claude, codex]
|
|
33
|
+
notes: >
|
|
34
|
+
Enforceability of these covenants varies a lot by state/country and has
|
|
35
|
+
been narrowing in many jurisdictions — confirm with counsel before
|
|
36
|
+
relying on any covenant as still enforceable. Update the CSV whenever
|
|
37
|
+
an employee with a covenant departs.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
id: outside-counsel-invoice-budget-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Outside Counsel Invoice Budget Check
|
|
4
|
+
description: >
|
|
5
|
+
Compares outside counsel invoices billed to date against each matter's
|
|
6
|
+
approved budget and flags matters approaching or over budget. Use this
|
|
7
|
+
if a matter budget has ever been blown through silently because
|
|
8
|
+
invoices got approved one at a time without anyone tracking the
|
|
9
|
+
running total against the budget set at intake.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, outside-counsel, billing, budget]
|
|
12
|
+
schedule: "0 9 1,15 * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' -v warn_pct="{{warn_at_percent}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
{
|
|
19
|
+
budget = $3 + 0;
|
|
20
|
+
billed = $4 + 0;
|
|
21
|
+
if (budget > 0) {
|
|
22
|
+
pct = (billed / budget) * 100;
|
|
23
|
+
if (pct >= warn_pct) {
|
|
24
|
+
printf "BUDGET ALERT: %s (firm: %s) — billed $%.2f of $%.2f budget (%.0f%%)\n", $1, $2, billed, budget, pct;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
' "{{matter_budgets_csv_path}}"
|
|
29
|
+
variables:
|
|
30
|
+
matter_budgets_csv_path:
|
|
31
|
+
default: "./outside-counsel-matter-budgets.csv"
|
|
32
|
+
description: "Path to a CSV with columns: matter_name,firm_name,approved_budget,billed_to_date. One row per matter with active outside counsel."
|
|
33
|
+
warn_at_percent:
|
|
34
|
+
default: 80
|
|
35
|
+
description: Percent of approved budget billed at which a matter gets flagged.
|
|
36
|
+
compatible_agents: [generic, claude, codex]
|
|
37
|
+
notes: Update billed_to_date from approved invoices (e.g. e-billing/LEDES exports) before each run — this only compares numbers you supply, it doesn't parse invoices itself.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
id: settlement-payment-schedule-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Settlement Payment Schedule Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Checks scheduled settlement agreement installment payments — both
|
|
6
|
+
owed and owed to you — and flags anything due soon or missed. Use this
|
|
7
|
+
if a settlement installment has ever been paid late (risking default
|
|
8
|
+
terms kicking back in) or received late without anyone noticing until
|
|
9
|
+
the next reconciliation.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, settlement, payment-schedule, litigation]
|
|
12
|
+
schedule: "0 8 * * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
today=$(date +%s);
|
|
17
|
+
awk -F',' -v today="$today" -v warn={{warn_days}} '
|
|
18
|
+
NR>1 && $5 == "unpaid" {
|
|
19
|
+
cmd="date -d \"" $4 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $4 "\" +%s";
|
|
20
|
+
cmd | getline due_ts; close(cmd);
|
|
21
|
+
days_left = int((due_ts - today) / 86400);
|
|
22
|
+
if (days_left < 0) print "MISSED: " $1 " installment #" $2 " ($" $3 ") was due " $4 " (" (days_left*-1) " days overdue)";
|
|
23
|
+
else if (days_left <= warn) print "DUE SOON: " $1 " installment #" $2 " ($" $3 ") due " $4 " (" days_left " days)";
|
|
24
|
+
}
|
|
25
|
+
' {{settlements_csv}}
|
|
26
|
+
variables:
|
|
27
|
+
settlements_csv:
|
|
28
|
+
default: "settlement-payment-schedule.csv"
|
|
29
|
+
description: "CSV with header row, columns: matter_or_counterparty,installment_number,amount,due_date(YYYY-MM-DD),status(paid/unpaid)."
|
|
30
|
+
warn_days:
|
|
31
|
+
default: 7
|
|
32
|
+
description: Days before an installment's due date to start warning.
|
|
33
|
+
compatible_agents: [generic, claude, codex]
|
|
34
|
+
notes: Update the status column as each installment clears — this only reads dates and status you supply, it doesn't confirm receipt/disbursement of funds itself.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
id: timekeeper-billable-hours-compliance-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Timekeeper Billable Hours Compliance Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks attorneys and paralegals against their weekly timesheet
|
|
6
|
+
submission and minimum billable-hour targets, and flags anyone missing
|
|
7
|
+
or short. Use this if unbilled time has ever quietly leaked out of a
|
|
8
|
+
matter because a timekeeper fell behind on entering hours and nobody
|
|
9
|
+
caught it before the billing cycle closed.
|
|
10
|
+
category: legal
|
|
11
|
+
tags: [legal, timekeeping, billable-hours, compliance]
|
|
12
|
+
schedule: "0 8 * * 1"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: shell
|
|
15
|
+
command: >
|
|
16
|
+
awk -F',' -v target="{{min_weekly_hours}}" '
|
|
17
|
+
NR==1 {next}
|
|
18
|
+
{
|
|
19
|
+
hours = $3 + 0;
|
|
20
|
+
if ($3 == "" ) {
|
|
21
|
+
printf "MISSING TIMESHEET: %s — week of %s not submitted\n", $1, $2;
|
|
22
|
+
} else if (hours < target) {
|
|
23
|
+
printf "SHORT OF TARGET: %s — week of %s logged %.1f hrs (target %s)\n", $1, $2, hours, target;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
' "{{timesheets_csv_path}}"
|
|
27
|
+
variables:
|
|
28
|
+
timesheets_csv_path:
|
|
29
|
+
default: "./timekeeper-hours.csv"
|
|
30
|
+
description: "Path to a CSV with columns: timekeeper_name,week_start_date (YYYY-MM-DD),billable_hours_logged (blank if not yet submitted). One row per timekeeper per week."
|
|
31
|
+
min_weekly_hours:
|
|
32
|
+
default: 30
|
|
33
|
+
description: Minimum billable hours expected per timekeeper per week before flagging a shortfall.
|
|
34
|
+
compatible_agents: [generic, claude, codex]
|
|
35
|
+
notes: >
|
|
36
|
+
Distinct from any HR timesheet/payroll job — this checks billable-hour
|
|
37
|
+
compliance for legal timekeepers against matter-billing targets, not
|
|
38
|
+
hourly payroll attendance. Export the CSV from your time & billing
|
|
39
|
+
system before each run.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
id: trademark-infringement-watch
|
|
2
|
+
version: 1
|
|
3
|
+
name: Trademark Infringement Watch
|
|
4
|
+
description: >
|
|
5
|
+
Searches for new trademark applications, domain registrations, and
|
|
6
|
+
marketplace listings that look like they could infringe on your
|
|
7
|
+
registered marks, and summarizes anything worth a closer look. Use
|
|
8
|
+
this if you've ever found out about a confusingly similar competitor
|
|
9
|
+
mark or copycat domain months after it started causing customer
|
|
10
|
+
confusion, instead of when it first appeared.
|
|
11
|
+
category: legal
|
|
12
|
+
tags: [legal, trademark, ip, infringement-watch]
|
|
13
|
+
schedule: "0 9 * * 1"
|
|
14
|
+
timezone: "UTC"
|
|
15
|
+
runner: agent-prompt
|
|
16
|
+
prompt: |
|
|
17
|
+
Check for potential infringement of these registered marks:
|
|
18
|
+
{{marks_to_watch}} (owned in classes/goods: {{goods_or_classes}}).
|
|
19
|
+
1. Search recent trademark application filings (e.g. via the relevant
|
|
20
|
+
trademark office's public search/TESS-style database) for new marks
|
|
21
|
+
confusingly similar in name or logo, filed in overlapping
|
|
22
|
+
goods/services classes.
|
|
23
|
+
2. Search for newly registered domain names that are close
|
|
24
|
+
misspellings or lookalikes of {{marks_to_watch}}.
|
|
25
|
+
3. Spot-check major marketplaces/app stores for listings using the mark
|
|
26
|
+
or a confusing variant without authorization.
|
|
27
|
+
4. For each hit, summarize: what was found, how similar it is, and
|
|
28
|
+
whether it looks like routine noise or worth flagging to counsel.
|
|
29
|
+
5. This is a monitoring aid, not legal advice on whether infringement
|
|
30
|
+
exists — say so, and recommend counsel review anything flagged.
|
|
31
|
+
variables:
|
|
32
|
+
marks_to_watch:
|
|
33
|
+
default: "list your registered trademark(s) here"
|
|
34
|
+
description: The registered mark(s)/brand name(s) to watch for lookalikes.
|
|
35
|
+
goods_or_classes:
|
|
36
|
+
default: "your registered goods/services classes"
|
|
37
|
+
description: The goods/services or trademark classes your registration covers, to judge overlap.
|
|
38
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
39
|
+
notes: >
|
|
40
|
+
Distinct from `trademark-renewal-reminder`, which tracks renewing your
|
|
41
|
+
own registration — this watches for others potentially infringing it.
|
|
42
|
+
Search coverage depends on what databases/tools the agent can actually
|
|
43
|
+
reach; a paid watch service will catch more than open search alone.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
id: vendor-coi-expiry-tracker
|
|
2
|
+
version: 1
|
|
3
|
+
name: Vendor Certificate of Insurance Expiry Tracker
|
|
4
|
+
description: >
|
|
5
|
+
Checks certificates of insurance you've collected from vendors and
|
|
6
|
+
contractors and warns before any expire, so a lapsed COI doesn't sit
|
|
7
|
+
unnoticed in the file. Use this if a vendor's insurance has ever lapsed
|
|
8
|
+
mid-contract and nobody found out until a claim needed it.
|
|
9
|
+
category: legal
|
|
10
|
+
tags: [legal, vendor-management, coi, contractor-compliance]
|
|
11
|
+
schedule: "0 9 1 * *"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: shell
|
|
14
|
+
command: >
|
|
15
|
+
today=$(date +%s);
|
|
16
|
+
awk -F, -v today="$today" -v warn={{warn_days}} '
|
|
17
|
+
NR>1 {
|
|
18
|
+
cmd="date -d \"" $3 "\" +%s 2>/dev/null || date -jf \"%Y-%m-%d\" \"" $3 "\" +%s";
|
|
19
|
+
cmd | getline exp_ts; close(cmd);
|
|
20
|
+
days_left = int((exp_ts - today) / 86400);
|
|
21
|
+
if (days_left <= warn) print "WARNING: COI for \"" $1 "\" (" $2 ") expires in " days_left " days (" $3 ")";
|
|
22
|
+
}
|
|
23
|
+
' {{vendor_cois_csv}}
|
|
24
|
+
variables:
|
|
25
|
+
vendor_cois_csv:
|
|
26
|
+
default: "vendor-certificates-of-insurance.csv"
|
|
27
|
+
description: "CSV with header row, columns: vendor_name,coverage_type (e.g. general-liability, workers-comp),expiry_date(YYYY-MM-DD)."
|
|
28
|
+
warn_days:
|
|
29
|
+
default: 30
|
|
30
|
+
description: Days before a vendor's COI expires to start warning.
|
|
31
|
+
compatible_agents: [generic, claude, codex]
|
|
32
|
+
notes: >
|
|
33
|
+
Opposite direction from insurance's `certificate-of-insurance-request-check`
|
|
34
|
+
(which tracks fulfilling requests for your own COI) — this tracks
|
|
35
|
+
certificates other parties gave you, as a contract-compliance/vendor-risk
|
|
36
|
+
check rather than an insurance-desk workflow. Update the CSV whenever a
|
|
37
|
+
vendor sends a new or renewed COI.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
id: 3pl-performance-scorecard
|
|
2
|
+
version: 1
|
|
3
|
+
name: 3PL Performance Scorecard
|
|
4
|
+
description: >
|
|
5
|
+
Reviews a third-party logistics provider's recent performance across
|
|
6
|
+
on-time delivery, damage rate, and cost against your service agreement
|
|
7
|
+
targets. Use this if a 3PL relationship has ever drifted from "great at
|
|
8
|
+
onboarding" to "quietly underperforming" without a regular scorecard
|
|
9
|
+
catching it.
|
|
10
|
+
category: logistics
|
|
11
|
+
tags: [logistics, 3pl, performance, scorecard]
|
|
12
|
+
schedule: "0 8 1 * *"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: agent-prompt
|
|
15
|
+
prompt: |
|
|
16
|
+
Pull the last {{period_days}} days of performance data for 3PL
|
|
17
|
+
provider {{provider_name}} from {{data_source_hint}}.
|
|
18
|
+
1. Summarize on-time delivery rate, damage/loss rate, and average
|
|
19
|
+
cost per shipment.
|
|
20
|
+
2. Compare each metric against the service agreement targets:
|
|
21
|
+
OTD >= {{otd_target_pct}}%, damage rate <= {{damage_target_pct}}%.
|
|
22
|
+
3. Flag any metric missing target, note the trend versus the prior
|
|
23
|
+
period if available, and suggest whether it warrants a QBR
|
|
24
|
+
conversation or is within normal variance.
|
|
25
|
+
variables:
|
|
26
|
+
provider_name:
|
|
27
|
+
default: "your-3pl-provider"
|
|
28
|
+
description: Name of the 3PL provider being scored.
|
|
29
|
+
data_source_hint:
|
|
30
|
+
default: "your TMS or the 3PL's reporting portal"
|
|
31
|
+
description: Where shipment-level performance data for this 3PL can be pulled.
|
|
32
|
+
period_days:
|
|
33
|
+
default: 30
|
|
34
|
+
description: Lookback window for the scorecard period.
|
|
35
|
+
otd_target_pct:
|
|
36
|
+
default: 95
|
|
37
|
+
description: Contracted on-time delivery target.
|
|
38
|
+
damage_target_pct:
|
|
39
|
+
default: 1
|
|
40
|
+
description: Contracted maximum acceptable damage/loss rate.
|
|
41
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
42
|
+
notes: >
|
|
43
|
+
Aggregate multi-metric scorecard for an outsourced logistics provider,
|
|
44
|
+
distinct from carrier-otd-performance-scorecard which tracks a single
|
|
45
|
+
metric (on-time delivery) per carrier from your own shipment CSV.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
id: bol-freight-class-accuracy-audit
|
|
2
|
+
version: 1
|
|
3
|
+
name: Bill of Lading Freight Class Accuracy Audit
|
|
4
|
+
description: >
|
|
5
|
+
Reviews recent bills of lading for freight class or NMFC codes that
|
|
6
|
+
look mismatched against the described commodity, which is a common
|
|
7
|
+
cause of reclassification fees. Use this if a shipment has ever come
|
|
8
|
+
back with a surprise reclass charge because the BOL freight class
|
|
9
|
+
didn't match what was actually shipped.
|
|
10
|
+
category: logistics
|
|
11
|
+
tags: [logistics, freight, bol, compliance, billing]
|
|
12
|
+
schedule: "0 9 * * 1"
|
|
13
|
+
timezone: "UTC"
|
|
14
|
+
runner: agent-prompt
|
|
15
|
+
prompt: |
|
|
16
|
+
Review the bills of lading listed in {{bol_source_hint}} for the last
|
|
17
|
+
{{lookback_days}} days.
|
|
18
|
+
1. For each BOL, compare the declared freight class/NMFC code against
|
|
19
|
+
the described commodity and dimensions/weight.
|
|
20
|
+
2. Flag any BOL where the class looks mismatched (e.g. density-based
|
|
21
|
+
class inconsistent with stated weight/cube, or a commodity code
|
|
22
|
+
that doesn't match the item description).
|
|
23
|
+
3. For each flagged BOL, note the likely correct class if determinable
|
|
24
|
+
and the estimated reclassification fee risk.
|
|
25
|
+
variables:
|
|
26
|
+
bol_source_hint:
|
|
27
|
+
default: "your TMS or freight audit vendor's BOL archive"
|
|
28
|
+
description: Where recent bills of lading can be reviewed.
|
|
29
|
+
lookback_days:
|
|
30
|
+
default: 7
|
|
31
|
+
description: How many days of BOLs to review per run.
|
|
32
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
33
|
+
notes: No generic script mode — freight classification judgment (NMFC density/commodity rules) isn't reliably scriptable from a CSV; this needs interpretation of the BOL description against the shipped item.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
id: cargo-insurance-claim-status-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Cargo Insurance Claim Status Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks open cargo loss/damage insurance claims for ones that have gone
|
|
6
|
+
quiet and need a follow-up push. Use this if a damaged-freight claim
|
|
7
|
+
has ever sat untouched with the insurer for months because nobody was
|
|
8
|
+
tracking it against the filing deadline or a status update.
|
|
9
|
+
category: logistics
|
|
10
|
+
tags: [logistics, cargo, insurance, claims]
|
|
11
|
+
schedule: "0 9 * * 1"
|
|
12
|
+
timezone: "UTC"
|
|
13
|
+
runner: agent-prompt
|
|
14
|
+
prompt: |
|
|
15
|
+
Check {{claims_portal_hint}} for open cargo loss/damage claims.
|
|
16
|
+
1. List each open claim: claim number, shipment reference, date filed,
|
|
17
|
+
and current status.
|
|
18
|
+
2. Flag any claim with no status update in the last
|
|
19
|
+
{{stale_days}} days, or approaching a filing/documentation deadline
|
|
20
|
+
within {{deadline_warn_days}} days.
|
|
21
|
+
3. Suggest the follow-up action for each flagged claim (submit missing
|
|
22
|
+
documentation, request adjuster update, escalate).
|
|
23
|
+
variables:
|
|
24
|
+
claims_portal_hint:
|
|
25
|
+
default: "your cargo insurer's claims portal or broker"
|
|
26
|
+
description: Where open cargo insurance claims and their status are tracked.
|
|
27
|
+
stale_days:
|
|
28
|
+
default: 14
|
|
29
|
+
description: Days without a status update before a claim is flagged as stale.
|
|
30
|
+
deadline_warn_days:
|
|
31
|
+
default: 5
|
|
32
|
+
description: Days before a claim deadline to start warning.
|
|
33
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
34
|
+
notes: >
|
|
35
|
+
Scoped to freight loss/damage claims against a cargo policy, tracked
|
|
36
|
+
per shipment through the insurer/broker — distinct from a general
|
|
37
|
+
claim-status job in that it follows freight-specific deadlines (e.g.
|
|
38
|
+
concealed damage notice windows) rather than a generic policyholder
|
|
39
|
+
claim.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
id: carrier-load-tender-acceptance-check
|
|
2
|
+
version: 1
|
|
3
|
+
name: Carrier Load Tender Acceptance Check
|
|
4
|
+
description: >
|
|
5
|
+
Checks recently tendered loads for carriers that haven't accepted or
|
|
6
|
+
rejected within the expected window. Use this if a tendered load has
|
|
7
|
+
ever sat unconfirmed until the ship date was already at risk.
|
|
8
|
+
category: logistics
|
|
9
|
+
tags: [logistics, carrier, tender, booking]
|
|
10
|
+
schedule: "0 */3 * * *"
|
|
11
|
+
timezone: "UTC"
|
|
12
|
+
runner: agent-prompt
|
|
13
|
+
prompt: |
|
|
14
|
+
Check {{tms_or_broker_portal}} for load tenders sent to carriers in the
|
|
15
|
+
last {{lookback_hours}} hours.
|
|
16
|
+
1. List each tendered load: load/reference number, carrier, and time
|
|
17
|
+
since tendered.
|
|
18
|
+
2. Flag any load still showing "pending" or unacknowledged past
|
|
19
|
+
{{escalate_after_hours}} hours.
|
|
20
|
+
3. For flagged loads, suggest the next action — re-tender to a backup
|
|
21
|
+
carrier, call the carrier directly, or escalate to the broker —
|
|
22
|
+
based on how close the ship date is.
|
|
23
|
+
variables:
|
|
24
|
+
tms_or_broker_portal:
|
|
25
|
+
default: "your TMS load board or broker portal"
|
|
26
|
+
description: Where tendered loads and their acceptance status are visible.
|
|
27
|
+
lookback_hours:
|
|
28
|
+
default: 48
|
|
29
|
+
description: How far back to check for tendered loads.
|
|
30
|
+
escalate_after_hours:
|
|
31
|
+
default: 6
|
|
32
|
+
description: Hours a tender can sit unacknowledged before it's flagged as at risk.
|
|
33
|
+
compatible_agents: [claude, codex, hermes, openclaw, generic]
|
|
34
|
+
notes: No generic script mode — tender status and acceptance workflows vary by TMS and broker platform, and re-tender decisions need judgment about ship-date risk.
|