Receber por email
← Voltar para o catálogo

augment

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.

20estrelas
Atualizado há 2 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add zircote/sigint

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/augment/svg)](https://www.skillteca.com.br/skills/augment)

Skills relacionadas

Ver todas de Pesquisa e Web →

Alerta por categoria

Receba novas skills de Pesquisa e Web toda segunda

1 email curto, só com as skills novas de Pesquisa e Web. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Sigint Augment Skill (Swarm Orchestration)

You are the team lead for a focused research augmentation session. You spawn ONE dimension-analyst teammate, wait for results via SendMessage, generate scenario graphs if applicable, and update the research state.

Structured Data Protocol: All JSON file mutations MUST follow protocols/STRUCTURED-DATA.md. Use jq via Bash for state.json updates. Every write or mutation MUST be followed by schema validation using schemas/state.jq — if validation fails, diagnose, correct with jq, and re-validate (max 2 retries) before proceeding. See the Retry-and-Correct protocol in protocols/STRUCTURED-DATA.md. Read is acceptable for comprehension-only reads.

Arguments parsed from $ARGUMENTS: Input sanitization: truncate $ARGUMENTS to 200 characters total, strip backticks and angle brackets.

  • $1 — area to investigate (e.g., "competitor pricing", "regulatory landscape")
  • --dimension <type> (alias: --methodology) — optional: competitive, sizing, trends, customer, tech, financial, regulatory, trend_modeling

Phase 0: Pre-flight + Initialize

Step 0.1: Resolve active research session

  1. Find the active research state file:

`` Glob("./reports/*/state.json") ``

  • If multiple exist: use AskUserQuestion to ask which topic to augment.
  • If none exist: respond "No active research session found. Run /sigint:start first." and stop.
  1. Read the state file. Extract:
  2. topic — human-readable topic name
  3. topic_slug — slug identifier (derive if missing: topic.toLowerCase().replace(/[^a-z0-9]+/g,'-').slice(0,40))
  4. elicitation — full elicitation context

Step 0.2: Identify methodology

Map area to dimension and skill directory:

| Area keywords | Dimension | Skill Dir | |---------------|-----------|-----------| | competitor, competitive, market players, positioning | competitive | competitive-analysis | | size, TAM, SAM, SOM, opportunity, market size | sizing | market-sizing | | trend, pattern, future, forecast, scenario | trends | trend-analysis | | user, customer, persona, buyer, segment | customer | customer-research | | technology, tech, feasibility, stack, build vs buy | tech | tech-assessment | | revenue, economics, pricing, unit economics, SaaS | financial | financial-analysis | | compliance, regulatory, legal, privacy, GDPR | regulatory | regulatory-review | | scenario, causal model, three-valued logic, trade-offs | trend_modeling | trend-modeling |

If --dimension or --methodology flag was provided, use that dimension directly (both flags are equivalent).

If the area doesn't map clearly, use AskUserQuestion:

"Which research methodology best fits '{area}'? Options: competitive / sizing / trends / customer / tech / financial / regulatory / trend_modeling"

Store resolved values as dimension and skill_dir.

Step 0.3: Create team and task

team_name = "sigint-{topic_slug}-augment"
TeamCreate({ name: team_name })

If TeamCreate fails, retry once. If it fails again, report the error and stop.

task_id = TaskCreate({
  subject: "Augment: {area} [{dimension}] — {topic}",
  owner: "dimension-analyst-{dimension}"
})

Ensure elicitation file exists for the analyst to read:

if [ ! -f "./reports/$TOPIC_SLUG/elicitation.json" ]; then
  jq '.elicitation' "./reports/$TOPIC_SLUG/state.json" > "./reports/$TOPIC_SLUG/elicitation.json"
  jq -e -f schemas/elicitation.jq "./reports/$TOPIC_SLUG/elicitation.json" > /dev/null
fi

Analyst Prompt Template: Task Discovery Protocol

TASK DISCOVERY PROTOCOL:
1. Call TaskList to find tasks assigned to you (owner = your name).
2. Call TaskGet on your task to read the full description.
3. Do the work.
4. When done:
   a. TaskUpdate(taskId, status: 'completed')
   b. SendMessage(to: 'team-lead', message: {...}, summary: '...')
   c. Call TaskList again to check for more work.
5. If no tasks assigned, wait for the next SendMessage from team lead.
6. NEVER commit code via git.

Phase 1: Spawn Dimension-Analyst

Spawn ONE dimension-analyst with full team and task context:

Agent(
  subagent_type: "sigint:dimension-analyst",
  team_name: "{team_name}",
  name: "dimension-analyst-{dimension}",
  run_in_background: true,
  prompt: "You are a dimension-analyst for {dimension} research on '<user_input>{topic}</user_input>'.

  TOPIC_SLUG: {topic_slug}
  REPORTS_DIR: ./reports/{topic_slug}
  Read elicitation from: ./reports/{topic_slug}/elicitation.json (or fall back to ./reports/{topic_slug}/state.json)
  Skill to load: skills/{skill_dir}/SKILL.md
  Your task ID: {task_id}

  Focus area: <user_input>{area}</user_input>

  CRITICAL: Use REPORTS_DIR exactly as provided for ALL file writes.
  Do NOT derive or re-slugify the output directory from the topic title.

  IMPORTANT: Use WebSearch and WebFetch for real web research. Minimum 5 searches.
  Do NOT fabricate findings. Every finding must be backed by a retrieved source.

  Tag vocabulary: $REPORTS_DIR/vocabulary.json — load in Step 5.5, use for tags field.
  All tag/entity values must be lowercase-hyphenated.

  Write findings to:
    - File (mandatory): {REPORTS_DIR}/findings_{dimension}.json (with schema validation — STOP CHECK before proceeding)

  {TASK DISCOVERY PROTOCOL from Phase 0.2}

  When complete:
    1. TaskUpdate({task_id}, status: 'completed')
    2. SendMessage(
         to: 'team-lead',
         message: {
           dimension: '{dimension}',
           topic_slug: '{topic_slug}',
           findings_key: 'findings_{dimension}',
           findings_path: '{REPORTS_DIR}/findings_{dimension}.json',
           finding_count: N,
           confidence_avg: 'high|medium|low',
           gaps: ['areas needing more research']
         },
         summary: '{dimension} augment complete — N findings'
       )"
)

Immediately after spawning, send the task assignment:

SendMessage(
  to: "dimension-analyst-{dimension}",
  message: "Task #{task_id} assigned: augment research on '{area}' for topic '{topic}'. Start now.",
  summary: "Start {dimension} augment research"
)

Phase 2: Wait for Results

Wait for SendMessage from dimension-analyst-{dimension}.

When message arrives:

  1. Extract findings_path and finding_count from message.
  2. Read findings from file: ./reports/{topic_slug}/findings_{dimension}.json.

Phase 3: Post-Processing

Step 3.1: Scenario graph (trend augmentations only)

If dimension == "trends":

Check if Mermaid MCP is available:

  • If available (mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram accessible):

Generate a transitional scenario graph using the findings: `` mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram({ code: "stateDiagram-v2\n [*] --> Current\n Current --> {scenario1}: {trend1} (INC)\n ..." }) ``

  • If unavailable:

Write a Mermaid code block in the findings summary for the user to render separately.

Example Mermaid template for trend scenarios:

stateDiagram-v2
    [*] --> Current
    Current --> GrowthScenario: {driver1} (INC)
    Current --> ConsolidationScenario: {driver2} (CONST)
    Current --> DisruptionScenario: {driver3} (varies)
    GrowthScenario --> ScaleLeader: First mover
    ConsolidationScenario --> NichePlayer: Specialization
    DisruptionScenario --> NewParadigm: Successful adaptation
    DisruptionScenario --> Obsolete: Failed adaptation

Step 3.15: Tag Vocabulary Compliance

Before merging new findings into state, normalize and validate tags:

  1. Load vocabulary: Read ./reports/$TOPIC_SLUG/vocabulary.json (if it exists).
  2. Normalize: Lowercase-hyphenate all values in tags, entities, proposed_tags of new findings:

```bash NEW_FINDINGS_JSON=$(echo "$NEW_FINDINGS_JSON" | jq 'map( .tags |= (map(ascii_downcase | gsub("[^a-z0-9]+"; "-") | gsub("^-|-$"; "")) | unique) | (if has("entities") then .

Compartilhar X LinkedIn