agentleFS
kaordoneskaordones/competitive-intel-plugin/skills/competitor-deep-dive/SKILL.md

competitor-deep-dive

Skill0 starsChanged 3 months agoMITView on GitHub

Builds a long-form competitive deep-dive — a fully sourced 9–15 page reference document on one competitor — with dated third-party reviews, company and pricing facts, a rebrand or pivot timeline, head-to-head capability tables against each of your own products, an honest "where they win" section, confidence notes and a full source list, delivered as a .docx. Use when someone asks for a deep dive, competitive analysis, competitor research, teardown or full write-up on a competitor; wants to understand a competitor properly; asks what real users say about one or wants its reviews analysed; or wants a reference document backing a battlecard. Trigger in any language, and for any substantial single-competitor research document even without the words "deep dive". For the short 2–3 page sales card use competitor-battlecard.

  • Installs packages

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. anyreachai/claude-skills★ 1same name
    2. terryds/skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository3 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read competitive-profile.md from the user's working folder.

    line 21
  2. Very specific:

    1. Research before touching the format: Don't open the build script until you have the material.

    line 53
  3. Distinctive:

    Treat the undated-quote warnings as blocking — an undated quote can't be re-checked, which defeats the point of the document.

    line 77
  4. Distinctive:

    Read every page image. Then check three things that are easy to get wrong and embarrassing to ship: is every quote attributed to the …

    line 88
  5. Distinctive:

    Don't hand-place page breaks to tidy the layout.

    line 93

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Competitor deep-dive

Builds the long document — the one nobody reads before a call and everybody reads before a strategy decision, an RFP response, or when a seller needs to check whether a claim on the battlecard is actually true.

Its companion, competitor-battlecard, builds the 2–3 page sales card. When both are wanted, build this one first: the research forces the precision that makes the card sharp, and the card can then cite this document by name.

Shared files live in the plugin's shared/ folder, ../../shared/ from this skill (also ${CLAUDE_PLUGIN_ROOT}/shared/).

Before anything else: the profile

Read competitive-profile.md from the user's working folder. Sections 7 and 8 of this document compare the competitor against your products one at a time, and that pairing is the analytical spine — it can't be written without knowing what your products are and what they're documented to do.

If no profile exists, stop and run competitive-profile first.

What makes this document worth writing

The value is not length. It's that every external claim carries a date, a source and a link, so six months later a reader can tell what's still true. A deep-dive full of confident unsourced assertions is worse than nothing — it launders guesses into internal fact.

Three habits carry most of that weight:

Date everything. A review from ten years ago and one from last month tell you opposite things about whether a complaint was ever fixed. When the same complaint appears in both, that's the finding — a decade-long pattern, not an anecdote.

Say when you don't know. "No public evidence of X" and "X doesn't exist" are different claims. Use the first unless you've actually verified the second. Give the document a confidence-and-methodology section that admits what was blocked, approximate or secondhand.

Name real strengths. The "where they genuinely have an edge" section is what makes the rest credible. A reader who sees a competitor described as having no redeeming qualities correctly discounts the whole document.

Workflow

1. Research before touching the format. Don't open the build script until you have the material. Read references/research-playbook.md — it lists where to look, in what order, and how to handle sources that block automated fetching.

2. Re-read the profile so the "us" columns in sections 7 and 8 cite documented capability rather than aspiration.

3. Write the content file. Copy ../../shared/assets/example-deepdive.json and replace the content — it's a working example of the full structure, fictional and deliberately condensed, so replace every name and number in it. Block types are in ../../shared/references/content-schema.md. Set usHeader per table to the specific product being compared, and copy the profile's theme colours if it defines any.

4. Build.

cd <plugin>/shared/scripts
npm install docx          # once, if docx isn't already available
node build.js my-deepdive.json ./output/X_Deep_Dive.docx

The build prints a length report and a claims review: unhedged denials about the competitor, judgement words, and any quote whose attribution carries no date. Treat the undated-quote warnings as blocking — an undated quote can't be re-checked, which defeats the point of the document.

5. Render and read it. Long documents break in ways JSON hides — a table running past the page edge, a section landing alone at the bottom of a page.

