en un clic
etl-assessment
// Analyze SSIS packages from SnowConvert ETL.* outputs and source .dtsx files. Classifies packages, scores migration complexity, and produces JSON for the parent assessment multi-report.
// Analyze SSIS packages from SnowConvert ETL.* outputs and source .dtsx files. Classifies packages, scores migration complexity, and produces JSON for the parent assessment multi-report.
| name | etl-assessment |
| description | Analyze SSIS packages from SnowConvert ETL.* outputs and source .dtsx files. Classifies packages, scores migration complexity, and produces JSON for the parent assessment multi-report. |
| parent_skill | assessment |
| license | Proprietary. See License-Skills for complete terms |
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.
When invoked from a parent skill (e.g., assessment/SKILL.md) as a sub-agent, the parent provides a context block with the fields below. The review_mode field controls whether the per-package review loop runs.
| Field | Required | Notes |
|---|---|---|
project_dir | yes | absolute path to the SCAI project root |
output_dir | yes | typically <project_dir>/assessment/ssis |
etl_replatform_sources_path | no | absolute path to the SSIS .dtsx source directory; falls back to auto-detection per Step 1 |
review_mode | yes | generate-only, auto-review-all, or skip |
On entry: call the configure MCP tool with project_dir from the context block. Snowflake credentials are not required — scai_assessment_analyzer reads only local CSVs and .dtsx files.
Branching by review_mode:
generate-only — run Steps 1–2 (locate inputs + generate JSON). Return the etl_assessment_analysis.json path; do not run per-package analysis or the AI summary.auto-review-all — run all four steps (locate inputs, generate, analyze every package per references/analyze_ssis_package.md, draft the AI HTML summary, register it). Stop only when stats reports no pending packages.skip — return immediately with "status": "skipped".On completion, return JSON only:
{
"sub_skill": "etl-assessment",
"status": "ok",
"output_json": "<abs path to etl_assessment_analysis.json>",
"summary": "<one-line: total packages, classified count, pending count>",
"error": null
}
On skip: "status": "skipped", "output_json": null. On failure: "status": "error", "error": "<message>".
Use ONLY Provided Scripts
python -m scai_assessment_analyzerQuality Over Speed
Follow ONLY Provided Analysis Methods
Complete ALL Steps
Report Generation via Parent Skill ONLY
../SKILL.md) is the ONLY approved method--ssis-json parameter pointing to the etl_assessment_analysis.json file generated by this skillCopy 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)
Do NOT prompt the user for paths. Inputs are resolved automatically from project_dir configured by the parent assessment skill:
| Input | Auto-resolution |
|---|---|
ETL.Elements.csv | Latest <project_dir>/reports/SnowConvert/ETL.Elements.*.csv |
ETL.Issues.csv | Latest <project_dir>/reports/SnowConvert/ETL.Issues.*.csv |
| SSIS source dir | The --etl-replatform-sources-path recorded by convert (or <project_dir>/source/etl/, falling back to whatever was passed to scai code convert) |
| Output dir | <project_dir>/assessment/ssis/ (create if missing) |
Validation (silent — only surface a problem to the user if validation fails):
ETL.* CSVs exist. If they don't, the conversion either skipped ETL or didn't include the --etl-replatform-sources-path flag — return to the parent and ask the parent to re-run convert with ETL inputs. Do not ask the user to upload paths..dtsx files.Run with the auto-detected paths from Step 1:
uv run python -m scai_assessment_analyzer <ETL.Elements> <ETL.Issues> <SSIS_SOURCE_DIR> <OUTPUT>
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
DO NOT SKIP THIS STEP. The AI Summary is required before finishing the assessment.
Required Actions:
uv run python -m scai_assessment_analyzer etl <JSON_PATH> summary
Read the guide: references/ai_summary_guide.md
Generate summary file: ai_ssis_summary.html
Register the summary in the JSON:
uv run python -m scai_assessment_analyzer etl <JSON_PATH> ai-summary <HTML_PATH>
Verification Checklist:
ai_ssis_summary.html file existsai-summary commandCompletion: Report to user:
<output_path>/etl_assessment_analysis.jsonDeploy and validate all object types (tables, views, functions, procedures) in dependency order. Triggers: deploy objects, migrate objects, deploy tables, deploy views, migrate functions, migrate procedures.
End-to-end database migration to Snowflake. Orchestrates the full migration lifecycle from source connection through initial conversion. Triggers: migrate, migration, migrate to snowflake, end to end migration, e2e migration, full migration.
Analyzes Dynamic SQL occurrences from SnowConvert issues, classifies patterns, scores complexity, and records migration considerations. Use for SQL Server, Redshift, Oracle, or Teradata to Snowflake migrations. Driven entirely by `scai assessment sql-dynamic`; no custom scripts.
Analyze Informatica Power Center workflows/mappings from SnowConvert ETL.* outputs and source XML files. Classifies workflows, scores migration complexity, and produces JSON for the parent assessment multi-report.
Analyzes workloads to be migrated to Snowflake using SnowConvert assessment reports. Routes to specialized sub-skills for high-quality assessments. Use this skill when user wants to do an assessment of their code or ETL workload, waves generation, object exclusion, sql dynamic and/or ETL analysis (SSIS)
Analyze SQL object dependencies and create deployment waves/partitions for database migrations. Use when working with SQL migration planning, SnowConvert outputs, or deployment wave creation.