agentsclimarketplace

Bulwark research

Skill QBall-Inc/the-bulwark/skills/bulwark-research

Structured multi-viewpoint research using 5 parallel Sonnet sub-agents. Use when deep research is needed on a complex topic before implementation planning.From its SKILL.md

Install
npx -y skills add QBall-Inc/the-bulwark --skill bulwark-research

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

13.1 KB, ~3.0k tokens by cl100k_base, as published. Nobody here has run it

Bulwark Research

Structured multi-viewpoint research on a given topic. Spawns 5 Sonnet sub-agents in parallel, each analyzing from a distinct analytical viewpoint, then synthesizes into a single research document.


When to Use This Skill

Load this skill when the user request matches ANY of these patterns:

Trigger PatternExample User Request
Deep research"Research agent teams", "Investigate loop detection"
Topic exploration"What do we know about X?", "Explore approaches to Y"
Pre-planning research"Before we build X, research the landscape"
Multi-viewpoint analysis"Analyze X from multiple angles"

DO NOT use for:

  • Evaluating implementation feasibility (use bulwark-brainstorm)
  • Quick fact lookup (use web search or codebase exploration)
  • Code review (use code-review)
  • Debugging (use issue-debugging)

Dependencies

CategoryFilesRequirementWhen to Load
Viewpoint definitionsreferences/viewpoint-*.mdREQUIREDAlways load all 5 before spawning agents
Output templatestemplates/viewpoint-output.mdREQUIREDInclude in every agent prompt
Synthesis templatetemplates/synthesis-output.mdREQUIREDUse when writing synthesis
Subagent promptingsubagent-prompting skillREQUIREDLoad at Stage 1 for 4-part prompt template

Fallback behavior:

  • If a viewpoint reference file is missing: Note in diagnostic log, reduce to 4 agents, continue
  • If output template is missing: Use the schema from this SKILL.md directly

Usage

/bulwark-research <topic-or-prompt> [--context <file>]
/bulwark-research --doc <path-to-document>

Arguments:

  • <topic-or-prompt> - Free-text topic description or problem statement
  • --context <file> - Additional context file to provide to all agents
  • --doc <path> - Use a document as the topic source instead of free text

Examples:

  • /bulwark-research "agent teams and multi-agent orchestration" - Research a topic
  • /bulwark-research --doc plans/proposal.md - Research from a document
  • /bulwark-research "loop detection" --context docs/architecture.md - Research with context

Mandatory Execution Checklist (BINDING)

Every item below is mandatory. No deviations. No substitutions. No skipping. Skipping items violates SC1-SC3 (Skill Compliance Rules in Rules.md).

This skill uses a 4-stage pipeline with 5 parallel Sonnet sub-agents. You are the orchestrator, NOT the analyst. Follow every item in order. Do NOT return to the user until all applicable items are checked.

  • Stage 1 — Pre-Flight: Topic defined, output directories created, subagent-prompting + all 5 viewpoint references loaded
  • Stage 1 — Pre-Flight: AskUserQuestion used if topic was ambiguous (2-3 questions per round)
  • Stage 2 — Agents: All 5 viewpoint agents spawned in parallel (single message, 5 Task tool calls)
  • Stage 2 — Agents: Sub-agents NOT spawned with run_in_background: true (SA5)
  • Stage 2 — Outputs: All agent outputs written to $PROJECT_DIR/logs/research/{topic-slug}/
  • Stage 3 — Synthesis: ALL 5 agent outputs read before writing synthesis (MANDATORY — no skipping)
  • Stage 3 — Synthesis: Written using templates/synthesis-output.md to $PROJECT_DIR/artifacts/research/{topic-slug}/synthesis.md (artifact, not log)
  • Stage 3 — Review: AskUserQuestion used for post-synthesis review
  • Stage 3 — Critical Evaluation Gate: Applied to every user response — classified as Factual / Opinion / Speculative
  • Stage 3 — Follow-up: Spawned for Speculative responses (or user declined with caveat added to synthesis)
  • Stage 4 — Diagnostics: Diagnostic YAML written to $PROJECT_DIR/logs/diagnostics/

Stages

Stage 1: Pre-Flight

