mirror of
https://github.com/NomaDamas/k-skill.git
synced 2026-06-24 02:04:11 +00:00
External macOS daemon that clones NomaDamas/k-skill main every 3 days, runs each skill through codex exec, has an LLM judge grade pass/fail/skip via codex exec --output-schema, and files dedup'd GitHub issues for true failures. Layout: - install.sh copies tools/k-skill-qa-bot/ to ~/.local/share/k-skill-qa-bot/ and registers a LaunchAgent at ~/Library/LaunchAgents/. - update-clone.sh has a hard guard: refuses any K_SKILL_CLONE outside K_QA_HOME/k-skill-clone unless ALLOW_EXTERNAL_CLONE_TARGET=1. - Force-skip 10 destructive/login-required skills (ktx-booking, srt-booking, catchtable-sniper, kakaotalk-mac, hipass-receipt, toss-securities, etc.) so the bot never triggers reservation abuse. - Deprecated skills (strike-through + 지원 중단 in README) auto-detected and skipped, never failed. - First-run safety: CREATE_ISSUES=false by default. - mkdir-based concurrency lock with atomic stale reclaim. - Issue dedup: sha1(skill_name + symptom_class)[:12] body marker. - Deterministic gates override LLM judge to FAIL on exit_code != 0, missing VERDICT line, or near-timeout duration.
21 lines
896 B
Makefile
21 lines
896 B
Makefile
.PHONY: help lint test test-bats test-pytest clean
|
|
|
|
help:
|
|
@echo "Targets: lint test test-bats test-pytest clean"
|
|
|
|
lint:
|
|
@shellcheck -e SC1091,SC2016,SC2012 bin/*.sh bin/lib/*.sh install.sh uninstall.sh 2>&1 || echo "(shellcheck warnings above)"
|
|
@python3 -m py_compile bin/*.py bin/lib/*.py 2>&1
|
|
|
|
test-bats:
|
|
@command -v bats >/dev/null || { echo "bats-core required (brew install bats-core)"; exit 1; }
|
|
@if ls test/bats/*.bats >/dev/null 2>&1; then bats test/bats/; else echo "(no bats tests yet)"; fi
|
|
|
|
test-pytest:
|
|
@command -v pytest >/dev/null || { echo "pytest required (pip install pytest)"; exit 1; }
|
|
@if ls test/pytest/test_*.py >/dev/null 2>&1; then pytest test/pytest/ -v; ec=$$?; [ $$ec -eq 5 ] && echo "(no pytest tests collected)" || exit $$ec; else echo "(no pytest tests yet)"; fi
|
|
|
|
test: test-bats test-pytest
|
|
|
|
clean:
|
|
@rm -rf test/pytest/__pycache__ test/pytest/.pytest_cache
|