Skip to main content

replica-brand

Fleet adaptation — tools (security vet, 2026-10-10)​

Imported under the security desk's CLEAR-WITH-CONDITIONS verdict (repo read in full at the pin; the pack's tools verified stdlib-only and no-network, test suite green including with socket creation disabled). The Python tools are adopted as runnable, locally only: they run on project-local artifacts the operator produced. sweep.py is pointed only at the replica project's own tree — it prints matched line content, so never run it against trees holding unrelated sensitive material.

Nothing launches under the original's identity. This skill is the line between "a clone" and "your app".

Tool in this folder:

python3 sweep.py . --avoid "Original Name,Its Company" --domains original.com --colors "#006bff"
python3 sweep.py . --config replica/brand.json # same, from the brand file

Writes replica/brand.md and replica/brand.json (avoid, domains, colors, used by sweep.py, listing.py and replica-deploy).

Step 1: the name​

Read the angle from replica/fixes.md. Generate 20 candidates across styles: descriptive (Booklink), compound (Slotwise), invented (Calvo), metaphor (Harbor), verb (Book). Then cut to 5 with these filters:

  • Not confusingly similar to the original in sound, look or meaning, and not to any other app in the same category. That is the test trademark offices use, so it is the test here. No puns on their name, no "-ly" twin.
  • Short, spellable after hearing it once, no awkward meaning in big languages.
  • Says something about the angle, or at least does not fight it.

Step 2: the checks, run, not assumed​

For each of the 5, a row per check. Mark each to run, or the result with the date it was run. Never write "available" for a check nobody ran.

checkwhere
US trademarktmsearch.uspto.gov, the app's class (usually 9 and 42)
EU trademarkeuipo.europa.eu eSearch, or TMview for many offices
Canadaised-isde.canada.ca trademarks database
globalWIPO Global Brand Database
domainwhois name.com, or the registrar's search
App Store and Playsearch the exact name
handlesX, Instagram, TikTok, GitHub
the websearch "name + category"

These are screening checks, not legal clearance. Before spending money on the name, a trademark lawyer should do a proper search.

Step 3: palette​

A new palette, written into the same token roles replica-design set up. Pick a primary brand hue from a different family than the original's (if theirs is blue, yours is not a nearby blue). Then:

python3 ../replica-design/contrast.py replica/design/tokens.json

Zero AA failures. Add the original's brand colours to brand.json so the sweep catches any that survive.

Step 4: logo brief​

Not a logo, a brief for whoever makes it (the user, a designer, an image model):

  • the idea in one line, tied to the name and angle
  • mark type: wordmark, symbol plus wordmark, or monogram
  • must work at 16px (favicon) and as a 1024px app icon
  • deliverables: SVG, app icon 1024x1024 with no transparency for iOS, favicon set, social image 1200x630
  • must not resemble the original's mark: no shared shape, colour pair or letterform trick. Put the original's logo next to the drafts and check.

Step 5: voice​

Three words for how it sounds, with what each does not mean ("direct, not blunt"). Five do and don't pairs. Then rewrite the 10 most-seen strings in the clone (sign up, empty states, the main button, the confirmation, the error) in that voice. All fresh, none echoing the original's phrasing.

Step 6: the sweep​

Replace every placeholder name, colour and string. Then:

python3 sweep.py . --config replica/brand.json

It searches file contents and file names for the original's name (also inside identifiers like CalendlyEmbed), domains and colours, skipping node_modules, build output and the replica/ planning folder. Exit 1 means something is left. Fix until it says clean. Also check by eye: the favicon, the page titles, the email templates, the OG image, the app icon.

Output​

replica/brand.md (name with checks, palette, logo brief, voice), replica/brand.json, updated tokens, rewritten strings, and a clean sweep. Next: /replica-launch.

Supporting files: this skill's supporting files are held in the docsite at docs/15-skills/_support/replica/replica-brand/ — fetch them fresh from jknash/docsite main alongside this page.

Source: Jakeschincariol/replica-skill · replica-brand/ @ 77c9436fb3d18c3d58169efb8caf4fe906b0dc51 · view source · Imported 2026-10-10 under the owner's directive (public-repo content approved for internal fleet use; MIT). Tools and method imported; the pack’s Python tools are adopted as RUNNABLE locally under the security vet’s conditions (CLEAR-WITH-CONDITIONS, 2026-10-10). Any upstream upgrade re-opens the vet for the changed surface.