Files
ADHDbot/PROMPTS.md
2025-11-11 23:11:59 -06:00

86 lines
3.1 KiB
Markdown

# Prompt Reference
This project now ships with ADHD-friendly prompts that tell the assistant how to
handle reminders, break tasks down, and kick off work sessions. All prompts live
in `prompts/defaultPrompts.json` (auto-generated from `AppConfig.defaultPromptRecords`
when missing) and are loaded through `PromptLibrary`.
## Prompt Catalog
| Category | Name | Purpose |
|-----------|------------|---------|
| `general` | `welcome` | Greets the user, reminds them they can ask for planning help or reminders, and references the incoming context. |
| `general` | `fallback` | Keeps momentum if a prompt lookup fails. |
| `planning`| `breakdown`| Acts as an executive-function coach: empathize, define the outcome, split work into tiny observable steps, and gently ask whether to save the plan or set a reminder. |
| `reminders` | `schedule` | Confirms reminder details, summarizes them, and—when the user approves—emits a JSON payload that downstream services can consume. |
| `agentic` | `hourly_review` | Autonomous sweep that reviews notes plus the persistent action list to decide whether to trigger reminders, notes, or other workflows. |
You can add more prompts by dropping additional JSON records into `prompts/`.
## Structured JSON Hooks
The prompts guide the model to output placeholder JSON, similar to how the
memory subsystem listens for `take_note` actions. Downstream services can
inspect responses for these payloads and act on them.
### Store a Task Plan
Triggered from the `planning/breakdown` prompt when the user explicitly asks to
save the plan.
```json
{
"action": "store_task",
"task": {
"title": "short label",
"steps": [
{"order": 1, "description": "step detail", "duration": "~5 min"}
],
"next_step": "first step text",
"context": "<original context>",
"status": "not_started"
}
}
```
### Schedule a Reminder
Triggered from the `reminders/schedule` prompt once timing and content are
locked in with the user.
```json
{
"action": "schedule_reminder",
"reminder": {
"title": "short label",
"details": "context summary",
"trigger": {
"type": "datetime | relative | habit",
"value": "ISO timestamp or human-friendly string"
},
"follow_up": "check-in question",
"metadata": {
"user": "<discord id>",
"source": "prompt"
}
}
}
```
### Notes
- Only output one JSON block per response, wrapped in ```json fences, when the
user confirms they want the assistant to act.
- If details are incomplete, stay conversational and gather what you need.
- Additional actions can be added later by extending the prompt instructions and
listening for new `action` values just like `take_note`.
### Agentic Hourly Review
The `agentic/hourly_review` prompt consumes the JSON blob produced by
`AgenticWorkflow.buildReviewPacket`. It summarizes recent notes plus the
modifiable action list (cadence, intervals, latest progress) and decides if
anything needs escalation. When it does, it reuses the same structured actions
(`take_note`, `store_task`, `schedule_reminder`) so downstream tooling can react
consistently. When nothing is due it simply acknowledges the sweep.