from pathlib import Path ROOT = Path(__file__).resolve().parents[2] SKILL = ROOT / "skills/pentest/SKILL.md" REPORTING = ROOT / "skills/pentest/playbooks/reporting.md" def test_skill_defines_output_budget_rules_for_batches(): text = SKILL.read_text(encoding="utf-8") required = [ "Output budget", "3-5 bullets", "save raw output", "$ENG_DIR/evidence/", "do not paste full scanner output", "quote only decisive lines", ] for phrase in required: assert phrase.lower() in text.lower() def test_reporting_playbook_enforces_concise_evidence_excerpts(): text = REPORTING.read_text(encoding="utf-8") required = [ "Output Budget", "appendix", "raw artifacts", "decisive excerpt", "avoid dumping raw command output", ] for phrase in required: assert phrase.lower() in text.lower() def test_output_budget_preserves_evidence_integrity(): combined = "\n".join( [ SKILL.read_text(encoding="utf-8"), REPORTING.read_text(encoding="utf-8"), ] ).lower() assert "never summarize away" in combined assert "artifact path" in combined assert "full output" in combined