# SSIS Assessment

**SnowConvert AI** migrates SSIS packages to Snowflake. This skill analyzes packages from their source code and SnowConvert assessment CSV reports to generate detailed migration analysis including package classification and complexity assessment.

---

## Rules

1. **Use ONLY Provided Scripts**
   - ONLY use the provided CLI commands: `python -m scai_assessment_analyzer`
   - DO NOT create custom scripts to read or manipulate the JSON file
   - DO NOT use grep, jq, or other tools to parse the JSON directly
   - All JSON interactions MUST go through the provided CLI

2. **Quality Over Speed**
   - Each package deserves thorough, individual analysis
   - Write specific, detailed analysis for each package
   - DO NOT create batch analysis regardless of package volume
   - DO NOT skip analysis steps to save time

3. **Follow ONLY Provided Analysis Methods**
   - Use ONLY the workflow in [references/analyze_ssis_package.md](references/analyze_ssis_package.md)

4. **Complete ALL Steps**
   - Step 4 (AI Summary) is MANDATORY before finishing
   - DO NOT skip to report generation without completing all steps
   - Every checkpoint in the workflow must be completed

5. **Report Generation via Parent Skill ONLY**
   - The multi-report generator in the parent skill (`skills/assessment-skill/SKILL.md`) is the ONLY approved method
   - Provide the `--ssis-json` parameter pointing to the `etl_assessment_analysis.json` file generated by this skill

---

## Workflow

Copy this checklist and track your progress:

```
Analysis Progress:
- [ ] Step 1: Locate and Validate Input Files
- [ ] Step 2: Generate JSON Analysis
- [ ] Step 3: Analyze SSIS packages (sub workflow)
- [ ] Step 4: Draft AI summary (HTML AI summary)
```

## Step 1: Locate and Validate Input Files

**Check if user provided:**
1. `ETL.Elements.csv` path
2. `ETL.Issues.csv` path  
3. SSIS source directory with `.dtsx` files
4. Output path for assessment results.

**If any are missing, ask:**

```
I need the following inputs to analyze your SSIS packages:

1. ETL.Elements.csv - Full path to the file
2. ETL.Issues.csv - Full path to the file
3. SSIS source directory - Path to folder containing .dtsx package files

Please provide these paths.
```

**Validate files exist:**
- Check both CSV files are accessible
- Confirm SSIS directory contains `.dtsx` files
- If validation fails, inform user and request correct paths

---

## Step 2: Generate JSON Analysis

Run

``` bash
uv run python -m scai_assessment_analyzer <ETL.Elements> <ETL.Issues> <SSIS_SOURCE_DIR> <OUTPUT>
```

## Step 3: Analyze SSIS Packages

This step is a sub workflow to analyze packages individually. After this, continue with step 4.

To analyze SSIS packages, follow the instructions of the workflow of this reference file: [reference/analyze_ssis_package.md](references/analyze_ssis_package.md)

---

## Step 4: Draft AI Summary

**DO NOT SKIP THIS STEP.** The AI Summary is required before finishing the assessment.

**Required Actions:**

1. Run the summary command to get all signals:
```bash
uv run python -m scai_assessment_analyzer etl <JSON_PATH> summary
```

2. Read the guide: [references/ai_summary_guide.md](references/ai_summary_guide.md)

3. Generate summary file: `ai_ssis_summary.html`

4. Register the summary in the JSON:
```bash
uv run python -m scai_assessment_analyzer etl <JSON_PATH> ai-summary <HTML_PATH>
```

**Verification Checklist:**
- [ ] `ai_ssis_summary.html` file exists
- [ ] Summary registered with `ai-summary` command

**Completion:**
Report to user:
- Total packages analyzed
- JSON file location: `<output_path>/etl_assessment_analysis.json`
- Go to main workflow in parent skill