OSADO AI Assistant

AI-powered developer skills for os-autoinst-distri-opensuse

Use Cases

Verification planning
Log analysis
Local checks
Documentation
Unit tests
PR creation
You: I changed lib/sles4sap/azure_cli.pm -- what do I need to test?

AI:  Your change touches 1 library file. Here's the verification plan:
     - Unit test: prove -l -Ios-autoinst/ t/sles4sap/azure_cli.t
     - Affected tests: tests/sles4sap/hana_install.pm, tests/sles4sap/azure_deploy.pm
     - Schedules: schedule/sles4sap/hana_node.yaml
     To get a clonable openQA job, confirm the target instance (osd or o3).
You: I have the autoinst-log.txt from a failed job. The hana_install module
     timed out -- was it a real failure or infrastructure lag?

AI:  Running health check on autoinst-log.txt... 1 timeout detected in hana_install.
     Running lag detection... backend loop count: 243,891 (threshold: 100,000).
     Verdict: infrastructure stress on the worker host. The SUT likely had no issue.
     Recommend: re-run the job on a different worker.
You: I edited lib/sles4sap/azure_cli.pm and schedule/sles4sap/hana_node.yaml
     -- what should I run locally?

AI:  Analysing 2 changed files...

     TIER 1 (instant):
       perl -c lib/sles4sap/azure_cli.pm ... PASS
       yamllint schedule/sles4sap/hana_node.yaml ... PASS

     TIER 2 (before commit):
       prove -lv -Ios-autoinst/ t/sles4sap/azure_cli.t ... 12 tests passed
       make tidy ... no changes needed

     All local checks passed. Ready to push.
You: Add a documentation header to tests/sles4sap/qesap_ansible.pm

AI:  Reading file... identified 3 openQA variables (ANSIBLE_PLAYBOOK, PUBLIC_CLOUD_PROVIDER,
     QESAP_DEPLOYMENT_DIR) and 2 library dependencies (lib/sles4sap/qesapdeployment.pm,
     lib/publiccloud/utils.pm).
     Header generated from template. Running audit... PASS.
     Metadata check... OK. POD whitespace... OK.
You: I added a new function az_disk_create to lib/sles4sap/azure_cli.pm.
     Generate a unit test for it.

AI:  Scanning az_disk_create... 3 mandatory args (resource_group, name, size_gb),
     1 optional (sku). Generating test skeleton with @calls capture pattern,
     dies_ok for mandatory args, and separate subtest for the optional arg.
     Written to t/21_sles4sap_azure_cli.t (appended 3 new subtests).
     Run: prove -lv -Ios-autoinst/ t/21_sles4sap_azure_cli.t
You: Create a PR for my staged changes.

AI:  Inspecting staged changes... 2 files modified.
     Proposed commit message:
       "Add retry logic to azure_cli resource group creation"
     Written to commit_message.txt -- please review and confirm.

You: Looks good, go ahead.

AI:  Committed. Pushing to origin/add-retry-azure-cli...
     Creating PR against os-autoinst/os-autoinst-distri-opensuse...
     PR #18742 created: https://github.com/os-autoinst/.../pull/18742

Installation

Gemini CLI
Claude Code
Antigravity CLI
OpenCode (OCX)
Install Script

Install as a native Gemini CLI extension:

gemini extensions install https://github.com/mpagot/os-autoinst-distri-opensuse-gemini

Update:

gemini extensions update osado-ai-assistant

Uninstall:

gemini extensions uninstall osado-ai-assistant

Subscribe to the marketplace (one-time):

claude plugin marketplace add mpagot/os-autoinst-distri-opensuse-gemini

Then in a Claude Code session:

/plugin install osado-ai-assistant@openqa-tools

For full OSADO guidelines in every interaction, add to your project's CLAUDE.md:

@OSADO_AGENTS.md

Install as a native Antigravity CLI plugin:

agy plugin install https://github.com/mpagot/os-autoinst-distri-opensuse-gemini.git

Verify:

agy plugin list

Update:

agy plugin uninstall osado-ai-assistant
agy plugin install https://github.com/mpagot/os-autoinst-distri-opensuse-gemini.git

Uninstall:

agy plugin uninstall osado-ai-assistant

OCX Registry (Recommended)

Add our registry and install specific skills dynamically:

ocx registry add https://mpagot.github.io/os-autoinst-distri-opensuse-gemini/ocx --name osado
ocx add osado/local-lint-test

Global Install Script (all harnesses)

Clone the repository and install skills for any supported tool:

git clone https://github.com/mpagot/os-autoinst-distri-opensuse-gemini
cd os-autoinst-distri-opensuse-gemini
./tools/install.sh antigravity install   # Antigravity CLI
./tools/install.sh opencode install      # OpenCode
./tools/install.sh gemini install /path/to/osado-repo
./tools/install.sh claude install /path/to/osado-repo

Update / Uninstall (replace install with update or uninstall):

./tools/install.sh antigravity update
./tools/install.sh opencode uninstall

Skills

vr-planner

Plans verification runs: unit tests, affected modules, YAML schedules, and openqa-clone-job commands.

openqa-log-analyzer

Triage openQA failures, measure command timing, detect infrastructure lag, compare runs.

local-lint-test

Recommends the fastest local commands to validate edited OSADO code before pushing.

test-catalog

Add or audit Perldoc documentation headers following the test catalog standard.

unit-test-wizard

Writes and reviews OSADO Perl unit tests for library modules in lib/.

git-commit

Writes OSADO-compliant git commit messages for staged changes.

github-pr-create

Creates a GitHub pull request handling commit, push, and PR creation in one step.