s32ds-workspace-health-check
Perform a comprehensive health check of the entire S32DS workspace. Lists all projects, retrieves global problems (errors/warnings across all projects), performs per-project analysis (build state, SDK
SKILL.mdskills/s32ds/s32ds-workspace-health-check/SKILL.md
GitHubWorkspace Health Check
Perform a comprehensive health check across all projects in the workspace - detect errors, warnings, and potential issues.
Tools Used
search_actions- call FIRST to discover available actions; the returned catalog includes each action's input schemaexecute_action- invoke any discovered action viaexecute_action(action_name="X", params={...}); the staticstart_toolaction brings the IDE up if it is not running- The
waitForJobaction (viaexecute_action) - blocks until a named async job completes
Before You Start
Call search_actions(query="...") first to discover all available actions, their descriptions, and input schemas (a parameterless search_actions() browses everything). Use the returned catalog to determine correct action names and required/optional parameters before calling execute_action.
Guardrails
Scope
- This skill is read-only reporting across all projects. Never auto-fix, build, or modify any project as part of the health check; recommend fixes and hand off to the relevant skill.
Resource limits
- Summarize from workspace/project queries; do not open or build every project to gather data. Cap deep per-project inspection to the projects that actually show problems.
Refuse-and-escalate
- If an individual project cannot be read (e.g. closed or errored), note it in the report and continue rather than halting the entire health check.
When to Use
User asks "are there any problems in my workspace?"
Before a release or commit, to ensure everything is clean
After importing or updating multiple projects
General workspace diagnostics
Steps
1. List All Projects
Get a full inventory of workspace projects:
execute_action(action_name="listProjects")
Note which projects are open vs. closed. Closed projects won't have problems reported.
2. Check Global Problems
Get all problems across the entire workspace:
execute_action(action_name="getProblems", params={"severity": "error", "limit": 500})
Then check warnings:
execute_action(action_name="getProblems", params={"severity": "warning", "limit": 100})
3. Per-Project Analysis
For each project with issues, get detailed info:
execute_action(action_name="getProjectInfo", params={"projectName": "<project_name>"})
Check for:
- Missing natures or builders (corrupted project config)
- Invalid build configurations
- Missing referenced projects
4. Verify SDK Attachments
For projects with build errors, check SDK status:
execute_action(action_name="getProjectSdks", params={"projectName": "<project_name>"})
Missing or mismatched SDKs often cause cascading build errors.
5. Generate Health Report
Summarize findings in a structured format:
- Critical: Projects with errors (list count per project)
- Warnings: Non-blocking issues
- Clean: Projects with zero problems
- Closed: Projects not checked (they are closed)
6. Open Relevant IDE Views (optional)
List and open IDE views for deeper diagnostics:
execute_action(action_name="listViews")
Then open a specific view (e.g., Problems, Console, Memory):
execute_action(action_name="openView", params={"viewId": "org.eclipse.ui.views.ProblemView"})
Useful when directing the user to visually inspect errors or console output.
7. Suggest Fixes
For each category of problem found, suggest resolution:
- Build errors -> clean and rebuild, check SDKs
- Missing references -> verify project dependencies
- Config issues -> check project properties
Tips
- Run this after
execute_action(action_name="cleanProject", params={"projectName": "<name>"})+execute_action(action_name="buildProject", params={"projectName": "<name>"})for accurate results - A project with 0 errors but many warnings may still need attention
- Use
execute_action(action_name="getProblems", params={"resourcePath": "Project/src/file.c"})to drill into specific files