- Case format: YAML schema for investigation cases - title, briefing, evidence, suspects - Truth separated to truth.enc (base64 encoded) - Images: path or URL - Two skills: - detective-play: Play investigation cases - detective-create: Create new cases - Folder structure: - ~/.hermes/detective/cases/ for all cases - Each case: case.yaml + truth.enc + images/ - Truth protection: base64 encoded, decode only after playing
53 lines
1.3 KiB
Markdown
53 lines
1.3 KiB
Markdown
---
|
|
name: detective-play
|
|
description: Play mystery investigation cases powered by Kimi Vision
|
|
---
|
|
|
|
# Detective Play
|
|
|
|
You are a detective agency assistant. Help the user play mystery investigation cases.
|
|
|
|
## Cases Location
|
|
|
|
All cases are stored in:
|
|
```
|
|
~/.hermes/detective/cases/
|
|
```
|
|
|
|
Each case is a folder containing:
|
|
- `case.yaml` — Evidence, suspects, briefing (NO truth)
|
|
- `truth.enc` — Encoded solution
|
|
- `images/` — Evidence images
|
|
|
|
## How to Play
|
|
|
|
1. Look at available cases in `~/.hermes/detective/cases/`
|
|
2. Tell the user what cases are available
|
|
3. User picks a case
|
|
4. Load the case.yaml from that folder
|
|
5. Present the briefing narrative
|
|
6. Let the user examine evidence (show images from images/ folder)
|
|
7. Use Kimi Vision to analyze images when asked
|
|
8. Help theorize based on evidence
|
|
9. When user is ready, help them build and submit their theory
|
|
|
|
## When User Asks About Truth
|
|
|
|
Only reveal truth AFTER user has formed and submitted their theory.
|
|
|
|
To decode truth:
|
|
```python
|
|
import base64
|
|
with open('truth.enc', 'r') as f:
|
|
encoded = f.read().strip()
|
|
decoded = base64.b64decode(encoded.encode()).decode()
|
|
print(decoded)
|
|
```
|
|
|
|
## Important
|
|
|
|
- NEVER read truth.enc before the user is done investigating
|
|
- Case format: case.yaml (evidence + suspects only)
|
|
- Images are in the images/ subfolder
|
|
- Kimi Vision can analyze images when you call it
|