86 lines
3.1 KiB
Markdown
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.
|