بنقرة واحدة
alternative-landing
Create or improve competitor alternative pages under src/pages/alternative/.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create or improve competitor alternative pages under src/pages/alternative/.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Verify UI changes in microlink/www by driving the Gatsby dev server with agent-browser.
Scaffold a customer story page under src/pages/use-cases/ from the CustomerStory module.
Create or improve use-case landing pages under src/pages/use-cases/ from the UseCaseStory module.
Generate concise, user-facing changelog entries for Microlink by inspecting git commits across relevant repositories.
Make designs responsive across screen sizes, devices, and platforms.
Add animations, micro-interactions, and motion effects to a feature.
| name | alternative-landing |
| description | Create or improve competitor alternative pages under src/pages/alternative/. |
Build or refresh landing pages at src/pages/alternative/[slug].js.
The goal is not generic comparison copy. The goal is a repo-native page that:
src/pages/benchmarks/screenshot-api.js (screenshot pages only)Before any research or editing, ask the user which Microlink product the competitor competes with:
If you can identify the category confidently from the competitor's homepage, confirm with the user before proceeding instead of asking blindly. Phrasing example: "I see [Competitor] leads with [rich-media embeds / headless screenshots]. I'll use the [embed / screenshot] template — confirm?"
If a competitor straddles both, pick the dominant product. Lead with embeds → embed template. Lead with screenshots → screenshot template. Never mix templates.
The category choice changes:
template-structure.md vs embed-template.md)screenshotone.js vs iframely.js)SpeedSection (screenshot only — no embed benchmark exists)RaceContainer vs <InteractiveExample flat hideFooter />)MultiCodeEditorInteractive vs <PreviewVariantsShowcase />)/screenshot vs /embed)Before planning or editing, read these in order:
.claude/product-marketing-context.md.cursor/skills/alternative-landing/references/microlink-features.mdAGENTS.mdThen, depending on the category:
src/pages/alternative/screenshotone.js — primary structural referencesrc/pages/alternative/screenshotapi.js — secondary reference for a different anglesrc/pages/alternative/*.js files — required for anti-cannibalizationsrc/pages/benchmarks/screenshot-api.js — only source of truth for benchmark numbers.cursor/skills/alternative-landing/references/template-structure.mdsrc/pages/alternative/iframely.js — canonical structural reference (the only embed alternative page so far)src/pages/embed.js — source of the InteractiveExample and PreviewVariantsShowcase exports you'll importsrc/pages/alternative/*.js files — required for anti-cannibalization (even though they're screenshot pages, FAQ wording and SEO titles can still clash)src/pages/features/proxy.js — source of truth for proxy / antibot / CAPTCHA claims.cursor/skills/alternative-landing/references/embed-template.mdThese are non-negotiable:
references/microlink-features.md.prettier, prettier-standard, repo-wide format commands, or any command that may rewrite unrelated files.Use sources in this order:
src/pages/benchmarks/screenshot-api.js.cursor/skills/alternative-landing/references/microlink-features.mdUse third-party sources only for:
Do not use third-party sources as proof for hard claims if the competitor site does not confirm them.
Before editing:
Screenshot-only step: map the competitor to a benchmark key in BENCHMARK_DATA.results.
If the competitor is screenshot-category but not benchmarked in src/pages/benchmarks/screenshot-api.js, stop and ask how to proceed. Do not fabricate a speed section.
Recommended options:
If the competitor is embed-category, skip the benchmark mapping — there is no embed benchmark. Follow embed-template.md which deliberately omits SpeedSection.
This phase is mandatory.
Use WebFetch to fetch and inspect, at minimum:
Use WebSearch to discover missing official pages and to understand positioning:
"[Competitor] pricing [year]""[Competitor] [category] api features" — swap [category] for screenshot or embed"[Competitor] docs""[Competitor] alternatives""[Competitor] review limitations"For embed-category competitors, also confirm:
From research, build a working ledger of:
If the site is too JS-heavy to verify a claim via fetchable content, treat that claim as unverified and ask the user before using it.
Every alternative page needs a distinct search and messaging angle.
Read every existing file in src/pages/alternative/*.js and compare:
<Meta title><Meta description>Current angle map:
Screenshot category:
screenshotone.js: speed-first angle ("The fastest ScreenshotOne alternative")screenshotapi.js: breadth / "does more" angle ("broader browser workflows")urlbox.js: cost per render angle ("better cost per render")screenshotmachine.js: upgrade path angle ("richer browser workflows")apiflash.js: production workloads angle ("for production workloads")url2png.js: modernization angle ("a more modern screenshot API")screenshotlayer.js: throughput / overage anglethumio.js: final-screenshot vs streamed-thumbnail angleEmbed category:
iframely.js: developer-first angle ("The developer-first Iframely alternative") — emphasizes per-request pricing vs hit-based pricing, no rate-limit ceiling, and the Pro proxy bundlePick a primary angle and a secondary angle for the new page. Examples:
Avoid collisions such as:
If the best angle clearly collides with an existing page, change the angle or ask the user which angle to prioritize.
BENCHMARK_DATA (screenshot category only)Skip this whole subsection on embed pages. Embed alternatives have no benchmark and no SpeedSection.
For screenshot pages, copy only:
microlinkKeep the same testUrls array from src/pages/benchmarks/screenshot-api.js.
Inline the values exactly. Do not reference helper constants from the benchmark page.
SERVICE_COLORS (screenshot category only)Embed pages do not render a benchmark race and do not need a SERVICE_COLORS map. Skip.
For screenshot pages, use:
microlink: colors.red6Currently used:
screenshotone: colors.pink6screenshotapi: colors.grape7urlbox: colors.teal6screenshotmachine: colors.blue6apiflash: colors.orange6Embed pages do not have speed claims. Skip this subsection.
For screenshot pages, compute conservatively:
((competitorAvg - microlinkAvg) / microlinkAvg) * 100competitorUrl / microlinkUrlFor marketing copy:
"up to 2× faster" over "up to 2.4× faster" unless the decimal precision is important and still conservativeIf the benchmark result is directionally mixed or too small to support a strong claim, soften the copy.
COMPARISON_DATABuild the comparison table from:
references/microlink-features.mdAllowed values:
truefalse'partial''on demand'Ordering:
Highlighting:
highlight: true only when Microlink clearly has the advantageNotes:
note only when nuance materially helps interpretationEmbed pages: always include three Pro-bundle rows with highlight: true — Rotating residential proxy (Pro), Antibot detection & bypass (Pro), CAPTCHA handling (Pro). The provider lists go in the note field. See references/embed-template.md → "Comparison table — Pro proxy rows" for the canonical wording and provider names. Flip the competitor column to true only if their docs explicitly document the same capabilities — verify on their site before doing so.
Use the competitor pricing page as the source of truth.
For Microlink, choose the most relevant tier from references/microlink-features.md.
Prefer apples-to-apples based on:
Include pricing source URLs in code comments near the pricing copy or pricing constants.
If there is no honest apples-to-apples tier, say so in the copy or ask the user before forcing a comparison.
Follow the right reference for the category:
references/template-structure.md. Primary live example: src/pages/alternative/screenshotone.js. Secondary: src/pages/alternative/screenshotapi.js.references/embed-template.md. Canonical live example: src/pages/alternative/iframely.js.Default rule:
Hero (with <RaceContainer> from the benchmark)SpeedSectionWhySwitchSectionPricingSectionCTASectionComparisonSectionHonestySectionTryItSection (with MultiCodeEditorInteractive)FAQSectionHero (with <InteractiveExample flat hideFooter /> imported from pages/embed)WhySwitchSectionPricingSectionCTASectionComparisonSectionHonestySectionTryItSection (with <PreviewVariantsShowcase /> imported from pages/embed — link first, preview after)FAQSectionNo SpeedSection. No RaceContainer. No MultiCodeEditorInteractive.
Do not run automatic formatting after editing. If verification is needed, prefer targeted linting or manual fixes inside the landing file only.
theme({...}) for styled-system-supported properties per AGENTS.md.HonestySection must contain real competitor strengths (3–6 items; Iframely currently ships 3).Head export must use a unique title, unique description, correct canonical URL, and FAQ schema.FAQ_ITEMS array pattern (with { question, answer, text }) for every new page — this is now the standard, shared by urlbox.js, screenshotmachine.js, apiflash.js, and iframely.js. The text field holds the plain-text version for schema; answer holds the JSX for rendering.<code css={theme({...})}> — this repo's css prop transform fails on <code> and throws "Element type is invalid". Use <b> or a styled component instead.<Link href='/features/proxy'> reference. See embed-template.md for canonical wording./features/proxy and mentioning is-antibot (the open-source detection library).src/components/patterns/Footer/Footer.js Comparisons list in alphabetical order ({ label: 'vs [Competitor]', href: '/alternative/[slug]' }).The skill should think about whether a competitor-specific section would improve the page.
Examples:
Only add a custom section if all are true:
If unsure, propose the new section to the user instead of silently changing the architecture.
When updating an existing page:
SpeedSection; embed pages do not).src/pages/benchmarks/screenshot-api.js.src/pages/features/proxy.js (for current Pro proxy claims) and src/pages/embed.js (for the imported components).screenshotone.js for structural drift.iframely.js for structural drift.After drafting or improving a page, always report:
Suggestions should focus on:
If the user asks for an SEO pass, or if title/meta/FAQ/cannibalization choices are unclear, read and follow:
~/.claude/skills/seo-audit/SKILL.mdUse it mainly to validate:
TODO claims into production copy. If a claim is important but unverified, stop and ask.SpeedSection for embed competitors. There is no embed benchmark in this repo.HERO_DEMOS, PREVIEW_VARIANTS, or InteractiveExample internals on embed pages — import from pages/embed.prettier, prettier-standard, or any repo-level formatter while using this skill, even on a single file, because this repository's formatter can touch unrelated files.