Connector / competitive-intel meta-skill. Monitors one to a handful of target companies across pricing, product, leadership, hiring, and news dimensions; extracts grounded signals; classifies a verdict; produces a brief with concrete actions. Always read-only — never sends emails, posts, or modifies tracker data.
Composition philosophy — multi-skill bundled orchestration
This meta-skill uses only OpenSquilla-bundled atomic skills plus the five built-in step kinds — no external dependencies. The DAG calls into 5 distinct bundled atomic skills:
| Skill | Step(s) | Role in the DAG |
|---|---|---|
multi-search-engine |
web_research, web_research_target_1..3, web_research_retry |
Primary, target-level, and fallback research source, fed by LLM-generated short search queries rather than raw target grids |
deep-research |
deep_dive |
Extra rounds for SINGLE_DEEP mode only |
memory |
recall_baseline, store_brief |
Cross-session continuity. recall_baseline pulls the last brief from durable memory automatically so baseline_diff works even when the user didn't paste a baseline; store_brief writes this run for next time. This pair effectively delivers what the proposed state: primitive would give us. |
xlsx |
signals_xlsx |
When the user explicitly asks for a spreadsheet / xlsx / download / export, export the signal table + baseline diff as a workbook |
docx |
export_docx |
Optional final DOCX export |
Step kinds used: llm_chat, llm_classify, user_input, skill_exec,
agent.
Before search, search_strategy uses the LLM to translate structured intel
context into compact SEARCH_QUERY lines with target aliases and product
names. The flow then adds focused target-specific searches for the first
three monitored targets, so a broad competitive-intel request does not depend
on one generic multi-company result. This keeps generalized inputs such as
Chinese company names, baseline-diff requests, and "all dimensions" replies
from becoming brittle YAML-like search strings.
Direct URL fetching of competitor pages is intentionally out of scope
for this skill — the search results from web_research are normally
enough, and adding URL-scrape would require a compliance-aware fetcher
not currently bundled. If the user wants page-level detail, they can
paste the page content into the next turn.
Persistence to Notion / external knowledge bases is also out of scope:
the deliverable is the markdown emitted by deliver_intel_brief; the
user copies it wherever they want.
Mode design
Four depth labels via llm_classify: depth:
SINGLE_DEEP— one target, multi-round deep-research, full signal table, full actions. Best for "tell me everything about $competitor's last quarter."MULTI_QUICK— 2-5 accounts, scan-level coverage, top-10 signal table. Best for "what did these 5 do this month?"DIFF_VS_BASELINE— baseline text was pasted, the run leads with the diff section. Best for "what's new since I last looked?"EXEC_BRIEF— 5-bullet executive summary + verdict + top 3 actions, nothing else. Best for "give me something to forward to the CEO."
Honest limitations (first-wave)
- No
state:primitive. Baselines are pasted each turn; the proposedstate:would persist last run's signals automatically. - No
foreach. The first three targets get focused search lanes; beyond that, remaining targets share the broad query context. Withforeach, each target would get its own isolated step + audit trail per target. - No alerting. The skill produces a brief on demand; it doesn't
push notifications. A future combination with
cron(bundled) + the proposedevent_triggerprimitive would give a "monitor this every Monday" mode.