技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
suede-competitor-profiling【数据与研究】Suede-owned competitive-intelligence discipline for evidence-backed profiles of positioning, pricing, messaging, product, proof, and public-market signals. Use when researching named competitors from current public URLs or refreshing a structured landscape. NOT FOR: publishing comparison pages (use suede-competitors), internal sales battle cards (use…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this Suede competitive-intelligence playbook to turn current public evidence into structured profiles with fact, inference, and unknowns kept separate.
Check for .agents/product-marketing.md (or .claude/product-marketing.md, or the legacy product-marketing-context.md) and read it if present: your own positioning and ICP decide which competitors are actually comparable and which dimensions are worth profiling, and they are usually already written down there.
Then work the intake list under Task-Specific Questions below. If the user gave URLs and the context file covers the rest, proceed without asking.
Before synthesizing the profile, persist all raw page captures, SEO inputs, and review evidence to disk so they can be re-read, audited, or reused without repeating provider requests or manual collection.
Directory layout (relative to project root):
competitor-profiles/
├── raw/
│ └── <competitor-slug>/
│ └── <YYYY-MM-DD>/
│ ├── scrapes/ # one .md file per captured page (homepage.md, pricing.md, ...)
│ ├── seo/ # one .json or .csv file per authorized metric source
│ └── reviews/ # one .md or .json file per review source (g2.md, capterra.md, ...)
├── <competitor-slug>.md # final synthesized profile
└── _summary.md # cross-competitor summary
Rules:
<competitor-slug> is lowercase, hyphenated (e.g. responsehub, safe-base)<YYYY-MM-DD> is the date the data was pulled: supports re-running and diffing snapshots over timescrapes/<page-name>.mdseo/<source-name>.<json|csv>reviews/<source>.md (cleaned text) or .json (raw)The synthesized profile (<competitor-slug>.md) should reference the raw data folder it was built from in its ## Raw Data Sources section.
For each competitor URL, capture key public pages to extract positioning, features, pricing, and messaging.
Availability gate: Inspect the tools currently exposed in the session before selecting an acquisition method. A named connector is usable only when it is actually available, connected to the intended account when applicable, authorized for this task, and its current schema has been read. Do not invent a tool call from the examples below.
If no mapping or page-fetch tool is available, use a browser-neutral/manual fallback: open the public site, follow its primary navigation, inspect its public sitemap or search results when accessible, record the exact URLs and access date, and capture only evidence visible to the user. Respect access controls, site terms, robots directives where applicable, and rate limits.
When the gate blocks you: a source needs an account you were not given, a platform is not connected, a site's terms or robots directives put a page out of bounds, or the user wants a dossier published or sent onward without having authorized it, halt in four parts:
not collected; the user supplies an export; the user authorizes the
connection; substitute a permitted source).If a current authorized connector exposes a site-map or crawl capability, use
its documented schema to discover the site structure. For example, some
Firecrawl connections expose a firecrawl_map operation, but that name is not
guaranteed. Otherwise build the URL list through the manual fallback.
available map capability or manual navigation → verified competitor URLs
From the map, identify and prioritize these page types:
If a current authorized connector exposes single-page fetch or extraction, use
its documented schema on each identified URL. For example, some Firecrawl
connections expose firecrawl_scrape. Otherwise open each public page and
capture the relevant visible text manually.
available page-fetch capability or browser/manual capture → page evidence
Save each result to competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/scrapes/<page-name>.md before extracting fields.
Extract from each page:
| Page | What to Extract |
|---|---|
| Homepage | Headline, subheadline, value proposition, primary CTA, social proof claims, target audience signals |
| Pricing | Tiers, prices, feature breakdown per tier, billing options, free tier/trial details, enterprise pricing signals |
| Features | Feature categories, key capabilities, how they describe each feature, screenshots/demo signals |
| About | Founding story, team size, funding, mission statement, headquarters |
| Customers | Named customers, logos, industries served, case study themes |
| Integrations | Integration count, key integrations, categories |
| Changelog | Release velocity, recent focus areas, product direction signals |
If a connected search/fetch tool is available and authorized, use its current schema to find the sources below. Otherwise search or browse them manually. Platform-specific or account-only content may be accessed only when that platform is actually connected and the user has authorized it.
Save each scraped review page to competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/reviews/<source>.md. Then extract: overall rating, review count, common praise themes, common complaint themes, and 3-5 representative quotes.
First inspect current available tools and user-provided files. If an authorized
SEO-data connector is exposed, read its current schemas and gather the same
metrics for every competitor. Some DataForSEO connections use the capability
names below, but their presence and exact schemas are not guaranteed. If no
provider is available, analyze a current user-supplied export or mark these
fields not collected; never substitute guessed values.
Save each raw response or export to
competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/seo/ before parsing.
Record provider, access date, market, device, database, and that traffic,
authority, and value metrics are provider estimates. See
references/tool-reference.md for conditional
capability mapping and manual fallbacks.
When the connected provider exposes an equivalent of backlinks_summary,
collect:
When it exposes an equivalent of backlinks_referring_domains, collect:
When it exposes ranked-keyword data, collect:
When it exposes a domain organic overview, collect:
When it exposes site-keyword discovery, collect:
When it exposes organic-competitor overlap, collect:
When it exposes relevant-page estimates, collect:
Combine scraped content with SEO data to build the profile. Cross-reference claims (e.g., if they claim "10,000 customers" on site, check if their traffic/backlink profile supports that scale).
Run this before the profile leaves your hands. It is one ls against a
structure Phase 1 and Phase 2 already produced:
ls -R competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/
[unknown] and not marked not collected traces to a
saved file in that folder. A [fact: ...] field traces to the scrapes/,
reviews/ or seo/ file it was read from; an [inference] field traces to
the scrape file it was inferred from, not to a separate artifact.[unknown].
It is never softened into confident prose: that is exactly what Boundaries
forbids below.## Raw Data Sources block names the date folder the profile was built
from, so the same check is repeatable by someone else later.Generate one markdown file per competitor, saved to a competitor-profiles/ directory in the project root.
Filename: competitor-profiles/[competitor-name].md
Read references/templates.md before writing the first profile of a run: it holds the evidence-marker legend that every field uses, the full Deep Profile Template, the Quick Scan Template, and the summary, positioning-map, SWOT and changelog templates. Do not reconstruct a profile structure from memory: consistency across profiles is what makes them comparable.
The deep profile runs these sections in order: At a Glance, Positioning & Messaging, Product & Features, Pricing, Customers & Social Proof, SEO & Content Strategy, Strengths & Weaknesses, Competitive Implications, Raw Data Sources.
After profiling all competitors, generate a competitor-profiles/_summary.md that includes:
not collectedDefault to quick scan unless the user requests deep profiling or specifies a small number of competitors (3 or fewer).
When profiling more than one competitor:
Profiles are snapshots. When updating:
## Change Log section at the bottomOnly ask if not answered by context or input:
suede-competitors.suede-sales-enablement.suede-customer-research.suede-pricing, suede-ads, or suede-content-strategy.suede-competitor-profiling.