schedule-management
$
npx mdskill add aipoch/medical-research-skills/schedule-managementManage local events, deadlines, and conflicts without cloud sync.
- Stores events in events.jsonl and exports reminders to reminders.csv.
- Requires Python 3.9 and optional Windows PowerShell for notifications.
- Validates time formats and detects overlapping time windows.
- Delivers desktop popups via notify.ps1 after deduplication checks.
SKILL.md
.github/skills/schedule-managementView on GitHub ↗
---
name: schedule-management
description: Local schedule management for adding events, tracking deadlines, generating reminders, and detecting time conflicts when users need offline scheduling with optional popup notifications.
license: MIT
author: aipoch
---
> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
## When to Use
- You need lightweight, **offline/local-only** schedule management without any cloud sync.
- You want to **add meetings/events** and store them in a simple local data directory.
- You need to **track deadlines** (modeled as events with `type=deadline`) and list them by time range.
- You want to **detect scheduling conflicts** (overlapping time windows on the same date).
- You need **local reminders** exported to a file and optionally shown as **desktop popup notifications**.
## Key Features
- Add and store events locally in `events.jsonl`.
- List and filter events by time range.
- Import events (operation-driven workflow).
- Detect conflicts by checking overlapping time intervals.
- Generate upcoming reminders into `reminders.csv`.
- Optional popup notifications via a local script with deduplication using `notified.log`.
- Strict validation for required fields and time format.
## Dependencies
- Python `>= 3.9`
- (Optional, for popup reminders) Windows PowerShell `>= 5.1` to run `scripts/notify.ps1`
## Example Usage
> Time format must be `YYYY-MM-DD HH:MM` (24-hour).
### 1) Add an event with a reminder
```bash
python scripts/schedule_tool.py \
--operation add \
--data-dir "./data" \
--title "Project Sync" \
--start "2026-02-10 09:00" \
--end "2026-02-10 10:00" \
--type "meeting" \
--location "Room 3A" \
--notes "Bring status updates" \
--tags "work,weekly" \
--remind 30
```
### 2) List events
```bash
python scripts/schedule_tool.py \
--operation list \
--data-dir "./data"
```
### 3) Detect conflicts
```bash
python scripts/schedule_tool.py \
--operation conflicts \
--data-dir "./data"
```
### 4) Generate reminders export
```bash
python scripts/schedule_tool.py \
--operation reminders \
--data-dir "./data"
```
This generates:
- `./data/events.jsonl`
- `./data/reminders.csv`
### 5) (Optional) Show popup reminders with deduplication
1. Generate reminders first:
```bash
python scripts/schedule_tool.py --operation reminders --data-dir "./data"
```
2. Run the notifier periodically (e.g., via Task Scheduler):
```powershell
powershell -ExecutionPolicy Bypass -File scripts/notify.ps1 -DataDir "./data"
```
Notifications are deduplicated using `./data/notified.log` so each reminder time is shown only once.
> Additional examples may be available in `references/examples.md`.
## Implementation Details
- **Storage**
- Events are appended to `events.jsonl` in the specified `--data-dir`.
- Reminder exports are written to `reminders.csv` in the same directory.
- Popup notification deduplication uses `notified.log` in the data directory.
- **Operations**
- `add`: validates required fields and writes a new event record.
- `import`: imports event records (format depends on the script’s supported import mode).
- `list`: prints a summary of stored events (optionally filtered by time range).
- `conflicts`: checks for overlapping events and reports conflicts.
- `reminders`: computes upcoming reminder times and exports them.
- **Time Parsing Rules**
- Accepted format: `YYYY-MM-DD HH:MM` (24-hour).
- Invalid time formats are explicitly rejected.
- **Conflict Detection**
- Two events conflict if they occur on the same date and their time intervals overlap:
- Overlap condition: `startA < endB` and `startB < endA`
- Conflicts are reported to standard output.
- **Deadlines**
- A deadline is represented as an event with `type=deadline`.
- Deadline tracking uses the same storage and listing mechanisms as other events.
- **Failure Handling**
- Missing required fields terminates only the current operation (does not corrupt existing data).
- Validation errors are surfaced clearly (e.g., invalid time format).
- **Security & Compliance**
- No network access and no external APIs.
- Reads/writes are restricted to the user-specified local `--data-dir`.More from aipoch/medical-research-skills
- 3d-molecule-ray-tracerGenerate photorealistic rendering scripts for PyMOL and UCSF ChimeraX.
- abstract-summarizerTransform lengthy academic papers into concise, structured 250-word abstracts.
- abstract-trimmerPrecision editing tool that reduces abstract word count through intelligent compression techniques, maintaining scientific rigor while meeting strict journal and conference requirements.
- academic-abstract-refinerRefines long medical academic texts into SCI-style unstructured Chinese and English abstracts; use when you need to condense drafts/reports/summaries into bilingual abstracts and generate Summary_Report.md.
- academic-cv-generatorGenerate structured academic CVs from free-form Chinese/English text and export to Word (.docx). Use this skill when you are asked to organize, generate, or optimize an academic CV (e.g., publications/projects/awards) into a consistent, formatted document with uniform-colored section headers and optional bilingual output.
- academic-highlight-generatorGenerates submission-ready Elsevier/SCI Highlights from manuscript text or extracted PDF/DOCX/TXT content. Use when a user needs 3-5 concise, evidence-grounded highlight bullets for a research paper, review, meta-analysis, case report, or bioinformatics manuscript.
- academic-norm-reviewDetects content similarity, verifies standardized citations and abbreviations, and flags potential academic integrity risks; use it before submission, during academic writing QA, or for compliance reviews.
- academic-poster-generatorComplete workflow for generating academic research posters from PDF literature; use when you need to extract paper content from PDFs and produce a LaTeX-based poster (beamerposter/tikzposter/baposter) with mandatory figure generation and a final rendered HTML deliverable.
- acronym-unpackerIntelligent medical abbreviation disambiguation tool that resolves ambiguous acronyms using clinical context, specialty-specific knowledge, and document-level semantic analysis.
- active-comparator-single-soc-faers-safety-comparisonGenerates complete FAERS pharmacovigilance study designs for multi-drug or class-level safety comparison inside one predefined SOC or AE family using active comparators, disproportionality analysis, subgroup characterization, and reviewer-facing evidence control.