Free OpenClaw skill · No signup · v1.0.0

Free OpenClaw Skill for Meal Prep Services: Subscription and Delivery Agent (Download)

A working OpenClaw skill for meal prep companies running 200 to 5,000 weekly orders. Owns the Sunday 11:59pm cutoff cadence, the Monday kitchen prep sheet, the delivery route plan, and the macro-counted menu personalization, all from one SKILL.md drop-in.

Built and maintained by Adhiraj Hangal, OpenClaw Consult. Code I wrote runs inside OpenClaw's source, merged by the project's creator.

Free OpenClaw skill for meal prep services

12 KB file. Free for any use. Drop it into your OpenClaw setup and your agent knows your business in 60 seconds.

v1.0.0

We email you a copy plus the install notes. One email, no list, no spam.

What this skill does for your meal prep services

  • Runs the Sunday 11:59pm subscription cutoff with at-risk subscriber save-flows, churn-reason capture, and same-week add-on upsell.
  • Generates the Monday kitchen prep sheet from Recharge subscription data, with portion counts by SKU, macro totals, and allergen segregation flagged.
  • Drafts route plans through OptimoRoute, Onfleet, or Routific for the Tuesday and Friday delivery windows, with capacity-aware driver assignments.
  • Personalizes the weekly menu nudge to subscribers based on stated macro targets, dietary tags (keto, paleo, plant-forward), and past order patterns.
  • Reconciles ShipStation shipping labels against the production pack list, flagging short-pack or label-mismatch before the truck leaves the kitchen.

What's inside this OpenClaw skill

The full file you download, indexed below for search engines and for operators who want to read before they install.

---
name: meal-prep-subscription-and-delivery
description: Sunday cutoff cadence, kitchen prep sheet generation, route optimization input, and macro-counted menu personalization for meal prep services. Integrates with Recharge, Bold Subscriptions, OptimoRoute, Onfleet, Routific, ShipStation.
version: 1.0.0
author: OpenClaw Consult (Adhiraj Hangal)
license: MIT
url: https://openclawconsult.com/skills/meal-prep-services
---

# OpenClaw Skill: Meal Prep Subscription and Delivery Coordinator

## Overview

This skill turns the OpenClaw agent into the subscription and delivery
coordinator for a meal prep service. It owns the Sunday 11:59pm cutoff
cadence (with at-risk subscriber save-flows), the Monday kitchen prep
sheet generation, the input prep for your routing tool, and the macro-
counted weekly menu personalization. The chef still cooks. The driver
still drives. The agent absorbs the spreadsheet stitching.

Designed for meal prep operations running 200 to 5,000 weekly orders on
Recharge, Bold Subscriptions, or Loop, with OptimoRoute, Onfleet, or
Routific for routing, and ShipStation for labels.

## What this skill does

1. Runs the Sunday 11:59pm cutoff cadence with at-risk subscriber save-flows
2. Generates the Monday kitchen prep sheet with allergen segregation
3. Preps the routing-tool input for Tuesday and Friday delivery windows
4. Personalizes the weekly menu nudge to each subscriber's macro targets
5. Reconciles ShipStation labels against the kitchen pack list
6. Captures churn reasons on every cancellation and rolls them into the weekly digest

## Triggers

```yaml
triggers:
  - type: heartbeat
    schedule: "0 18 * * 0"           # Sundays 6pm, pre-cutoff at-risk pass
    action: pre_cutoff_at_risk_pass

  - type: heartbeat
    schedule: "0 23 * * 0"           # Sundays 11pm, final cutoff nudge
    action: final_cutoff_nudge

  - type: heartbeat
    schedule: "5 0 * * 1"            # Mondays 12:05am, post-cutoff kitchen prep
    action: generate_monday_prep_sheet

  - type: heartbeat
    schedule: "0 6 * * 1"            # Mondays 6am, route prep
    action: prep_routing_tool_input

  - type: heartbeat
    schedule: "0 17 * * 1"           # Mondays 5pm, Tuesday delivery readiness
    action: tuesday_delivery_readiness

  - type: on_event
    event: recharge.subscription_skipped
    action: log_skip_reason

  - type: on_event
    event: recharge.subscription_cancelled
    action: log_churn_reason_and_save_flow

  - type: on_event
    event: shipstation.label_generated
    action: reconcile_against_kitchen_pack_list
```

