Once an agent can complete a useful task on demand, Oysterun Scheduler can run that same task on a reliable cadence. This tutorial starts from a separate empty project, builds a Daily Project Health tool with natural language, schedules it for every morning, and verifies a real Test Run from end to end.

What you will build

The sample is an original Daily Project Health system. It counts project files and TODO or FIXME markers, runs the project's tests, and writes an honest Markdown summary to reports/latest.md. Oysterun Scheduler then asks the current successful Codex Session to regenerate and verify that report every day.

The project uses Node.js 22 built-in APIs only. It is created from scratch and does not download or inspect an Agent Store example.

Before you start

You need a running Oysterun Host, a connected browser or phone, and a successful Codex sign-in. Create this tutorial as a new project, separate from the Website tutorial.

Start the Session with Oysterun Skills enabled. Do not manually create or edit .oysterun/schedulers.json; the Scheduler skill owns schedule creation, inspection, Test Runs, and protected disable or delete actions.

1. Create a second empty project

  1. Open Explorer and select Add Folder.
  2. Name the folder daily-project-health.
  3. Open it and confirm that it contains no files.
  4. Choose Start Session, select Codex, and enable Oysterun Skills.
Oysterun Explorer showing an empty Daily Project Health project
The Scheduler tutorial begins in its own visibly empty project.

2. Ask Codex to build the task and create its schedule

Paste this instruction as a single message. Notice that the prompt separates schedule creation from execution: the agent must create the schedule but wait for you before running a Test Run.

Start from this empty project and build an original Daily Project Health system.

Do not clone, download, inspect, or copy any Agent Store or existing agent project. Build everything inside the current folder.

Use Node.js 22 built-in APIs only. Create a tested project-health command that scans this project, runs its tests, counts files and TODO/FIXME markers, and writes an honest Markdown report to reports/latest.md.

Then use the Oysterun Scheduler project skill to create one daily schedule at 09:00 Asia/Taipei using this current successful Codex Session setup. The scheduled task must regenerate and verify reports/latest.md.

Do not manually create or edit .oysterun/schedulers.json, do not call Host APIs, and do not use Website, Mail, Telegram, or an interval loop. Create the schedule but do not Test Run it until I ask.
The complete Daily Project Health natural-language prompt in Oysterun chat
The instruction defines both the repeatable job and the daily schedule, while keeping the first execution under your control.

3. Inspect the saved schedule before it runs

Wait for Codex to finish the project tests and schedule creation. Open Scheduler in Oysterun and find Daily Project Health. Confirm:

Oysterun Scheduler list before the first execution, with no runs recorded
Creating a schedule does not need to execute it immediately. The verified walkthrough checks the zero-run state first.

4. Request one Test Run in natural language

Return to the same Codex Session and send a second, bounded instruction:

Run the saved schedule once as a Test Run. Wait for the terminal result, inspect the run history and run log through the Oysterun Scheduler skill, and confirm that reports/latest.md was updated. Do not change the schedule definition.
A second natural-language instruction asking Codex to run and inspect one Scheduler Test Run
Test Run is explicit. The instruction also asks the agent to inspect evidence without changing the saved schedule.

Wait until the agent reports a terminal result. A Test Run can take longer than the task's own script because the agent starts, performs, and verifies the scheduled work.

5. Check Runs, Run Log, and the generated report

Open the schedule's action menu and inspect the same three surfaces used in the verification:

  1. Runs should contain a new entry marked Pass.
  2. Run Log should show the Codex terminal result and exit code 0.
  3. Explorer should show an updated reports/latest.md with current test and scan results.
Oysterun Scheduler run history showing a successful Pass result
The successful run is retained in schedule history.
Oysterun Scheduler Run Log showing a successful Codex terminal result
The Run Log provides terminal-level evidence rather than only a green status badge.
The regenerated Daily Project Health Markdown report preview in Oysterun Explorer
The scheduled job's durable output is the regenerated Markdown report.

6. Pause the tutorial schedule when you are finished

If you do not want the tutorial to run every day, disable it after review. Ask the agent to preview the protected disable action, confirm the exact schedule, and then perform it; or use the Scheduler action menu. Disable preserves the definition and run evidence, while delete removes the schedule and should be reserved for intentional cleanup.

Finish checklist

You now have a recurring agent workflow whose code, schedule intent, execution history, terminal evidence, and durable report can all be reviewed from Oysterun.