LICENSE
MANIFEST.in
README.md
pyproject.toml
src/skillgate_build.py
src/skillgate_ai/__init__.py
src/skillgate_ai/advice.py
src/skillgate_ai/api.py
src/skillgate_ai/api_compare.py
src/skillgate_ai/api_evals.py
src/skillgate_ai/api_intake.py
src/skillgate_ai/api_payloads.py
src/skillgate_ai/api_runs.py
src/skillgate_ai/api_shims.py
src/skillgate_ai/api_skills.py
src/skillgate_ai/case_import.py
src/skillgate_ai/case_pack.py
src/skillgate_ai/catalog.py
src/skillgate_ai/cli.py
src/skillgate_ai/cli_compare.py
src/skillgate_ai/cli_pack.py
src/skillgate_ai/cli_parity.py
src/skillgate_ai/compare.py
src/skillgate_ai/compare_control.py
src/skillgate_ai/compare_format.py
src/skillgate_ai/compare_git.py
src/skillgate_ai/config.py
src/skillgate_ai/demo_files.py
src/skillgate_ai/deploy.py
src/skillgate_ai/deploy_gate.py
src/skillgate_ai/document_text.py
src/skillgate_ai/engine.py
src/skillgate_ai/errors.py
src/skillgate_ai/eval_config.py
src/skillgate_ai/examples.py
src/skillgate_ai/fixture_bind.py
src/skillgate_ai/gate.py
src/skillgate_ai/harness.py
src/skillgate_ai/helper.py
src/skillgate_ai/history.py
src/skillgate_ai/ingest.py
src/skillgate_ai/judge.py
src/skillgate_ai/judge_bank.py
src/skillgate_ai/judge_context.py
src/skillgate_ai/judge_copy.py
src/skillgate_ai/judge_images.py
src/skillgate_ai/judge_openai.py
src/skillgate_ai/judge_settings.py
src/skillgate_ai/judge_spec.py
src/skillgate_ai/keys.py
src/skillgate_ai/live.py
src/skillgate_ai/local_guard.py
src/skillgate_ai/metrics.py
src/skillgate_ai/mode.py
src/skillgate_ai/observability.py
src/skillgate_ai/openai_http.py
src/skillgate_ai/output_match.py
src/skillgate_ai/pack.py
src/skillgate_ai/pack_edit.py
src/skillgate_ai/pack_files.py
src/skillgate_ai/pack_schema.py
src/skillgate_ai/paths.py
src/skillgate_ai/project_config.py
src/skillgate_ai/report.py
src/skillgate_ai/run_lock.py
src/skillgate_ai/sandbox.py
src/skillgate_ai/scaffold.py
src/skillgate_ai/scorers.py
src/skillgate_ai/server.py
src/skillgate_ai/skill_md.py
src/skillgate_ai/skill_tools.py
src/skillgate_ai/spans.py
src/skillgate_ai/suite.py
src/skillgate_ai/sync.py
src/skillgate_ai/usage.py
src/skillgate_ai/workspace.py
src/skillgate_ai/workspace_outputs.py
src/skillgate_ai.egg-info/PKG-INFO
src/skillgate_ai.egg-info/SOURCES.txt
src/skillgate_ai.egg-info/dependency_links.txt
src/skillgate_ai.egg-info/entry_points.txt
src/skillgate_ai.egg-info/requires.txt
src/skillgate_ai.egg-info/top_level.txt
src/skillgate_ai/examples/pdf/SKILL.md
src/skillgate_ai/examples/pdf/requirements.txt
src/skillgate_ai/examples/pdf-sabotaged/SKILL.md
src/skillgate_ai/examples/pdf-sabotaged/requirements.txt
src/skillgate_ai/examples/pdf-sabotaged/evals/cases.yaml
src/skillgate_ai/examples/pdf-sabotaged/evals/fixtures/alpha.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/fixtures/beta.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/fixtures/hello.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/fixtures/invoice.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/fixtures/notes.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/create-status.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/extract-hello.txt
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/extract-invoice.txt
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/merge-alpha-beta.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/rotate-hello.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/trigger-combine-decks.pdf
src/skillgate_ai/examples/pdf-sabotaged/evals/goldens/trigger-notes-pdf.txt
src/skillgate_ai/examples/pdf-sabotaged/evals/history/README.md
src/skillgate_ai/examples/pdf-sabotaged/scripts/agent_entry.py
src/skillgate_ai/examples/pdf-sabotaged/scripts/create_pdf.py
src/skillgate_ai/examples/pdf-sabotaged/scripts/extract_text.py
src/skillgate_ai/examples/pdf-sabotaged/scripts/merge_pdfs.py
src/skillgate_ai/examples/pdf-sabotaged/scripts/rotate_pdf.py
src/skillgate_ai/examples/pdf/evals/cases.yaml
src/skillgate_ai/examples/pdf/evals/fixtures/alpha.pdf
src/skillgate_ai/examples/pdf/evals/fixtures/beta.pdf
src/skillgate_ai/examples/pdf/evals/fixtures/hello.pdf
src/skillgate_ai/examples/pdf/evals/fixtures/invoice.pdf
src/skillgate_ai/examples/pdf/evals/fixtures/notes.pdf
src/skillgate_ai/examples/pdf/evals/goldens/create-status.pdf
src/skillgate_ai/examples/pdf/evals/goldens/extract-hello.txt
src/skillgate_ai/examples/pdf/evals/goldens/extract-invoice.txt
src/skillgate_ai/examples/pdf/evals/goldens/merge-alpha-beta.pdf
src/skillgate_ai/examples/pdf/evals/goldens/rotate-hello.pdf
src/skillgate_ai/examples/pdf/evals/goldens/trigger-combine-decks.pdf
src/skillgate_ai/examples/pdf/evals/goldens/trigger-notes-pdf.txt
src/skillgate_ai/examples/pdf/evals/history/README.md
src/skillgate_ai/examples/pdf/scripts/agent_entry.py
src/skillgate_ai/examples/pdf/scripts/create_pdf.py
src/skillgate_ai/examples/pdf/scripts/extract_text.py
src/skillgate_ai/examples/pdf/scripts/merge_pdfs.py
src/skillgate_ai/examples/pdf/scripts/rotate_pdf.py
src/skillgate_ai/judge_providers/__init__.py
src/skillgate_ai/judge_providers/aws.py
src/skillgate_ai/judge_providers/compatible.py
src/skillgate_ai/judge_providers/jev.py
src/skillgate_ai/local_ui/__init__.py
src/skillgate_ai/local_ui/api.py
src/skillgate_ai/local_ui/server.py
src/skillgate_ai/local_ui/static/app.css
src/skillgate_ai/local_ui/static/app.js
src/skillgate_ai/local_ui/static/favicon.svg
src/skillgate_ai/local_ui/static/index.html
src/skillgate_ai/web_static/apple-touch-icon.png
src/skillgate_ai/web_static/favicon-16.png
src/skillgate_ai/web_static/favicon-32.png
src/skillgate_ai/web_static/favicon.ico
src/skillgate_ai/web_static/favicon.svg
src/skillgate_ai/web_static/icon-192.png
src/skillgate_ai/web_static/icon-512.png
src/skillgate_ai/web_static/index.html
src/skillgate_ai/web_static/sg-mark-dark.svg
src/skillgate_ai/web_static/sg-mark-light.svg
src/skillgate_ai/web_static/sg-mark.svg
src/skillgate_ai/web_static/site.webmanifest
src/skillgate_ai/web_static/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2
src/skillgate_ai/web_static/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2
src/skillgate_ai/web_static/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2
src/skillgate_ai/web_static/assets/geist-latin-wght-normal-BgDaEnEv.woff2
src/skillgate_ai/web_static/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2
src/skillgate_ai/web_static/assets/index-BcduEE1a.js
src/skillgate_ai/web_static/assets/index-DfclxDWI.css
tests/test_advice.py
tests/test_api_compare.py
tests/test_api_local.py
tests/test_case_import.py
tests/test_case_pack_cli.py
tests/test_case_skill_mismatch.py
tests/test_check_cli.py
tests/test_cli_pack.py
tests/test_cli_parity.py
tests/test_compare_cli.py
tests/test_compare_dry_run_and_cases.py
tests/test_compare_git.py
tests/test_compare_models.py
tests/test_compare_versions.py
tests/test_deploy.py
tests/test_deploy_gate.py
tests/test_dockerfile.py
tests/test_docs.py
tests/test_dogfood_fixes.py
tests/test_dogfood_v6.py
tests/test_dogfood_v7.py
tests/test_eval_config.py
tests/test_examples_cli.py
tests/test_friendly_errors.py
tests/test_gate.py
tests/test_golden_run.py
tests/test_harness_agents.py
tests/test_harness_auth.py
tests/test_helper.py
tests/test_history.py
tests/test_ingest.py
tests/test_judge.py
tests/test_judge_bank.py
tests/test_judge_cli.py
tests/test_judge_context.py
tests/test_judge_copy.py
tests/test_judge_dogfood_v5.py
tests/test_judge_openai.py
tests/test_judge_providers.py
tests/test_judge_spec.py
tests/test_keys.py
tests/test_live_only.py
tests/test_local_ui.py
tests/test_mode.py
tests/test_no_trigger_selection.py
tests/test_openai_judge_docs.py
tests/test_oss_surface.py
tests/test_pack.py
tests/test_packaging_ui.py
tests/test_qa_06_fixes.py
tests/test_qa_cli_fixes.py
tests/test_qa_local_flow.py
tests/test_release_061_fixes.py
tests/test_release_061_round2.py
tests/test_release_061_round3.py
tests/test_release_072.py
tests/test_release_072_round3.py
tests/test_report.py
tests/test_sandbox.py
tests/test_scaffold.py
tests/test_skill_sample_files.py
tests/test_sync.py
tests/test_ui_security.py
tests/test_usage_combine.py
tests/test_workspace_outputs.py