Task Scheduler is an OpenAI Codex plugin that turns raw task lists into realistic schedules.
It combines three pieces in one plugin package:
- a Codex plugin manifest and marketplace-ready metadata
- a reusable MCP server that other agents and tools can call
- a local CLI for generating schedule drafts from structured JSON input
The plugin is designed for practical planning. It balances deadlines, available hours, blocked dates, and per-day capacity changes, then returns a markdown plan with follow-ups and risks.
- Converts task JSON into a day-by-day schedule
- Supports blocked dates and daily capacity overrides
- Tracks overflow when tasks do not fit inside the planning window
- Exposes MCP tools so other agents can call the scheduler directly
- Includes a Codex skill for planning-oriented prompts
- Ships with example assets, sample data, and starter plugin metadata
- Codex users who want a local productivity plugin
- plugin authors learning how to combine plugin manifests, skills, and MCP
- teams that want a lightweight planning tool agents can call from the same workspace
task-scheduler/
|-- .codex-plugin/
| `-- plugin.json
|-- assets/
| |-- icon.png
| |-- logo.png
| `-- screenshot*.png
|-- hooks/
| `-- README.md
|-- scripts/
| |-- build_schedule.py
| |-- example_tasks.json
| |-- mcp_server.py
| |-- requirements-mcp.txt
| `-- task_scheduler_core.py
|-- skills/
| `-- task-planner/
| `-- SKILL.md
|-- .app.json
|-- .mcp.json
|-- hooks.json
`-- README.md
Use the CLI when you want a quick schedule from a JSON file:
python .\scripts\build_schedule.py `
--input .\scripts\example_tasks.jsonOptional flags:
--start-date YYYY-MM-DD--days <int>--hours-per-day <number>--output <path>
These flags override the values inside the JSON input file when present.
The plugin exposes a local stdio MCP server so other agents and tools can call the scheduler without shelling out directly.
Implemented MCP tools:
build_task_scheduleanalyze_schedule_capacitybuild_task_schedule_from_file
Implemented MCP resources:
task-scheduler://sample-inputtask-scheduler://readme
Implemented MCP prompt:
schedule_prompt
The included skill at skills/task-planner/SKILL.md helps Codex gather constraints, create a realistic plan, and call out risk and overflow clearly.
The scheduler accepts either:
- a plain JSON array of tasks
- a JSON object containing
tasksplus planning metadata
[
{
"title": "Finalize project brief",
"due": "2026-04-03",
"estimated_hours": 2.5,
"priority": 5,
"notes": "Needs stakeholder review"
}
]{
"start_date": "2026-04-01",
"days": 6,
"hours_per_day": 6,
"blocked_dates": ["2026-04-04"],
"daily_capacity_overrides": {
"2026-04-03": 3.5,
"2026-04-06": 4
},
"notes": "Protect Saturday for admin catch-up.",
"tasks": [
{
"title": "Finalize project brief",
"due": "2026-04-02",
"estimated_hours": 2,
"priority": 5,
"tags": ["strategy", "stakeholders"],
"notes": "Share with stakeholders before noon."
}
]
}title: task namedue: due date inYYYY-MM-DDestimated_hours: expected work in hourspriority: integer from 1 to 5notes: optional detail shown in outputtags: optional string array for categorization
start_date: planning window startdays: number of days in the windowhours_per_day: default daily capacityblocked_dates: dates with zero scheduling capacitydaily_capacity_overrides: per-day hour overridesnotes: planning context echoed into the output
The generated markdown includes:
SummaryScheduleFollow-UpsRisks
This makes it readable for humans and easy for agents to refine.
This repository is structured with the plugin at the repo root.
task-scheduler-codex-plugin/
To use it as a Codex plugin inside another workspace, place this repository or a copy of it under:
plugins/task-scheduler
python -m pip install -r .\scripts\requirements-mcp.txtThe manifest lives at:
.codex-plugin/plugin.json
This plugin already references:
./skills/./hooks.json./.mcp.json./.app.json
The MCP config lives at:
.mcp.json
It starts the local server with:
{
"mcpServers": {
"taskScheduler": {
"command": "python",
"args": ["./scripts/mcp_server.py"],
"cwd": "."
}
}
}If you want the plugin to appear in Codex UI ordering, register it in your marketplace file:
.agents/plugins/marketplace.json
This repo already includes a starter marketplace entry.
python .\scripts\build_schedule.py `
--input .\scripts\example_tasks.jsonpython .\scripts\mcp_server.pySample input lives at:
scripts/example_tasks.json
- Getting Started
- MCP Reference
- Architecture
- Development Guide
- Publishing Guide
- Contributing
- Security Policy
- Privacy Policy
- Terms of Service
This plugin is a strong local starter and learning reference. It is already useful for local scheduling and MCP-based planning flows, but a few areas are still intentionally starter-level:
.app.jsonintegration details- runtime hook registrations in
hooks.json - final production screenshots and branding assets
- add more MCP tools such as automatic overflow rescheduling
- support recurring tasks and dependency chains
- add export formats beyond markdown
- connect planner output to external task systems
- add repository releases and changelog automation
MIT, unless you choose a different license for your public repository.
