| name | assessment |
| description | Run application assessment for a single repository |
Application Assessment
This skill performs application assessment for a single repository. It supports Java, .NET, and JavaScript/TypeScript projects.
Input Parameters
workspace-path (optional): Path to the project to assess. Defaults to the current directory (repository root) when not specified. All assessment outputs are written relative to this path (e.g. {workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json). For a repository with multiple sub-projects, pass the sub-project directory path so that each sub-project's outputs are isolated.
When to Use This Skill
Use this skill when you need to:
- Assess a Java or .NET application for cloud readiness and migration issues
- Assess a JavaScript/TypeScript project for outdated dependencies and available updates
- Generate detailed assessment reports with issue analysis and recommendations
- Understand application dependencies, frameworks, and potential migration blockers
What This Skill Does
This skill performs a simplified assessment workflow:
-
Check Project Type and Prerequisites:
- For Java projects: Check MCP tool availability in this order:
- Primary: Check if 'appmod-run-assessment-action' MCP tool is available
- If available, use ONLY this tool. It handles everything (prerequisite checks, installation, and assessment execution) in a single call.
- Do NOT call any other assessment MCP tools when this tool is available.
- Fallback: If 'appmod-run-assessment-action' is NOT available, check if 'appmod-precheck-assessment' MCP tool is available
- If available, use the legacy workflow: call 'appmod-precheck-assessment' first, then follow its guidance for 'appmod-install-appcat' and 'appmod-run-assessment'.
- If neither tool is configured, return immediately with setup instructions.
- For .NET projects: Check if .NET SDK is available
- No MCP tools required for .NET assessment
- For JavaScript/TypeScript projects: Check if Node.js and npm are available
- No MCP tools required for JS/TS assessment
-
Run Assessment:
- For Java projects: Trigger AppCAT analysis via Assessment MCP server
- If 'appmod-run-assessment-action' is available (primary path):
- Call 'appmod-run-assessment-action' MCP tool only
- The MCP tool automatically saves the report to the versioned directory
- If falling back to 'appmod-precheck-assessment' (legacy path):
- Call 'appmod-precheck-assessment' to check prerequisites
- Call 'appmod-install-appcat' to install AppCAT if needed
- Call 'appmod-run-assessment' to run the assessment
- For .NET projects: Install and run AppCAT directly
- Install:
dotnet tool update dotnet-appcat
- Find all .csproj files under
{workspace-path}
- Join project paths with semicolons:
projectPaths="project1.csproj;project2.csproj"
- Run:
appcat analyze $projectPaths --source Solution --target Any --serializer APPMODJSON --code --privacyMode Restricted --non-interactive --report {workspace-path}\.github\modernize\appcat\result\report.json
- For JavaScript/TypeScript projects: Install and run npm-check-updates
- Install:
npm install -g npm-check-updates@19.6.3 --prefix {tool-install-dir}
- Run:
ncu --format group --packageFile {workspace-path}/package.json
- Generate the
reportId as a UTC timestamp formatted as yyyyMMddHHmmss (e.g. 2024-06-15T14:30:52Z becomes 20240615143052)
- Create the versioned directory:
mkdir -p {workspace-path}/.github/modernize/assessment/reports/report-{reportId}
- Save the output to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/js-assessment-report.md
- Do NOT save a copy to the top-level assessment directory
- Analyzes code for cloud migration issues or dependency updates
- Generates structured assessment data
-
Save Report to Versioned Directory (All languages):
- For Java projects (primary path — 'appmod-run-assessment-action'): The MCP tool automatically saves the report to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json — no manual saving needed
- For Java projects (legacy fallback path — 'appmod-precheck-assessment'):
- Find
report.json under {workspace-path}/.github/modernize/appcat/result/
- Read the report and extract
metadata.analysisStartTime
- Format the timestamp as
yyyyMMddHHmmss to produce the reportId (e.g. 2024-06-15T14:30:52Z becomes 20240615143052)
- Create the versioned directory:
mkdir -p {workspace-path}/.github/modernize/assessment/reports/report-{reportId}
- Move the report to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- For .NET projects:
- Find
report.json at {workspace-path}/.github/modernize/appcat/result/report.json
- Read the report and extract
metadata.analysisStartTime
- Format the timestamp as
yyyyMMddHHmmss to produce the reportId (e.g. 2024-06-15T14:30:52Z becomes 20240615143052)
- Create the versioned directory:
mkdir -p {workspace-path}/.github/modernize/assessment/reports/report-{reportId}
- Move the report to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- This versioned report should be included in the pull request
How to Use
Prerequisites
For Java projects:
- Primary: MCP tool 'appmod-run-assessment-action' — preferred, handles everything in one call
- Fallback: If primary tool is not available, use 'appmod-precheck-assessment' → 'appmod-install-appcat' → 'appmod-run-assessment' workflow
- If neither tool is configured, the skill will return instructions for setup
For .NET projects:
- .NET SDK must be installed
- No MCP tools required - appcat will be installed and run directly via .NET CLI
- The assessment will automatically install
dotnet-appcat tool if not already present
For JavaScript/TypeScript projects:
- Node.js and npm must be installed
- No MCP tools required - npm-check-updates will be installed and run directly via npm
- The assessment will automatically install
npm-check-updates if not already present
Triggering Assessment
Simply express the intent to assess the application. Example prompts:
- "Assess the application"
- "Run assessment for this project"
The assessment process automatically:
- Detects project language and framework within
{workspace-path}
- For Java: Uses MCP tool to run AppCAT and automatically save report to versioned directory
- For .NET: Installs dotnet-appcat tool and runs analysis directly
- For JavaScript/TypeScript: Installs npm-check-updates and runs dependency analysis
- Executes comprehensive analysis
- For Java (primary): Report is automatically saved to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- For Java (legacy fallback): Generates report at
{workspace-path}/.github/modernize/appcat/result/, then moved to versioned directory
- For .NET: Generates report at
{workspace-path}/.github/modernize/appcat/result/report.json
- For JavaScript/TypeScript: Generates report at
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/js-assessment-report.md
Report Saving
For Java projects:
- If using 'appmod-run-assessment-action' (primary path): The MCP tool automatically saves the report to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json — no manual report moving is needed
- If using legacy fallback path ('appmod-precheck-assessment'):
- Find
report.json under {workspace-path}/.github/modernize/appcat/result/
- Read the report and extract
metadata.analysisStartTime, format as yyyyMMddHHmmss to get reportId
- Move the report to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- Include this versioned report in the pull request
For .NET projects:
- Report is initially generated at
{workspace-path}/.github/modernize/appcat/result/report.json
- Read the report and extract
metadata.analysisStartTime, format as yyyyMMddHHmmss to get reportId
- Move the report to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- Include this versioned report in the pull request
For JavaScript/TypeScript projects:
- Generate the
reportId as a UTC timestamp formatted as yyyyMMddHHmmss (e.g. 2024-06-15T14:30:52Z becomes 20240615143052)
- Create the versioned directory:
mkdir -p {workspace-path}/.github/modernize/assessment/reports/report-{reportId}
- Save the ncu output to
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/js-assessment-report.md
- Include this versioned report in the pull request
Report Output Location
Report location depends on project type:
For Java projects (via MCP server):
- Primary path ('appmod-run-assessment-action'): Automatically saved to:
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- Legacy fallback path ('appmod-precheck-assessment'): Initially stored under
{workspace-path}/.github/modernize/appcat/result/, then moved to versioned directory: {workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
For .NET projects (direct execution):
- Initially generated at:
{workspace-path}/.github/modernize/appcat/result/report.json
- Moved to versioned directory:
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
For JavaScript/TypeScript projects (direct execution):
- Saved to versioned directory:
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/js-assessment-report.md
Success Criteria
Assessment is complete when:
- ✅ For Java: MCP server is available (or clear instructions provided if not)
- ✅ For .NET: .NET SDK is available and dotnet-appcat tool is installed
- ✅ For JavaScript/TypeScript: Node.js and npm are available and npm-check-updates is installed
- ✅ AppCAT analysis executes without errors (Java/.NET) or ncu analysis executes without errors (JS/TS)
- ✅ For Java and .NET: Report generated at
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/report.json
- ✅ For JavaScript/TypeScript: Report generated at
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/js-assessment-report.md
- ✅ Report metadata includes assessment tool version, timestamp, and configuration
Troubleshooting
Prerequisites Not Met:
- For Java: First check for 'appmod-run-assessment-action', then fall back to 'appmod-precheck-assessment'
- Return immediately with setup instructions if neither tool is available
- Do not attempt to run assessment without MCP
- For .NET: Verify .NET SDK is installed
- Check with
dotnet --version command
- Provide installation instructions if .NET SDK is missing
- For JavaScript/TypeScript: Verify Node.js and npm are installed
- Check with
npm --version command
- Provide installation instructions if npm is missing
Assessment Failures:
- Unsupported project type (only Java, .NET, and JavaScript/TypeScript supported)
- For Java: MCP server communication errors
- For .NET:
- dotnet-appcat tool installation failure
- appcat command execution errors
- For JavaScript/TypeScript:
- npm-check-updates installation failure
- ncu command execution errors
- No package.json found at
{workspace-path}/package.json
- Invalid project structure or build configuration
Report Generation Issues:
- For Java (primary): No report.json found under
{workspace-path}/.github/modernize/assessment/reports/report-*/report.json after MCP execution
- For Java (legacy fallback): No report.json found under
{workspace-path}/.github/modernize/appcat/result/ after MCP execution
- For .NET: Report not generated at
{workspace-path}/.github/modernize/appcat/result/report.json, or metadata.analysisStartTime missing from report
- For JavaScript/TypeScript: Report not generated at
{workspace-path}/.github/modernize/assessment/reports/report-{reportId}/js-assessment-report.md
- Report file is corrupted or invalid JSON (Java/.NET only)
For any failure, provide clear error messages and troubleshooting steps.