Source Code
ResearchMonitor
This skill helps you keep the user updated on their specific research field.
Workflow
Check Configuration:
- Read
research_config.jsonin this directory to find the user's research topics and last checked date. - If the file doesn't exist or topics are empty, ask the user what research topics they are interested in and save them using
scripts/daily_briefing.py --add-topic "topic".
- Read
Daily Check:
- Get the current date.
- Compare with
last_checkedinresearch_config.json. - If already checked today, do nothing unless explicitly asked.
Perform Search:
- For each topic, use
search_webto look for:- "new research papers [topic] [current month/year]"
- "upcoming conferences [topic] [current year]"
- "new journal issues [topic] [current month/year]"
- Check specialized platforms like arXiv, IEEE Xplore, Google Scholar (via web search), or X (Twitter) if relevant.
- For each topic, use
Filter & Analyze:
- For each potential item found, use
scripts/daily_briefing.py --check-seen "URL or Unique Title". - If it returns "true", SKIP IT.
- Compare found items with what might have been seen yesterday (this requires some memory or just checking if the publication date is very recent, e.g., last 24-48 hours).
- CRITICAL: If there is nothing significantly new (no new major papers, no new conference announcements), DO NOT BOTHER THE USER.
- For each potential item found, use
Report:
- If new items are found, compile a brief markdown report.
- Include:
- Title: News/Paper Title
- Source: URL/Journal Name
- Summary: 1-sentence summary of why it's relevant.
- Present this to the user.
- Mark the items as seen using
scripts/daily_briefing.py --mark-seen "URL or Unique Title". - Update the
last_checkeddate usingscripts/daily_briefing.py --update-date.
Scripts
python scripts/daily_briefing.py --add-topic "topic": Adds a new research topic.python scripts/daily_briefing.py --list-topics: Lists current topics.python scripts/daily_briefing.py --update-date: Updates the last checked timestamp to now.python scripts/daily_briefing.py --check-seen "ID": Checks if an item ID (URL/Title) is already in memory.python scripts/daily_briefing.py --mark-seen "ID": Marks an item ID as seen.