# Listing Lift - a B2B SaaS vendor's own listing on one third-party app marketplace, checked, then the rewritten indexed fields and first screen, or the review-velocity and refresh program > Optimize your app's listing on AppExchange, HubSpot, Atlassian, Shopify or Slack. Paste your listing on one > third-party app marketplace, the words buyers search for and your review history, and get keyword coverage, title > convention, gallery, review velocity and claim provenance checked, then the rewritten indexed fields and first screen, > or the review-velocity and refresh program. > Built on the SkillSafe skill @samber/integration-listing-optimization, from samber/developer-platform-skills (MIT), by > Samuel Berthe. > Not affiliated with or endorsed by Salesforce, HubSpot, Atlassian, Shopify or Slack. > Scope: the vendor optimizing its own listing on a B2B integration marketplace - Salesforce AppExchange, the HubSpot App > Marketplace, the Atlassian Marketplace, the Shopify App Store or the Slack Marketplace. Not for consumer app stores > (Apple App Store, Google Play), whose numbers are quoted here only as labelled analogy, and not for a marketplace > operator writing its own listing rules. https://listing-lift.skillsafe.ai/ ## What is free - The marketplace split: data-rich with a real view-to-install funnel (Shopify, Atlassian, AppExchange), data-rich on install counts only (HubSpot), or data-dark with no listing analytics and no review system (Slack). - Keyword coverage: every buyer term (one per line, with its source - support tickets, sales calls or the marketplace's search-term report) matched against every field the marketplace exposes, as the same whole words in one line of a field - "sync" is never found inside "async", and "crm sync" is its own term. Coverage per field and overall against the page's threshold of four terms in five; the terms found only in fields the marketplace is not known to index; generic stuffing warnings. - The indexed fields, each with its provenance: Shopify's name and subtitle (single-source inference) and search terms (vendor-official, up to five terms†, one concept per term); Atlassian's summary (single-source inference, at most 250 characters†); AppExchange's title, description and keywords (single-source inference; limits only in its listing builder); HubSpot's name and tagline (single-source inference; limits only in its listing builder); Slack's name and short description (analogy - Slack publishes nothing). - The title convention: Shopify's documented brand-first name (vendor-official) checked pass or fail; no convention documented elsewhere, so none is invented. The brand-maturity tier (dominant, established, challenger) decides whether a brand-only title is a choice or a gap. - The gallery, one asset per line (#n | kind | caption | notes), identified by its number: the first three unique, in-UI and captioned; pricing or review claims baked into an image; sensitive data and browser chrome; duplicates and logo-only images (a fail on Shopify, which hard-rejects them; a warning elsewhere); repeated captions; the order hero, differentiator, most-loved as an analogy-labelled suggestion, never a fail. The demo video against the platform's ceiling: 30 seconds† on Atlassian, 30-90 seconds† on Slack, 2-3 minutes† on Shopify, 1-3 minutes† on AppExchange. - Reviews, one per line or as summary numbers: count, average, newest, the newest ten and the trailing 90-day velocity, measured as of a date you can set (default today); Atlassian's star rating after 10 reviews†; skipped entirely on Slack. - Review asks: incentives, team reviews, review swaps and asking only happy users fail ("deleted, not demoted"); the platform's own triggers and the post-support ask pass or warn. - Instrumentation (native dashboards, external wiring, a third-party tracker, the self-built install ledger, mandatory on a data-dark marketplace), refresh (a named owner and a 30-60 day cycle), uninstalls (rising: fix the product gap first) and the badge rule (promote only on a vendor-official ranking effect on this marketplace - Built for Shopify - or a procurement gate). - The ladders, each naming the answer that moved a rung: instrumentation; the optimization ladder (keyword rewrite, first-screen media, review program, demo video, paid ads, badge pursuit - a hard deadline promotes text-only levers, a compounding mandate promotes standing programs, a low effort ceiling deletes options); review velocity (platform triggers, post-support, lifecycle email, milestone ask, negative-review replies). - The five plan gates, self-set; the provenance table with one label per ranking claim (vendor_official > corroborated > single_source > analogy); the KPIs and the refresh window; a consistency check that no settled verdict disagrees with a check about the same thing. - Exports: the keyword coverage matrix (.csv), the checks (.csv), the gallery plan (.csv), the review velocity summary (.md), everything (.json), and a listing draft (.md) that copies every field as pasted and only reorders and trims the gallery - no copy, price, review count or badge is ever invented. - A saved listing keeps a snapshot of its checks: reopening it after a refresh cycle, or pasting the same brand, shows the checks fixed, the terms gained and lost, coverage and review velocity before and after. - † verify against the marketplace's current listing rules before relying on it - all five platforms revise them on an ongoing basis. ## The metered lanes Two tasks on gpt-terra, metered per run, routed by `task`. Input string fields: `task` (rewrite or program), `marketplace` (the marketplace, its classification, fields, convention and video ceiling), `listing` (the fields as pasted), `terms` (the buyer terms with sources), `gallery` (the assets and the video), `reviews` (the review summary), `context` (the interview), `carry` (program only: the rewrite), `facts` and an optional `retry_note`. - `rewrite` replies with `summary`, `fields` (`field` the page's indexed field id, `text` within the limit and in the convention, `terms` covered word for word), `gallery` (`n` the input's asset number, `caption`, `position`), `video` (`decision` keep, add or skip, `why`), `claims` (`claim` the page's claim id, `label` exactly the page's), `fixes` (`check`, `subject`, `change`), `footnote` and `caveats`. - `program` replies with `summary`, `classification` (data_rich or data_dark), `triggers` (`trigger`, `status` use, add or skip, `how`, in the page's ladder order), `deleted` (`tactic`, `stop`), `ask` (neutral, one sentence per line, or "" on a data-dark marketplace), `cadence` (`cycle_days` 30 to 60, `owner`, `next`), `kpis` (`kpi`, `now`, `where`), `fixes`, `claims`, `footnote` and `caveats`. A reply stays on the page when the form changes after it ran, under an out-of-date banner, and its downloads and copies keep working; each rewritten field and each trigger copies on its own, and the rewrite's handoff carries it into the program lane. The page holds every reply to its own facts, matching rows by the same composite identity its facts use (a field by its id, a covered term by its field and the whole-word term, an asset by its number, a fix by check id and subject): the rewrite keeps one row per indexed field within its limit and in the convention, only terms from the input that really appear in the text, only the input's asset numbers with no dropped asset in the first three, and a fix for every listing or gallery fail; the program keeps the classification, the triggers in order with their status, a stop for every deleted tactic in use, a neutral ask one sentence per line (none on a data-dark marketplace), a 30-60 day cadence, the page's KPIs and a fix for every program-area fail; both carry every ranking claim with exactly its page label (a claim stated without a label, or at a higher tier, is flagged), no deleted tactic, no consumer app-store number, the dagger on every platform figure, the footnote, no URL, no backticks and no implied endorsement. ## Links - API tutorial: https://listing-lift.skillsafe.ai/api.html - Source skill: https://skillsafe.ai/skill/@samber/integration-listing-optimization - Source repository: https://github.com/samber/developer-platform-skills