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.
Create a new PyLops linear operator following docs/source/adding.rst - class file, docstring, tests, docs entry and example.
$ npx skills add PyLops/pylops --skill newop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PyLops/pylops newop --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/PyLops/pylops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/newop .claude/skills/newop && 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 "newop" agent skill from https://github.com/PyLops/pylops/tree/dev/.claude/skills/newop into .claude/skills/newop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "newop", 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/PyLops/pylops/tree/dev/.claude/skills/newopType 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 PyLops/pylops --skill newop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PyLops/pylops newop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PyLops/pylops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/newop .agents/skills/newop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "newop" agent skill from https://github.com/PyLops/pylops/tree/dev/.claude/skills/newop into .agents/skills/newop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "newop", 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 PyLops/pylops --skill newop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PyLops/pylops newop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PyLops/pylops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/newop .cursor/skills/newop && 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 "newop" agent skill from https://github.com/PyLops/pylops/tree/dev/.claude/skills/newop into .cursor/skills/newop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "newop", 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/PyLops/pylops.git --path .claude/skills/newop--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 PyLops/pylops --skill newop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PyLops/pylops newop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PyLops/pylops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/newop .gemini/skills/newop && 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 "newop" agent skill from https://github.com/PyLops/pylops/tree/dev/.claude/skills/newop into .gemini/skills/newop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "newop", 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 PyLops/pylops newopInstalls 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 PyLops/pylops --skill newop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PyLops/pylops.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/newop .github/skills/newop && 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 "newop" agent skill from https://github.com/PyLops/pylops/tree/dev/.claude/skills/newop into .github/skills/newop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "newop", 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 PyLops/pylops --skill newop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PyLops/pylops newop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PyLops/pylops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/newop .opencode/skills/newop && 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 "newop" agent skill from https://github.com/PyLops/pylops/tree/dev/.claude/skills/newop into .opencode/skills/newop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "newop", 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.
newopCreate a new PyLops linear operator following docs/source/adding.rst - class file, docstring, tests, docs entry and example.
Newop is an agent skill from PyLops/pylops. Create a new PyLops linear operator following docs/source/adding.rst - class file, docstring, tests, docs entry and example. Use when the user asks to add/implement/port a new operator into PyLops, including porting an existing non-PyLops forward/adjoint implementation from a URL or a local file (e.g. "add a Foo operator", "turn this script into a PyLops operator", "port the operator at <link").
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `reference/operator_template.py` and `reference/test_template.py`).
It sits in Development, covering Technical documentation. It works with Python. The repository describes itself as: PyLops – A Linear-Operator Library for Python. The licence is LGPL-3.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2f06397. 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 script files (Python), which the agent can run.
Shell commands in SKILL.md call:
makeuvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, 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.
Newop loads about 1.6k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 733 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 PyLops/pylops at commit 2f06397, republished under its LGPL-3.0 licence (© PyLops). 733 words, ~1,580 tokens.
.claude/skills/newop/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Goal: add a new, PyLops-compliant LinearOperator to the library, complete with
docstring, registration, tests, docs entry and a gallery example, following
docs/source/adding.rst (the authoritative guide - read it if unsure).
The operator may be written from scratch (from a mathematical description) or ported from an existing non-PyLops implementation supplied as a web link or a local file. Ask for the operator name and the source only if neither is inferable from the invocation.
WebFetch (or the browser tools if the page needs
JS). Extract the actual forward/adjoint code, not the prose.Then write down explicitly, before touching pylops/:
__init__ arguments, which become derived
members, and which are irrelevant (e.g. plotting, I/O, CLI args);explicit.If the source adjoint is not the true adjoint, say so and implement the correct adjoint - the dot-test in step 4 will fail otherwise. Never relax the dot-test tolerance to make a wrong adjoint pass.
pylops/basicoperators/diagonal.py holds Diagonal). Choose the subpackage by
theme: basicoperators, signalprocessing, waveeqprocessing, optimization,
etc. Create a new subpackage only if nothing fits.pylops.Laplacian).__all__ = ["<Operator>"].__all__ entry in the subpackage __init__.py
(and its module-level summary table), plus the top-level pylops/__init__.py
if the operator is meant to be user-facing as pylops.<Operator>.Use reference/operator_template.py as the skeleton. Key rules:
pylops.LinearOperator and initialize via
super().__init__(dtype=np.dtype(dtype), dims=dims, dimsd=dimsd, name=name).
Prefer dims/dimsd over setting shape directly; shape is derived.
Set explicit=True only when the operator also exposes a dense matrix A._matvec/_rmatvec with @reshaped when the operator is
n-dimensional, so x arrives shaped as dims (dimsd for _rmatvec) and the
return value is flattened for you.pylops.utils.backend.get_array_module, to_cupy_conditional, and friends.
Do not import numpy for array creation inside _matvec/_rmatvec.pylops.utils.typing (NDArray, DTypeLike,
InputDimsLike).name argument (default a short string) for pylops.utils.describe.numpydoc docstring with, at minimum: one-line summary, expanded
description, Parameters, Attributes (when non-obvious), Raises (when the
__init__ validates inputs), and a Notes section giving the maths of forward
and adjoint in .. math:: blocks. Match the level of detail of neighbouring
operators.Add to the existing pytests/test_*.py matching the subpackage, or create a new
one following the same header (the TEST_CUPY_PYLOPS / backend guard block).
Follow reference/test_template.py:
par* dicts, parametrized with @pytest.mark.parametrize("par", [...])
covering real/complex and, where relevant, square/over-/under-determined;assert dottest(Op, nr, nc, rtol=..., complexflag=0 if par["imag"] == 0 else 3, backend=backend)
in every test of a new configuration;Op.todense() @ x, or the original source implementation's output);lsqr / Op / y and assert_array_almost_equal
when the operator is invertible;__init__ raises.Always use uv:
uv run pytest pytests/test_<file>.py -k <Operator> -q
make lint_uvIterate until the dot-test and all assertions pass cleanly.
autosummary block in
docs/source/api/index.rst.examples/plot_<operator>.py (or a tutorial in
tutorials/ for a heavier workflow), following the sphinx-gallery format of
examples/plot_diagonal.py: r""" title/underline/description """ header,
then ###... comment blocks separating narrative from code, and matplotlib
figures showing forward and adjoint (and inversion, if relevant).docs/source/adding.rst)Report back confirming each item:
pylops subpackage__init__, _matvec, _rmatvec implemented (plus todense/matrix if cheap)__init__.pyParameters and a mathematical Notes sectiondottest passes, forward/inverse checkeddocs/source/api/index.rstexamples/ script or tutorials/ scriptmake lint_uv cleanWhen porting, close with a short note on what differed between the source implementation and the PyLops version (adjoint correction, shape/flattening conventions, dtype handling, removed I/O).
© PyLops, LGPL-3.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/newop of PyLops/pylops.
Open the folder on GitHubat commit 2f06397
Newop 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 |
|---|---|---|---|---|---|---|
| Newop this skillPyLops/pylops | 539 | — | ~1.6k | Automated safety check: Pass | LGPL-3.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.
PyLops/pylops
Raise a PyLops operator's test coverage above a threshold (default 90%) by adding or modifying tests.
Works with
Categories
Create a new PyLops linear operator following docs/source/adding.rst - class file, docstring, tests, docs entry and example. Newop is an agent skill from PyLops/pylops.rst - class file, docstring, tests, docs entry and example.
Newop fits situations like: the user asks to add/implement/port a new operator into PyLops; including porting an existing non-PyLops forward/adjoint implementation from a URL; A local file (e.g.
Run `npx skills add PyLops/pylops --skill newop -a claude-code`. Or copy the skill folder (.claude/skills/newop in PyLops/pylops) into .claude/skills/newop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PyLops/pylops --skill newop -a codex`. Or copy the skill folder (.claude/skills/newop in PyLops/pylops) into .agents/skills/newop 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 PyLops/pylops --skill newop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/newop, .gemini/skills/newop, .github/skills/newop and .opencode/skills/newop in your project.
Going by SKILL.md and its folder, Newop needs Python for the scripts in its folder and the command-line tools its instructions call (make and uv). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, 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.
Newop is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.3k 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 Newop: 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.
PyLops (a GitHub organization) maintains it in PyLops/pylops, which has 539 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.
Source: PyLops/pylops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.