Stage 1: Pre-Flight
├── Read problem statement / document
├── AskUserQuestion if ambiguous (iterative, 2-3 questions per round)
├── Slugify topic for output directory
├── Create output directories: $PROJECT_DIR/logs/research/{topic-slug}/ and $PROJECT_DIR/artifacts/research/{topic-slug}/
├── Load subagent-prompting skill
├── Load all 5 references/viewpoint-*.md
├── Load templates/viewpoint-output.md
└── Token budget check (warn if >30% consumed)

AskUserQuestion Protocol (Pre-Spawn):

If the problem statement is ambiguous, under-specified, or could benefit from scope boundaries:

  1. Ask 2-3 clarifying questions using AskUserQuestion
  2. Assess whether the answers provide sufficient clarity to construct high-quality prompts
  3. If not, ask up to 3 more questions in a follow-up round
  4. Repeat until clarity is achieved (no hard cap on rounds, but each round is 2-3 questions max)
  5. If the problem statement is clear and well-scoped from the start, skip this step and note in diagnostics: pre_flight_interview: skipped (problem statement sufficient)

Stage 2: Viewpoint Analysis (5 Sonnet, Parallel)

Stage 2: Viewpoint Analysis
├── Construct 5 prompts using 4-part template (GOAL/CONSTRAINTS/CONTEXT/OUTPUT)
├── Each prompt includes:
│   ├── Viewpoint definition from references/viewpoint-{name}.md
│   ├── Output template from templates/viewpoint-output.md
│   ├── Topic description + any user-provided context
│   └── Output path: $PROJECT_DIR/logs/research/{topic-slug}/{NN}-{viewpoint-slug}.md
├── Spawn all 5 agents in parallel via Task tool
│   ├── subagent_type: general-purpose
│   ├── model: sonnet
│   └── All 5 in a single message (parallel)
└── Token budget check after all 5 complete (checkpoint if >55%)

CRITICAL: Spawn all 5 agents in a single message with 5 Task tool calls. Do NOT spawn sequentially.

Stage 3: Synthesis

Stage 3: Synthesis
├── Read ALL 5 agent output files (MANDATORY — do not skip any)
├── If any output is missing or empty → re-spawn that agent once (max 1 retry)
├── If retry fails → document gap in synthesis under "Incomplete Coverage"
├── Load templates/synthesis-output.md
├── Write synthesis to $PROJECT_DIR/artifacts/research/{topic-slug}/synthesis.md
├── AskUserQuestion for user on open questions (iterative, 2-3 per round)
├── Critical Evaluation Gate (see below)
└── Token budget check (must be <65% after synthesis)

Enforcement: Do NOT begin writing synthesis until ALL available agent outputs have been read. The orchestrator must reference every agent's output at least once in the synthesis.

Critical Evaluation Gate (Post-User Q&A)

After each AskUserQuestion round, do NOT blindly incorporate user responses. Instead:

Step 1 — Classify each user response:

ClassificationDefinitionAction
FactualKnown, verifiable information (e.g., "We use PostgreSQL")Incorporate directly into synthesis
OpinionPreference or priority (e.g., "I'd prefer approach A")Incorporate directly with attribution: "User preference: ..."
SpeculativeUnvalidated claim or proposed solution (e.g., "I think library X can do this", "What if we used approach Y?")Do NOT incorporate. Trigger Step 2.

Step 2 — For Speculative responses, present to user:

"Your suggestion about [X] is unvalidated. I recommend a targeted follow-up research phase with 2 focused agents (Direct Investigation + Contrarian) to verify feasibility and surface risks before incorporating this into the synthesis.

This will spawn 2 Sonnet agents and consume additional token budget.

[Run follow-up research / Incorporate as-is with LOW confidence caveat]"

Step 3 — If follow-up research approved:

  1. Spawn 2 Sonnet agents in parallel (single message, 2 Task tool calls):
    • Direct Investigation — focused on validating the specific claim/solution
    • Contrarian — focused on finding failure modes and alternatives for the specific claim/solution
  2. Use the same 4-part prompt template (GOAL/CONSTRAINTS/CONTEXT/OUTPUT)
  3. Include the REASONING DEPTH instructions from the viewpoint reference docs
  4. Output to: $PROJECT_DIR/logs/research/{topic-slug}/followup-{NN}-direct-investigation.md and followup-{NN}-contrarian.md
  5. Read both outputs, then update synthesis with validated findings
  6. Tag follow-up findings in synthesis with: [Follow-up: validated] or [Follow-up: refuted] or [Follow-up: mixed — see details]