soffice --headless --convert-to pdf output/X_Deep_Dive.docx
pdftoppm -jpeg -r 100 X_Deep_Dive.pdf page

Read every page image. Then check three things that are easy to get wrong and embarrassing to ship: is every quote attributed to the platform it actually came from, does every claimed link resolve to the right page, and does the source list at the end include everything cited inline?

Don't hand-place page breaks to tidy the layout. Section lengths shift as you edit, and a fixed break almost always strands one orphan row at the top of an otherwise empty page. Let the document flow — table rows already carry cantSplit, so no individual row splits across pages.

6. Deliver the .docx and clean up intermediate files.

Document structure

Twelve sections. Renumber if a section doesn't apply — a competitor with no rebrand doesn't need section 2.1 — but keep the order, because the pairing of sections 7 and 8 against your own products is the analytical spine.

#SectionContents
—Title blockCompetitor name, subtitle stating what's compared, prepared-for/date/version line, and a note that every claim links to its source
1Executive summary4–6 bullets. The single most important fact first (a rebrand, a funding round, a pivot). Ends with a one-line net assessment
2Company & product snapshotFounded, founder/CEO, HQ, headcount, scale, named customers, ownership/funding, recognition — as a table, each row sourced
2.1What actually changedOnly when there's been a rebrand, pivot or acquisition. Before/after table separating what changed from what didn't, plus a dated timeline and a bottom-line callout
3What they actually sellBulleted capability list in their own framing, from their own materials
4PricingModel and any real numbers, in a table. Mark provenance per row. State plainly what couldn't be confirmed
5Reviews — the goodRatings table per platform, then a per-platform table of individual reviews: reviewer, segment/role, rating, date, what they liked, what they flagged. Then 2–3 pull quotes
6Reviews — the badDated complaint quotes per platform, then a themes table synthesising the cross-cutting pattern
7Head-to-head vs. [your first product]compareTable, capability by capability, plus internal source links for your column
8Head-to-head vs. [your second product]Same. For a competitor who only covers half your surface, this is usually the sharpest structural gap. Add a section per product if you have more than two
9Where they genuinely have an edgeHonest bullets. Non-negotiable
10Strategic talking pointsProblem-first framing, discovery questions, objection handling — the raw material the battlecard compresses
11Confidence & methodology notesWhat's high vs. medium confidence, what was blocked, what's secondhand, and the standing "absence of evidence isn't proof of absence" caveat
12SourcesFull clickable list, grouped by type

Depth to aim for

Sections 5 and 6 are where readers decide whether the document is real. Aim for 8–12 individual reviews per platform in the tables, spanning the widest date range available, each with its own date. Include reviews that contradict each other and say so — an early review praising "powerful reporting" sitting next to a decade of reporting complaints is a finding worth a sentence, not a problem to hide.

Handling the awkward parts

Reviews often have no permalink. Most review platforms don't expose a stable URL per individual review. Link the product review page and say once, in the methodology section, that the page is the closest available reference for each quote. Don't fabricate anchors.

Some sources block automated fetching. Vendor pricing pages especially. When a fetch fails, don't substitute a guess — link the page so the reader can check it, and note in section 4 and section 11 that it couldn't be retrieved. Never work around a blocked fetch with a different fetching method.

Internal intel needs marking as internal. Pricing from a deal recap in ~~chat is genuinely useful and genuinely unverified. Cite the thread, label it secondhand, and link the vendor's own page next to it.

Dates extracted from rendered pages are approximate. Say so in the methodology section. If one date looks wildly out of pattern, omit that review rather than guessing at it — and mention that you did.

Write as though the competitor will read it. Eventually one does. This document should read like evidence, not advocacy: no mockery, no unsourced characterisation of a named company, nothing you'd be uncomfortable defending.

Reference files

  • references/research-playbook.md — where to look, in what order, and what to extract. Read this first.
  • competitive-profile.md (the user's, in their working folder) — your products and their documented capabilities, for sections 7 and 8.
  • ../../shared/references/content-schema.md — every block type and its fields.
  • ../../shared/assets/example-deepdive.json — a worked fictional example.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.