Parameters
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing URL structure or configuring search engine handling of filtered, sorted, or tracked URLs.
Create or extend an AMC parameter-editor plugin. An agent skill from ArduPilot/MethodicConfigurator.
$ npx skills add ArduPilot/MethodicConfigurator --skill add-new-plugin -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ArduPilot/MethodicConfigurator add-new-plugin --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/ArduPilot/MethodicConfigurator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/add-new-plugin .claude/skills/add-new-plugin && 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-new-plugin" agent skill from https://github.com/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-plugin into .claude/skills/add-new-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-new-plugin", 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/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-pluginType 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 ArduPilot/MethodicConfigurator --skill add-new-plugin -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ArduPilot/MethodicConfigurator add-new-plugin --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArduPilot/MethodicConfigurator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/add-new-plugin .agents/skills/add-new-plugin && 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-new-plugin" agent skill from https://github.com/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-plugin into .agents/skills/add-new-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-new-plugin", 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 ArduPilot/MethodicConfigurator --skill add-new-plugin -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ArduPilot/MethodicConfigurator add-new-plugin --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArduPilot/MethodicConfigurator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/add-new-plugin .cursor/skills/add-new-plugin && 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-new-plugin" agent skill from https://github.com/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-plugin into .cursor/skills/add-new-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-new-plugin", 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/ArduPilot/MethodicConfigurator.git --path .github/skills/add-new-plugin--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 ArduPilot/MethodicConfigurator --skill add-new-plugin -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ArduPilot/MethodicConfigurator add-new-plugin --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArduPilot/MethodicConfigurator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/add-new-plugin .gemini/skills/add-new-plugin && 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-new-plugin" agent skill from https://github.com/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-plugin into .gemini/skills/add-new-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-new-plugin", 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 ArduPilot/MethodicConfigurator add-new-pluginInstalls 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 ArduPilot/MethodicConfigurator --skill add-new-plugin -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ArduPilot/MethodicConfigurator.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/add-new-plugin .github/skills/add-new-plugin && 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-new-plugin" agent skill from https://github.com/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-plugin into .github/skills/add-new-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-new-plugin", 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 ArduPilot/MethodicConfigurator --skill add-new-plugin -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ArduPilot/MethodicConfigurator add-new-plugin --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArduPilot/MethodicConfigurator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/add-new-plugin .opencode/skills/add-new-plugin && 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-new-plugin" agent skill from https://github.com/ArduPilot/MethodicConfigurator/tree/master/.github/skills/add-new-plugin into .opencode/skills/add-new-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-new-plugin", 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-new-pluginCreate or extend an AMC parameter-editor plugin. An agent skill from ArduPilot/MethodicConfigurator.
Add New Plugin is an agent skill from ArduPilot/MethodicConfigurator. Create or extend an AMC parameter-editor plugin. Covers plugin-local model/view factories, startup registration, schema and step wiring, lifecycle, offline operation, conditional visibility, architecture documentation and tests.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: A clear ArduPilot configuration sequence. The licence is GPL-3.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9cd3ca1. 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 python and json).
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.
Add New Plugin loads about 2.1k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 837 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 ArduPilot/MethodicConfigurator at commit 9cd3ca1, republished under its GPL-3.0 licence (© ArduPilot). 837 words, ~2,066 tokens.
.claude/skills/add-new-plugin/SKILL.md (or your agent's skills folder).Read .github/copilot-instructions.md and relevant architecture guidance.
Use CodeGraph when available to inspect PluginFactory, PluginModelContext,
ParameterEditor.create_plugin_data_model() and a similar existing plugin.
Plugin-specific Python modules belong under
ardupilot_methodic_configurator/plugins/, not directly in the package root.
PLUGIN_<NAME> in
ardupilot_methodic_configurator/plugins/plugin_constants.py.ardupilot_methodic_configurator/plugins/data_model_<name>.py for the
model and its typed business logic dependencies.ardupilot_methodic_configurator/plugins/frontend_tkinter_<name>.py
for the view and both factories.(module_name, registration_function_name) to the lazy registrations
tuple in ardupilot_methodic_configurator/__main__.py:register_plugins().
Preserve independent import/error handling so one broken plugin does not
prevent others from registering.ardupilot_methodic_configurator/configuration_steps_schema.json at
plugin > properties > name > enum.ardupilot_methodic_configurator/configuration_steps_<VehicleType>.json
entries.ARCHITECTURE_<name>.md.ParameterEditor.create_plugin_data_model() is the shared dispatch point: it
checks registration and flight-controller requirements, builds a
PluginModelContext, and calls the registered model factory. Keep plugin model
logic in data_model_<name>.py; do not add plugin-specific imports or
branches to the shared dispatcher. The four shared source integration points
are the constant, startup registration, plugin-local registration and schema;
step wiring and documentation complete the feature.
Use actual plugin types for view constructors. Factory adapters accept shared interfaces; follow existing narrowly scoped typing adaptations.
Minimal illustrative fragment for
ardupilot_methodic_configurator/plugins/frontend_tkinter_<name>.py; it shows
the factory wiring and assumes the example model and view classes are defined
in that module.
from ardupilot_methodic_configurator.plugins.plugin_constants import PLUGIN_EXAMPLE
from ardupilot_methodic_configurator.plugins.plugin_factory import PluginModelContext, plugin_factory
def _create_model(context: PluginModelContext) -> ExampleDataModel:
return ExampleDataModel(context.parameter_editor)
def _create_view(parent: tk.Frame | ttk.Frame, model: object, base_window: object) -> ExampleView:
return ExampleView(parent, model, base_window) # type: ignore[arg-type]
def register_example_plugin() -> None:
plugin_factory.register(
PLUGIN_EXAMPLE,
_create_view,
_create_model,
requires_flight_controller=False,
)The context provides flight_controller, local_filesystem and
parameter_editor; inject only needed dependencies. FC-required plugins use
requires_flight_controller=True (the default). Explicitly opt out for plugins
that transform staged parameters and should work offline.
placement is "left" or "top". Use existing JSON "if" support for
firmware/component-dependent visibility instead of duplicating rules in views.
For example, a plugin restricted to firmware below 4.7.0:
"plugin": {
"name": "example",
"placement": "top",
"if": "Version(vehicle_components['Flight Controller']['Firmware']['Version'].split(' ')[0]) < Version('4.7.0')"
}ParameterEditor.get_plugin() evaluates conditions and hides plugins when
false or evaluation fails. Test thresholds and unresolved versions as relevant.
Use existing version sources consistently; do not assume a connected FC.
Respect requested comparison semantics, including prereleases.
Update every applicable bundled vehicle-type JSON. Customized project JSON
can override bundled configuration: document required custom-project wiring.
Check the actual parameter groups and firmware support for each vehicle before
wiring a step. Include a vehicle family only when its firmware provides the
plugin's controls; do not infer support from similar names such as ATC_* and
AR_*. For firmware-gated behavior, verify the parameter's first supported
release and use that evidence to justify the condition.
PluginView behavior, including activation, deactivation and
destruction. Cancel timers, callbacks and resources when hidden or removed.
Simple views can have no-op lifecycle hooks._() and provide tooltips for interactive controls.BaseWindow for standalone windows; follow existing embedded-view patterns.parameter.change_reason and
the parameter's setter APIs. change_reason_for_file is the serialized form
and can include markers such as @manual_override; do not feed that form
back as user text or append markers yourself.plugins/frontend_tkinter_helpers.py.Optional renderer modules also belong under plugins/; keep them independent
of Tkinter. Do not add a renderer if ordinary widgets suffice.
Architecture documentation should explain components, file map, requirements, data flow, external operations and lifecycle. Link domain research separately when useful. Cite upstream ArduPilot source with a stable tag or commit permalink, not a local checkout path, and verify firmware claims including the first release that supports a parameter or feature.
When adding or moving documentation, check the exact path against REUSE.toml.
Root-level globs such as *.md do not cover nested directories; add an SPDX
header or a matching annotation for the file's path.
Because plugins are imported dynamically, inspect the Windows, macOS and Linux PyInstaller specs when adding a plugin package or registration. Ensure the plugin modules and any required package data are collected in frozen builds.
Follow .github/skills/pytest-testing/SKILL.md. Test:
Run focused and affected regression tests, Ruff formatting/checks, type checks and Pylint. Use markdownlint for Markdown, not Ruff. Distinguish pre-existing or environment errors from regressions. Sync CodeGraph when appropriate.
Verify importability, registration, schema, eligible steps, tests and architecture
documentation before finishing. Keep inline guidance in plugin_constants.py
and __main__.py consistent with the factory design.
© ArduPilot, GPL-3.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 .github/skills/add-new-plugin of ArduPilot/MethodicConfigurator.
Open the folder on GitHubat commit 9cd3ca1
Add New Plugin 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 New Plugin this skillArduPilot/MethodicConfigurator | 163 | — | ~2.1k | Automated safety check: Pass | GPL-3.0 | |
| Parametersthedaviddias/Front-End-Checklist | 74k | — | ~638 | Automated safety check: Pass | MIT | |
| Handsontable Cell Editor Developerhandsontable/handsontable | 22k | — | ~3.8k | Automated safety check: Pass | Custom licence | |
| Editor Test Harvesterudecode/plate | 17k | — | ~7.6k | Automated safety check: Pass | Custom licence | |
| Java Refactoring Remove Parametergithub/awesome-copilot | 40k | 1 repos | ~738 | Automated safety check: Pass | MIT | |
| Extending Hobby Smoke TestsPostHog/posthog | 40k | — | ~1.5k | Automated safety check: Pass | Custom licence |
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing URL structure or configuring search engine handling of filtered, sorted, or tracked URLs.
handsontable/handsontable
Guides building a new Handsontable cell editor through its four-state lifecycle, DOM setup, viewport-aware positioning and async validation, matching the grid's existing editor classes.
udecode/plate
Mine external editor repositories for portable editor-behavior tests with ClawSweeper-style discipline: multi-pass exhaustive inventory, confidence scoring, framework-specific skip reasons…
github/awesome-copilot
Refactoring using Remove Parameter in Java Language. An agent skill from github/awesome-copilot.
PostHog/posthog
Design, extend, review, or debug PostHog Hobby end-to-end smoke tests in bin/hobby-ci.py and .github/workflows/ci-hobby.yml.
udecode/plate
Turn an editor-test-harvester report into one lane-specific execution plan, e.g.
ArduPilot/MethodicConfigurator
Update existing GUI translations using AI assistance. An agent skill from ArduPilot/MethodicConfigurator.
ArduPilot/MethodicConfigurator
Add a new translation language to the application. An agent skill from ArduPilot/MethodicConfigurator.
ArduPilot/MethodicConfigurator
Validate and update ARCHITECTUREn.md files against actual source code implementation.
ArduPilot/MethodicConfigurator
Analyze the codebase structure and count lines of code by category using cloc.
ArduPilot/MethodicConfigurator
Add, delete, or re-order configuration steps in configurationsteps.json.
ArduPilot/MethodicConfigurator
Write high-quality BDD pytest tests for the ArduPilot Methodic Configurator.
Create or extend an AMC parameter-editor plugin. An agent skill from ArduPilot/MethodicConfigurator. Add New Plugin is an agent skill from ArduPilot/MethodicConfigurator. Create or extend an AMC parameter-editor plugin.
Run `npx skills add ArduPilot/MethodicConfigurator --skill add-new-plugin -a claude-code`. Or copy the skill folder (.github/skills/add-new-plugin in ArduPilot/MethodicConfigurator) into .claude/skills/add-new-plugin in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ArduPilot/MethodicConfigurator --skill add-new-plugin -a codex`. Or copy the skill folder (.github/skills/add-new-plugin in ArduPilot/MethodicConfigurator) into .agents/skills/add-new-plugin 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 ArduPilot/MethodicConfigurator --skill add-new-plugin -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-new-plugin, .gemini/skills/add-new-plugin, .github/skills/add-new-plugin and .opencode/skills/add-new-plugin in your project.
SKILL.md names no scripts, command-line tools or credentials: Add New Plugin 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.
Add New Plugin is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.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 Add New Plugin: Parameters (thedaviddias/Front-End-Checklist, 74k stars), Handsontable Cell Editor Developer (handsontable/handsontable, 22k stars), Editor Test Harvester (udecode/plate, 17k stars) and Java Refactoring Remove Parameter (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ArduPilot (a GitHub organization) maintains it in ArduPilot/MethodicConfigurator, which has 163 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.
Source: ArduPilot/MethodicConfigurator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.