Configure Auth
dotnet/skills
Add authentication and authorization to a Blazor Web App, accounting for the app's render mode.
Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via…
$ npx skills add adobe/skills --skill page-langs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adobe/skills page-langs --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/web/skills/page-langs .claude/skills/page-langs && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "page-langs" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langs into .claude/skills/page-langs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-langs", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add adobe/skills --skill page-langs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adobe/skills page-langs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/web/skills/page-langs .agents/skills/page-langs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "page-langs" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langs into .agents/skills/page-langs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-langs", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill page-langs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adobe/skills page-langs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/web/skills/page-langs .cursor/skills/page-langs && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "page-langs" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langs into .cursor/skills/page-langs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-langs", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/adobe/skills.git --path plugins/web/skills/page-langs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add adobe/skills --skill page-langs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adobe/skills page-langs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/web/skills/page-langs .gemini/skills/page-langs && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "page-langs" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langs into .gemini/skills/page-langs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-langs", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install adobe/skills page-langsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add adobe/skills --skill page-langs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/web/skills/page-langs .github/skills/page-langs && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "page-langs" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langs into .github/skills/page-langs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-langs", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill page-langs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install adobe/skills page-langs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/web/skills/page-langs .opencode/skills/page-langs && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "page-langs" agent skill from https://github.com/adobe/skills/tree/main/plugins/web/skills/page-langs into .opencode/skills/page-langs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-langs", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
page-langsDetect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via…
Page Langs is an agent skill from adobe/skills. Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via cld3-asm WASM). Reconciles the two signal sets and flags mismatches such as undeclared languages in the body or declared languages absent from the content. Outputs langs.json with detected languages (probability + proportion), all declared language signals, and a reconciliation report. Use for i18n audits, EDS page…
Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `.releaserc.json`, `evals/evals.json` and `package-lock.json`). Compatibility notes: Requires playwright-cli on PATH and Node 22+. One-time setup: run npm install --prefix <skill-dir to install cld3-asm (WASM, model bundled, no native build)…
It sits in Business, Finance & HR, covering Technical SEO, Accounting and bookkeeping and Internationalization. It works with WebAssembly. The repository describes itself as: Adobe Skills for Agents. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cbc9952. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
npmnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires playwright-cli on PATH and Node 22+. One-time setup: run `npm install --prefix <skill-dir>` to install cld3-asm (WASM, model bundled, no native build). Run `playwright-cli --help` for the command reference.
From compatibility in the SKILL.md frontmatter.
Page Langs loads about 1.1k tokens when it runs, and up to ~1.9k if it reads all its reference files. Until then it costs about 210 tokens; SKILL.md has 318 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from adobe/skills at commit cbc9952, republished under its Apache-2.0 licence (© adobe). 318 words, ~1,080 tokens.
.claude/skills/page-langs/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Detect all languages used on a webpage — declared and in the body text.
Node 22+ required. Uses playwright-cli for the browser pass and Google CLD3 (WASM)
for content-based detection.
Install cld3-asm into the skill directory before first use:
if [[ -n "${CLAUDE_SKILL_DIR:-}" ]]; then
SKILL_DIR="${CLAUDE_SKILL_DIR}"
else
SKILL_DIR="$(find ~/.claude -path "*/page-langs" -type d 2>/dev/null | head -1)"
fi
npm install --prefix "$SKILL_DIR"The WASM model is bundled in the package — no network fetch at runtime.
if [[ -n "${CLAUDE_SKILL_DIR:-}" ]]; then
SKILL_DIR="${CLAUDE_SKILL_DIR}"
else
SKILL_DIR="$(find ~/.claude -path "*/page-langs" -type d 2>/dev/null | head -1)"
fi
COLLECT="$SKILL_DIR/scripts/collect.js"
DETECT="$SKILL_DIR/scripts/detect.mjs"playwright-cli open "$URL"If the page has cookie banners or overlays, use the page-prep skill to dismiss
them before continuing.
playwright-cli run-code --filename="$COLLECT" \
| node "$DETECT" --output ./page-langs-outputcat ./page-langs-output/langs.jsonCheck for common failure modes:
detected is empty → wordCount is very low (page didn't render JS content or is bot-blocked); try --headed or run page-prep firstplaywright-cli lost the session; re-run Step 2 before Step 3declared fields are all null → page has no language markup at all (valid finding, not an error)Output file: ./page-langs-output/langs.json
| Field | Description |
|---|---|
detected | CLD3 results: language, probability, is_reliable, proportion |
declared | Structural signals: htmlLang, nestedLangs, hreflang, metaContentLanguage |
reconciliation | agreement / declaredNotDetected / detectedNotDeclared |
wordCount | Words in visible body used for CLD3 |
| Field | Meaning |
|---|---|
detectedNotDeclared | Languages in the body not declared in markup — add hreflang or lang= |
declaredNotDetected | Declared in markup but absent from body — stale hreflang? |
agreement | Both declared and detected — healthy |
page-prep — invoke before Step 2 to dismiss overlays.wordCount is very low (~< 10 words).en, fr). Structural signals may
be BCP-47 (en-US, x-default). Reconciliation normalises on the primary
subtag; raw values are preserved in declared.references/output-schema.md for the vendoring fallback.© adobe, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts, references) in plugins/web/skills/page-langs of adobe/skills.
Open the folder on GitHubat commit cbc9952
Page Langs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Page Langs this skilladobe/skills | 195 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Configure Authdotnet/skills | 5.6k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Sync State Invariantsopenchamber/openchamber | 11k | — | ~2.7k | Automated safety check: Pass | MIT | |
| Odoo L10n Compliancesickn33/agentic-awesome-skills | 47k | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Sync Upstreamnyaruka/phonenumbers | 1.6k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Longbridge Value Investinghelsome/folio | 269 | 2 repos | ~1.2k | Automated safety check: Pass | MIT |
dotnet/skills
Add authentication and authorization to a Blazor Web App, accounting for the app's render mode.
openchamber/openchamber
A skill your agent uses when changing session synchronization, bootstrap or reconnect state, event reducers, polling, optimistic updates, message queues, live activity, ordering/reconciliation…
sickn33/agentic-awesome-skills
Country-specific Odoo localization: tax configuration, e-invoicing (CFDI, FatturaPA, SAF-T), fiscal reporting, and country chart of accounts setup.
nyaruka/phonenumbers
Sync this Go port with a new upstream google/libphonenumber release — regenerate the embedded metadata and reconcile the ported Java logic.
helsome/folio
Value investing analysis using Graham (NCAV/net-net/defensive-investor) and Buffett (economic moat/ROE/FCF) methodologies.
huang-sir1/radiology-skills
Create/audit editable publication tables with source reconciliation; not figures or statistical inference.
adobe/skills
Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.
adobe/skills
Launches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots.
adobe/skills
Extracts icons, metadata, text, forms, videos and social links from any web page with playwright-cli, with SVG icon classification and cleanup.
adobe/skills
Prepare any webpage for clean interaction by detecting and removing disruptive overlays (cookie banners, GDPR consent, modals, popups, newsletter signups, paywalls, login walls).
adobe/skills
Reduce a webpage to a structural skeleton with semantic tokens.
adobe/skills
Use this when converting an AI-generated static HTML page (Stardust, Mobirise, Relume, Lovable, v0, Figma-derived, etc.) into an Edge Delivery Services page while preserving the original design and…
Works with
Categories
Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via…. Page Langs is an agent skill from adobe/skills. Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via cld3-asm WASM).
Page Langs fits situations like: EDS page migrations; hreflang validation; multilingual content verification; : detect languages.
Run `npx skills add adobe/skills --skill page-langs -a claude-code`. Or copy the skill folder (plugins/web/skills/page-langs in adobe/skills) into .claude/skills/page-langs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adobe/skills --skill page-langs -a codex`. Or copy the skill folder (plugins/web/skills/page-langs in adobe/skills) into .agents/skills/page-langs in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adobe/skills --skill page-langs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/page-langs, .gemini/skills/page-langs, .github/skills/page-langs and .opencode/skills/page-langs in your project.
Going by SKILL.md and its folder, Page Langs needs JavaScript for the scripts in its folder and the command-line tools its instructions call (npm and node). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires playwright-cli on PATH and Node 22+. One-time setup: run `npm install --prefix <skill-dir>` to install cld3-asm (WASM, model bundled, no native build). Run `playwright-cli --help` for the command reference..
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Page Langs is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 813 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Page Langs: Configure Auth (dotnet/skills, 5.6k stars), Sync State Invariants (openchamber/openchamber, 11k stars), Odoo L10n Compliance (sickn33/agentic-awesome-skills, 47k stars) and Sync Upstream (nyaruka/phonenumbers, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
adobe (a GitHub organization) maintains it in adobe/skills, which has 195 GitHub stars. The repository holds 105 skills in this directory. The repository was last updated on October 6, 2026.
Source: adobe/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.