feat: add hosting and qr-code skills
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
---
|
||||
name: hosting
|
||||
description: Upload and host static HTML websites, PDFs, images, recipes, and dossiers on public S3 storage (https://hosting.haumdaucher.de).
|
||||
---
|
||||
|
||||
# Public S3 File & Website Hosting 🌐
|
||||
|
||||
Publishes files and standalone static web pages to **`https://hosting.haumdaucher.de`**.
|
||||
|
||||
## When to Use
|
||||
- **Research Dossiers & Websites**: After compiling an in-depth research report or summary, build an HTML page (styled with clean CSS) and upload it so the user can view it in their browser or share it with friends.
|
||||
- **Recipes & Cooking Plans**: For Koch subagent (`agents/koch.md`) when creating shareable recipe cards or dinner menus.
|
||||
- **Documents & PDFs**: Uploading PDFs, cheat sheets, or notes.
|
||||
- **Images**: Sharing generated images, diagrams, or charts via a clean link.
|
||||
- **Link Collections**: Hosting curated bookmarks or event overviews.
|
||||
|
||||
## URL Structure & Conventions
|
||||
Artifacts are automatically named with the required pattern:
|
||||
```
|
||||
https://hosting.haumdaucher.de/{category}/{YYYYMMDD}-{slug}.{ext}
|
||||
```
|
||||
- **Categories**: `research`, `recipes`, `images`, `docs`, `shared`.
|
||||
- **Date**: Auto-generated in `YYYYMMDD` format (e.g. `20260916`).
|
||||
- **Slug**: Short, lowercase, alphanumeric hyphenated identifier (e.g. `haumdaucher-agent-framework`).
|
||||
|
||||
## CLI Execution
|
||||
|
||||
Run the publisher via `uv run`:
|
||||
|
||||
### 1. Uploading a Local File
|
||||
```bash
|
||||
uv run /home/node/mop-skills/mop-skills/skills/hosting/scripts/publish_file.py \
|
||||
--file /tmp/my-report.html \
|
||||
--category research \
|
||||
--slug ai-agent-framework
|
||||
```
|
||||
|
||||
### 2. Publishing Inline HTML Content Directly
|
||||
```bash
|
||||
uv run /home/node/mop-skills/mop-skills/skills/hosting/scripts/publish_file.py \
|
||||
--content "<!DOCTYPE html><html><head><meta charset='utf-8'><title>Rezept</title></head><body><h1>Pistazien-Eis</h1></body></html>" \
|
||||
--category recipes \
|
||||
--slug pistazien-eis \
|
||||
--ext html
|
||||
```
|
||||
|
||||
### 3. Deleting an Artifact
|
||||
```bash
|
||||
uv run /home/node/mop-skills/mop-skills/skills/hosting/scripts/publish_file.py \
|
||||
--delete "research/20260916-ai-agent-framework.html"
|
||||
```
|
||||
|
||||
## Mandatory Workflow: QR Code Offer
|
||||
Whenever you host an artifact and present the public link to the user:
|
||||
1. Present the link clearly in your message:
|
||||
```markdown
|
||||
Hier ist deine veröffentlichte Website / dein Dokument:
|
||||
🔗 https://hosting.haumdaucher.de/research/20260916-ai-agent-framework.html
|
||||
```
|
||||
2. **Immediately follow up with the `ask_user` tool** to ask whether a QR code should be generated:
|
||||
```json
|
||||
{
|
||||
"question": "Möchtest du für diesen Link einen QR-Code generieren?",
|
||||
"options": ["Ja, QR-Code erstellen", "Nein, danke"]
|
||||
}
|
||||
```
|
||||
3. If the user selects **"Ja, QR-Code erstellen"**:
|
||||
Run the `qr-code` skill:
|
||||
```bash
|
||||
uv run /home/node/mop-skills/mop-skills/skills/qr-code/scripts/generate_qr.py "https://hosting.haumdaucher.de/research/20260916-ai-agent-framework.html"
|
||||
```
|
||||
And deliver the image using `MEDIA:<path>` in your response.
|
||||
Reference in New Issue
Block a user