perigon-monitor-insights3.37 KB
View saved version →
---
name: perigon-monitor-insights
description: List and inspect Perigon monitors, read events and briefings, and analyze monitor output with Signal Insights (export, Python, charts). Use when the user asks about their monitors, monitor events, newsletters, signal analysis, or charts from monitoring data.
---
Use this skill for **configured monitors** and **Signal Insights** analysis. News-wide search without a monitor belongs in the perigon-news-research skill.
## Session setup
1. Call `get_api_access` once per session (and after 403) to confirm monitor and insights access.
2. Call `signal_insights_create_workspace` **once** at the start of any conversation that will use export, code, shell, or file tools. Pass the returned workspace id to every subsequent Signal Insights tool.
3. For chart formatting rules, read MCP resource `perigon://reference/charts` before calling `signal_insights_preview_chart`.
## Monitors (read and lifecycle)
1. `list_monitors` to discover monitors; filter by name, status, or type when the user specifies.
2. `get_monitor` for full configuration before explaining what a monitor tracks. Schedule `hour` / `minute` are wall-clock times in `timezoneId`, matching Delivery settings in the product — do not treat `hour` as UTC.
3. By monitor type:
- **EVENT / MENTIONS:** `get_monitor_events` for structured events, summaries, entities, and related articles.
- **TOPIC:** `get_monitor_newsletters` for scheduled briefings; `get_monitor_summaries` for rolling AI summary history.
4. **Mutations:** Only call `set_monitor_status`, `create_monitor`, or `update_monitor` when the user explicitly requests a status change or new/updated monitor. Default new monitors to **DRAFT** unless they ask to activate. **Archived** monitors cannot be restored via the public API—confirm before archiving.
## Signal Insights analysis
1. `signal_insights_search_signals` → `signal_insights_read_signal` to pick a signal and read `classificationType` (**EVENT**, **MENTIONS**, or **TOPIC**).
2. Branch on classification:
- **EVENT / MENTIONS:** `signal_insights_export_events` (structured query, not raw SQL) → `signal_insights_execute_code` (pandas) → optional `signal_insights_preview_chart` for visualization.
- **TOPIC:** `signal_insights_list_newsletters` → `signal_insights_read_newsletter` for full markdown content.
3. Save user-facing deliverables under `artifacts/output/` in the workspace. Exports land under `artifacts/` automatically.
4. After a sandbox restart, the workspace id remains valid; Python kernel state resets but persisted files under `artifacts/` remain.
## File and shell tools
Use `signal_insights_list_files`, `signal_insights_read_file`, `signal_insights_write_file`, `signal_insights_grep`, `signal_insights_str_replace`, and `signal_insights_shell` only within the active workspace for analysis workflows. Do not treat workspace paths as public URLs.
## Output
- For monitor listings, show name, type, status, and id (uuid) the user can refer to later.
- For events and newsletters, summarize themes and cite linked articles when present.
- For analysis, show key numbers or chart takeaways and note filters, date range, and signal name.
## When to stop or ask
- Ask which monitor or signal if several match the description.
- Ask before create/update/archive monitor operations.
- Do not invent events, newsletter text, or chart data not returned by tools.
perigon-news-research6.18 KB
View saved version →
---
name: perigon-news-research
description: Search and analyze global news and public social posts with Perigon—articles, stories, entities, journalists, sentiment and volume trends, and sourced briefings. Use when the user asks for recent headlines, coverage of a company or person, narrative tracking, journalist beats, competitive news landscape, quantitative media trends, X or Reddit discussions, or LinkedIn posts and activity.
---
Use this skill for news and social research through the Perigon MCP server. The server enforces authentication, scopes, and quotas; this skill defines how to combine tools into reliable, cited answers.
## Session setup
1. Treat **today’s date** (and the user’s timezone if known) as the anchor for “recent,” “this week,” and “today.” Do not assume the model cutoff is current.
2. Call `get_api_access` **once** at the start of a research session, and again after any **403** or unexpectedly empty or stripped field. Do not infer missing data as “none exists” until entitlements are checked.
3. When the host exposes MCP resources, read `perigon://reference/entitlements` after `get_api_access` if behavior is unclear. For multi-step entity work, read `perigon://reference/chaining`. For field semantics, read `perigon://reference/fields`.
## Core rules
- **Resolve names to IDs before filtering** when possible (`search_companies` → company id, `search_people` → wikidata id, `search_sources` → source id). Names collide; IDs do not.
- **Prefer stats tools** over counting search results manually. Pair `get_article_counts` with `get_avg_sentiment` using **identical filters** when the user asks about trends.
- **Cite sources.** When reporting facts from articles, include publication, title, date, and URL when the tool returns them. Do not invent articles, quotes, or URLs.
- **Do not mutate** monitors, watchlists, or source groups unless the user explicitly asks to create, update, or change status.
- If a tool is unavailable in the session, say so and offer what is available under the current scopes—do not silently skip steps.
## Workflows
### Headlines and discovery
1. Clarify geography, topic, and time window if the request is vague.
2. Use `search_news_articles` for article-level results; use `search_news_stories` when the user wants clustered narratives (requires clusters scope).
3. For semantic “find articles like this” requests, use `search_vector_news` when entitled.
### Entity coverage (company, person, place)
1. Look up the entity (`search_companies`, `search_people`, or location via filters / `get_location_news`).
2. Confirm the correct match with the user when multiple candidates appear.
3. Fetch recent coverage (`get_company_news`, `get_person_news`, `get_location_news`, or filtered `search_news_articles`).
4. Optionally add `summarize_news` for a cited overview when entitled.
### Trend and spike questions
1. Apply the same date range and filters to `get_article_counts` and `get_avg_sentiment`.
2. Use `get_top_companies`, `get_top_people`, or `get_top_entities` for “who is spiking” questions.
3. Use `get_top_topics` (opt-in tool) for taxonomy-level spikes when needed.
### Journalist and source research
1. `search_journalists` or `search_sources` to resolve profiles.
2. Follow with filtered article or story search on the resolved id or domain.
3. Distinguish **based-in** vs **covers** location for journalists when both matter (see chaining reference).
### Story evolution
1. `search_news_stories` to find the cluster.
2. `search_story_history` for how coverage changed over time when entitled.
### Social research (X, Reddit and LinkedIn)
1. Check `get_api_access` for Social Sources and the separate social request quota. Tools are available only for entitled sources; do not interpret an unavailable tool as no matching posts.
2. Use `search_x_posts` for X. Its `query` supports X operators such as `lang:en`, `from:handle`, `since:YYYY-MM-DD` and `until:YYYY-MM-DD`. Use `searchType=LATEST` for
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.