SYMBOL INDEX (428 symbols across 61 files) FILE: skills/algorithmic-art/templates/generator_template.js function initializeSeed (line 43) | function initializeSeed(seed) { function setup (line 53) | function setup() { function draw (line 70) | function draw() { class Entity (line 92) | class Entity { method constructor (line 93) | constructor() { method update (line 98) | update() { method display (line 106) | display() { function hexToRgb (line 132) | function hexToRgb(hex) { function colorFromPalette (line 141) | function colorFromPalette(index) { function mapRange (line 146) | function mapRange(value, inMin, inMax, outMin, outMax) { function easeInOutCubic (line 150) | function easeInOutCubic(t) { function wrapAround (line 155) | function wrapAround(value, max) { function updateParameter (line 165) | function updateParameter(paramName, value) { function regenerate (line 171) | function regenerate() { function fadeBackground (line 183) | function fadeBackground(opacity) { function getNoiseValue (line 190) | function getNoiseValue(x, y, scale = 0.01) { function vectorFromAngle (line 195) | function vectorFromAngle(angle, magnitude = 1) { function exportImage (line 203) | function exportImage() { FILE: skills/docx/scripts/accept_changes.py function accept_changes (line 36) | def accept_changes( function _setup_libreoffice_macro (line 91) | def _setup_libreoffice_macro() -> bool: FILE: skills/docx/scripts/comment.py function _generate_hex_id (line 68) | def _generate_hex_id() -> str: function _encode_smart_quotes (line 80) | def _encode_smart_quotes(text: str) -> str: function _append_xml (line 86) | def _append_xml(xml_path: Path, root_tag: str, content: str) -> None: function _find_para_id (line 98) | def _find_para_id(comments_path: Path, comment_id: int) -> str | None: function _get_next_rid (line 108) | def _get_next_rid(rels_path: Path) -> int: function _has_relationship (line 121) | def _has_relationship(rels_path: Path, target: str) -> bool: function _has_content_type (line 129) | def _has_content_type(ct_path: Path, part_name: str) -> bool: function _ensure_comment_relationships (line 137) | def _ensure_comment_relationships(unpacked_dir: Path) -> None: function _ensure_comment_content_types (line 179) | def _ensure_comment_content_types(unpacked_dir: Path) -> None: function add_comment (line 218) | def add_comment( FILE: skills/docx/scripts/office/helpers/merge_runs.py function merge_runs (line 16) | def merge_runs(input_dir: str) -> tuple[int, str]: function _find_elements (line 44) | def _find_elements(root, tag: str) -> list: function _get_child (line 59) | def _get_child(parent, tag: str): function _get_children (line 68) | def _get_children(parent, tag: str) -> list: function _is_adjacent (line 78) | def _is_adjacent(elem1, elem2) -> bool: function _remove_elements (line 93) | def _remove_elements(root, tag: str): function _strip_run_rsid_attrs (line 99) | def _strip_run_rsid_attrs(root): function _merge_runs_in (line 108) | def _merge_runs_in(container) -> int: function _first_child_run (line 128) | def _first_child_run(container): function _next_element_sibling (line 135) | def _next_element_sibling(node): function _next_sibling_run (line 144) | def _next_sibling_run(node): function _is_run (line 154) | def _is_run(node) -> bool: function _can_merge (line 159) | def _can_merge(run1, run2) -> bool: function _merge_run_content (line 170) | def _merge_run_content(target, source): function _consolidate_text (line 178) | def _consolidate_text(run): FILE: skills/docx/scripts/office/helpers/simplify_redlines.py function simplify_redlines (line 22) | def simplify_redlines(input_dir: str) -> tuple[int, str]: function _merge_tracked_changes_in (line 47) | def _merge_tracked_changes_in(container, tag: str) -> int: function _is_element (line 75) | def _is_element(node, tag: str) -> bool: function _get_author (line 80) | def _get_author(elem) -> str: function _can_merge_tracked (line 89) | def _can_merge_tracked(elem1, elem2) -> bool: function _merge_tracked_content (line 104) | def _merge_tracked_content(target, source): function _find_elements (line 111) | def _find_elements(root, tag: str) -> list: function get_tracked_change_authors (line 126) | def get_tracked_change_authors(doc_xml_path: Path) -> dict[str, int]: function _get_authors_from_docx (line 149) | def _get_authors_from_docx(docx_path: Path) -> dict[str, int]: function infer_author (line 172) | def infer_author(modified_dir: Path, original_docx: Path, default: str =... FILE: skills/docx/scripts/office/pack.py function pack (line 24) | def pack( function _run_validation (line 69) | def _run_validation( function _condense_xml (line 108) | def _condense_xml(xml_file: Path) -> None: FILE: skills/docx/scripts/office/soffice.py function get_soffice_env (line 24) | def get_soffice_env() -> dict: function run_soffice (line 35) | def run_soffice(args: list[str], **kwargs) -> subprocess.CompletedProcess: function _needs_shim (line 44) | def _needs_shim() -> bool: function _ensure_shim (line 53) | def _ensure_shim() -> Path: FILE: skills/docx/scripts/office/unpack.py function unpack (line 34) | def unpack( function _pretty_print_xml (line 82) | def _pretty_print_xml(xml_file: Path) -> None: function _escape_smart_quotes (line 91) | def _escape_smart_quotes(xml_file: Path) -> None: FILE: skills/docx/scripts/office/validate.py function main (line 25) | def main(): FILE: skills/docx/scripts/office/validators/base.py class BaseSchemaValidator (line 12) | class BaseSchemaValidator: method __init__ (line 94) | def __init__(self, unpacked_dir, original_file=None, verbose=False): method validate (line 109) | def validate(self): method repair (line 112) | def repair(self) -> int: method repair_whitespace_preservation (line 115) | def repair_whitespace_preservation(self) -> int: method validate_xml (line 143) | def validate_xml(self): method validate_namespaces (line 170) | def validate_namespaces(self): method validate_unique_ids (line 199) | def validate_unique_ids(self): method validate_file_references (line 289) | def validate_file_references(self): method validate_all_relationship_ids (line 385) | def validate_all_relationship_ids(self): method _get_expected_relationship_type (line 469) | def _get_expected_relationship_type(self, element_name): method validate_content_types (line 492) | def validate_content_types(self): method validate_file_against_xsd (line 598) | def validate_file_against_xsd(self, xml_file, verbose=False): method validate_against_xsd (line 636) | def validate_against_xsd(self): method _get_schema_path (line 685) | def _get_schema_path(self, xml_file): method _clean_ignorable_namespaces (line 703) | def _clean_ignorable_namespaces(self, xml_doc): method _remove_ignorable_elements (line 723) | def _remove_ignorable_elements(self, root): method _preprocess_for_mc_ignorable (line 742) | def _preprocess_for_mc_ignorable(self, xml_doc): method _validate_single_file_xsd (line 750) | def _validate_single_file_xsd(self, xml_file, base_path): method _get_original_file_errors (line 787) | def _get_original_file_errors(self, xml_file): method _remove_template_tags_from_text_nodes (line 814) | def _remove_template_tags_from_text_nodes(self, xml_doc): FILE: skills/docx/scripts/office/validators/docx.py class DOCXSchemaValidator (line 16) | class DOCXSchemaValidator(BaseSchemaValidator): method validate (line 24) | def validate(self): method validate_whitespace_preservation (line 66) | def validate_whitespace_preservation(self): method validate_deletions (line 112) | def validate_deletions(self): method count_paragraphs_in_unpacked (line 163) | def count_paragraphs_in_unpacked(self): method count_paragraphs_in_original (line 179) | def count_paragraphs_in_original(self): method validate_insertions (line 202) | def validate_insertions(self): method compare_paragraph_counts (line 243) | def compare_paragraph_counts(self): method _parse_id_value (line 251) | def _parse_id_value(self, val: str, base: int = 16) -> int: method validate_id_constraints (line 254) | def validate_id_constraints(self): method validate_comment_markers (line 298) | def validate_comment_markers(self): method repair (line 386) | def repair(self) -> int: method repair_durableId (line 391) | def repair_durableId(self) -> int: FILE: skills/docx/scripts/office/validators/pptx.py class PPTXSchemaValidator (line 10) | class PPTXSchemaValidator(BaseSchemaValidator): method validate (line 25) | def validate(self): method validate_uuid_ids (line 62) | def validate_uuid_ids(self): method _looks_like_uuid (line 100) | def _looks_like_uuid(self, value): method validate_slide_layout_ids (line 104) | def validate_slide_layout_ids(self): method validate_no_duplicate_slide_layouts (line 172) | def validate_no_duplicate_slide_layouts(self): method validate_notes_slide_references (line 210) | def validate_notes_slide_references(self): FILE: skills/docx/scripts/office/validators/redlining.py class RedliningValidator (line 11) | class RedliningValidator: method __init__ (line 13) | def __init__(self, unpacked_dir, original_docx, verbose=False, author=... method repair (line 22) | def repair(self) -> int: method validate (line 25) | def validate(self): method _generate_detailed_diff (line 104) | def _generate_detailed_diff(self, original_text, modified_text): method _get_git_word_diff (line 127) | def _get_git_word_diff(self, original_text, modified_text): method _remove_author_tracked_changes (line 198) | def _remove_author_tracked_changes(self, root): method _extract_text_content (line 229) | def _extract_text_content(self, root): FILE: skills/mcp-builder/scripts/connections.py class MCPConnection (line 13) | class MCPConnection(ABC): method __init__ (line 16) | def __init__(self): method _create_context (line 21) | def _create_context(self): method __aenter__ (line 24) | async def __aenter__(self): method __aexit__ (line 48) | async def __aexit__(self, exc_type, exc_val, exc_tb): method list_tools (line 55) | async def list_tools(self) -> list[dict[str, Any]]: method call_tool (line 67) | async def call_tool(self, tool_name: str, arguments: dict[str, Any]) -... class MCPConnectionStdio (line 73) | class MCPConnectionStdio(MCPConnection): method __init__ (line 76) | def __init__(self, command: str, args: list[str] = None, env: dict[str... method _create_context (line 82) | def _create_context(self): class MCPConnectionSSE (line 88) | class MCPConnectionSSE(MCPConnection): method __init__ (line 91) | def __init__(self, url: str, headers: dict[str, str] = None): method _create_context (line 96) | def _create_context(self): class MCPConnectionHTTP (line 100) | class MCPConnectionHTTP(MCPConnection): method __init__ (line 103) | def __init__(self, url: str, headers: dict[str, str] = None): method _create_context (line 108) | def _create_context(self): function create_connection (line 112) | def create_connection( FILE: skills/mcp-builder/scripts/evaluation.py function parse_evaluation_file (line 56) | def parse_evaluation_file(file_path: Path) -> list[dict[str, Any]]: function extract_xml_content (line 79) | def extract_xml_content(text: str, tag: str) -> str | None: function agent_loop (line 86) | async def agent_loop( function evaluate_single_task (line 154) | async def evaluate_single_task( function run_evaluation (line 220) | async def run_evaluation( function parse_headers (line 275) | def parse_headers(header_list: list[str]) -> dict[str, str]: function parse_env_vars (line 290) | def parse_env_vars(env_list: list[str]) -> dict[str, str]: function main (line 305) | async def main(): FILE: skills/pdf/scripts/check_bounding_boxes.py class RectAndField (line 9) | class RectAndField: function get_bounding_box_messages (line 15) | def get_bounding_box_messages(fields_json_stream) -> list[str]: FILE: skills/pdf/scripts/convert_pdf_to_images.py function convert (line 9) | def convert(pdf_path, output_dir, max_dim=1000): FILE: skills/pdf/scripts/create_validation_image.py function create_validation_image (line 9) | def create_validation_image(page_number, fields_json_path, input_path, o... FILE: skills/pdf/scripts/extract_form_field_info.py function get_full_annotation_field_id (line 9) | def get_full_annotation_field_id(annotation): function make_field_dict (line 19) | def make_field_dict(field, field_id): function get_field_info (line 47) | def get_field_info(reader: PdfReader): function write_field_info (line 110) | def write_field_info(pdf_path: str, json_output_path: str): FILE: skills/pdf/scripts/extract_form_structure.py function extract_form_structure (line 20) | def extract_form_structure(pdf_path): function main (line 91) | def main(): FILE: skills/pdf/scripts/fill_fillable_fields.py function fill_pdf_fields (line 11) | def fill_pdf_fields(input_pdf_path: str, fields_json_path: str, output_p... function validation_error_for_field_value (line 55) | def validation_error_for_field_value(field_info, field_value): function monkeypatch_pydpf_method (line 74) | def monkeypatch_pydpf_method(): FILE: skills/pdf/scripts/fill_pdf_form_with_annotations.py function transform_from_image_coords (line 10) | def transform_from_image_coords(bbox, image_width, image_height, pdf_wid... function transform_from_pdf_coords (line 23) | def transform_from_pdf_coords(bbox, pdf_height): function fill_pdf_form (line 33) | def fill_pdf_form(input_pdf_path, fields_json_path, output_pdf_path): FILE: skills/pptx/scripts/add_slide.py function get_next_slide_number (line 27) | def get_next_slide_number(slides_dir: Path) -> int: function create_slide_from_layout (line 33) | def create_slide_from_layout(unpacked_dir: Path, layout_file: str) -> None: function duplicate_slide (line 90) | def duplicate_slide(unpacked_dir: Path, source: str) -> None: function _add_to_content_types (line 130) | def _add_to_content_types(unpacked_dir: Path, dest: str) -> None: function _add_to_presentation_rels (line 141) | def _add_to_presentation_rels(unpacked_dir: Path, dest: str) -> str: function _get_next_slide_id (line 158) | def _get_next_slide_id(unpacked_dir: Path) -> int: function parse_source (line 165) | def parse_source(source: str) -> tuple[str, str | None]: FILE: skills/pptx/scripts/clean.py function get_slides_in_sldidlst (line 27) | def get_slides_in_sldidlst(unpacked_dir: Path) -> set[str]: function remove_orphaned_slides (line 49) | def remove_orphaned_slides(unpacked_dir: Path) -> list[str]: function remove_trash_directory (line 91) | def remove_trash_directory(unpacked_dir: Path) -> list[str]: function get_slide_referenced_files (line 106) | def get_slide_referenced_files(unpacked_dir: Path) -> set: function remove_orphaned_rels_files (line 128) | def remove_orphaned_rels_files(unpacked_dir: Path) -> list[str]: function get_referenced_files (line 153) | def get_referenced_files(unpacked_dir: Path) -> set: function remove_orphaned_files (line 171) | def remove_orphaned_files(unpacked_dir: Path, referenced: set) -> list[s... function update_content_types (line 221) | def update_content_types(unpacked_dir: Path, removed_files: list[str]) -... function clean_unused_files (line 241) | def clean_unused_files(unpacked_dir: Path) -> list[str]: FILE: skills/pptx/scripts/office/helpers/merge_runs.py function merge_runs (line 16) | def merge_runs(input_dir: str) -> tuple[int, str]: function _find_elements (line 44) | def _find_elements(root, tag: str) -> list: function _get_child (line 59) | def _get_child(parent, tag: str): function _get_children (line 68) | def _get_children(parent, tag: str) -> list: function _is_adjacent (line 78) | def _is_adjacent(elem1, elem2) -> bool: function _remove_elements (line 93) | def _remove_elements(root, tag: str): function _strip_run_rsid_attrs (line 99) | def _strip_run_rsid_attrs(root): function _merge_runs_in (line 108) | def _merge_runs_in(container) -> int: function _first_child_run (line 128) | def _first_child_run(container): function _next_element_sibling (line 135) | def _next_element_sibling(node): function _next_sibling_run (line 144) | def _next_sibling_run(node): function _is_run (line 154) | def _is_run(node) -> bool: function _can_merge (line 159) | def _can_merge(run1, run2) -> bool: function _merge_run_content (line 170) | def _merge_run_content(target, source): function _consolidate_text (line 178) | def _consolidate_text(run): FILE: skills/pptx/scripts/office/helpers/simplify_redlines.py function simplify_redlines (line 22) | def simplify_redlines(input_dir: str) -> tuple[int, str]: function _merge_tracked_changes_in (line 47) | def _merge_tracked_changes_in(container, tag: str) -> int: function _is_element (line 75) | def _is_element(node, tag: str) -> bool: function _get_author (line 80) | def _get_author(elem) -> str: function _can_merge_tracked (line 89) | def _can_merge_tracked(elem1, elem2) -> bool: function _merge_tracked_content (line 104) | def _merge_tracked_content(target, source): function _find_elements (line 111) | def _find_elements(root, tag: str) -> list: function get_tracked_change_authors (line 126) | def get_tracked_change_authors(doc_xml_path: Path) -> dict[str, int]: function _get_authors_from_docx (line 149) | def _get_authors_from_docx(docx_path: Path) -> dict[str, int]: function infer_author (line 172) | def infer_author(modified_dir: Path, original_docx: Path, default: str =... FILE: skills/pptx/scripts/office/pack.py function pack (line 24) | def pack( function _run_validation (line 69) | def _run_validation( function _condense_xml (line 108) | def _condense_xml(xml_file: Path) -> None: FILE: skills/pptx/scripts/office/soffice.py function get_soffice_env (line 24) | def get_soffice_env() -> dict: function run_soffice (line 35) | def run_soffice(args: list[str], **kwargs) -> subprocess.CompletedProcess: function _needs_shim (line 44) | def _needs_shim() -> bool: function _ensure_shim (line 53) | def _ensure_shim() -> Path: FILE: skills/pptx/scripts/office/unpack.py function unpack (line 34) | def unpack( function _pretty_print_xml (line 82) | def _pretty_print_xml(xml_file: Path) -> None: function _escape_smart_quotes (line 91) | def _escape_smart_quotes(xml_file: Path) -> None: FILE: skills/pptx/scripts/office/validate.py function main (line 25) | def main(): FILE: skills/pptx/scripts/office/validators/base.py class BaseSchemaValidator (line 12) | class BaseSchemaValidator: method __init__ (line 94) | def __init__(self, unpacked_dir, original_file=None, verbose=False): method validate (line 109) | def validate(self): method repair (line 112) | def repair(self) -> int: method repair_whitespace_preservation (line 115) | def repair_whitespace_preservation(self) -> int: method validate_xml (line 143) | def validate_xml(self): method validate_namespaces (line 170) | def validate_namespaces(self): method validate_unique_ids (line 199) | def validate_unique_ids(self): method validate_file_references (line 289) | def validate_file_references(self): method validate_all_relationship_ids (line 385) | def validate_all_relationship_ids(self): method _get_expected_relationship_type (line 469) | def _get_expected_relationship_type(self, element_name): method validate_content_types (line 492) | def validate_content_types(self): method validate_file_against_xsd (line 598) | def validate_file_against_xsd(self, xml_file, verbose=False): method validate_against_xsd (line 636) | def validate_against_xsd(self): method _get_schema_path (line 685) | def _get_schema_path(self, xml_file): method _clean_ignorable_namespaces (line 703) | def _clean_ignorable_namespaces(self, xml_doc): method _remove_ignorable_elements (line 723) | def _remove_ignorable_elements(self, root): method _preprocess_for_mc_ignorable (line 742) | def _preprocess_for_mc_ignorable(self, xml_doc): method _validate_single_file_xsd (line 750) | def _validate_single_file_xsd(self, xml_file, base_path): method _get_original_file_errors (line 787) | def _get_original_file_errors(self, xml_file): method _remove_template_tags_from_text_nodes (line 814) | def _remove_template_tags_from_text_nodes(self, xml_doc): FILE: skills/pptx/scripts/office/validators/docx.py class DOCXSchemaValidator (line 16) | class DOCXSchemaValidator(BaseSchemaValidator): method validate (line 24) | def validate(self): method validate_whitespace_preservation (line 66) | def validate_whitespace_preservation(self): method validate_deletions (line 112) | def validate_deletions(self): method count_paragraphs_in_unpacked (line 163) | def count_paragraphs_in_unpacked(self): method count_paragraphs_in_original (line 179) | def count_paragraphs_in_original(self): method validate_insertions (line 202) | def validate_insertions(self): method compare_paragraph_counts (line 243) | def compare_paragraph_counts(self): method _parse_id_value (line 251) | def _parse_id_value(self, val: str, base: int = 16) -> int: method validate_id_constraints (line 254) | def validate_id_constraints(self): method validate_comment_markers (line 298) | def validate_comment_markers(self): method repair (line 386) | def repair(self) -> int: method repair_durableId (line 391) | def repair_durableId(self) -> int: FILE: skills/pptx/scripts/office/validators/pptx.py class PPTXSchemaValidator (line 10) | class PPTXSchemaValidator(BaseSchemaValidator): method validate (line 25) | def validate(self): method validate_uuid_ids (line 62) | def validate_uuid_ids(self): method _looks_like_uuid (line 100) | def _looks_like_uuid(self, value): method validate_slide_layout_ids (line 104) | def validate_slide_layout_ids(self): method validate_no_duplicate_slide_layouts (line 172) | def validate_no_duplicate_slide_layouts(self): method validate_notes_slide_references (line 210) | def validate_notes_slide_references(self): FILE: skills/pptx/scripts/office/validators/redlining.py class RedliningValidator (line 11) | class RedliningValidator: method __init__ (line 13) | def __init__(self, unpacked_dir, original_docx, verbose=False, author=... method repair (line 22) | def repair(self) -> int: method validate (line 25) | def validate(self): method _generate_detailed_diff (line 104) | def _generate_detailed_diff(self, original_text, modified_text): method _get_git_word_diff (line 127) | def _get_git_word_diff(self, original_text, modified_text): method _remove_author_tracked_changes (line 198) | def _remove_author_tracked_changes(self, root): method _extract_text_content (line 229) | def _extract_text_content(self, root): FILE: skills/pptx/scripts/thumbnail.py function main (line 40) | def main(): function get_slide_info (line 95) | def get_slide_info(pptx_path: Path) -> list[dict]: function build_slide_list (line 121) | def build_slide_list( function create_hidden_placeholder (line 149) | def create_hidden_placeholder(size: tuple[int, int]) -> Image.Image: function convert_to_images (line 158) | def convert_to_images(pptx_path: Path, temp_dir: Path) -> list[Path]: function create_grids (line 196) | def create_grids( function create_grid (line 225) | def create_grid( FILE: skills/skill-creator/eval-viewer/generate_review.py function get_mime_type (line 52) | def get_mime_type(path: Path) -> str: function find_runs (line 60) | def find_runs(workspace: Path) -> list[dict]: function _find_runs_recursive (line 68) | def _find_runs_recursive(root: Path, current: Path, runs: list[dict]) ->... function build_run (line 85) | def build_run(root: Path, run_dir: Path) -> dict | None: function embed_file (line 149) | def embed_file(path: Path) -> dict: function load_previous_iteration (line 213) | def load_previous_iteration(workspace: Path) -> dict[str, dict]: function generate_html (line 250) | def generate_html( function _kill_port (line 288) | def _kill_port(port: int) -> None: class ReviewHandler (line 308) | class ReviewHandler(BaseHTTPRequestHandler): method __init__ (line 315) | def __init__( method do_GET (line 332) | def do_GET(self) -> None: method do_POST (line 361) | def do_POST(self) -> None: method log_message (line 382) | def log_message(self, format: str, *args: object) -> None: function main (line 387) | def main() -> None: FILE: skills/skill-creator/scripts/aggregate_benchmark.py function calculate_stats (line 45) | def calculate_stats(values: list[float]) -> dict: function load_run_results (line 67) | def load_run_results(benchmark_dir: Path) -> dict: function aggregate_results (line 176) | def aggregate_results(results: dict) -> dict: function generate_benchmark (line 227) | def generate_benchmark(benchmark_dir: Path, skill_name: str = "", skill_... function generate_markdown (line 281) | def generate_markdown(benchmark: dict) -> str: function main (line 338) | def main(): FILE: skills/skill-creator/scripts/generate_report.py function generate_html (line 16) | def generate_html(data: dict, auto_refresh: bool = False, skill_name: st... function main (line 304) | def main(): FILE: skills/skill-creator/scripts/improve_description.py function _call_claude (line 20) | def _call_claude(prompt: str, model: str | None, timeout: int = 300) -> ... function improve_description (line 50) | def improve_description( function main (line 194) | def main(): FILE: skills/skill-creator/scripts/package_skill.py function should_exclude (line 27) | def should_exclude(rel_path: Path) -> bool: function package_skill (line 42) | def package_skill(skill_path, output_dir=None): function main (line 111) | def main(): FILE: skills/skill-creator/scripts/quick_validate.py function validate_skill (line 12) | def validate_skill(skill_path): FILE: skills/skill-creator/scripts/run_eval.py function find_project_root (line 22) | def find_project_root() -> Path: function run_single_query (line 35) | def run_single_query( function run_eval (line 184) | def run_eval( function main (line 259) | def main(): FILE: skills/skill-creator/scripts/run_loop.py function split_eval_set (line 24) | def split_eval_set(eval_set: list[dict], holdout: float, seed: int = 42)... function run_loop (line 47) | def run_loop( function main (line 244) | def main(): FILE: skills/skill-creator/scripts/utils.py function parse_skill_md (line 7) | def parse_skill_md(skill_path: Path) -> tuple[str, str, str]: FILE: skills/slack-gif-creator/core/easing.py function linear (line 12) | def linear(t: float) -> float: function ease_in_quad (line 17) | def ease_in_quad(t: float) -> float: function ease_out_quad (line 22) | def ease_out_quad(t: float) -> float: function ease_in_out_quad (line 27) | def ease_in_out_quad(t: float) -> float: function ease_in_cubic (line 34) | def ease_in_cubic(t: float) -> float: function ease_out_cubic (line 39) | def ease_out_cubic(t: float) -> float: function ease_in_out_cubic (line 44) | def ease_in_out_cubic(t: float) -> float: function ease_in_bounce (line 51) | def ease_in_bounce(t: float) -> float: function ease_out_bounce (line 56) | def ease_out_bounce(t: float) -> float: function ease_in_out_bounce (line 71) | def ease_in_out_bounce(t: float) -> float: function ease_in_elastic (line 78) | def ease_in_elastic(t: float) -> float: function ease_out_elastic (line 85) | def ease_out_elastic(t: float) -> float: function ease_in_out_elastic (line 92) | def ease_in_out_elastic(t: float) -> float: function get_easing (line 117) | def get_easing(name: str = "linear"): function interpolate (line 122) | def interpolate(start: float, end: float, t: float, easing: str = "linea... function ease_back_in (line 140) | def ease_back_in(t: float) -> float: function ease_back_out (line 147) | def ease_back_out(t: float) -> float: function ease_back_in_out (line 154) | def ease_back_in_out(t: float) -> float: function apply_squash_stretch (line 163) | def apply_squash_stretch( function calculate_arc_motion (line 195) | def calculate_arc_motion( FILE: skills/slack-gif-creator/core/frame_composer.py function create_blank_frame (line 15) | def create_blank_frame( function draw_circle (line 32) | def draw_circle( function draw_text (line 61) | def draw_text( function create_gradient_background (line 99) | def create_gradient_background( function draw_star (line 137) | def draw_star( FILE: skills/slack-gif-creator/core/gif_builder.py class GIFBuilder (line 17) | class GIFBuilder: method __init__ (line 20) | def __init__(self, width: int = 480, height: int = 480, fps: int = 15): method add_frame (line 34) | def add_frame(self, frame: np.ndarray | Image.Image): method add_frames (line 54) | def add_frames(self, frames: list[np.ndarray | Image.Image]): method optimize_colors (line 59) | def optimize_colors( method deduplicate_frames (line 124) | def deduplicate_frames(self, threshold: float = 0.9995) -> int: method save (line 160) | def save( method clear (line 267) | def clear(self): FILE: skills/slack-gif-creator/core/validators.py function validate_gif (line 11) | def validate_gif( function is_slack_ready (line 121) | def is_slack_ready( FILE: skills/webapp-testing/examples/console_logging.py function handle_console_message (line 14) | def handle_console_message(msg): FILE: skills/webapp-testing/scripts/with_server.py function is_server_ready (line 23) | def is_server_ready(port, timeout=30): function main (line 35) | def main(): FILE: skills/xlsx/scripts/office/helpers/merge_runs.py function merge_runs (line 16) | def merge_runs(input_dir: str) -> tuple[int, str]: function _find_elements (line 44) | def _find_elements(root, tag: str) -> list: function _get_child (line 59) | def _get_child(parent, tag: str): function _get_children (line 68) | def _get_children(parent, tag: str) -> list: function _is_adjacent (line 78) | def _is_adjacent(elem1, elem2) -> bool: function _remove_elements (line 93) | def _remove_elements(root, tag: str): function _strip_run_rsid_attrs (line 99) | def _strip_run_rsid_attrs(root): function _merge_runs_in (line 108) | def _merge_runs_in(container) -> int: function _first_child_run (line 128) | def _first_child_run(container): function _next_element_sibling (line 135) | def _next_element_sibling(node): function _next_sibling_run (line 144) | def _next_sibling_run(node): function _is_run (line 154) | def _is_run(node) -> bool: function _can_merge (line 159) | def _can_merge(run1, run2) -> bool: function _merge_run_content (line 170) | def _merge_run_content(target, source): function _consolidate_text (line 178) | def _consolidate_text(run): FILE: skills/xlsx/scripts/office/helpers/simplify_redlines.py function simplify_redlines (line 22) | def simplify_redlines(input_dir: str) -> tuple[int, str]: function _merge_tracked_changes_in (line 47) | def _merge_tracked_changes_in(container, tag: str) -> int: function _is_element (line 75) | def _is_element(node, tag: str) -> bool: function _get_author (line 80) | def _get_author(elem) -> str: function _can_merge_tracked (line 89) | def _can_merge_tracked(elem1, elem2) -> bool: function _merge_tracked_content (line 104) | def _merge_tracked_content(target, source): function _find_elements (line 111) | def _find_elements(root, tag: str) -> list: function get_tracked_change_authors (line 126) | def get_tracked_change_authors(doc_xml_path: Path) -> dict[str, int]: function _get_authors_from_docx (line 149) | def _get_authors_from_docx(docx_path: Path) -> dict[str, int]: function infer_author (line 172) | def infer_author(modified_dir: Path, original_docx: Path, default: str =... FILE: skills/xlsx/scripts/office/pack.py function pack (line 24) | def pack( function _run_validation (line 69) | def _run_validation( function _condense_xml (line 108) | def _condense_xml(xml_file: Path) -> None: FILE: skills/xlsx/scripts/office/soffice.py function get_soffice_env (line 24) | def get_soffice_env() -> dict: function run_soffice (line 35) | def run_soffice(args: list[str], **kwargs) -> subprocess.CompletedProcess: function _needs_shim (line 44) | def _needs_shim() -> bool: function _ensure_shim (line 53) | def _ensure_shim() -> Path: FILE: skills/xlsx/scripts/office/unpack.py function unpack (line 34) | def unpack( function _pretty_print_xml (line 82) | def _pretty_print_xml(xml_file: Path) -> None: function _escape_smart_quotes (line 91) | def _escape_smart_quotes(xml_file: Path) -> None: FILE: skills/xlsx/scripts/office/validate.py function main (line 25) | def main(): FILE: skills/xlsx/scripts/office/validators/base.py class BaseSchemaValidator (line 12) | class BaseSchemaValidator: method __init__ (line 94) | def __init__(self, unpacked_dir, original_file=None, verbose=False): method validate (line 109) | def validate(self): method repair (line 112) | def repair(self) -> int: method repair_whitespace_preservation (line 115) | def repair_whitespace_preservation(self) -> int: method validate_xml (line 143) | def validate_xml(self): method validate_namespaces (line 170) | def validate_namespaces(self): method validate_unique_ids (line 199) | def validate_unique_ids(self): method validate_file_references (line 289) | def validate_file_references(self): method validate_all_relationship_ids (line 385) | def validate_all_relationship_ids(self): method _get_expected_relationship_type (line 469) | def _get_expected_relationship_type(self, element_name): method validate_content_types (line 492) | def validate_content_types(self): method validate_file_against_xsd (line 598) | def validate_file_against_xsd(self, xml_file, verbose=False): method validate_against_xsd (line 636) | def validate_against_xsd(self): method _get_schema_path (line 685) | def _get_schema_path(self, xml_file): method _clean_ignorable_namespaces (line 703) | def _clean_ignorable_namespaces(self, xml_doc): method _remove_ignorable_elements (line 723) | def _remove_ignorable_elements(self, root): method _preprocess_for_mc_ignorable (line 742) | def _preprocess_for_mc_ignorable(self, xml_doc): method _validate_single_file_xsd (line 750) | def _validate_single_file_xsd(self, xml_file, base_path): method _get_original_file_errors (line 787) | def _get_original_file_errors(self, xml_file): method _remove_template_tags_from_text_nodes (line 814) | def _remove_template_tags_from_text_nodes(self, xml_doc): FILE: skills/xlsx/scripts/office/validators/docx.py class DOCXSchemaValidator (line 16) | class DOCXSchemaValidator(BaseSchemaValidator): method validate (line 24) | def validate(self): method validate_whitespace_preservation (line 66) | def validate_whitespace_preservation(self): method validate_deletions (line 112) | def validate_deletions(self): method count_paragraphs_in_unpacked (line 163) | def count_paragraphs_in_unpacked(self): method count_paragraphs_in_original (line 179) | def count_paragraphs_in_original(self): method validate_insertions (line 202) | def validate_insertions(self): method compare_paragraph_counts (line 243) | def compare_paragraph_counts(self): method _parse_id_value (line 251) | def _parse_id_value(self, val: str, base: int = 16) -> int: method validate_id_constraints (line 254) | def validate_id_constraints(self): method validate_comment_markers (line 298) | def validate_comment_markers(self): method repair (line 386) | def repair(self) -> int: method repair_durableId (line 391) | def repair_durableId(self) -> int: FILE: skills/xlsx/scripts/office/validators/pptx.py class PPTXSchemaValidator (line 10) | class PPTXSchemaValidator(BaseSchemaValidator): method validate (line 25) | def validate(self): method validate_uuid_ids (line 62) | def validate_uuid_ids(self): method _looks_like_uuid (line 100) | def _looks_like_uuid(self, value): method validate_slide_layout_ids (line 104) | def validate_slide_layout_ids(self): method validate_no_duplicate_slide_layouts (line 172) | def validate_no_duplicate_slide_layouts(self): method validate_notes_slide_references (line 210) | def validate_notes_slide_references(self): FILE: skills/xlsx/scripts/office/validators/redlining.py class RedliningValidator (line 11) | class RedliningValidator: method __init__ (line 13) | def __init__(self, unpacked_dir, original_docx, verbose=False, author=... method repair (line 22) | def repair(self) -> int: method validate (line 25) | def validate(self): method _generate_detailed_diff (line 104) | def _generate_detailed_diff(self, original_text, modified_text): method _get_git_word_diff (line 127) | def _get_git_word_diff(self, original_text, modified_text): method _remove_author_tracked_changes (line 198) | def _remove_author_tracked_changes(self, root): method _extract_text_content (line 229) | def _extract_text_content(self, root): FILE: skills/xlsx/scripts/recalc.py function has_gtimeout (line 32) | def has_gtimeout(): function setup_libreoffice_macro (line 42) | def setup_libreoffice_macro(): function recalc (line 70) | def recalc(filename, timeout=30): function main (line 164) | def main():