configuration-steps-reorder
Manages configuration step files in the ArduPilot environment.
Install
mkdir -p .claude/skills/configuration-steps-reorder && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10425" && unzip -o skill.zip -d .claude/skills/configuration-steps-reorder && rm skill.zipInstalls to .claude/skills/configuration-steps-reorder
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Add, delete, or re-order configuration steps in configuration_steps_*.json. Use when inserting new param files, deleting steps, renaming .param files with param_reorder.py, updating vehicle templates, or migrating parameters between files in backend_filesystem_migration.py.Key capabilities
- →Add configuration steps
- →Delete configuration steps
- →Re-order configuration steps
- →Migrate parameter files
- →Propagate changes to vehicle templates
How it works
It updates configuration JSON files and migration scripts, then propagates these changes across vehicle templates.
Inputs & outputs
When to use configuration-steps-reorder
- →Renaming parameter files
- →Reordering configuration steps
- →Migrating params between files
About this skill
Add, delete or re-order configuration steps
This workflow primarily targets ArduCopter but the propagation step (step 15) covers other
vehicle types (configuration_steps_ArduPlane.json, configuration_steps_Rover.json,
configuration_steps_Heli.json).
When to use old_filenames vs backend_filesystem_migration.py
- Simple renames only (no parameter moves, no new files, no deletions): add the old
filename(s) to the
old_filenameslist of the new entry inconfiguration_steps_*.json. No migration code is needed. Skip steps 7–10 in this case. - Moving parameters between files, creating new files whose content is not derived from
existing files, or deleting files entirely: update
backend_filesystem_migration.pyas described in step 2 below.
Steps
- Update
ardupilot_methodic_configurator/configuration_steps_ArduCopter.json:- Add new step entries or delete old ones.
- For simple renames (no renumbering), manually add the old filename(s) to the
old_filenameslist of the new entry so existing vehicle projects migrate automatically on next launch. Skip steps 7–10 in this case. - When renumbering via param_reorder.py (steps 7–10),
old_filenamesis updated automatically — no manual edit needed here.
- (Skip if only simple renames are involved — handled by
old_filenamesabove) Updateardupilot_methodic_configurator/backend_filesystem_migration.py:- Increment
VEHICLE_COMPONENTS_FORMAT_VERSION. - Add
_PARAM_MOVES_Vx_TO_Vy(x = old version, y = new version) for any parameters that move from one file to another. - Add
_NEW_FILES_Vx_TO_Vyfor brand-new files whose content is not derived from any existing file. - Add
_FILES_TO_DELETE_Vx_TO_Vyfor files that are removed from the sequence.
- Increment
- Run the linters locally:
ruff format && ruff check --fix && ty check && mypy && pyright - Commit the
configuration_steps_*.jsonandbackend_filesystem_migration.pychanges to git. - Execute
python ./update_vehicle_templates.pyto propagate the changes across all vehicle template directories: it applies anyold_filenamesrenames, updatesvehicle_components.jsonstructure, and recomputes and saves derived/forced parameter values. - Review the updated vehicle template directories and commit the results to git.
- (Skip if no files need renumbering or explicit renaming)
Edit the
file_renamesdict in param_reorder.py to map each old filename to its new filename. If you only need to auto-renumber files to match their position in the JSON sequence (e.g., after inserting or deleting a step),file_renamescan remain empty —param_reorder.pywill renumber based on sequence order automatically. - Run the linters locally:
ruff format && ruff check --fix && ty check && mypy && pyright - Commit the
param_reorder.pychanges to git. - Execute
python .github/skills/configuration-steps-reorder/scripts/param_reorder.pyto rename.paramand.pdef.xmlfiles on disk (usinggit mvwhen tracked), update all filename references in*.py,*.json, and*.mdfiles across the repository, and populateold_filenamesinconfiguration_steps_ArduCopter.jsonautomatically. The script also validates that every old filename listed infile_renamesis referenced in eachTUNING_GUIDE_*.mdfile — check the output for errors if some references were not updated. - Review the renamed files and updated references, then commit the results to git.
- Update
TUNING_GUIDE_ArduCopter.md— pay special attention to section numbers and markdown anchor references that may have changed. - Update
ardupilot_methodic_configurator/configuration_steps_ArduCopter.jsonto fix any cross-references to renamed tuning guide sections. Hand edit the "phases" -> "start" numbers to match the new groups. - Update
README.mdto reflect any added, removed, or reordered configuration steps. - Compare and propagate fixes to other vehicles (ArduPlane, Heli, Rover):
- Compare
TUNING_GUIDE_ArduCopter.mdwith the other vehicle tuning guides and update them accordingly. - Compare
ardupilot_methodic_configurator/configuration_steps_ArduCopter.jsonwith the other vehicle configuration steps files and update them accordingly. - Ensure each vehicle's
TUNING_GUIDE_*.mdretains its vehicle-type-specific content. - Ensure each
ardupilot_methodic_configurator/configuration_steps_*.jsonreferences its own tuning guide, not the copter's tuning guide.
- Compare
- Run
pytestand confirm all tests pass. - Commit all remaining changes to git.
When not to use it
- →Simple renames without parameter moves
Limitations
- →Requires careful handling of cross-references
How it compares
This automates the complex, multi-file propagation and migration process compared to manual updates.
Compared to similar skills
configuration-steps-reorder side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| configuration-steps-reorder (this skill) | 0 | 2mo | Review | Advanced |
| schedules | 1 | 2mo | Review | Beginner |
| plan-cache-lookup | 0 | 28d | No flags | Advanced |
| orchestrator | 0 | 3mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
schedules
windmill-labs
MUST use when configuring schedules.
plan-cache-lookup
paulingham
Plan-phase Stage 0 gate that checks the local plan-template cache for a matching (task_class, repo_hash, tier, critical) key. Slice B ships MISS-only: emits PLAN_CACHE_MISS with a structured reason (no-template, disabled, shadow-mode) and lets the orchestrator fall through to recon + architect. The
orchestrator
taniwhaai
Use this skill when running as an ephemeral orchestrator subagent for a Taniwha project. The skill instructs the agent to read project state from disk, decide the single next action the dispatcher should take, write that decision back to disk, and exit. Trigger this whenever the dispatcher has invok
fleet-onboarding
OgenticAI
One-shot onboarding for the existing OgenticAI fleet — discover every active repo + Linear project, map repos to their owning projects, ensure factory labels exist, then bulk-install the factory into each repo through PRs (no direct pushes to main). Two human approval gates total, regardless of how
applescript
martinholovsky
Expert in AppleScript and JavaScript for Automation (JXA) for macOS system scripting. Specializes in secure script execution, application automation, and system integration. HIGH-RISK skill due to shell command execution and system-wide control capabilities.
bazel-build-optimization
wshobson
Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.