Has Selector
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets or components that use JavaScript to toggle classes on parent elements based on child state, form input values, or content presence — :has() may…
Add or update a Sim dynamic selector using the shared manifest, server attachment, and selectors.execute path.
$ npx skills add simstudioai/sim --skill add-selector -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install simstudioai/sim add-selector --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/simstudioai/sim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-selector .claude/skills/add-selector && 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 "add-selector" agent skill from https://github.com/simstudioai/sim/tree/main/.agents/skills/add-selector into .claude/skills/add-selector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-selector", 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/simstudioai/sim/tree/main/.agents/skills/add-selectorType 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 simstudioai/sim --skill add-selector -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install simstudioai/sim add-selector --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simstudioai/sim.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/add-selector .agents/skills/add-selector && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-selector" agent skill from https://github.com/simstudioai/sim/tree/main/.agents/skills/add-selector into .agents/skills/add-selector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-selector", 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 simstudioai/sim --skill add-selector -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install simstudioai/sim add-selector --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simstudioai/sim.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/add-selector .cursor/skills/add-selector && 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 "add-selector" agent skill from https://github.com/simstudioai/sim/tree/main/.agents/skills/add-selector into .cursor/skills/add-selector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-selector", 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/simstudioai/sim.git --path .agents/skills/add-selector--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 simstudioai/sim --skill add-selector -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install simstudioai/sim add-selector --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simstudioai/sim.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/add-selector .gemini/skills/add-selector && 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 "add-selector" agent skill from https://github.com/simstudioai/sim/tree/main/.agents/skills/add-selector into .gemini/skills/add-selector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-selector", 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 simstudioai/sim add-selectorInstalls 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 simstudioai/sim --skill add-selector -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/simstudioai/sim.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/add-selector .github/skills/add-selector && 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 "add-selector" agent skill from https://github.com/simstudioai/sim/tree/main/.agents/skills/add-selector into .github/skills/add-selector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-selector", 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 simstudioai/sim --skill add-selector -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install simstudioai/sim add-selector --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simstudioai/sim.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/add-selector .opencode/skills/add-selector && 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 "add-selector" agent skill from https://github.com/simstudioai/sim/tree/main/.agents/skills/add-selector into .opencode/skills/add-selector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-selector", 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.
add-selectorAdd or update a Sim dynamic selector using the shared manifest, server attachment, and selectors.execute path.
Add Selector is an agent skill from simstudioai/sim. Add or update a Sim dynamic selector using the shared manifest, server attachment, and selectors.execute path. Use for provider-backed, internal, or local option lists referenced by block, trigger, or connector selectorKey fields.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
The repository describes itself as: Sim is the collaborative workspace to build, deploy, and monitor AI agents and workflows. Used by 100,000+ builders. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 546d4e7. 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.
Shell commands in SKILL.md call:
bungitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, 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.
Add Selector loads about 1.7k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 820 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); files beside SKILL.md are not scanned.
The full file from simstudioai/sim at commit 546d4e7, republished under its Apache-2.0 licence (© simstudioai). 820 words, ~1,740 tokens.
.claude/skills/add-selector/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Dynamic selectors expose option metadata while a workflow or connector is being configured. Every
remote selector executes through the authorized selectors.execute application operation; the
browser never resolves credentials or calls a provider directly.
Before editing, read:
apps/sim/lib/selectors/types.tsapps/sim/lib/selectors/manifest.tsapps/sim/lib/selectors/context.tsapps/sim/lib/selectors/server/types.tsapps/sim/lib/selectors/server/registry.tsapps/sim/hooks/queries/selectors.tsThen read the nearest existing selector attachment and the block, trigger, or connector declaration that will consume the key.
provider-server: contacts an external provider or uses provider credentials.internal-server: reads protected Sim data through an existing authorized application use case.local: pure browser-safe data with no protected data, credentials, references, or network I/O.Add every key to the browser-safe manifest in lib/selectors/manifest.ts. SelectorKey derives from
that manifest; do not maintain a second union. Manifest entries contain data only: allowed context,
readiness, scope kinds, list/search/detail capabilities, and stale time. Do not import provider SDKs,
credentials, server helpers, or attachment functions into the manifest.
Declare dependsOn on the consuming sub-block or connector field. The shared context builder sends
only declared, active dependencies:
{{GMAIL_CREDENTIAL_ID}} remain unresolved in the browser.https://{{HOST}}/path is unsupported.impersonateUserEmail is the one explicit compatibility hint projected when the manifest allows
it, even when it is absent from dependsOn.Add a new SelectorContextKey only when the value is a real, reusable selector dependency. Allow it
explicitly on each relevant manifest entry. Never send a full block or connector configuration.
For provider-server, add the service's attachment map under
apps/sim/lib/selectors/server/providers/ and include it in the exhaustive server registry. For
internal-server, add the attachment in apps/sim/lib/selectors/server/internal.ts. Local keys use
the exhaustive browser-safe registry in apps/sim/lib/selectors/client/local.ts and never enter the
server registry. A provider attachment declares:
serviceIds. Raw-connection selectors instead validate the connection material projected from
their allowed context and bind it to a deliberate destination policy.fixed, credential-bound, or user-controlled.id, label, and allowlisted scalar meta.Stored credentials must pass actor-use, workspace, and provider/service binding checks. Do not trust a provider, service, operation kind, origin, or module name supplied by the browser.
Choose the destination policy deliberately:
fixed: provider origin is code-defined.credential-bound: origin/account/site comes from, or is verified against, the authorized
credential.user-controlled: the user selects the destination. Hidden use-only authentication requires an
explicit security policy; do not combine it with an arbitrary destination by default.Reuse or extract a server-only provider listing primitive. A provider route exists only when it has a non-selector caller, and then it is a thin caller of that primitive; there are no selector-only routes or contracts. Never import a route handler or make an internal HTTP request from an attachment.
The attachment must return normalized selector results only. It must never deliberately or wholesale echo selector context, and hidden/server-only resolved material, credential IDs, tokens, and authentication secrets must never cross the response boundary. Browser-known literals and viewable personal/shared values are not automatically server-only secrets, but they may appear in an option only when the adapter intentionally projects them as provider resource metadata. Let the shared executor own scope authorization, exact-reference resolution, credential authorization, error projection, and output sanitization; adapters must pass and preserve the executor's abort signal during provider work.
Point the block, trigger, or connector field at selectorKey and declare its dependsOn fields.
Keep connector selector/manual canonical pairs and fork reconfiguration behavior intact. Static
options stay local and need no selector.
Do not add:
All server selectors use the shared POST contract and React Query facade. Query identities must stay opaque and must not include context values, references, credential IDs, secrets, or their hashes. Selector code must not add context, token, or result caches. The sole existing cache exception is authorized client-credential resolution after authorization and provider binding: it may reuse the credential service's TTL-governed, lazily pruned process-local token cache. This exception requires explicit security-owner acceptance; do not broaden it or describe it as hard-bounded.
Follow nearby Vitest and route-test style. Do not add an authorization matrix for every ordinary provider attachment; the shared executor tests own shared security behavior.
Add a focused adapter test when behavior is special, such as pagination, nontrivial destination binding, provider-specific projection, or a raw-connection policy. For an ordinary fixed-origin OAuth list, manifest/registry exhaustiveness plus an existing provider primitive test is usually enough.
Run the smallest relevant set, then:
bun run --cwd apps/sim test <focused selector tests>
bun run --cwd apps/sim type-check
bun run check:fork-dependent-coverage
bun run check:client-boundary
git diff --checkConfirm there is no browser-side provider call, every server key has one attachment, and every returned option is explicitly projected.
© simstudioai, 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 1 other file in .agents/skills/add-selector of simstudioai/sim.
Open the folder on GitHubat commit 546d4e7
Add Selector 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 |
|---|---|---|---|---|---|---|
| Add Selector this skillsimstudioai/sim | 30k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Has Selectorthedaviddias/Front-End-Checklist | 74k | — | ~547 | Automated safety check: Pass | MIT | |
| Dynamic Workflow Modeaffaan-m/ECC | 274k | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Molecular DynamicsK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Dynamic WorkflowNousResearch/hermes-agent | 252k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Web App Manifestthedaviddias/Front-End-Checklist | 74k | — | ~491 | Automated safety check: Pass | MIT |
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets or components that use JavaScript to toggle classes on parent elements based on child state, form input values, or content presence — :has() may…
affaan-m/ECC
Design task-local harnesses, eval gates, and reusable skill extraction for Claude dynamic workflow mode and other adaptive agent harnesses.
K-Dense-AI/scientific-agent-skills
Runs and analyzes molecular dynamics simulations with OpenMM and MDAnalysis.
NousResearch/hermes-agent
Plan-in-code fan-outs, adversarial verification, waves. An agent skill from NousResearch/hermes-agent.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Link a Web App Manifest for installability.
google/adk-recipes
Scan an ADK recipe directory and generate a manifest.yaml for it based on the schema at .github/schemas/manifest-schema.json.
simstudioai/sim
Install, upgrade, and operate the Sim Helm chart on Kubernetes.
simstudioai/sim
Add a new table column type to Sim — registry entry, icon, storage shape, coercion, and the behavioral hooks the grid and API read.
simstudioai/sim
Add a code-defined table enrichment (registry entry) under apps/sim/enrichments/ backed by an ordered provider cascade, ensuring every provider tool it calls has hosted-key support.
simstudioai/sim
Add hosted API key support to a tool so Sim provides the key (metered and billed to the workspace) when a user has not brought their own.
simstudioai/sim
Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification…
simstudioai/sim
Drive a PR to a clean review (Greptile 5/5, zero open threads) — ships if needed, keeps it mergeable against staging, re-triggers both Greptile and cubic, fixes real findings, replies to and…
Add or update a Sim dynamic selector using the shared manifest, server attachment, and selectors.execute path. Add Selector is an agent skill from simstudioai/sim.execute path.
Add Selector fits situations like: provider-backed; local option lists referenced by block; connector selectorKey fields.
Run `npx skills add simstudioai/sim --skill add-selector -a claude-code`. Or copy the skill folder (.agents/skills/add-selector in simstudioai/sim) into .claude/skills/add-selector in your project. Claude Code loads it when a task matches its description.
Run `npx skills add simstudioai/sim --skill add-selector -a codex`. Or copy the skill folder (.agents/skills/add-selector in simstudioai/sim) into .agents/skills/add-selector 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 simstudioai/sim --skill add-selector -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-selector, .gemini/skills/add-selector, .github/skills/add-selector and .opencode/skills/add-selector in your project.
Going by SKILL.md and its folder, Add Selector needs the command-line tools its instructions call (bun and git).
SKILL.md contains no URLs. Its commands use git, 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. Review the folder before installing.
Add Selector is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Selector: Has Selector (thedaviddias/Front-End-Checklist, 74k stars), Dynamic Workflow Mode (affaan-m/ECC, 274k stars), Molecular Dynamics (K-Dense-AI/scientific-agent-skills, 48k stars) and Dynamic Workflow (NousResearch/hermes-agent, 252k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
simstudioai (a GitHub organization) maintains it in simstudioai/sim, which has 29,785 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on October 7, 2026.
Source: simstudioai/sim on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.