{
  "id": "research-desk",
  "name": "Research Desk",
  "type": "bundle",
  "platform": "grokBot",
  "prompt": "Install the BotPlaza bundle \"Research Desk\" (3 skills). For each skill below, save it as a skill with its exact name. Then create one routine per scheduled skill that runs it on the schedule listed and posts the result here; skills marked on demand get no routine. Before the first run, read the setup questions in all 3 skills, merge the ones they share (such as my name, city, time zone and where to deliver), ask me everything in one short message, and remember my answers for every skill in this bundle. When you're done, list the skills and routines you created. Never send, post, submit, or buy anything on my behalf without asking me first.\n\n1. Research Brief: on demand, no routine\n2. Reading Digest: routine every Friday at 5:00 PM\n3. Price Drop Watcher: routine every day at 9:00 AM\n\n=== Skill 1 of 3: Research Brief ===\n\n---\nname: research-brief\ndescription: Use when the user asks for a research brief, deep dive, explainer, literature scan, or \"find out everything about\" a topic, company, technology, or question. Produces a sourced brief with a bottom-line answer, key findings, open debates, and a numbered source list, with every claim tied to a source opened this run.\nmetadata:\n  id: research-brief\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Research Brief\n\n> Any question, answered with the evidence and every source.\n\n## What it does\n\nTurn a question into a brief the user can act on: the answer up top, the evidence below, and every claim traceable to a source.\n\n## When to use\n\n- \"Research X\", \"give me a deep dive on X\", \"what's the state of X\", \"should we use X or Y\", \"brief me on X before Thursday\".\n- Not for live prices, sports scores, or a single fact lookup. Answer those directly.\n\n## Requires\n\nWeb search and web access to open sources. No accounts needed.\n\n## Schedule\n\nOn demand. Run it when the user asks; it can also be put on a schedule (for example a weekly brief on a tracked topic).\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `question` | required | Restate it as one clear question before starting. If it's vague, pick the most useful reading, say which, and proceed. |\n| `depth` | standard | `quick` (5–8 sources, about 1 page), `standard` (10–15 sources, 2–3 pages), `deep` (20+ sources, with a methods note). |\n| `audience` | the user | E.g. \"my CFO\", \"a non-technical friend\". Sets vocabulary and what to explain. |\n| `recency` | any | Or \"last 12 months\", \"since 2024\". |\n| `source_types` | balanced | Toggle: news, academic papers, official/government data, company filings, expert blogs, forums. |\n| `format` | brief | `brief` (prose + bullets), `table` (comparison grid), `memo` (one page, decision-oriented). |\n\n## Steps\n\n1. **Frame.** Write the question in one sentence and list 3 to 5 sub-questions that together answer it.\n2. **Search wide.** Run several searches per sub-question with different phrasings. Include primary sources (papers, filings, official data, documentation), not just articles about them.\n3. **Read, don't skim.** Open every source you will cite. Note the publish date, author or organization, and the specific claim you're using.\n4. **Weigh sources.** Prefer primary over secondary, recent over old (unless history matters), and independent over interested parties. Flag when a source has a stake in the answer.\n5. **Find the disagreement.** Look for where credible sources conflict. Report the conflict honestly; don't average it away.\n6. **Answer.** Write a 2–3 sentence bottom line that directly answers the question, with your confidence (high / medium / low) and why.\n7. **Write the brief** in the format below. Tie each claim to a numbered source like [3].\n8. **Check.** Every number and quote matches its source. Every source is listed with a working URL and date. Nothing comes from memory alone; if you know something but can't source it, say \"unsourced\" or cut it.\n\n## Output format\n\n```markdown\n# {Question}\n*Research brief · {date} · {N} sources · Confidence: {high/medium/low}*\n\n## Bottom line\n{2–3 sentences answering the question.}\n\n## Key findings\n1. **{Finding}.** {Evidence, 1–3 sentences.} [1][4]\n\n## Where sources disagree\n- {Point of conflict, who says what.} [2] vs [6]\n\n## What we still don't know\n- {Gap}\n\n## If you're deciding\n- {Practical implication or next step}\n\n## Sources\n1. {Author/Org}, \"{Title}\", {Outlet}, {date}. {URL}\n```\n\n## Edge cases\n\n- **Little reliable information:** say so in the bottom line. A short honest brief beats a long speculative one.\n- **Fast-moving topic:** add \"As of {date, time, tz}\" and note what may change.\n- **Medical, legal, or financial questions:** summarize the evidence, note it isn't professional advice, and point to the right kind of professional.\n- **Paywalled papers:** use the abstract and say only the abstract was read.\n- **The user's premise is wrong:** say so plainly in the bottom line, with the source.\n\n## Boundaries\n\n- Read-only. This skill never sends, posts, or buys anything.\n- Never cite a source you didn't open this run, and never present model memory as a finding.\n\n=== Skill 2 of 3: Reading Digest ===\n\n---\nname: reading-digest\ndescription: Use when the user asks for a reading digest, paper digest, \"what's new in {field}\", a weekly roundup of research papers, newsletters, or saved articles, or when a scheduled reading routine runs. Finds new papers and long-form pieces on the user's topics, picks the few worth their time, and explains each in plain language with links.\nmetadata:\n  id: reading-digest\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Reading Digest\n\n> This week's papers worth reading, each explained in three lines.\n\n## What it does\n\nThe handful of papers and essays from this week worth your time, each explained in three plain sentences, so you can decide what to actually read.\n\n## When to use\n\n- \"What's new in {field} this week\", \"summarize this week's papers on {topic}\", \"go through my saved articles\".\n- A weekly routine (default: Friday 5:00 PM).\n\n## Requires\n\nWeb search and web access (arXiv, journals, preprint servers). Optional: a read-later app (Readwise, Instapaper, Notion) to save picks.\n\n## Schedule\n\nDefault: Weekly, Friday 5:00 PM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `topics` | ask | E.g. \"LLM agents\", \"CRISPR delivery\", \"urban planning\". Up to 5. |\n| `sources` | preprints, journals, quality long-form | Toggle: arXiv, bioRxiv/medRxiv, SSRN, journals, newsletters, the user's read-later list, specific blogs. |\n| `window` | last 7 days | |\n| `count` | 5 | Items in the digest. |\n| `level` | informed non-specialist | Or `expert` (keep jargon, add methods detail) or `beginner`. |\n| `include_skipped` | yes | A short \"also out this week\" list. |\n\n## Steps\n\n1. **Search** each topic across the enabled sources for items published in the window. Collect title, authors, venue, date, and link.\n2. **Screen** by relevance to the topic, novelty (new result vs incremental), credibility (venue, methods, data), and attention from credible experts. Note when something is a preprint and not peer reviewed.\n3. **Read** the abstract, introduction, figures, and conclusion of each pick at minimum. For articles, read the whole piece.\n4. **Explain** each pick in three sentences: what they did, what they found, why it matters (or why to be skeptical).\n5. **Add one honest caveat** per item (small sample, preprint, single lab, industry-funded, benchmark only).\n6. **Write** in the format below, ordered by how much the user should care.\n\n## Output format\n\n```markdown\n# Reading digest · {topics} · week of {date}\n*{N} items reviewed, {count} picked*\n\n## 1. {Title}\n{Authors (first author et al.)} · {Venue or \"Preprint\"} · {date} · ~{X} min read\n**What:** {one sentence} **Found:** {one sentence} **Why it matters:** {one sentence}\n*Caveat: {one line}*\n[Read]({url})\n\n## Also out this week\n- [{Title}]({url}), {one line}\n```\n\n## Edge cases\n\n- **Nothing notable:** say so and list the 2 or 3 closest items instead of padding.\n- **Paywalled:** use the abstract and say so; link a free version if the authors posted one.\n- **Retractions or major corrections** to anything in past digests: lead with them.\n\n## Boundaries\n\nSummarize and link; don't reproduce full text. Never state a finding more strongly than the authors do.\n\n=== Skill 3 of 3: Price Drop Watcher ===\n\n---\nname: price-drop-watcher\ndescription: Use when the user asks to watch a product's price, tell them when something goes on sale or comes back in stock, track a target price, or when a scheduled price-check routine runs. Checks each watched item's current price on its product page, compares it to the target and recent history, and reports only meaningful drops with links. Never buys anything.\nmetadata:\n  id: price-drop-watcher\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Price Drop Watcher\n\n> Name your price. Hear back only when it drops.\n\n## What it does\n\nName the thing and your price. Get a short note when it actually drops, and silence when it doesn't.\n\n## When to use\n\n- \"Watch this {link} and tell me if it drops under $X\", \"let me know when it's back in stock\", \"check my watchlist\".\n- A scheduled routine (default: daily at 9:00 AM).\n\n## Requires\n\nWeb access to open product pages. No accounts needed. Optional: a price-history site for context.\n\n## Schedule\n\nDefault: Daily, 9:00 AM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill.\n\n## Inputs\n\nPer watched item:\n\n| Field | Default | Notes |\n|---|---|---|\n| `item` | required | Product name plus a product URL, or a specific model/variant. |\n| `target_price` | none | Alert when price is at or below this. |\n| `drop_threshold` | 10% | Without a target, alert when the price falls at least this much from the price when watching started. |\n| `stores` | the given URL | Optionally also check named stores for the same model. |\n| `variant` | as linked | Size, color, storage. Must match exactly. |\n| `stop_after` | 90 days | Auto-expire old watches and say so. |\n\nStore the watchlist with: item, URL(s), variant, starting price and date, target, last-seen price and date.\n\n## Steps\n\n1. **Load the watchlist.** If the user is adding an item, open its page now, record the current price, variant, and stock status, and confirm the watch in one line.\n2. **Check each item.** Open the product page (don't rely on search snippets or cached prices). Read the price for the exact variant, any coupon or sale shown on the page, shipping cost if listed, and stock status.\n3. **Decide.** Alert if: price ≤ target, or the drop since the start is ≥ the threshold, or an out-of-stock item is back. Otherwise record the price silently.\n4. **Sanity-check a drop.** Is it the same variant and condition (new vs refurbished vs used)? Is it the store itself or a third-party seller? Is the price for a bundle or a single unit?\n5. **Report** alerts in the format below. On scheduled runs with no alerts, send nothing (or a one-line \"No drops today\" if the user asked for it).\n\n## Output format\n\n```markdown\n# Price drop: {Item}\n**{Store}: {current price}** (was {starting price} on {date}; target {target})\n{Variant} · {In stock / limited} · Sold by {seller} · Checked {time tz}\n[View product]({url})\n\n{One line of context: lowest price seen, or \"sale ends {date}\" if the page says so.}\n```\n\n## Edge cases\n\n- **Page blocked or price hidden until cart:** say the price couldn't be read. Don't guess.\n- **Currency differs:** show the store's currency; convert only if asked and say it's approximate.\n- **Product page gone:** report it and offer to find the current listing.\n- **Multiple sellers:** use the lowest price from the store itself or a highly rated seller, and name the seller.\n\n## Boundaries\n\nNever add to cart, buy, or sign up for store accounts or alerts on the user's behalf. Report and link only.",
  "steps": [
    "Paste the prompt into a one-to-one chat with your Grok Bot (it already contains all 3 SKILL.md files).",
    "Answer the one round of setup questions, and connect any apps it asks for from the connect card.",
    "Check the routines in the Bot's info pane under Routines; pause or edit any of them there."
  ],
  "members": [
    {
      "slug": "research-brief",
      "name": "Research Brief",
      "schedule": null,
      "trigger": null,
      "setup": [
        {
          "key": "depth",
          "question": "How deep should briefs go by default?",
          "type": "select",
          "default": "Standard (10–15 sources)",
          "options": [
            "Quick (5–8 sources)",
            "Standard (10–15 sources)",
            "Deep (20+ sources)"
          ]
        },
        {
          "key": "sourceTypes",
          "question": "Which kinds of sources should it use?",
          "type": "multi-toggle",
          "default": [
            "News",
            "Academic papers",
            "Official data",
            "Company filings",
            "Expert blogs"
          ],
          "options": [
            "News",
            "Academic papers",
            "Official data",
            "Company filings",
            "Expert blogs",
            "Forums"
          ]
        },
        {
          "key": "format",
          "question": "Which format do you prefer?",
          "type": "select",
          "default": "Brief",
          "options": [
            "Brief",
            "Comparison table",
            "One-page memo"
          ]
        },
        {
          "key": "audience",
          "question": "Who are the briefs usually for?",
          "type": "text",
          "default": "Me"
        },
        {
          "key": "recency",
          "question": "How recent should sources be?",
          "type": "select",
          "default": "Any time",
          "options": [
            "Any time",
            "Last 12 months",
            "Last 30 days"
          ]
        }
      ],
      "urls": {
        "markdown": "https://botplaza.lol/skills/research-brief.md",
        "json": "https://botplaza.lol/skills/research-brief.json",
        "page": "https://botplaza.lol/skills/research-brief/"
      }
    },
    {
      "slug": "reading-digest",
      "name": "Reading Digest",
      "schedule": "every Friday at 5:00 PM",
      "trigger": null,
      "setup": [
        {
          "key": "topics",
          "question": "Which topics do you want to read about?",
          "type": "text-list",
          "default": []
        },
        {
          "key": "sources",
          "question": "Which sources should it pull from?",
          "type": "multi-toggle",
          "default": [
            "arXiv",
            "Journals",
            "Newsletters"
          ],
          "options": [
            "arXiv",
            "bioRxiv / medRxiv",
            "SSRN",
            "Journals",
            "Newsletters",
            "My read-later list",
            "Specific blogs"
          ]
        },
        {
          "key": "count",
          "question": "How many items per digest?",
          "type": "select",
          "default": "5",
          "options": [
            "3",
            "5",
            "10"
          ]
        },
        {
          "key": "level",
          "question": "How technical should explanations be?",
          "type": "select",
          "default": "Informed non-specialist",
          "options": [
            "Beginner",
            "Informed non-specialist",
            "Expert"
          ]
        },
        {
          "key": "cadence",
          "question": "When should the digest arrive?",
          "type": "select",
          "default": "Weekly (Friday)",
          "options": [
            "Weekly (Friday)",
            "Daily",
            "Monthly"
          ]
        }
      ],
      "urls": {
        "markdown": "https://botplaza.lol/skills/reading-digest.md",
        "json": "https://botplaza.lol/skills/reading-digest.json",
        "page": "https://botplaza.lol/skills/reading-digest/"
      }
    },
    {
      "slug": "price-drop-watcher",
      "name": "Price Drop Watcher",
      "schedule": "every day at 9:00 AM",
      "trigger": null,
      "setup": [
        {
          "key": "cadence",
          "question": "How often should it check prices?",
          "type": "select",
          "default": "Daily",
          "options": [
            "Daily",
            "Twice daily",
            "Weekly"
          ]
        },
        {
          "key": "dropThreshold",
          "question": "How big a drop is worth an alert?",
          "type": "select",
          "default": "10%",
          "options": [
            "5%",
            "10%",
            "20%",
            "Only at my target"
          ]
        },
        {
          "key": "quietDays",
          "question": "Should it message on days with no drops?",
          "type": "boolean",
          "default": false
        },
        {
          "key": "stopAfter",
          "question": "When should it stop watching an item?",
          "type": "select",
          "default": "90 days",
          "options": [
            "30 days",
            "90 days",
            "Never"
          ]
        },
        {
          "key": "compareStores",
          "question": "Should it also check other stores?",
          "type": "boolean",
          "default": false
        }
      ],
      "urls": {
        "markdown": "https://botplaza.lol/skills/price-drop-watcher.md",
        "json": "https://botplaza.lol/skills/price-drop-watcher.json",
        "page": "https://botplaza.lol/skills/price-drop-watcher/"
      }
    }
  ],
  "safety": {
    "dataAccess": [
      "Public web (search and page reads)",
      "Public papers and articles (search and page reads)",
      "Your saved read-later items (if connected)",
      "Public product pages you list (price and stock only)"
    ],
    "writesOrSends": [
      "Research Brief: Read-only.",
      "Reading Digest: Read-only.",
      "Price Drop Watcher: Read-only. Never adds to cart or purchases."
    ],
    "estCost": [
      "Research Brief: On demand, so it costs only when you run it. A deep brief reads many pages and is the heaviest single run in the catalog.",
      "Reading Digest: Low: ~4 runs a month.",
      "Price Drop Watcher: Low to medium: one run a day (~30 a month), one page check per watched product."
    ],
    "costLevel": "varies",
    "warnings": [
      "Check the cited sources before relying on a claim for anything important.",
      "Don't paste confidential documents into the question unless your assistant's data policy allows it.",
      "Summaries can miss nuance; open the paper before citing it.",
      "It never adds to cart or buys anything.",
      "Some stores block automated page reads; those items show as 'couldn't check' rather than a wrong price.",
      "Prices can change between the alert and checkout."
    ]
  }
}