## Workflow: Sunday cutoff cadence

The agent runs three pre-cutoff passes:

1. Thursday 9am: open menu reminder to all active subscribers
2. Sunday 6pm: at-risk pass for subscribers who have not modified or confirmed
3. Sunday 11pm: final-hour nudge for subscribers who still have the default order pending

At-risk subscribers are personalized: macro target, dietary tag, last week's order, this week's recommended swap. The save-flow respects opt-in status. SMS only fires to subscribers opted into Postscript or similar. Email fires through Klaviyo or Recharge native.

```yaml
at_risk_logic:
  no_menu_selection_logged: 12h_before_cutoff
  default_order_will_fire: 6h_before_cutoff
  paused_without_resume_date: 24h_before_pause_window_close
  churn_risk_flagged_by_previous_save_flow: 24h_before_cutoff
```

## Workflow: Monday kitchen prep sheet

At 12:05am Monday (5 minutes after cutoff) the agent:

1. Pulls the final locked order list from Recharge
2. Aggregates by SKU
3. Reads macro and allergen tags per SKU
4. Generates the prep sheet with:
   - Portion counts by SKU
   - Macro totals by SKU
   - Allergen segregation order (peanut last, gluten-free on dedicated equipment)
   - Pack list with label SKU and lot tracking placeholder
5. Routes the sheet to the kitchen team's preferred surface (Google Sheet, Notion, printable PDF)

A representative 1,000 weekly order kitchen sees 14 to 24 active SKUs across
3 to 5 portion sizes. The skill handles the SKU-by-SKU portion math so the
kitchen team starts the day with the answer, not the spreadsheet.

## Workflow: route prep

At 6am Monday the agent prepares the input for OptimoRoute, Onfleet, or Routific:

1. Stop list: every delivery address for Tuesday and Friday windows
2. Time windows: stated delivery preferences per subscriber
3. Vehicle capacity: number of meal boxes per vehicle
4. Driver availability: pulled from the driver schedule
5. Special handles: cold chain priority, gift orders, new-customer welcome notes

The routing tool computes the actual route. The skill reads the result and
drafts the driver assignment summary and the customer delivery-window
notification SMS.

## Workflow: menu personalization

