Files

2.9 KiB

name, description
name description
hosting 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

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

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

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:
    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:
    {
      "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:
    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.