# Extension has descriptive name and short_name in manifest

- **Pattern:** `ab-001341` (`extension-store-readiness.store-listing.manifest-naming`)
- **Severity:** critical
- **Lifecycle:** active
- **Last modified:** 2026-04-18
- **Canonical URL:** https://auditbuffet.com/patterns/ab-001341
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-001341)

## Why it matters

A missing or generic name like "Extension" or "App" fails Chrome Web Store review outright — the store rejects submissions where the name field is absent or indistinguishable from the category. Beyond rejection, a non-descriptive name tanks organic discoverability; Chrome Web Store search indexes the `name` field directly, so a vague name means users searching for your specific functionality simply won't find you. The chrome-cws-naming policy enforces this at submission time, making a bad name a hard gate, not a soft warning.

## Severity rationale

Critical because a missing or generic name causes Chrome Web Store rejection, blocking distribution entirely.

## Remediation

Set a specific, descriptive `name` in `manifest.json` (32 characters max for the store) and add `short_name` if the full name exceeds 12 characters. Both must be distinct.

```json
{
  "name": "Tab Manager Pro",
  "short_name": "Tab Mgr",
  "manifest_version": 3
}
```

Avoid single-word names like "Helper" or "Tool" — Chrome Web Store reviewers flag these as non-descriptive. Your name is also your primary search signal, so make it match the words users type.

## Detection

- **ID:** `manifest-naming`
- **Severity:** `critical`
- **What to look for:** Examine the `manifest.json` file. Count every naming field present (`name`, `short_name`). The `name` should be the full descriptive name (32 characters or less in Chrome Web Store). The `short_name` is optional but recommended for extensions with longer names. Both should be distinct, descriptive, and accurate.
- **Pass criteria:** Both `name` and `short_name` are present (or just `name` if extension name is under 12 characters), both are non-empty, and they are descriptive (not just "Extension" or "App"). Quote the actual `name` and `short_name` values found. Report even on pass: "name='[value]' ([N] chars), short_name='[value]' ([M] chars)."
- **Fail criteria:** `name` is missing, empty, or generic (e.g., "Extension", "My App"). Or `name` and `short_name` are identical when both are present. Do NOT pass if the name is a single generic word like "Tool", "Helper", or "Extension".
- **Cross-reference:** For broader metadata and listing quality across app stores, the App Store Metadata & Listing audit covers naming, descriptions, and keyword optimization in depth.
- **Skip (N/A) when:** Never — every extension must have a name in the manifest.
- **Detail on fail:** Specify what was found. Example: `"Manifest name is 'Extension' (too generic), no short_name provided"` or `"name and short_name are identical ('MyExt')"`.
- **Remediation:** The `name` field is what appears in the Chrome Web Store listing. Make it descriptive and concise:

  ```json
  {
    "name": "Tab Manager Pro",
    "short_name": "Tab Manager",
    "manifest_version": 3
  }
  ```

  Keep `name` under 32 characters. Use `short_name` (12 characters max) if your full name is longer.

## External references

- external chrome-cws-naming — https://developer.chrome.com/docs/webstore/program-policies/listing-requirements/

Taxons: findability, regulatory-conformance

HTML version: https://auditbuffet.com/patterns/ab-001341
