Adk Sample Creator
google/adk-python
Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.
Authoring and styling guidelines for the Opentrons /docs MkDocs project.
$ npx skills add Opentrons/opentrons --skill docs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Opentrons/opentrons docs --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/Opentrons/opentrons.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/docs .claude/skills/docs && 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 "docs" agent skill from https://github.com/Opentrons/opentrons/tree/edge/.cursor/skills/docs into .claude/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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/Opentrons/opentrons/tree/edge/.cursor/skills/docsType 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 Opentrons/opentrons --skill docs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Opentrons/opentrons docs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Opentrons/opentrons.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/docs .agents/skills/docs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs" agent skill from https://github.com/Opentrons/opentrons/tree/edge/.cursor/skills/docs into .agents/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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 Opentrons/opentrons --skill docs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Opentrons/opentrons docs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Opentrons/opentrons.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/docs .cursor/skills/docs && 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 "docs" agent skill from https://github.com/Opentrons/opentrons/tree/edge/.cursor/skills/docs into .cursor/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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/Opentrons/opentrons.git --path .cursor/skills/docs--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 Opentrons/opentrons --skill docs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Opentrons/opentrons docs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Opentrons/opentrons.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/docs .gemini/skills/docs && 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 "docs" agent skill from https://github.com/Opentrons/opentrons/tree/edge/.cursor/skills/docs into .gemini/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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 Opentrons/opentrons docsInstalls 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 Opentrons/opentrons --skill docs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Opentrons/opentrons.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/docs .github/skills/docs && 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 "docs" agent skill from https://github.com/Opentrons/opentrons/tree/edge/.cursor/skills/docs into .github/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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 Opentrons/opentrons --skill docs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Opentrons/opentrons docs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Opentrons/opentrons.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/docs .opencode/skills/docs && 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 "docs" agent skill from https://github.com/Opentrons/opentrons/tree/edge/.cursor/skills/docs into .opencode/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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.
docsAuthoring and styling guidelines for the Opentrons /docs MkDocs project.
Docs is an agent skill from Opentrons/opentrons. Authoring and styling guidelines for the Opentrons /docs MkDocs project. Covers file conventions, frontmatter, page titles, header IDs, image formats, tables, code blocks, Python API reference (mkdocstrings, autorefs, macros), and CSS patterns (parts lists, screenshots, icons, instruction lists, side-by-side figures, fonts, colors). Use when writing, editing, or reviewing any file in the docs/ directory, or when the user asks about MkDocs conventions, docstrings, CSS classes, or the Python API reference.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Technical documentation. It works with Python. The repository describes itself as: Software for writing protocols and running them on the Opentrons Flex and Opentrons OT-2. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5bae80d. 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 markdown, html, yaml and python).
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.
Docs loads about 2.8k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 877 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 Opentrons/opentrons at commit 5bae80d, republished under its Apache-2.0 licence (© Opentrons). 877 words, ~2,837 tokens.
.claude/skills/docs/SKILL.md (or your agent's skills folder).The /docs project uses MkDocs with the Material theme, the monorepo plugin, mkdocstrings (Python), autorefs, and macros. Config lives in docs/mkdocs.yml. Extra CSS: opentrons-theme.css, instruction-manuals.css, python-api.css.
/docsThe /docs directory is organized to support multiple documentation publications, site-global shared resources, and project build scripts.
mkdocs.yml and content:| Publication Directory | Description |
|---|---|
docs/absorbance-plate-reader/ | Absorbance Plate Reader Module manual |
docs/flex/ | Opentrons Flex robot manual |
docs/heater-shaker/ | Heater-Shaker Module manual |
docs/hepa-uv/ | HEPA/UV Module manual |
docs/protocol-designer/ | Protocol Designer application manual |
docs/python-api/ | Python API reference and guides |
docs/stacker/ | Flex Stacker Module manual |
docs/temperature-module/ | Temperature Module manual |
docs/thermocycler/ | Thermocycler Module manual |
mkdocs-monorepo-plugin./docs/mkdocs.yml aggregates all publications for the overall site, referencing their content via the monorepo plugin.docs/shared/: Shared Content and Resourcesdocs/shared/ holds assets, MDX-style includes, and support content used across multiple publications:docs/shared/images/ — interface elements used in multiple publications.docs/shared/icons/ — custom Opentrons SVG icons.docs/shared/partials/ — HTML files used to modify the base Material theme.docs/shared/ (e.g., opentrons-theme.css, instruction-manuals.css).shared/ are navigation pages, like docs/shared/modules/index.md./docs/ contains scripts and files for building, developing, and managing the documentation site:mkdocs.yml — main config aggregating all sub-projects with the monorepo plugin.pyproject.toml specifies the uv setup, including the mkdocs package and required plugins.Makefile: Contains commands for building the docs using the virtual environment.Recommendation: Add your new publication as a subdirectory under /docs/, and place shared assets only in shared/. Scripts and configuration should remain at the top level unless specific to a publication.
opentrons-app.mdmkdocs.yml nav.title frontmatter: Required on every page. Controls the sticky title when scrolling and search results. Format: "Publication Name: Page Title". Omit repeated words.---
title: "Opentrons Flex: Support and Contact Information"
------
title: "HEPA/UV Module Instruction Manual"
hide: TOC
---The autorefs plugin warns on duplicate headings across the entire site. Add unique IDs to disambiguate:
## Tips and tip racks { #tips-and-tip-racks-ot2 }
## Tips and tip racks { #tips-and-tip-racks-flex }
## Air gap { #air-gap-building-block }
## Air gap { #air-gap-complex }Format: slug of header text + hyphen + short unique suffix. The # and spaces inside { } are required.
Use Markdown tables by default:
| Specification | Description |
|:--------------|:------------|
| Module weight | 790 g |Switch to HTML tables when you need: rowspan/colspan, embedded lists, or CSS class attributes (e.g., .my-dot status icons).
Column widths (use sparingly — only when auto-widths are unusable):
| Setting {style="width: 25%;"} | Description |
|------|------|
| Flow rates | Set aspirate/dispense speed. |Requires attr_list in markdown_extensions (already enabled globally).
Always declare the language explicitly for syntax highlighting:
```python
foo = "bar"
```No special plugin — use italic text in its own paragraph:
*New in version 2.15*
*Changed in version 2.16:* The `mount` parameter is optional.Combines mkdocstrings (unique IDs = fully qualified object names) with autorefs (cross-page links):
[`InstrumentContext.aspirate()`][opentrons.protocol_api.InstrumentContext.aspirate]
[`aspirate()`][opentrons.protocol_api.InstrumentContext.aspirate]
When [aspirating][opentrons.protocol_api.InstrumentContext.aspirate], you should…
[`well_bottom_clearance`][opentrons.protocol_api.InstrumentContext.well_bottom_clearance]
Adjust the [bottom clearance][opentrons.protocol_api.InstrumentContext.well_bottom_clearance] to…Rules:
(), other objects do notPull an entire class's public docstrings:
::: opentrons.protocol_api.LiquidExclude additional members (must restate global filters):
::: opentrons.protocol_api.Well
options:
filters:
- "!^__"
- "!estimate_liquid_height_after_pipetting"Include only specific members (rare):
::: opentrons.protocol_api.LiquidClass
options:
filters:
- "get_for"Google-style docstrings (configured globally in mkdocs.yml):
"""
Blow an extra amount of air through a pipette's tip to clear it.
Args:
location:
The blowout location.
If no location is specified, the pipette will blow out from its current
position.
*Changed in version 2.16*: Accepts `TrashBin` and `WasteChute` values.
Raises:
RuntimeError: If no location is specified and the location cache is `None`.
Returns:
InstrumentContext: This instance.
"""The @requires_version decorator auto-populates the minimum API version in the reference header — no extra markup needed.
Two global substitutions defined in mkdocs.yml under extra::
extra:
apiLevel: 2.27
robot_stack_version: 8.8.0Use with double braces and a space inside:
requirements = {"robotType": "Flex", "apiLevel": "{{ apiLevel }}"}Substitutions are active in all content including code blocks. Update mkdocs.yml whenever the API level or robot stack version is bumped.
All custom CSS lives in the extra_css files. The patterns below are already defined in the shared theme; use the class names as shown.
Flex grid: 2–4 figures per row depending on window size. Used in hardware manuals.
<div class="parts-list" markdown>
<figure markdown>  <figcaption>(1) Opentrons Flex robot</figcaption> </figure>
<figure markdown>  <figcaption>(1) USB cable</figcaption> </figure>
</div>White-background screenshots need a border to stand out:
<figure class="screenshot" markdown>

</figure>Exactly two images side by side (compare/contrast):
<figure class="side-by-side" markdown>


</figure>For three or more images, use the parts-list pattern instead.
For unboxing/setup steps — numbered items with large blue circular bullets. Close and reopen the div when a header interrupts the list (numbering continues with sane_lists):
<div class="instruction-list" markdown>
1. Unlock the eight latches holding the top to the sides.

2. Remove the top panel.
</div>
### Part 2: Release the Flex
<div class="instruction-list" markdown>
3. Continue with next numbered step…
</div>Insert icons inline using shortcodes (don't overuse for decoration):
Click the :octicons-x-circle-fill-16: on a fixture to remove it.docs/shared/icons/opentrons/. Rename with lowercase-hyphens and .svg extension (e.g., protocol-designer.svg).:opentrons-protocol-designer:mkdocs build — new icons don't appear under mkdocs serve until a full build.Use only outline variants for consistency.
For LED color/pattern tables (modules like Stacker):
<td><span class="my-dot green"></span> Green</td>
<td><span class="my-dot blue"></span> Blue</td>Available colors: white, green, blue, red, yellow. Other colors can be added in CSS file as needed.
Table <th> cells are automatically styled blue (#D0E6FE) by the theme CSS. To highlight cells outside the first row, use an HTML table with explicit <th> placement (e.g., a horizontal header column).
#006CFA#F09D20These are set globally in opentrons-theme.css. Do not override them in page-level CSS.
© Opentrons, 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
Just SKILL.md in .cursor/skills/docs of Opentrons/opentrons.
Open the folder on GitHubat commit 5bae80d
Docs 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 |
|---|---|---|---|---|---|---|
| Docs this skillOpentrons/opentrons | 521 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Adk Sample Creatorgoogle/adk-python | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Crafting Effective Readmescumbucadev/cinemaempoa | 146 | 5 repos | ~669 | Automated safety check: Pass | GPL-3.0 | |
| Acquire Codebase Knowledgegithub/awesome-copilot | 40k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Docs Conventionsflet-dev/flet | 17k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| DDNS Provider DevelopmentNewFuture/DDNS | 4.7k | — | ~558 | Automated safety check: Pass | MIT |
google/adk-python
Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.
cumbucadev/cinemaempoa
A skill your agent uses when writing or improving README files.
github/awesome-copilot
Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.
flet-dev/flet
A skill your agent uses when writing or reviewing Flet documentation, including Python docstrings (Google style, reST roles, admonitions), Markdown docs (cross-references, images, code examples)…
NewFuture/DDNS
Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.
jeka-dev/jeka
MkDocs documentation project reference covering CLI commands, mkdocs.yml configuration, Material theme setup, and plugin integration.
Opentrons/opentrons
Conventions for the opentrons-ai-client React/TypeScript frontend — project structure, API integration, state management (Jotai), feature flags, types, and testing.
Opentrons/opentrons
Conventions for the opentrons-ai-server FastAPI service — project structure, uv dependency management, settings, testing, Docker, and deployment.
Opentrons/opentrons
Conventions for the analyses snapshot testing framework in analyses-snapshot-testing/.
Opentrons/opentrons
CSS Modules conventions, Stylelint rules, design tokens (spacing, colors, typography, border-radius), and patterns for the Opentrons monorepo.
Opentrons/opentrons
E2E testing conventions for Protocol Designer and Labware Library using Playwright + pytest in e2e-testing/.
Opentrons/opentrons
Vite demo and Playwright + Applitools tests for packed @opentrons JS packages in js-package-testing/.
Works with
Categories
Authoring and styling guidelines for the Opentrons /docs MkDocs project. Docs is an agent skill from Opentrons/opentrons. Authoring and styling guidelines for the Opentrons /docs MkDocs project.
Docs fits situations like: reviewing any file in the docs/ directory; the user asks about MkDocs conventions; the Python API reference.
Run `npx skills add Opentrons/opentrons --skill docs -a claude-code`. Or copy the skill folder (.cursor/skills/docs in Opentrons/opentrons) into .claude/skills/docs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Opentrons/opentrons --skill docs -a codex`. Or copy the skill folder (.cursor/skills/docs in Opentrons/opentrons) into .agents/skills/docs 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 Opentrons/opentrons --skill docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs, .gemini/skills/docs, .github/skills/docs and .opencode/skills/docs in your project.
SKILL.md names no scripts, command-line tools or credentials: Docs is instructions for the agent only. Our summary lists: Python 3.
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.
Docs 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.8k tokens (SKILL.md is roughly 11k 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 Docs: Adk Sample Creator (google/adk-python, 22k stars), Crafting Effective Readmes (cumbucadev/cinemaempoa, 146 stars), Acquire Codebase Knowledge (github/awesome-copilot, 40k stars) and Docs Conventions (flet-dev/flet, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Opentrons (a GitHub organization) maintains it in Opentrons/opentrons, which has 521 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 6, 2026.
Source: Opentrons/opentrons on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.