| name | save_report |
| description | Save or update a report in the database (project) |
Save Report Skill
Create, update, or append reports to the PostgreSQL database.
Recommended: CLI with File (avoids escaping issues)
Step 1: Write report content to a file using the Write tool:
# /tmp/report.md
---
date: 2026-01-07
website: emplois
original_query: "User's question"
query_category: "Category name"
---
# Report Title
Report content...
Step 2: Run the CLI to save to database:
.venv/bin/python skills/save_report/scripts/save_report.py \
--file /tmp/report.md \
--title "Monthly traffic analysis" \
--website emplois \
--category "Traffic analysis" \
--tags "emplois,trafic,analyse"
.venv/bin/python skills/save_report/scripts/save_report.py \
--file /tmp/report.md \
--conversation-id "uuid-here" \
--title "Follow-up analysis" \
--tags "emplois,candidats,analyse"
.venv/bin/python skills/save_report/scripts/save_report.py \
--file /tmp/report.md \
--report-id 42
.venv/bin/python skills/save_report/scripts/save_report.py --list
CLI Options
| Option | Short | Description |
|---|
--file | -f | Path to markdown file (required) |
--title | -t | Report title (required for new/append) |
--website | -w | Website: emplois, dora, etc. |
--category | -c | Query category |
--query | -q | Original user query |
--tags | | REQUIRED Comma-separated tags (see Valid Tags below) |
--report-id | -r | Report ID to update |
--conversation-id | | Conversation ID to append to |
--list | -l | List recent reports |
Valid Tags (REQUIRED)
You MUST provide tags when saving reports. Choose from:
Products (pick one)
emplois, dora, marche, communaute, pilotage, plateforme, rdv-insertion, mon-recap, multi
Themes (pick relevant ones)
- Acteurs:
candidats, prescripteurs, employeurs, structures, acheteurs, fournisseurs
- Concepts:
iae, orientation, depot-de-besoin, demande-de-devis, commandes
- Metriques:
trafic, conversions, retention, geographique
Type (pick one)
extraction, analyse, appli, meta
Sources (if relevant)
matomo, stats, datalake
Example: --tags "emplois,candidats,iae,analyse,stats"
Alternative: Python API
For scripts that need programmatic access:
from skills.save_report.scripts.save_report import save_report, update_report, list_reports
result = save_report(
title="Report title",
content=content_string,
website="emplois"
)
Content Format
Report content should include YAML front-matter:
---
date: 2026-01-07
website: emplois
original_query: "User's question"
query_category: "Category name"
indicator_type: [tag1, tag2]
---
Report content in markdown...