docs: tighten the README top and regroup the reference material #10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| selftest: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: astral-sh/setup-uv@v5 | |
| # Every script with non-trivial logic carries its own asserts; this is | |
| # the whole test suite. See CONTRIBUTING.md. | |
| - name: Run script self-checks | |
| run: | | |
| for s in render notes gallery export transcript tags; do | |
| echo "--- $s" | |
| uv run skills/take-notes/scripts/$s.py --selftest | |
| done | |
| - name: Validate plugin manifests | |
| run: | | |
| python3 -c " | |
| import json, pathlib, sys | |
| for f in ['.claude-plugin/plugin.json', '.claude-plugin/marketplace.json', '.codex-plugin/plugin.json']: | |
| json.loads(pathlib.Path(f).read_text()) | |
| print('ok', f) | |
| " | |
| # The plugin manifests carry a version that must not drift from the one | |
| # SKILL.md declares, since that is the field release notes are cut from. | |
| - name: Check versions agree | |
| run: | | |
| python3 -c " | |
| import json, pathlib, re, sys | |
| skill = pathlib.Path('skills/take-notes/SKILL.md').read_text() | |
| want = re.search(r'^\s*version:\s*\"([^\"]+)\"', skill, re.M).group(1) | |
| bad = False | |
| for f in ['.claude-plugin/plugin.json', '.codex-plugin/plugin.json']: | |
| got = json.loads(pathlib.Path(f).read_text())['version'] | |
| if got != want: | |
| print(f'{f}: {got} != SKILL.md {want}', file=sys.stderr); bad = True | |
| sys.exit(1 if bad else 0) | |
| " |