Step 4 — If user declines follow-up:

Incorporate the user's suggestion into synthesis with an explicit caveat:

[Unvalidated — user suggestion, not research-backed]: {suggestion}

Repeat: After updating synthesis, ask if user has additional questions or input. Apply the same classification gate to each round. There is no limit on follow-up rounds, but each round with Speculative input that triggers research consumes ~10-15% token budget — warn user if approaching 60%.

Stage 4: Diagnostics (REQUIRED)

Stage 4: Diagnostics
├── Write diagnostic YAML to $PROJECT_DIR/logs/diagnostics/bulwark-research-{YYYYMMDD-HHMMSS}.yaml
└── Verify completion checklist

Viewpoints (Sections)

Each viewpoint is a distinct analytical lens. All 5 run in parallel — they do not see each other's output.

Viewpoint 1: Direct Investigation

Core Question: What is this? How does it work? State of the art?

Focus Areas:

  • Precise definition — what it is and what it is not
  • Mechanical operation (architecture, data flow, lifecycle)
  • Current state of the art — tooling, adoption, standards
  • Key terminology and taxonomy

Reference: references/viewpoint-direct-investigation.md

Viewpoint 2: Practitioner Perspective

Core Question: How do teams use this in production? What works?

Focus Areas:

  • Real-world adoption patterns
  • Common implementation approaches and trade-offs
  • Practical gotchas documentation doesn't cover
  • Operational concerns (debugging, monitoring, maintenance)
  • Team skill requirements and learning curves

Reference: references/viewpoint-practitioner.md

Viewpoint 3: Contrarian Angle

Core Question: What failure modes do most people overlook?

Focus Areas:

  • Failure modes advocates rarely mention
  • Scenarios where this is the wrong choice
  • Hidden costs (complexity, maintenance burden, cognitive load)
  • Alternatives that might be simpler
  • When NOT to use this

Reference: references/viewpoint-contrarian.md

Viewpoint 4: First Principles

Core Question: What core problem does this solve? Minimal viable version?

Focus Areas:

  • Fundamental problem being addressed (stripped of buzzwords)
  • Why existing approaches are insufficient
  • Minimal set of capabilities for value
  • Essential vs. deferrable
  • Decomposition into independent sub-problems

Reference: references/viewpoint-first-principles.md

Viewpoint 5: Prior Art / Historical

Core Question: What similar patterns exist? Lessons from predecessors?

Focus Areas:

  • Historical predecessors and analogous patterns
  • Evolution trajectories — what succeeded, what failed, why
  • Hype vs. foundational patterns
  • Lessons applicable to current topic

Reference: references/viewpoint-prior-art.md


Token Budget Management

CheckpointThresholdAction
After constructing all prompts>30% consumedWarn user: "5 agents will consume significant context"
After reading 3 of 5 outputsRunning tallyIf approaching 55%, checkpoint with user
After synthesisMust be <65%Leave room for session closing
Synthesis complete at >65%ImmediateCreate handoff, do not start additional work

If token budget is insufficient to complete all 5 agents + synthesis, inform the user and suggest splitting (e.g., "3 agents this session, 2 + synthesis next session").


Error Handling

ScenarioAction
Agent returns empty outputRe-spawn once. If still empty, document gap in synthesis.
Agent returns truncated outputAccept as-is, note in diagnostics.
Agent fails to spawnRe-spawn once. If still fails, reduce to 4 agents, document.
Token budget exceeded mid-sessionStop spawning, synthesize from available outputs, note incomplete.
User-provided document unreadableAskUserQuestion for alternative source.

Diagnostic Output (REQUIRED)

MANDATORY: You MUST write diagnostic output after every invocation. This is Stage 4 and cannot be skipped.

Write to: $PROJECT_DIR/logs/diagnostics/bulwark-research-{YYYYMMDD-HHMMSS}.yaml

Template: Use templates/diagnostic-output.yaml for the schema. Fill in actual values from the session.

What ships with it: 8 files

16.4 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.