Skip to main content

update-solution-analyzer

MANDATORY guidelines for ANY edit to ANY file under Tools/Solutions Analyzer/ — including the mapper (map_solutions_connectors_tables.py), doc generator (generate_connector_docs.py), interactive docs (generate_interactive_docs.py), ASIM browser, collect_table_info, collect_asim_fields, upload_to_kusto, compare_runs, solution_analyzer_overrides.csv, filter_field_resolution.yaml, or any other script/config in that folder. Use when: editing/modifying/refactoring/fixing/renaming/tweaking ANY logic in those files, even one-line fixes such as renaming a classification, escaping a character, adjusting a regex, adding an override row, suppressing a false positive, or changing a constant. Covers: keeping script-docs in sync, README Version History changelog rules (required for feature/behavior changes; optional for small bug fixes), CSV output sync with upload_to_kusto.py, static/interactive index synchronization, and markdown/HTML entity page synchronization.

소스 정보

저장소
Azure/Azure-Sentinel
최근 소스 활동
2026년 7월 2일 22:32
감지된 SKILL.md 언어
영어
스타
6,251
포크
3,892

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
update-solution-analyzer
description
MANDATORY guidelines for ANY edit to ANY file under Tools/Solutions Analyzer/ — including the mapper (map_solutions_connectors_tables.py), doc generator (generate_connector_docs.py), interactive docs (generate_interactive_docs.py), ASIM browser, collect_table_info, collect_asim_fields, upload_to_kusto, compare_runs, solution_analyzer_overrides.csv, filter_field_resolution.yaml, or any other script/config in that folder. Use when: editing/modifying/refactoring/fixing/renaming/tweaking ANY logic in those files, even one-line fixes such as renaming a classification, escaping a character, adjusting a regex, adding an override row, suppressing a false positive, or changing a constant. Covers: keeping script-docs in sync, README Version History changelog rules (required for feature/behavior changes; optional for small bug fixes), CSV output sync with upload_to_kusto.py, static/interactive index synchronization, and markdown/HTML entity page synchronization.
# Update Solution Analyzer Scripts ## Before Modifying a Script Always review the relevant script documentation in `Tools/Solutions Analyzer/script-docs/` first. For changes to a CSV output file's columns or semantics, also review the corresponding per-CSV reference page in `Tools/Solutions Analyzer/script-docs/csv/` (one file per CSV). ## Script Documentation Updates When updating a script, update the corresponding doc in `script-docs/` to reflect: - Script parameters added or changed - Output file changes — for new/renamed/removed CSV columns, **edit the per-CSV page in `script-docs/csv/<csv-name>.md`** (the script doc only lists CSVs as a summary table with links; it does not duplicate column tables) - Changes to analysis methods or logic - New CSV output: create a new page under `script-docs/csv/`, add a row to the summary table in the script doc, and add the new CSV to `script-docs/csv/README.md` (both the "By generating script" and "By role" sections) ## README Changelog **Required for feature additions and behavior changes; optional for small bug fixes.** New features, changed analysis logic, new/renamed/removed CSV columns, parameter changes, and other user-visible behavior changes must appear in the changelog. Pure bug fixes — such as correcting a typo, fixing a crash, escape-character tweaks, regex corrections, or one-line fixes that restore intended behavior without changing it — may be logged at your discretion but are not required. When a changelog entry is warranted, update the `## Version History` section in `Tools/Solutions Analyzer/README.md`: - Add the change under the **latest version heading** at the top of the changelog - If the latest version has not been committed yet (i.e., it already has uncommitted changes in the changelog), add to that existing version — do **not** create a new version entry - If the latest version was already committed, create a new version entry with an incremented version number and a short descriptive title - Each entry should be a bullet under a bold category heading (e.g., `**Fix Name:**`) - Be concise but specific: state what changed, why, and what the user-visible impact is ## CSV Output Changes When adding or removing a CSV output file from the mapper: - Update `upload_to_kusto.py` → `SOLUTION_ANALYZER_FILES` list to add/remove the file ## Static and Interactive Index Synchronization The documentation generator produces **two parallel sets of index pages** that must stay in sync: 1. **Static indexes** (`generate_connector_docs.py`): Markdown index pages — `solutions-index.md`, `connectors-index.md`, `tables-index.md`, `content/content-index.md`, etc. 2. **Interactive index** (`generate_interactive_docs.py`): HTML page with DataTables.js — `index.html` with tabs for Solutions, Connectors, Tables, and Content. **When modifying any index generation logic**, apply the same change to BOTH: - Data filtering/inclusion rules (which connectors or tables to show) - Status classification logic (Active/Deprecated/Unpublished/Discovered) - Icon usage and legend entries - Special-case handling (placeholder names like `<PlaybookName>`, "GitHub Only" solution name) - Link generation (collection method links, content item links, parser routing) - Column additions or removals - Description cleanup (quote stripping, truncation) ## Markdown and HTML Entity Page Synchronization The doc generator produces **both static markdown and HTML versions** of every entity page. - **Markdown pages** (`generate_connector_docs.py`): Primary data source — all content, counts, tables, and formatting are defined here. - **HTML entity pages** (`generate_interactive_docs.py` → `_generate_html_pages()`): Auto-generated from markdown via Python `markdown` library. In most cases, changing `generate_connector_docs.py` is sufficient because HTML pages derive from markdown. But if the change involves: - Navigation or link targets - HTML-specific rendering (e.g., DataTables on schema tables) - Heading structure changes ...also update `generate_interactive_docs.py`.
GitHub에서 보기