chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Apply Skill Optimization — triggered when a contributor comments /apply-optimize on a PR.
|
||||
# Commits the AI-suggested SKILL.md improvements from the review step directly to the branch.
|
||||
# Docs: https://github.com/tesslio/skill-review-and-optimize
|
||||
name: Apply Skill Optimization
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
apply:
|
||||
if: >
|
||||
github.event.issue.pull_request &&
|
||||
contains(github.event.comment.body, '/apply-optimize')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: tesslio/skill-review-and-optimize@bff9490027d60847df6494fdac7dccfb3ad82948
|
||||
with:
|
||||
mode: apply
|
||||
@@ -0,0 +1,26 @@
|
||||
# Tessl Skill Review & Optimize — runs on PRs that change any SKILL.md.
|
||||
# Posts scores and AI-suggested improvements as a single PR comment.
|
||||
# Contributors can comment /apply-optimize to commit the suggestions automatically.
|
||||
# Docs: https://github.com/tesslio/skill-review-and-optimize
|
||||
name: Tessl Skill Review & Optimize
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
paths:
|
||||
- "**/SKILL.md"
|
||||
|
||||
jobs:
|
||||
review:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: tesslio/skill-review-and-optimize@bff9490027d60847df6494fdac7dccfb3ad82948
|
||||
with:
|
||||
optimize: true
|
||||
tessl-token: ${{ secrets.TESSL_API_TOKEN }}
|
||||
# Optional quality gate (off by default):
|
||||
# fail-threshold: 70
|
||||
@@ -0,0 +1,64 @@
|
||||
# Tests: runs the pytest suite on Linux and Windows plus the Pi extension
|
||||
# vitest suite on every PR and push to master.
|
||||
# The pytest suite also runs scripts/sync-ide-folders.py --verify via
|
||||
# tests/test_canonical_script_sync.py, so cross-copy parity is covered.
|
||||
name: Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
pytest:
|
||||
name: pytest (${{ matrix.os }})
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
- name: Install test dependencies
|
||||
# pyyaml is optional at test time; without it the YAML frontmatter
|
||||
# test in tests/test_skill_frontmatter_valid.py silently skips.
|
||||
run: python -m pip install pytest pyyaml
|
||||
- name: Assert sh is available
|
||||
# Many hook tests guard on shutil.which("sh") and skip when absent.
|
||||
# Fail loudly instead of silently losing coverage (Git Bash provides
|
||||
# sh.exe on windows-latest).
|
||||
run: python -c "import shutil, sys; sys.exit(0 if shutil.which('sh') else 1)"
|
||||
- name: Run pytest
|
||||
run: python -m pytest tests/ -q
|
||||
|
||||
vitest:
|
||||
name: vitest (Pi extension)
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
working-directory: .pi/skills/planning-with-files/extensions/planning-with-files
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
cache: npm
|
||||
cache-dependency-path: .pi/skills/planning-with-files/extensions/planning-with-files/package-lock.json
|
||||
- name: Install dependencies
|
||||
run: npm ci --no-audit --no-fund
|
||||
- name: Run vitest
|
||||
run: npm test
|
||||
Reference in New Issue
Block a user