Each Wednesday at 10am (when the next week's menu is published), the agent
drafts a personalized menu nudge for each subscriber:

```yaml
personalization_signals:
  - macro_target_protein_grams: from_subscriber_profile
  - macro_target_carb_grams: from_subscriber_profile
  - dietary_tag: [keto, paleo, plant_forward, low_fodmap, none]
  - last_3_orders: from_recharge_history
  - flagged_dislikes: from_customer_service_notes
```

The nudge recommends the 3 to 5 SKUs from the new menu that fit the subscriber's
stated targets and their past order pattern. The operator approves the first
two weeks of nudges before flipping to autonomous.

## Workflow: ShipStation reconciliation

After ShipStation generates labels for the day's delivery, the agent:

1. Counts the labels per route
2. Reconciles against the kitchen pack list
3. Flags any short-pack (kitchen counted fewer boxes than labels generated)
4. Flags any label-mismatch (subscriber name on label does not match the pack list)
5. Alerts the operator before the driver leaves

Most short-pack issues are caught by the kitchen team's manual count. The
skill catches the ones that slip through.

## Message templates

```yaml
templates:
  open_menu_thursday:
    channel: email
    subject: "This week's menu is open: {menu_window}"
    body: |
      Hi {customer_first_name},

      The {menu_window} menu is open. Top three picks for you based on
      your {macro_target_summary}:

      1. {sku_1_name}: {sku_1_macros}
      2. {sku_2_name}: {sku_2_macros}
      3. {sku_3_name}: {sku_3_macros}

      Lock your order: {menu_url}

      Cutoff is Sunday 11:59pm.

      {brand_name}

  at_risk_sunday_evening:
    channel: sms
    body: |
      Hey {customer_first_name}, it's {brand_first_name} from {brand_name}.
      Your default order for {menu_window} is about to fire. Want to swap
      anything? Top fit for your {macro_target_summary} this week:
      {top_pick_sku}. Tap to update: {menu_url}

  cancellation_save_flow:
    channel: email
    subject: "Before you go: a quick swap on {brand_name}"
    body: |
      Hi {customer_first_name},

      I saw the cancellation come through. Before you go, two thoughts:

      1. If the menu has felt repetitive, here is what we just launched
         that fits your {macro_target_summary}: {new_sku_recommendations}.
      2. If price is the constraint, here is a swap to our {smaller_plan}
         that holds the same per-meal macro ratio: {smaller_plan_pitch}.

      No pressure. Just wanted you to see the alternatives before the
      cancel goes through.

      {brand_name}

  kitchen_prep_sheet_summary:
    channel: slack
    body: |
      MONDAY PREP SHEET ({prep_date})
      Total meals: {total_meals}
      Top 5 SKUs: {top_skus_with_counts}
      Allergen sequence: {allergen_order}
      Full sheet: {prep_sheet_url}

  delivery_window_sms:
    channel: sms
    body: |
      Hi {customer_first_name}, your {brand_name} delivery for tomorrow is
      scheduled between {delivery_window_start} and {delivery_window_end}.
      Reply STOP to opt out of notifications.

  shipstation_short_pack_alert:
    channel: slack
    body: |
      SHORT-PACK ALERT
      Route: {route_id}
      Labels generated: {labels_generated}
      Kitchen pack count: {kitchen_pack_count}
      Variance: {variance}
      Suggested action: {recommended_action}
```

## Memory keys

```yaml
memory:
  - key: subscriber.profile[{subscriber_id}]
    description: Macro targets, dietary tag, opt-in status, last 4 orders
    schema: { macro_targets: object, dietary_tag: string, sms_opt_in: bool, email_opt_in: bool, last_orders: array }

  - key: subscriber.subscription_state[{subscriber_id}]
    description: Active, paused, at-risk, churned with reason
    schema: { state: string, paused_until: date, churn_reason: string }

  - key: subscriber.save_flow_history[{subscriber_id}]
    description: Save-flow attempts and outcomes
    schema: { attempts: array, last_outcome: string }

  - key: kitchen.weekly_prep[{week]
    description: SKU counts, allergen sequence, finish time
    schema: { sku_totals: object, allergen_sequence: array, finish_time: time }

  - key: routing.weekly_routes[{week}][{day}]
    description: Generated routes for Tuesday and Friday deliveries
    schema: { stops_per_route: array, drivers: array, total_stops: number }

  - key: ops.shipstation_reconciliation[{date}]
    description: Daily ShipStation vs kitchen pack reconciliation
    schema: { labels: number, kitchen_count: number, variance: number, exceptions: array }
```

## Required integrations

| Integration              | Purpose                                          | Read | Write |
|--------------------------|--------------------------------------------------|------|-------|
| Recharge / Bold / Loop   | Subscription data, skip / pause / cancel events  | yes  | optional |
| Shopify Admin GraphQL    | Customer, order, product data                    | yes  | optional |
| OptimoRoute / Onfleet / Routific | Route plan input + result read           | yes  | yes   |
| ShipStation              | Label generation feed                            | yes  | no    |
| Klaviyo / Postscript     | Email + SMS send                                 | yes  | yes   |
| Twilio                   | Operator and driver SMS                          | no   | yes   |
| Slack                    | Operator alerts                                  | no   | yes   |
| OpenClaw Memory          | Subscriber profile, kitchen prep, routing state  | yes  | yes   |
| OpenClaw Heartbeat       | Sunday / Monday / Wednesday cadences             | yes  | yes   |

Write-back to Recharge for subscription edits is optional. Most operations
start read-only and have customer service commit any subscription changes
manually.

## Compliance notes

The skill respects opt-in status from Klaviyo and Postscript. It will not
send marketing SMS or email to a subscriber not opted in. All outbound
copy includes the unsubscribe footer pulled from your provider.

For meal prep operations under FDA FSMA rules (most over $1M revenue), the
skill is not a FSMA preventive controls tool and does not replace your
HACCP plan or your sanitation SOPs. The kitchen prep sheet is an operational
aid, not a regulatory document. The operator is responsible for FSMA
compliance.

## Configuration

```yaml
config:
  brand_name: "Your Brand"
  weekly_cutoff: "Sunday 23:59 PT"
  delivery_windows:
    tuesday: ["09:00", "17:00"]
    friday: ["09:00", "17:00"]
  subscription_platform: recharge        # or "bold", "loop", "stripe_billing"
  routing_tool: optimoroute              # or "onfleet", "routific"
  approval_mode: operator_approves_all   # or "autonomous_after_2_weeks"
  autonomous_template_allowlist:
    - open_menu_thursday
    - at_risk_sunday_evening
    - delivery_window_sms
  macro_personalization_enabled: true
  allergen_segregation_order: [dairy_free, gluten_free, default, dairy_inclusion, nut_inclusion]
  vehicle_capacity_boxes: 80
  driver_max_stops_per_route: 50
```

## Quick install

```bash
mkdir -p ~/.claude/skills
mv meal-prep-services.md ~/.claude/skills/meal-prep-subscription-and-delivery.md
# Edit the config block to match your operation
```

Launch OpenClaw and the skill is live. Trigger it manually with
`run pre-cutoff at-risk pass` or `generate Monday prep sheet` or wait for
Heartbeat to fire on the configured cadence.

## Want it wired to your stack?

This SKILL.md is the starting point. If you want it plugged into your
specific subscription tool, kitchen layout, routing tool, and brand voice
on a fixed-price two-week clock, the door is at
https://www.adhirajhangal.com/work

Install in 60 seconds

  1. 1

    Drop the file into your OpenClaw skills directory

    Save the downloaded meal-prep-services.md as ~/.claude/skills/meal-prep-subscription-and-delivery.md (or your project-level .claude/skills/). OpenClaw picks up new skill files on next agent launch.

  2. 2

    Connect Recharge, OptimoRoute, and ShipStation

    Edit the integrations block to point at your Recharge subscription data, your OptimoRoute / Onfleet / Routific routing tool, your ShipStation labels feed, and your kitchen team's pack-list system (often a Google Sheet or Notion DB). Read access is enough to start.

  3. 3

    Launch in approval mode, then flip the cutoff and route templates to autonomous in two weeks

    Start with the operator approving every save-flow message, kitchen prep sheet, and route plan for the first two weeks. The skill's defaults route any subscriber save-flow involving a refund and any route plan exception (vehicle breakdown, driver call-out) to a human. After two weeks, flip the Sunday cutoff cadence and the routine route plans to autonomous.

Example conversation

You

It's 6pm Sunday. Run the cutoff prep and tell me where we are on at-risk subscribers and capacity.

Agent

Sunday cutoff status (5 hours 59 minutes to cutoff). Subscribers in active state: 842. Modified this week: 318 (38%). Skipped this week: 47 (5.6%). At-risk subscribers (no menu selection logged, default order will fire): 89. Drafted save-flow texts to all 89 with the menu nudge keyed to their macro targets and last-week's order. Capacity check: current order count 793 meals, kitchen capacity 1,100, delivery vehicle capacity 1,200, no constraint. Top SKU forecast: chicken paleo bowl 187, salmon keto bowl 142, plant-forward Mediterranean 119. Allergen segregation: peanut-noodle SKU runs last on Monday's line, separate from the dairy-free salmon. Driver assignment for Tuesday: 4 routes, 187 stops, average 47 stops per driver, all within OptimoRoute's 8-hour window.

Founder-led · 14 days

Want this subscription and delivery coordinator live in your meal prep service in 14 days?

Adhiraj ships OpenClaw AI agents into real businesses. Short discovery to map it to Recharge, OptimoRoute, and ShipStation, build in 14 days, then optional ongoing support so your OpenClaw system keeps working.

Build it with me

Common questions

Will this work for a 200-order weekly operation, or only for the 1,000+ order companies?

+

Both. The skill is designed for the 200 to 5,000 weekly order range. Below 200 orders the kitchen prep sheet workflow may be more automation than needed. Above 5,000 orders the operation typically has a dedicated production planner and the skill needs more customization to fit the existing system.

Which subscription platforms does it integrate with?

+

Recharge is the primary integration target since it is the dominant Shopify-native subscription tool for meal prep. Bold Subscriptions and Loop Subscriptions also work through their REST APIs. For non-Shopify operations, the skill works with Stripe Billing directly. The README block in the SKILL.md explains the read-only setup for each.

How does the route optimization workflow play with OptimoRoute / Onfleet / Routific?

+

The skill orchestrates the input to your routing tool: stop list, time windows, vehicle constraints, driver availability. The routing tool computes the actual route. The skill reads the result and drafts the driver assignments and the customer notification SMS. Most companies keep their routing tool and add this skill on top to remove the manual stitching between subscription data and the routing input.

Does it handle macro-counted menu personalization?

+

Yes. The skill maintains per-subscriber memory of stated macro targets (protein, carb, fat targets), dietary tags (keto, paleo, plant-forward, low-FODMAP), and past order patterns. The weekly menu nudge is personalized to those signals. The operator can edit the personalization rules in the config block.

What about allergen segregation in the kitchen?

+

The kitchen prep sheet generated each Monday includes an allergen segregation block. Peanut SKUs run last, dairy-free SKUs run first on shared lines, gluten-free SKUs run on dedicated equipment. The operator is responsible for the final allergen call. The skill's job is to surface the segregation requirement before the prep starts.

Can I modify this skill?

+

Yes. MIT licensed. Edit the cutoff cadence, the save-flow templates, the route assignment rules, the macro personalization logic. Most companies fork it within the first month to match their voice.

What does this cost to run on top of OpenClaw?

+

Token cost scales with subscriber count and order volume. A representative 1,000 weekly order operation sees monthly token spend in the $30 to $80 range. A 5,000 weekly order operation sees $100 to $250. The skill batches the Sunday cutoff and Monday prep to minimize per-subscriber inference.

How does this compare to Recharge's built-in retention flows?

+

Recharge's built-in retention flows are excellent for the standard skip / pause / cancel sequences. The OpenClaw skill reasons across subscription state, macro targets, kitchen capacity, and route plan at the same time. Most companies keep their Recharge flows and add this skill on top for the higher-judgment cross-system workflows.

Can OpenClaw Consult build a customized version for my meal prep company?

+

Yes. The free SKILL.md is the starting point. If you want it wired into your specific subscription tool, kitchen layout, routing tool, and brand voice on a fixed-price two-week clock, the door is at openclawconsult.com/hire.

How do I keep the skill updated?

+

We post a changelog at openclawconsult.com/skills/meal-prep-services and bump the version in the frontmatter. Updates track Recharge API changes and the seasonal patterns we see across operators (Q1 keto surge, summer salad shift, Q4 holiday-week capacity).

Want the full implementation playbook?

Read the deep-dive guide for meal prep services

The playbook covers workflows, software integrations, compliance, ROI math, and a four-week rollout plan. The skill file above is a working slice of that build.

Read the meal prep services playbook →

Related free skills

Want it wired to your stack?

The free skill is the starting point. If you want it plugged into your actual software, on a fixed-price two-week clock, with the founder writing every line, this is the door.