Career-Ops Gmail Lead Plugin
career-ops-hq/career-ops
Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.
A skill your agent uses when the task needs to browse a website with rote, browse Gmail or an email web app with rote, attach to an active browser, inspect logged-in web app state, snapshot or slice…
$ npx skills add modiqo/skillspec --skill rote-browse -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install modiqo/skillspec rote-browse --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/modiqo/skillspec.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/rote-browse .claude/skills/rote-browse && 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 "rote-browse" agent skill from https://github.com/modiqo/skillspec/tree/main/.claude/skills/rote-browse into .claude/skills/rote-browse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rote-browse", 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/modiqo/skillspec/tree/main/.claude/skills/rote-browseType 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 modiqo/skillspec --skill rote-browse -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install modiqo/skillspec rote-browse --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/modiqo/skillspec.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/rote-browse .agents/skills/rote-browse && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rote-browse" agent skill from https://github.com/modiqo/skillspec/tree/main/.claude/skills/rote-browse into .agents/skills/rote-browse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rote-browse", 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 modiqo/skillspec --skill rote-browse -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install modiqo/skillspec rote-browse --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/modiqo/skillspec.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/rote-browse .cursor/skills/rote-browse && 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 "rote-browse" agent skill from https://github.com/modiqo/skillspec/tree/main/.claude/skills/rote-browse into .cursor/skills/rote-browse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rote-browse", 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/modiqo/skillspec.git --path .claude/skills/rote-browse--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 modiqo/skillspec --skill rote-browse -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install modiqo/skillspec rote-browse --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/modiqo/skillspec.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/rote-browse .gemini/skills/rote-browse && 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 "rote-browse" agent skill from https://github.com/modiqo/skillspec/tree/main/.claude/skills/rote-browse into .gemini/skills/rote-browse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rote-browse", 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 modiqo/skillspec rote-browseInstalls 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 modiqo/skillspec --skill rote-browse -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/modiqo/skillspec.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/rote-browse .github/skills/rote-browse && 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 "rote-browse" agent skill from https://github.com/modiqo/skillspec/tree/main/.claude/skills/rote-browse into .github/skills/rote-browse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rote-browse", 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 modiqo/skillspec --skill rote-browse -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install modiqo/skillspec rote-browse --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/modiqo/skillspec.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/rote-browse .opencode/skills/rote-browse && 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 "rote-browse" agent skill from https://github.com/modiqo/skillspec/tree/main/.claude/skills/rote-browse into .opencode/skills/rote-browse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rote-browse", 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.
rote-browseA skill your agent uses when the task needs to browse a website with rote, browse Gmail or an email web app with rote, attach to an active browser, inspect logged-in web app state, snapshot or slice…
Rote Browse is an agent skill from modiqo/skillspec. Use when the task needs to browse a website with rote, browse Gmail or an email web app with rote, attach to an active browser, inspect logged-in web app state, snapshot or slice a page, click or type in a page and recover a stale browser ref or page lease. Handles browser handoff and page evidence and dependency checks. Requires skillspec decide before substrate tools or overlapping low-level skills. Preserves evidence with SkillSpec routes, forbids, dependencies, traces, and token-savings reports
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `skill.spec.yml`).
It sits in Productivity & Automation, covering Email management. It works with Gmail. The repository describes itself as: SkillSpec makes agent skills followable, testable, and provable with Doctor risk reports, guided imports, structured contracts, and alignment proof. The licence is Apache-2.0.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f4d9ab5. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Rote Browse loads about 2.2k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 1,059 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 modiqo/skillspec at commit f4d9ab5, republished under its Apache-2.0 licence (© modiqo). 1,059 words, ~2,243 tokens.
.claude/skills/rote-browse/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Browser automation through rote with page leases, snapshots, slices, attach-existing sessions, auth gates, and cleanup.
skillspec decide ./skill.spec.yml --input='<user task>' --trace-dir "${PWD}/.skillspec/traces" and read the decision JSON.SKILL.md, loading the colocated skill.spec.yml, and running SkillSpec navigation or decision commands for this spec.This skill is a thin loader for the colocated skill.spec.yml. The spec is the source of truth for routes, rules, dependencies, imports, resources, recipes, tests, and trace requirements. Do not treat the spec as background prose; treat it as the execution contract for this task.
Load ./skill.spec.yml from this skill folder before taking task actions.
When the skillspec CLI is available and the spec shape is unfamiliar, run skillspec sensemake ./skill.spec.yml --view index to learn the section roles, counts, query handles, and navigation grammar without dumping the full YAML.
Then run:
skillspec decide ./skill.spec.yml --input='<user task>' --trace-dir "${PWD}/.skillspec/traces"Strip skill invocation prefixes such as /my-skill, $my-skill, or /rote-shell-spec before passing --input.
Preserve the emitted trace run_dir.
Read the decision JSON before using tools. Do not act from route labels alone.
Pull active details with skillspec query ./skill.spec.yml <handle> --view summary and relationship edges with skillspec refs ./skill.spec.yml <handle> --view summary. Prefer precise handles such as rule:<id>, rule:<id>.forbid, command:<id>.requires, and state:<id>.next over reading the whole spec.
Materialize the active contract described below, then execute only actions that satisfy it.
When the CLI is available after a trace exists, run skillspec trace align ./skill.spec.yml --decision-trace <run_dir> and, when structured action evidence exists, add --execution-trace <jsonl>. Report the alignment status, meaning, model layers, evidence gaps, user-facing proof rows, summary, and trace path.
If the CLI is unavailable, read skill.spec.yml directly and apply the same contract manually. Do not expand this loader into a second source of truth.
Before the first task action, convert the decision output and relevant spec sections into a checklist:
route: the selected route is the strategy to use. If no route is selected, stop and ask for the missing task shape instead of inventing a fallback.execution_plan, execute its phases in order before using any tool outside the current phase. A later handoff phase does not license skipping an earlier shell or adapter phase. If a phase declares jumps, take the first matching jump condition and continue at the named phase.handoff, treat it as a hard execution boundary. Follow the handoff target and boundary before using tools from the current skill; stop_current_skill means do not continue current-skill execution except to pass the declared context.matched_rules: these are active obligations, not explanatory decoration. Use each rule's reason, prefer, forbid, elicit, and after_success fields to constrain the next action.forbid: forbids are hard negative constraints on behavior. They block substitutions even when a convenient tool is available. If a forbidden action seems necessary, stop and ask for explicit user approval or a different route; do not silently do it.elicit: ask the required question before irreversible work, side effects, installs, auth steps, or broad exploration.dependencies: prove readiness for the active route, command, recipe, or code block before using it. Prefer command-scoped checks such as skillspec deps check ./skill.spec.yml --command <id> when a command id is known.imports and resources: load only the items required by the active route/rule/recipe/code, plus anything marked always.commands, recipes, and code: use declared templates and ordered steps as the allowed execution surface. Check their requires fields first, preserve outputs as evidence, and do not replace them with unrelated tools unless the active contract allows that substitution.after_success and closures: these are completion obligations. Do them before the final response, or report why they remain unproven.If every allowed route is blocked by missing dependencies, auth, permissions, or a forbid, report the blocker and ask how to proceed. Do not switch to native search, raw shell, browser automation, direct API calls, or installs just because they are available in the harness.
skillspec sensemake ./skill.spec.yml --view index
skillspec validate ./skill.spec.yml
skillspec imports check ./skill.spec.yml
skillspec test ./skill.spec.yml
skillspec deps check ./skill.spec.yml
skillspec query ./skill.spec.yml rule:<id> --view summary
skillspec refs ./skill.spec.yml rule:<id> --view summary
skillspec query ./skill.spec.yml command:<id>.requires
skillspec explain ./skill.spec.yml --input='<user task>' --trace-dir "${PWD}/.skillspec/traces"
skillspec trace align ./skill.spec.yml --decision-trace "${PWD}/.skillspec/traces/<run-id>" --execution-trace <execution-ledger.jsonl>When reporting completion, include the selected route, the SkillSpec trace run_dir, the skillspec trace align status (pass, fail, or unproven), status meaning, decision-replay and execution-proof layer results, evidence gaps, align summary/conclusion, and the user-facing alignment proof rows. Command proof must name only the command basename, never raw args. When rote workspace evidence or stats exist, include a visible Token savings section: name the workspace and response ids/files the user can retrieve later, state measured context-window/API tokens only if queried, explain that the workspace keeps full evidence outside the prompt, and explain that crystallized or remembered reuse can avoid reloading full evidence into the model window. Do not reduce this to a bare token count or invent replay savings.
Minimum final response shape when workspace evidence exists:
Result: answer the user's task directly.Evidence: workspace name plus important response ids/files the user can query later.Token savings: state measured context-window/API tokens when available; otherwise say savings are structurally available but not measured. Explain that full evidence is outside the prompt in the rote workspace and can be retrieved by id/file instead of reloaded into context.SkillSpec: selected route, trace run directory, alignment status, evidence gaps, and proof rows that map request/spec obligations to observed evidence. Never let this replace the Result, Evidence, or Token savings sections.browser_then_shell_handoff: Browse first, then hand off shell evidencebrowser_access_ladder: Try browser access, then shell auth, then adaptersattach_existing_session: Attach to an active browsernew_headed_session: Start a new visible browsernew_headless_session: Start a new headless browsersaved_auth_replay: Use saved browser auth statepage_recovery: Recover browser page or ref statestateful_page_flow: Work through a stateful pagebrowser_flow_crystallization: Crystallize browser exploration© modiqo, 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 2 other files in .claude/skills/rote-browse of modiqo/skillspec.
Open the folder on GitHubat commit f4d9ab5
Rote Browse 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 |
|---|---|---|---|---|---|---|
| Rote Browse this skillmodiqo/skillspec | 706 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Career-Ops Gmail Lead Plugincareer-ops-hq/career-ops | 74k | — | ~233 | Automated safety check: Notes | MIT | |
| Gmailteam-attention/plugins-for-claude-natives | 827 | — | ~967 | Automated safety check: Pass | MIT | |
| Connect Apps with ComposioComposioHQ/awesome-claude-skills | 77k | 3 repos | ~557 | Automated safety check: Pass | None | |
| Gmail Emailopen-gitagent/gitagent | 713 | — | ~235 | Automated safety check: Notes | MIT | |
| Google Workspaceyc-software/qm | 15k | — | ~1.8k | Automated safety check: Pass | MIT |
career-ops-hq/career-ops
Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.
team-attention/plugins-for-claude-natives
This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail.
ComposioHQ/awesome-claude-skills
Connects an agent to 1000+ external apps through the Composio Tool Router plugin, so it can actually send emails, create issues and post messages instead of only drafting them.
open-gitagent/gitagent
Send emails via Gmail SMTP using App Password authentication.
yc-software/qm
Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.
badlogic/pi-skills
Gmail CLI for searching emails, reading threads, sending messages, managing drafts, and handling labels/attachments.
modiqo/skillspec
Multi-agent code review with deep analysis. An agent skill from modiqo/skillspec.
modiqo/skillspec
Document and explain the codebase as-is using parallel sub-agents.
modiqo/skillspec
A skill your agent uses when the task needs to run a local command and remember the result, inspect CLI output with provenance, follow a log or process stream, start or observe a background job…
modiqo/skillspec
A skill your agent uses when writing commit messages, creating PR titles, pushing commits, or creating PRs — ensures conventional commit format and that formatting/linting pass before any push
modiqo/skillspec
A skill your agent uses for CLI and shell work through rote: running local commands with rote exec, capturing stdout/stderr/files, following logs and background processes, checking dependency…
modiqo/skillspec
Review code changes by collecting the review target, researching context, checking risks, and reporting findings before summary.
Works with
Categories
A skill your agent uses when the task needs to browse a website with rote, browse Gmail or an email web app with rote, attach to an active browser, inspect logged-in web app state, snapshot or slice…. Rote Browse is an agent skill from modiqo/skillspec. Use when the task needs to browse a website with rote, browse Gmail or an email web app with rote, attach to an active browser, inspect logged-in web app state, snapshot or slice a page, click or type in a page and recover a stale browser ref or page lease.
Rote Browse fits situations like: the task needs to browse a website with rote; an email web app with rote; attach to an active browser; inspect logged-in web app state.
Run `npx skills add modiqo/skillspec --skill rote-browse -a claude-code`. Or copy the skill folder (.claude/skills/rote-browse in modiqo/skillspec) into .claude/skills/rote-browse in your project. Claude Code loads it when a task matches its description.
Run `npx skills add modiqo/skillspec --skill rote-browse -a codex`. Or copy the skill folder (.claude/skills/rote-browse in modiqo/skillspec) into .agents/skills/rote-browse 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 modiqo/skillspec --skill rote-browse -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rote-browse, .gemini/skills/rote-browse, .github/skills/rote-browse and .opencode/skills/rote-browse in your project.
SKILL.md names no scripts, command-line tools or credentials: Rote Browse is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Rote Browse 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 2.2k tokens (SKILL.md is roughly 9k 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 Rote Browse: Career-Ops Gmail Lead Plugin (career-ops-hq/career-ops, 74k stars), Gmail (team-attention/plugins-for-claude-natives, 827 stars), Connect Apps with Composio (ComposioHQ/awesome-claude-skills, 77k stars) and Gmail Email (open-gitagent/gitagent, 713 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
modiqo (a GitHub organization) maintains it in modiqo/skillspec, which has 706 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on August 9, 2026.
Source: modiqo/skillspec on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.