Added Prompt for tools (#68)

* Create detailed markdown instructions for all toolkits
* Update all toolkit classes to load instructions from external .md files
* Add query examples for cryptocurrency report generation
This commit was merged in pull request #68.
This commit is contained in:
Simo
2025-10-31 00:13:02 +01:00
committed by GitHub
parent df14ae5bc6
commit c501a58bf4
17 changed files with 1115 additions and 59 deletions

View File

@@ -0,0 +1,64 @@
# Plan Memory Tool - Instructions
## Purpose
Stateful task management for Team Leader: create, track, and record execution plans with persistent state.
## Tools (4)
### 1. `add_tasks(task_names: list[str])` → str
Adds tasks with 'pending' status. Prevents duplicates. Returns: "Added N new tasks."
**Best Practices:**
- Clear, descriptive names (e.g., "Fetch BTC price for last 7 days" not "Get data")
- Order logically (dependencies first)
- Include specific details in names
### 2. `get_next_pending_task()` → Task | None
Returns FIRST pending task (FIFO order) or None if no pending tasks.
**Task Object:** `{name: str, status: "pending", result: None}`
### 3. `update_task_status(task_name, status, result)` → str
Updates task after execution. Status: "completed" or "failed". Result: optional outcome/error.
**Example:**
```python
update_task_status("Fetch BTC price", "completed", "BTC=$67,543 at 14:23:00")
update_task_status("Analyze sentiment", "failed", "API rate limit exceeded")
```
**Best Practices:**
- Update immediately after execution
- Include key data in result (prices, counts, timestamps)
- For failures, include error details
### 4. `list_all_tasks()` → list[str]
Lists all tasks with status and results. Format: "- {name}: {status} (Result: {result})"
## Workflow Pattern
```python
add_tasks(["Task A", "Task B", "Task C"])
while task := get_next_pending_task():
result = execute(task['name'])
update_task_status(task['name'], "completed", result)
all_tasks = list_all_tasks()
```
## Critical Rules
1. Task names must be unique (exact match for updates)
2. Always update status after execution
3. Execute sequentially using get_next_pending_task()
4. Store meaningful results, not just "Done"
5. Handle failures: update status="failed" and continue
6. Review with list_all_tasks() before finishing
## Good vs Poor Examples
**Good Task Names:** "Fetch BTC price from Binance for 7 days" | "Analyze Ethereum news sentiment"
**Poor Task Names:** "Get data" | "Step 1" | "Do analysis"
**Good Results:** "BTC: $67,543 (Binance, 2025-10-30 14:23)" | "15 articles, Bullish sentiment"
**Poor Results:** "Done" | "Success" | "OK"
## State Persistence
- Persists within single session only (not across restarts)
- Call list_all_tasks() periodically to preserve context