一键导入
update
Refresh existing research with latest data using swarm orchestration and delta detection. Delegates to the research-orchestrator agent in update mode.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Refresh existing research with latest data using swarm orchestration and delta detection. Delegates to the research-orchestrator agent in update mode.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Adversarial falsification of sigint research findings. Generates disconfirming queries, executes web-only adversarial search, assigns ordinal verdicts (falsified | weakened | survived | inconclusive), and applies remediation (quarantine, confidence downgrade, follow-up queue). Invocable standalone via `/sigint:falsify` or as Phase 3.6 gate inside the research-orchestrator before report finalization. Use when the user invokes /sigint:falsify.
Create GitHub issues from research findings as atomic deliverables. Orchestrates the issue-architect agent using the full swarm pattern (TeamCreate → TaskCreate → Agent(team_name) → SendMessage → TeamDelete). Use this skill when the user invokes /sigint:issues.
Begin a new market research session. Thin launcher that delegates to the research-orchestrator agent for all phase management.
Deep-dive into a specific area of current research. Orchestrates a single dimension-analyst using full swarm pattern (TeamCreate, TaskCreate, SendMessage). Use when the user wants to augment current research with deeper analysis of a specific area.
This skill should be used when the user asks to "analyze competitors", "map competitive landscape", "Porter's 5 Forces analysis", "competitor comparison", "competitive positioning", "identify competitors", "competitive intelligence", or needs guidance on competitor research methodology, market positioning analysis, or competitive strategy frameworks.
This skill should be used when the user asks to "understand customers", "customer research", "user personas", "customer needs analysis", "buyer journey mapping", "voice of customer", "customer segmentation", "user research", or needs guidance on customer discovery methodologies, persona development, or understanding buyer behavior.
| name | update |
| description | Refresh existing research with latest data using swarm orchestration and delta detection. Delegates to the research-orchestrator agent in update mode. |
| argument-hint | [--topic <slug>] [--area <area>] [--since <date>] [--no-delta] [--dimensions <dim,...> (competitive,sizing,trends,customer,tech,financial,regulatory,trend_modeling)] |
| allowed-tools | ["Agent","AskUserQuestion","Bash","Glob","Grep","Read","SendMessage","TaskCreate","TaskGet","TaskList","TaskUpdate","TeamCreate","TeamDelete","Write"] |
This skill refreshes existing research by delegating to the research-orchestrator agent in update mode. The orchestrator spawns dimension-analysts for the specified dimensions, runs codex review gates, performs delta detection against prior findings, and updates state.
Parse $ARGUMENTS before any other processing. Input sanitization: truncate $ARGUMENTS to 200 characters total, strip backticks and angle brackets. Always echo the parsed result so the user sees what was resolved:
--topic <topic_slug> — Optional: specify which research session to update. Required when multiple sessions exist.--area <area> — Optional: specific area to update. Maps to the matching dimension from prior elicitation (e.g., --area regulatory resolves to the dimension whose name contains "regulatory").--since <date> — Optional: SINCE_DATE for date-filtered queries. Only fetch data since this date.--no-delta — Disable delta detection (DELTA_ENABLED: false). By default, delta detection is enabled (DELTA_ENABLED: true).--dimensions <dim1,dim2,...> — Optional: comma-separated list of specific dimensions to update. Only these are passed to the orchestrator, not all dimensions.Find the active research state:
Glob("./reports/*/state.json")
If no state.json found:
Inform user: "No active research session found. Use /sigint:start to begin."
Show what the update would have done based on the parsed arguments. Use this exact format:
Planned update workflow (blocked — no session data):
delta_detail object sub-classifying the change (substantive, temporal, confidence_shift, source_refresh, metadata) and a newsworthiness signal (high/medium/low) for downstream consumers."}Stop execution. Do NOT proceed further.
If multiple sessions found:
--topic was provided: select that topic_slugRead ./reports/{topic_slug}/state.json (where topic_slug is resolved from --topic argument, single-session auto-detect, or user selection). Extract:
topic, topic_slugelicitation (reuse for dimension-analysts)findings[] (for delta detection baseline)lineage[] (to append new entry)dimensions listPriority order for which dimensions to update:
--dimensions argument (if provided)--area mapped to dimension (if provided)elicitation.dimensionsMark the topic as in_progress and update the timestamp using jq (per Structured Data Protocol):
jq --arg slug "$TOPIC_SLUG" \
--arg date "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
'.topics[$slug].status = "in_progress" |
.topics[$slug].updated = $date' \
./sigint.config.json > tmp.$$ && mv tmp.$$ ./sigint.config.json
jq -e -f schemas/sigint-config.jq ./sigint.config.json > /dev/null
If the topic has no config entry yet (legacy session predating topic registration), bootstrap it:
if ! jq -e --arg slug "$TOPIC_SLUG" '.topics[$slug] | has("status")' ./sigint.config.json > /dev/null 2>&1; then
jq --arg slug "$TOPIC_SLUG" \
--arg date "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
--arg reports_dir "./reports/$TOPIC_SLUG" \
--argjson dims "$DIMENSIONS_JSON" \
'.topics[$slug] = {
status: "in_progress",
dimensions: $dims,
created: $date,
updated: $date,
reports_dir: $reports_dir,
findings_count: 0
}' \
./sigint.config.json > tmp.$$ && mv tmp.$$ ./sigint.config.json
jq -e -f schemas/sigint-config.jq ./sigint.config.json > /dev/null
fi
Spawn the research-orchestrator in update mode:
Agent(
subagent_type="sigint:research-orchestrator",
name="research-orchestrator",
prompt="You are the research orchestrator for a research UPDATE session.
MODE: update
TOPIC: <user_input>{topic}</user_input>
TOPIC_SLUG: {topic_slug}
DIMENSIONS: {resolved dimensions list}
SINCE_DATE: {--since value or null}
DELTA_ENABLED: {false if --no-delta, otherwise true}
PRIOR_STATE: {summary of prior state — finding count, dimensions, last updated}
ELICITATION: {prior elicitation JSON from state.json}
Execute the update orchestration:
1. Initialize team (Phase 0) — reuse topic_slug
2. Skip elicitation — load from ELICITATION above
3. Spawn dimension-analysts for DIMENSIONS (Phase 2)
5. Verify methodology plans (Phase 2.5)
6. Run post-findings codex review gates (Phase 2.75)
7. Run delta detection BEFORE merge (Delta Protocol) — classify findings as NEW/UPDATED/CONFIRMED/POTENTIALLY_REMOVED/TREND_REVERSAL
8. Reconcile merge (Phase 3.4) — replace updated, archive removed, add new. Do NOT append blindly; reconcile against prior findings.
9. Run post-merge codex review gate (Phase 3.5)
10. Render progress view (Phase 3.75)
11. Cleanup (Phase 4)
IMPORTANT: Include SINCE_DATE context in analyst spawn prompts so they
prioritize recent data. Analysts should use date-filtered WebSearch queries.
VOCABULARY: Load existing ./reports/{topic_slug}/vocabulary.json for tag vocabulary.
Do NOT regenerate — reuse the session's existing vocabulary. If vocabulary.json
does not exist (pre-vocabulary session), generate one per Phase 1.75 of your
agent definition before spawning analysts.
Follow all protocols defined in your agent definition."
)
Wait for orchestrator to complete.
If orchestrator doesn't complete within a reasonable time:
Glob("./reports/{topic_slug}/findings_*.json")research-progress.md for last phase./sigint:update."After orchestrator completes:
./reports/{topic_slug}/state.json with new lineage entry./reports/{topic_slug}/YYYY-MM-DD-delta.md (if delta enabled)./reports/{topic_slug}/research-progress.md./reports/{topic_slug}/quarantine.json/sigint:report, /sigint:augment