Skip to content

CI/Skills: add Python lint and test harness for skills scripts#24246

Merged
vincentkoc merged 8 commits into
mainfrom
vincentkoc-code/skills-python-ci-harness
Feb 23, 2026
Merged

CI/Skills: add Python lint and test harness for skills scripts#24246
vincentkoc merged 8 commits into
mainfrom
vincentkoc-code/skills-python-ci-harness

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Feb 23, 2026

Copy link
Copy Markdown
Member

Summary

  • Problem: skills/** Python scripts had no consistent CI/pre-commit lint/test coverage.
  • Why it matters: regressions in helper scripts could ship unnoticed.
  • What changed: added ruff + pytest coverage in CI and pre-commit, enabled pytest discovery across skills, and added changelog entry with contributor credit.
  • What did NOT change (scope boundary): no runtime gateway/channel behavior changes.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #
  • Related #

User-visible / Behavior Changes

  • Adds Python quality guardrails for skill scripts in CI + pre-commit.
  • Adds changelog note in 2026.2.23 (Unreleased) with credit to @vincentkoc.

Security Impact (required)

  • New permissions/capabilities? (No)
  • Secrets/tokens handling changed? (No)
  • New/changed network calls? (No)
  • Command/tool execution surface changed? (No)
  • Data access scope changed? (No)
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: local dev shell
  • Model/provider: N/A
  • Integration/channel (if any): N/A
  • Relevant config (redacted): N/A

Steps

  1. Run python3 -m ruff check skills
  2. Run python3 -m pytest -q skills
  3. Validate CI job skills-python executes same commands.

Expected

  • Lint and tests pass; future skills/**/test_*.py auto-discovered.

Actual

  • Passed locally (8 passed, All checks passed!).

Evidence

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

  • Verified scenarios: lint + pytest discovery for all skill Python tests.
  • Edge cases checked: test import path from repo root for skill-creator package test.
  • What you did not verify: full multi-platform CI matrix execution.

Compatibility / Migration

  • Backward compatible? (Yes)
  • Config/env changes? (No)
  • Migration needed? (No)
  • If yes, exact upgrade steps:

Failure Recovery (if this breaks)

  • How to disable/revert this change quickly: revert this PR.
  • Files/config to restore: .github/workflows/ci.yml, .pre-commit-config.yaml, pyproject.toml, CHANGELOG.md.
  • Known bad symptoms reviewers should watch for: false-positive lint failures for existing scripts if rule set is tightened.

Risks and Mitigations

  • Risk: Python tool availability differences across environments.
    • Mitigation: CI pins setup-python and installs pytest + ruff explicitly.

Greptile Summary

Adds Python linting (ruff) and testing (pytest) infrastructure for scripts under skills/, establishing consistent quality guardrails. Introduces CI job skills-python and matching pre-commit hooks that run only on skills/**/*.py files. Adds pyproject.toml with conservative ruff rules (critical errors + imports) and pytest discovery config. Updates test_package_skill.py to support execution from repo root via pytest discovery.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - adds quality tooling without changing runtime behavior.
  • Infrastructure-only changes that add linting and testing coverage for Python skill scripts. No runtime behavior changes, no new dependencies added to production code, and conservative linting rules reduce false-positive risk. All changes are additive and backward-compatible.
  • No files require special attention

Last reviewed commit: e6a7c4f

@vincentkoc
vincentkoc marked this pull request as ready for review February 23, 2026 06:51
@vincentkoc
vincentkoc merged commit 76dabd5 into main Feb 23, 2026
10 checks passed
@vincentkoc
vincentkoc deleted the vincentkoc-code/skills-python-ci-harness branch February 23, 2026 06:52
@openclaw-barnacle openclaw-barnacle Bot added size: S maintainer Maintainer-authored PR labels Feb 23, 2026
carlosrivera pushed a commit to myascendai/meshiclaw that referenced this pull request Feb 23, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
gabrielkoo pushed a commit to gabrielkoo/openclaw that referenced this pull request Feb 23, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
mreedr pushed a commit to mreedr/openclaw-custom that referenced this pull request Feb 24, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
margulans pushed a commit to margulans/Neiron-AI-assistant that referenced this pull request Feb 25, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
mylukin pushed a commit to mylukin/openclaw that referenced this pull request Feb 26, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
r4jiv007 pushed a commit to r4jiv007/openclaw that referenced this pull request Feb 28, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 1, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness

(cherry picked from commit 76dabd5)

# Conflicts:
#	CHANGELOG.md
#	skills/skill-creator/scripts/test_package_skill.py
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 3, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness

(cherry picked from commit 76dabd5)

# Conflicts:
#	CHANGELOG.md
#	skills/skill-creator/scripts/test_package_skill.py
lovewanwan pushed a commit to lovewanwan/openclaw that referenced this pull request Apr 28, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
ogt-redknie pushed a commit to ogt-redknie/OPENX that referenced this pull request May 2, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 9, 2026
…law#24246)

* CI: add skills Python checks job

* Chore: add Python lint and test pre-commit hooks

* Tests: fix skill-creator package test import path

* Chore: add Python tooling config for skills scripts

* CI: run all skills Python tests

* Chore: run all skills Python tests in pre-commit

* Chore: enable pytest discovery for all skills tests

* Changelog: note skills Python quality harness
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer Maintainer-authored PR size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant