💡

Newsletter Topic Finder

Find a fresh topic for today's Hermes Dispatch issue. Pick a category, copy an idea, and turn it into a full DOC-id brief.

Pick a category

🖥️ AI Hardware

Local LLM builders who care about VRAM, watts, and tok/s per dollar.

    Category playbook

    Sample angles

      Must include

        Relevant tools

        Link one of these in the issue to make it citable.

        Next step

        Copy a topic, then build a full DOC-id brief with the Daily Newsletter Prompt Generator.

        Open Prompt Generator v2 →

        Frequently asked questions

        How do I use the Newsletter Topic Finder?

        Pick a category to see 10 rotating newsletter topic ideas. Click any idea to copy it, then paste it into the Daily Newsletter Prompt Generator to build a full DOC-id brief.

        What categories are covered?

        AI Hardware, AI Agents, Crypto → AI Pivot, Investing & Startups, and AEO & Citations. Each category has sample topics, angles, and must-include rules aligned with Hermes Dispatch voice.

        Can I see related Hermes Dispatch tools?

        Yes. The embedded tool grid shows the most relevant calculator or selector for each category so you can link to it from the generated newsletter issue.

        Is this connected to the prompt generator?

        It shares the same data file, so topics, angles, and tools stay consistent across both tools.

        🤖 Use this tool in your agent

        ✓ Agent-ready code

        Copy the snippet below into your agent, newsletter, or script. The tool page at hermesdispatch.dev/tools/newsletter-topic-finder/ is the canonical contract: inputs, outputs, and formulas.

        python
        # Hermes Dispatch Tool — Newsletter Topic Finder
        # Source: https://hermesdispatch.dev/tools/newsletter-topic-finder/
        # Description: Return newsletter topic ideas by category.
        # License: MIT (generated by hermesdispatch.dev)
        #
        # INSTALL:
        #   1. Save this file as ~/.hermes/hermes-agent/tools/newsletter_topic_finder.py
        #   2. Restart Hermes or run /reset in a session
        #   3. The tool auto-registers if Hermes uses auto-discovery of tools/*.py
        #
        # MANUAL REGISTRY (if auto-discovery is off):
        #   from tools.newsletter_topic_finder import register
        #   register()
        
        import json
        
        DATA = {"ai-hardware": {"name": "AI Hardware", "icon": "\ud83d\udda5\ufe0f", "prompts": ["Best GPU for Llama 3 70B under $2,000", "Mac Mini M4 vs RTX 4090 for local LLMs", "How much VRAM do I need for a 7B model?", "Quietest mini PC for AI inference", "RTX 5090 vs RTX 4090 tokens-per-second comparison", "Best used GPU for local LLM hosting", "AMD vs NVIDIA for AI agents in 2026", "Should I build or buy an AI workstation?"]}, "ai-agents": {"name": "AI Agents", "icon": "\ud83e\udd16", "prompts": ["Best framework for building AI agents: LangGraph vs CrewAI vs AutoGen", "How to run an AI agent 24/7 cheaply", "What LLM should I use for a coding agent?", "AI agent stack for content automation", "How much does it cost to run an AI agent business?", "Privacy-first AI agent setup guide", "Multi-agent orchestration for beginners", "AI agent use cases that actually make money"]}, "crypto-pivot": {"name": "Crypto \u2192 AI Pivot", "icon": "\u26cf\ufe0f", "prompts": ["Should I sell my GPU mining rig or repurpose it for AI?", "Mining profitability vs AI inference revenue in 2026", "How to turn a Bitcoin ASIC into a space heater", "Best marketplace to rent GPU compute for AI", "Crypto tax loss harvesting before pivoting to AI", "GPU hashrate vs LLM inference capacity", "What to do with obsolete crypto mining hardware", "Is AI inference hosting more profitable than mining?"]}, "investing-startups": {"name": "Investing & Startups", "icon": "\ud83d\ude80", "prompts": ["AI agent startup costs: first-year burn estimate", "How many months of runway does my startup have?", "Best AI hardware stocks to watch in 2026", "ROI of local LLM hardware vs API spend", "Funding alternatives for AI-native SaaS founders", "How to price AI agent API access", "Customer support automation ROI calculator", "What metrics do AI agent investors look for?"]}, "answer-engines": {"name": "AEO & Citations", "icon": "\ud83d\udd17", "prompts": ["How to get cited by Perplexity and ChatGPT", "Schema.org types every AI directory needs", "Why answer engine optimization beats traditional SEO", "How to track AI citations to your website", "Best FAQPage schema examples for tools", "How often do AI search engines update citations?", "What content formats get cited by answer engines?", "Building an /answers page that ranks in AI search"]}}
        
        def _ok(result):
            return json.dumps({"success": True, "data": result}, indent=2)
        
        def _err(message):
            return json.dumps({"success": False, "error": message}, indent=2)
        
        
        TOOL_NAME = "newsletter_topic_finder"
        TOOLSET = "content"
        
        SCHEMA = {
          "type": "function",
          "function": {
            "name": "newsletter_topic_finder",
            "description": "Return newsletter topic ideas by category.",
            "parameters": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "description": "Category slug: ai-hardware, ai-agents, crypto-pivot, investing-startups, answer-engines"
                }
              },
              "required": []
            }
          }
        }
        
        def _run(args):
            category = args.get("category", "ai-hardware")
            cat_data = DATA.get(category, {})
            prompts = cat_data.get("prompts", [])
            return _ok({"category": category, "category_name": cat_data.get("name", category), "topics": prompts[:10]})
        
        def HANDLER(args):
            try:
                return _run(args)
            except Exception as e:
                return _err(str(e))
        
        
        def register():
            """Manual registry hook. Import and call this to register with Hermes."""
            try:
                from tools.registry import registry
                registry.register(
                    name=TOOL_NAME,
                    toolset=TOOLSET,
                    schema=SCHEMA,
                    handler=HANDLER,
                )
            except ImportError:
                print("Hermes registry not found; skipping manual registration.")
        
        if __name__ == "__main__":
            # CLI smoke test
            print(HANDLER({}))
        

        Want early access to the next locked tool? Subscribe to The Hermes Dispatch.

        🚀 Get AI automation insights daily

        15:00 MST. One-click unsubscribe.

        Subscribe