← Files Web App QA & Release CopilotARCHIVED FILE

scripts/validate_package.py

1.72 KB · Nov 3, 2026 · 18:49 UTC

↓ Download file

See the change to this file →

#!/usr/bin/env python3
"""Offline structure checks: does not execute plugin behavioral benchmarks."""
import json
from pathlib import Path
ROOT=Path(__file__).resolve().parents[1]
m=json.loads((ROOT/'plugin.json').read_text(encoding='utf8'))
assert m['name']=='web-app-qa-release-copilot'
assert m['version']=='0.2.0'
iface=m['extensions']['com.openai']['interface']
assert iface['developerName']=='Tekris Labs'
assert len(iface['defaultPrompt'])==3
assert all(len(s)<=128 for s in iface['defaultPrompt'])
for f in ('websiteURL','supportURL','privacyPolicyURL','termsOfServiceURL'):
 assert iface[f].startswith('https://tekrislabs.com/')
for key in ('logo','composerIcon'):
 assert (ROOT/iface[key]).is_file()
assert (ROOT/m['extensions']['com.openai']['onboardingSkill']).is_file()
assert not (ROOT/'mcp.json').exists()
skills=list((ROOT/'skills').glob('*/SKILL.md'))
assert len(skills)==18,len(skills)
for p in skills:
 s=p.read_text(encoding='utf8')
 assert s.startswith('---\nname: '),p
 assert '## Workflow' in s and '## Deliverable' in s,p
 import re
 for ref in re.findall(r'\.\./\.\./references/([\w-]+\.md)',s):
  assert (ROOT/'references'/ref).is_file(),(p,ref)
assert len(list((ROOT/'references').glob('*.md')))>=15
assert len(list((ROOT/'references/original').glob('*.md')))==7
assert len(list((ROOT/'templates').glob('*.md')))>=8
cases=json.loads((ROOT/'benchmarks/cases.json').read_text(encoding='utf8'))['cases']
assert len(cases)>=24
assert len({c['id'] for c in cases})==len(cases)
assert any(c['kind']=='negative' for c in cases)
assert (ROOT/'docs/original-skill.md').is_file()
print(f'PASS package: {len(skills)} skills, {len(list((ROOT/"references").glob("*.md")))} new references, 7 originals, {len(cases)} benchmark specs, all paths valid')

SHA-256: 340998ca6ea45f0add47a40e9c393f1d860027999b9c3c3e35df83499a9cefaa