⏰ Prompt Scheduler – Scheduled Prompt Runner

Schedule and auto-run Copilot Chat prompts at specified times.
No need to manually type prompts — Prompt Scheduler automatically sends them to Copilot Chat at the scheduled time.
✨ Features
| Feature |
Description |
| 🗓️ Multiple Schedule Types |
Daily, Weekly, Once, Interval, and Cron expression support |
| 🤖 Copilot Chat Integration |
Automatically sends and executes prompts in Copilot Chat |
| 💬 @scheduler Chat Participant |
Manage tasks directly from Copilot Chat using @scheduler |
| 📊 Sidebar TreeView |
View all scheduled tasks at a glance in the Activity Bar |
| 🖥️ Webview GUI |
Intuitive graphical interface for creating and editing tasks |
| 📋 Full CRUD |
Create, read, update, delete, and duplicate tasks |
| 🏷️ Tags & Filters |
Organize tasks with tags |
| ⏰ Time Windows |
Set allowed execution time ranges |
| 📝 Prompt Placeholders |
Dynamic substitution with {{date}}, {{time}}, {{workspace}}, etc. |
| 📊 Execution History |
Track execution history and success/failure status |
| 🌐 Multi-language |
English, Korean, Japanese support |
| 🔒 Rate Limiting |
Daily execution limits and jitter for safe operation |
🎬 Quick Start
1. Install
Search for "Prompt Scheduler" in the VS Code Extensions panel → Install
2. Create a Scheduled Prompt
Option A: Webview GUI
- Click the Prompt Scheduler icon in the Activity Bar
- Click the + button
- Enter a prompt, execution time, and schedule type
- Click Save
Option B: Command Palette
- Open
Ctrl+Shift+P (macOS: Cmd+Shift+P)
- Select "Prompt Scheduler: Create Scheduled Prompt"
Option C: Chat Participant
- Open Copilot Chat
- Type
@scheduler /add
3. Auto Execution
When the scheduled time arrives, Copilot Chat opens automatically and the prompt is executed.
📋 Commands
| Command |
Description |
Prompt Scheduler: Open Scheduler Panel |
Open the scheduler panel |
Prompt Scheduler: Create Scheduled Prompt |
Create a new scheduled prompt |
Prompt Scheduler: Edit Scheduled Prompt |
Edit an existing task |
Prompt Scheduler: Delete Scheduled Prompt |
Delete a task |
Prompt Scheduler: Toggle Task (Enable/Disable) |
Toggle task active/inactive |
Prompt Scheduler: Run Prompt Now |
Execute immediately |
Prompt Scheduler: Duplicate Task |
Duplicate a task |
Prompt Scheduler: Show Execution History |
View execution history |
Prompt Scheduler: Refresh Tasks |
Refresh the task list |
💬 Chat Participant (@scheduler)
Use @scheduler in Copilot Chat for interactive management:
@scheduler /list # List all scheduled tasks
@scheduler /add # Guide to create a new task
@scheduler /delete <name> # Delete a task by name
@scheduler /run <name> # Run a task immediately
@scheduler /history # View execution history
@scheduler # Show help
⏰ Schedule Types
Daily
Runs every day at the specified time.
Time: 09:00 → Runs every day at 9:00 AM
Weekly
Runs on the specified days of the week at the specified time.
Days: Mon, Wed, Fri / Time: 18:00 → Runs at 6:00 PM on Mon, Wed, Fri
Once
Runs once at the specified date and time.
Date: 2026-05-01 / Time: 10:00 → Runs once on May 1st at 10:00 AM
Interval
Runs repeatedly at a fixed interval.
Every: 30 minutes → Runs every 30 minutes
Cron Expression
Supports cron expressions for advanced scheduling.
| Expression |
Description |
0 9 * * 1-5 |
Weekdays at 9:00 AM |
0 18 * * 1-5 |
Weekdays at 6:00 PM |
0 9 * * * |
Every day at 9:00 AM |
*/30 * * * * |
Every 30 minutes |
0 * * * * |
Every hour |
0 9 * * 1 |
Every Monday at 9:00 AM |
📝 Prompt Placeholders
Use the following placeholders in prompts — they are automatically substituted at execution time:
| Placeholder |
Description |
Example |
{{date}} |
Current date |
2026-04-26 |
{{time}} |
Current time |
09:00:00 |
{{datetime}} |
Date + time |
2026-04-26 09:00:00 |
{{timestamp}} |
ISO timestamp |
2026-04-26T00:00:00.000Z |
{{workspace}} |
Workspace name |
my-project |
{{file}} |
Current file name |
index.ts |
{{filepath}} |
Full file path |
/src/index.ts |
Example:
Review the changes made today ({{date}}) in workspace {{workspace}}.
Summarize the current state of {{file}} and suggest improvements.
⚙️ Settings
| Setting |
Default |
Description |
promptScheduler.enabled |
true |
Enable/disable the scheduler globally |
promptScheduler.timezone |
"" |
Timezone (empty = system default) |
promptScheduler.maxDailyExecutions |
24 |
Max daily executions (0 = unlimited) |
promptScheduler.jitterSeconds |
0 |
Max random delay before execution (seconds) |
promptScheduler.showNotifications |
true |
Show notifications on execution |
promptScheduler.language |
"auto" |
UI language (auto/en/ko/ja) |
promptScheduler.logLevel |
"info" |
Log level |
promptScheduler.executionHistoryLimit |
50 |
Number of history entries to retain |
📋 Requirements
- VS Code 1.93.0 or later
- GitHub Copilot extension installed
⚠️ Known Issues & Disclaimers
- The Copilot Chat API is still evolving; some features may change with VS Code updates.
- This extension automates Copilot Chat. Excessive automation may be restricted under GitHub's Acceptable Use Policies.
- Use jitter, daily limits, and appropriate execution intervals to avoid rate limiting.
📂 Project Structure
prompt-scheduler/
├── src/
│ ├── extension.ts # Extension entry point
│ ├── chat/ # @scheduler Chat Participant
│ ├── models/ # Data models
│ ├── scheduler/ # Scheduler engine & prompt executor
│ ├── storage/ # Data storage (CRUD)
│ ├── utils/ # Utilities
│ └── webview/ # TreeView & Webview UI
├── docs/
│ ├── SAD.md # Software Architecture Document
│ ├── SDD.md # Software Design Document
│ └── DETAILED_DESIGN.md # Detailed Design Document
├── media/ # Icons and assets
└── package.json # Extension manifest
📄 License
MIT © Prompt Scheduler
🤝 Contributing
Pull requests are welcome! Please see the SAD and SDD documents for architecture details.
Enjoy scheduling your Copilot prompts! 🚀