Revelica

Menu


New to Revelica? See how the product agent fits your team's workflow.

Read the intro
Playbook

Set up market position

Run Set up market position

Articulate the value proposition, confirm competitors, and map competitive coverage.

Use cases

  • Set up market position

Workflow

How It Works

  • 1
    Confirm the competitor set

    Collect competitor names, approaches, URLs, or the explicit discovery fallback.

  • 2
    Articulate the value proposition

    Reuse or articulate the value proposition from the exact solution and customer segment already in the workspace.

  • 3
    Discover candidate competitors

    Surface 3-6 credible competitor candidates for the value proposition. Outputs evidence-finding rows and a structured outputs.candidates list that drives the per-candidate fetch fanout.

  • 4
    Pre-fetch each candidate's pages (deterministic)

    For each candidate from discover.outputs.candidates: scrape the homepage + standard subpages, save each as an evidence-source, and create a cites edge tying each evidence-source to a fresh solution entity. No LLM. Per-candidate manifest of solution_id + evidence ids drives enrich/assess.

  • 5
    Profile each competitor solution

    For each candidate: build a picture from the pre-fetched evidence and update its solution with description/features/packages/pricing. One write per clone (reliable). Raw profile only — no coverage, no differentiation.

  • 6
    Judge each competitor's coverage (returns data)

    For each enriched competitor: read its solution + the segment, RETURN per-moment coverage judgments (keyed by moment label) + differentiation as outputs. Writes NOTHING — the write-coverage fetcher persists the cells. min_success=1.

  • 7
    Judge our own solution's coverage (returns data)

    Judge OUR OWN solution against every moment using the same rubric (richer internal data, no differentiation). RETURNS per-moment coverage judgments (by moment label) as outputs. Writes NOTHING — the write-coverage fetcher persists the YOU column alongside the competitors.

  • 8
    Write coverage entities (deterministic)

    Deterministic fetcher: resolve each returned moment label to a real moment id and create one coverage entity per judgment — competitor (from assess.items) and own (from own-coverage.outputs) — attaching cited_source_id as a cites edge. Partial-tolerant: an unmatched label or a failed create is skipped and counted, never fails the step.

  • 9
    Consolidate per-competitor differentiation

    Pure-Python fan-in. Reads assess.items and produces differentiations_by_solution (keyed by solution_id) + solution_ids for the VP writer. Coverage is NOT consolidated here — it was written as entities by write-coverage.

  • 10
    Persist competing solutions to the VP

    Single LLM agent that takes the consolidated differentiation and writes it in ONE batched update to value_proposition.competing_solutions[] (the vp_competing_solutions junction). Does NOT write coverage or touch the segment.

  • 11
    Build coverage matrix

    With the VP's competing_solutions populated AND every coverage entity (competitor + own) written, build the coverage matrix showing how each solution covers (or doesn't) each moment.

Ready to try it yourself?

Run Set up market position

Community Examples