miladniroee/ai-rtl-resolver/add-new-site
Claude Code and agent skill by miladniroee/ai-rtl-resolver
- community
Checking that the SKILL.md file is still in the repository.
Add support for a new AI chat platform to the RTL resolver browser extension. Creates site parser, entry point, updates build config, manifest, README, and docs.
Install
npx vskill@latest install miladniroee/ai-rtl-resolver/add-new-siteSKILL.md
Add New Site
Add RTL text direction support for a new AI chat platform to the Ai RTL Resolver browser extension.
Prerequisites
User provides:
- Site name (short lowercase identifier, e.g.
zai,duckai,qwen) - CSS selectors for: input textarea, user message bubble, assistant content area
- Domain(s) to match in the manifest (e.g.
https://z.ai/*,https://chat.z.ai/*) - Display name and optional platform icon filename for README/docs
Steps
1. Create site parser — src/sites/<name>.ts
Copy the pattern from any existing site (e.g. src/sites/zai.ts). The file must:
- Import
applyDetectedDirection,getElementText,observeBodyMutationsfrom../lib/dom - Import
initKatexDirectionFixfrom../lib/katex - Define a
DIRECTION_TARGET_SELECTORconstant with CSS selectors targeting input, user bubbles, and assistant content (comma-separated) - Export an
init<Name>()function that:
- Calls
applyDetectedDirection(document.querySelectorAll(selector), getElementText) - Calls
observeBodyMutations(applyFn)for dynamic content - Calls
initKatexDirectionFix()for math formula support
Selector tips:
- Include
tablein the selector to catch table elements - Use
:not()exclusions to avoid double-matching user bubbles in content areas - Test selectors against the live site's DOM before committing
2. Create entry point — src/entries/<name>.ts
Copy the pattern from src/entries/zai.ts. The file must:
- Import
initFontInjectionfrom../lib/fonts - Import
checkEnabled,observeTogglefrom../lib/storage - Import
init<Name>from../sites/<name> - Call
checkEnabled(SITE_ID)and conditionally runinitFontInjection()+init<Name>() - Set up
observeToggleto reload the page when the user toggles the site on
3. Update build config — scripts/build.mjs
Add the site name to the entries array in alphabetical or logical order:
Also update the @type JSDoc comment above it to match.
4. Update manifest — public/manifest.json
Add two things:
`content_scripts` — add a new entry:
`web_accessible_resources[0].matches` — append the domain(s):
5. Update README.md
Three locations to update:
- Description line (line ~8): Add the display name to the comma-separated list
- Supported Platforms table: Add a new row with icon and link
- Version History table: Add a row for the current version noting the addition
6. Update docs/index.html
Update the landing page:
- Hero description: Add display name to the supported platforms list
- Stats section: Increment the platforms count
- Platforms section: Add a new platform card with icon and link
7. Validate
Both must pass. If typecheck fails, check imports and type annotations.
File reference
| File | Purpose | |
|---|---|---|
src/sites/<name>.ts | Site parser with CSS selectors | |
src/entries/<name>.ts | Entry point (font init + site init) | |
scripts/build.mjs | Vite build config, entries array | |
public/manifest.json | Chrome extension manifest, content scripts + resources | |
README.md | Supported platforms list and version history | |
docs/index.html | Landing page with platform cards |
Example
Adding zai support (from [ses_10bec37caffeo865emoiX9VQh1]):
- User provided selectors:
#chat-input(textarea),.chat-user(user bubble),.markdown-prose(main content) - Domains:
https://z.ai/*andhttps://chat.z.ai/* - Created
src/sites/zai.tswith selector#chat-input,.chat-user [data-expanded], .markdown-prose:not(.chat-user), table - Created
src/entries/zai.tsfollowing the standard pattern - Added
'zai'to build entries, manifest content_scripts, web_accessible_resources - Updated README description, platforms table, version history
- Updated docs hero, stats, platforms section
- Build + typecheck passed
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.ai/skills/add-new-site/SKILL.md
Popularity
- Repository stars
- 116
- Repository forks
- 6
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/miladniroee/ai-rtl-resolver/add-new-site)