Appium Repository Development Workflow
Repository-readiness routing and handoffs
Use this Skill for repository development readiness and repository-wide
validation. Route Appium driver installation or doctor repair to
skills/setup/SKILL.md, supported existing runtime failures to
skills/appium-troubleshooting/SKILL.md, and real-device XCUITest work through
skills/setup-xcuitest/SKILL.md.
Required inputs
Confirm the repository root, requested validation or edit scope, host OS and
shell, available permissions, and existing uncommitted changes that must be
preserved.
Workflow outline
- Load
AGENTS.md and inspect the workspace without changing it:
git status --short, repository file inventory, node --version,
npm --version, and npm config get registry.
- Run
node tools/appium/setup/scripts/check-node-env.mjs --format summary --report auto. Require top-level
summary.requiredOk: true; report summary.npmConnectivityOk separately
and gate it only when the requested work needs network access.
- Identify the changed or explicitly in-scope files. Read each affected Skill
and Context Asset and verify every changed repository-relative target.
- Make only the requested repository changes, preserving repository-first
shared
contexts/ and tools/ boundaries and unrelated user work.
- Run
node tools/validate-repository.mjs; use --all for a repository-wide
review. It checks all Skill names/descriptions, declared Context paths, UI
metadata, and repository references (including callers of deleted targets).
Changed tool files trigger syntax checks for every module under tools/.
Whitespace checks include staged, unstaged, and in-scope untracked files.
Require summary.requiredOk: true. This validates the repository's metadata
contract, not arbitrary YAML or behavioral correctness.
- Run the edited helper or narrowest representative helper. For shared helper,
reporting, server-lifecycle, or validator changes, run
node --test tools/tests/helpers.test.mjs. Tests use temporary fixtures and
loopback servers; they require localhost listen permission but no Appium install.
- Review
git status --short and the final diff for unintended changes.
Hard constraints
- Preserve uncommitted user work and avoid unrelated edits.
- If work requires Appium drivers, optional dependencies, privileged system
packages, signing, or device authorization, stop repository readiness and
hand off to the owning setup workflow.
- Use already installed repository analyzers or validators only as optional
evidence. When unavailable, rely on the required repository-local checks.
- Retain reusable Context Assets and deterministic repository tools at the
repository level unless the request explicitly changes architecture.
- Run commands step by step and rerun only the affected check after each fix.
Completion criteria
- The Node readiness helper reports
summary.requiredOk: true.
git status --short has been reviewed so existing, in-scope, and unrelated
changes are distinguished.
- Every changed Skill contains required frontmatter and valid explicit Context
relationships.
- Every changed or introduced repository-local path resolves.
- Changed JavaScript modules pass syntax checks.
- The edited or representative helper passes when practical.
git diff --check passes and the final diff contains no unintended changes.
Evidence boundary
Report command status summaries, paths checked, validation results, preserved
unrelated work, and unresolved external blockers. Quote only sanitized lines
when additional evidence is requested.
Self-Improvement Prompt
Before the final response, identify any missing, ambiguous, outdated, or
retry-causing instruction encountered in this Skill or any loaded asset.
Report the asset path and proposed wording. Leave unrelated files unchanged.
Evidence
Example input: Prepare this Appium skills repo for development and validate the changed helpers. Verify workspace state, Node/npm readiness, explicit
paths, Skill metadata, changed JavaScript syntax, the narrowest helper,
git diff --check, and the final diff.
1---2name: prepare-development-environment3description: Prepare and validate this Appium Skills repository for local development or contribution by checking the workspace, Git, Node, npm, helper scripts, Skill entrypoint structure, repository-local paths, and JavaScript syntax. Use before editing or validating repository Skills, Context Assets, examples, or tools. Do not use for Appium driver setup, existing runtime failures, or real-device signing.4---56# Appium Repository Development Workflow78## Repository-readiness routing and handoffs910Use this Skill for repository development readiness and repository-wide11validation. Route Appium driver installation or doctor repair to12`skills/setup/SKILL.md`, supported existing runtime failures to13`skills/appium-troubleshooting/SKILL.md`, and real-device XCUITest work through14`skills/setup-xcuitest/SKILL.md`.1516## Required inputs1718Confirm the repository root, requested validation or edit scope, host OS and19shell, available permissions, and existing uncommitted changes that must be20preserved.2122## Workflow outline23241. Load `AGENTS.md` and inspect the workspace without changing it:25 `git status --short`, repository file inventory, `node --version`,26 `npm --version`, and `npm config get registry`.272. Run `node tools/appium/setup/scripts/check-node-env.mjs --format summary --report auto`. Require top-level28 `summary.requiredOk: true`; report `summary.npmConnectivityOk` separately29 and gate it only when the requested work needs network access.303. Identify the changed or explicitly in-scope files. Read each affected Skill31 and Context Asset and verify every changed repository-relative target.324. Make only the requested repository changes, preserving repository-first33 shared `contexts/` and `tools/` boundaries and unrelated user work.345. Run `node tools/validate-repository.mjs`; use `--all` for a repository-wide35 review. It checks all Skill names/descriptions, declared Context paths, UI36 metadata, and repository references (including callers of deleted targets).37 Changed tool files trigger syntax checks for every module under `tools/`.38 Whitespace checks include staged, unstaged, and in-scope untracked files.39 Require `summary.requiredOk: true`. This validates the repository's metadata40 contract, not arbitrary YAML or behavioral correctness.416. Run the edited helper or narrowest representative helper. For shared helper,42 reporting, server-lifecycle, or validator changes, run43 `node --test tools/tests/helpers.test.mjs`. Tests use temporary fixtures and44 loopback servers; they require localhost listen permission but no Appium install.457. Review `git status --short` and the final diff for unintended changes.4647## Hard constraints4849- Preserve uncommitted user work and avoid unrelated edits.50- If work requires Appium drivers, optional dependencies, privileged system51 packages, signing, or device authorization, stop repository readiness and52 hand off to the owning setup workflow.53- Use already installed repository analyzers or validators only as optional54 evidence. When unavailable, rely on the required repository-local checks.55- Retain reusable Context Assets and deterministic repository tools at the56 repository level unless the request explicitly changes architecture.57- Run commands step by step and rerun only the affected check after each fix.5859## Completion criteria6061- The Node readiness helper reports `summary.requiredOk: true`.62- `git status --short` has been reviewed so existing, in-scope, and unrelated63 changes are distinguished.64- Every changed Skill contains required frontmatter and valid explicit Context65 relationships.66- Every changed or introduced repository-local path resolves.67- Changed JavaScript modules pass syntax checks.68- The edited or representative helper passes when practical.69- `git diff --check` passes and the final diff contains no unintended changes.7071## Evidence boundary7273Report command status summaries, paths checked, validation results, preserved74unrelated work, and unresolved external blockers. Quote only sanitized lines75when additional evidence is requested.7677## Self-Improvement Prompt7879Before the final response, identify any missing, ambiguous, outdated, or80retry-causing instruction encountered in this Skill or any loaded asset.81Report the asset path and proposed wording. Leave unrelated files unchanged.8283## Evidence8485Example input: `Prepare this Appium skills repo for development and validate86the changed helpers.` Verify workspace state, Node/npm readiness, explicit87paths, Skill metadata, changed JavaScript syntax, the narrowest helper,88`git diff --check`, and the final diff.