Agent skill
personal-schedule-manager
Stars
9
Forks
5
Install this agent skill to your Project
npx add-skill https://github.com/STEMMOM/m-pps-v1.1/tree/main/skills/personal-schedule-manager
SKILL.md
name: personal-schedule-manager
description: >
Converts a Goal (G-xxx) into executable Schedule entries (S-xxx) with temporal semantics.
Version: 1.1 Author: Entropy Control Theory License: MIT
Based on: Structure DNA v1.0, M-PPS v1.0, PROFILE-GENERATOR-SPEC v1.0
personal.schedule.manager — v1.1
Goal
Translate goal intentions into one or more S- entries with start/due/duration, moving state to scheduled.
This version adds energy-aware scheduling: before planning, it ensures and reads /ledger/profile.json
to align execution time with the user’s chrono-cognitive energy curve.
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
goal_id |
string | ✅ | Reference to the parent goal (G-xxx) |
plan |
string | object | ⛔ | Natural-language or explicit ISO-8601 time semantics |
notes |
string | ⛔ | Optional free text |
kind |
enum | ⛔ | creative | implementation | warmup — used for energy-window mapping |
Outputs
Writes entries to /ledger/schedule.json following the Structure DNA Field Genome:
Required:
id (S-xxx)titlestatus = "scheduled"start | due | duration(at least one)created_at,updated_at
Optional:
goal_id,tags,notes,related_entries,dispatch_to
New (v1.1):
- Adds
energy_zone(or annotation[energy_zone:peak|stable|low]innotes)
Mechanism
- Ensure and load
profile.json- If missing, create
/ledger/profile.jsonfromprofile.schema.json+profile.defaults.json. - Load
profile.data[0]for energy curves, constraints, and break preferences.
- If missing, create
- Energy-aware window selection
creative→19:00–22:00(peak)implementation→14:00–19:00(stable)warmup→10:00–11:00(low)- If the user supplied explicit times, they take precedence; energy windows fill gaps or conflicts.
- Constraint handling and block slicing
- Obey
must_stop_by = 22:00 - Skip
lunch 12:30–13:30,dinner 18:00–19:00 - Split long sessions by
preferred_block_length = 90–120 min
- Obey
- Resolve temporal semantics → ISO timestamps
- State transition: set
status = "scheduled", preservegoal_id, and optionally
dispatch_to = "reflection.manager"for automatic feedback.
Pseudocode
python
def schedule_entry(entry, ledger_dir="/ledger"):
# 1. Ensure and load profile
ensure_profile(ledger_dir)
profile = load_json(f"{ledger_dir}/profile.json")["data"][0]
# 2. Determine energy window
kind = entry.get("kind") or classify(entry)
window = choose_window(kind, profile)
# 3. Apply constraints and compute start/due
slots = place_with_constraints(
plan=entry.get("plan"),
window=window,
breaks=profile.get("break_preferences"),
must_stop_by=profile["constraints"]["must_stop_by"],
block_len=profile["work_style"]["preferred_block_length"]
)
# 4. Finalize schedule entry
entry["start"], entry["due"] = slots[0].start_iso, slots[-1].end_iso
entry["status"] = "scheduled"
entry["updated_at"] = now_iso()
entry["notes"] = (entry.get("notes") or "") + f" [energy_zone:{window.label}]"
return entry
def choose_window(kind, profile):
if kind == "creative": return Window("19:00","22:00","peak")
if kind == "implementation": return Window("14:00","19:00","stable")
return Window("10:00","11:00","low")
Example
Input
json
{
"goal_id": "G-001",
"plan": "2 × 2h this week",
"kind": "creative",
"notes": "Write Substack demo"
}
Output
json
{
"id": "S-101",
"title": "Write Substack demo",
"goal_id": "G-001",
"status": "scheduled",
"start": "2025-11-03T19:00:00-05:00",
"due": "2025-11-03T21:00:00-05:00",
"duration": "2h",
"notes": "user plan:2x2h; [energy_zone:peak]",
"created_at": "2025-11-03T13:05:00-05:00",
"updated_at": "2025-11-03T13:05:00-05:00",
"dispatch_to": "reflection.manager",
"related_entries": ["G-001"]
}
Notes
- v1.1 keeps the dispatch rules unchanged — logic is handled inside the Skill runtime.
- If
/ledger/profile.jsonis missing,ensure_profile()bootstraps it automatically. - Compatible with all other MVP Skills (
ledger.registry,reflection.manager,goal.manager). - Designed for immediate use within the Structure DNA → M-PPS → LLC loop.
“Energy-aware scheduling turns language intention into a rhythm of execution.” — Entropy Control Theory, 2025
---
Didn't find tool you were looking for?