Workstation health triage — validate tooling, directory layout, and run doctor with remediation
Scanned 9/2/2026
Install to Claude Code
npx -y skills add ulises-jeremias/agent-toolkit --skill triage --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Triage?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ulises-jeremias-triage-5abf1a10)More formats (shields.io, HTML) on the badges page.
---
name: triage
description: Workstation health triage — validate tooling, directory layout, and run doctor with remediation
suggestions.
origin:
type: first-party
metadata:
author: ulises-jeremias
version: '1.1'
---
# Workstation Triage ()
Use when the user reports workstation issues, install problems, tool failures, or needs a health check before starting work.
## Prerequisites
Run this skill on the **local workstation** where the user is experiencing issues. Do not run it on a remote server unless the user confirms the remote has the setup.
Verify `doctor` is installed:
```bash
command -v doctor
```
If missing, install via chezmoi (`chezmoi apply`) or direct installation.
## Output modes
Use the mode that matches the user's need:
| Mode | Command | When to use |
|------|---------|-------------|
| **Colored** (default) | `doctor` | Interactive terminal session — human-readable colored output |
| **Markdown** | `doctor --issue` | GitHub issues, Slack threads, tickets — paste-ready block |
| **JSON** | `doctor --json` | Automation scripts, CI parsing — single-line machine-readable |
### Markdown output (`--issue`)
Always use `doctor --issue` (not the default) when the output will be shared in:
- GitHub issues or PR comments
- Slack messages
- Support tickets
- Any written async communication
### JSON output (`--json`)
Use `doctor --json` only when:
- A script or automation pipeline needs to parse the result
- You need a single-line summary for programmatic handling
- Requires `python3` in PATH
## Profile and check groups
The doctor's behavior is controlled by `~/.config//profile.env`. Checks can be selectively enabled/disabled via environment variables:
| Variable | Default | Effect |
|----------|---------|--------|
| `DOTS_WORKSTATION_DOCTOR_GROUP_CORE` | `true` | Core tools: `git`, `curl`, `wget`, `jq`, `rg`, `fd`, `zsh`, `gh` |
| `DOTS_WORKSTATION_DOCTOR_GROUP_NODE` | `true` | Node.js: `fnm`, `node` |
| `DOTS_WORKSTATION_DOCTOR_GROUP_PYTHON` | `true` | Python: `uv`, `python3` |
| `DOTS_WORKSTATION_DOCTOR_GROUP_DOCKER` | `true` | Docker: `docker` |
| `DOTS_WORKSTATION_DOCTOR_GROUP_AI` | `true` | LLM API key presence flags (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY) |
| `DOTS_WORKSTATION_DOCTOR_GROUP_SKILLS_PRODUCTIVITY` | `false` | Optional productivity tool group |
| `DOTS_WORKSTATION_DOCTOR_SKILL_JIRA` | `false` | JIRA skill integration check |
| `DOTS_WORKSTATION_DOCTOR_SKILL_CONFLUENCE` | `false` | Confluence skill integration check |
> **Note:** Profile variables are read from `~/.config//profile.env`. If the file is missing, defaults apply.
## Directory checks
The doctor validates the presence and structure of:
- `~/.local/share//prompts`
- `~/.local/share//skills`
- `~/.local/share//templates`
- `~/.local/share//mcp/github`
- `~/.local/share//mcp/clickup`
- `~/.local/share//mcp/notion`
- `~/.local/share//mcp/slack`
## Remediation guidance
Propose fixes in order of lowest risk first:
1. **Missing directories** → run `chezmoi apply` to bootstrap the full installation
2. **Missing commands** → use the respective skill's installation instructions (e.g., `uv` via `curl -LsSf https://astral.sh/uv/install.sh`)
3. **Auth failures** → run `gh auth login`, `clickup auth login`, or `glab auth login` as appropriate
4. **Profile/group mismatches** → edit `~/.config//profile.env` and run `chezmoi apply`
5. **API key missing** → guide user to set the appropriate env var in their shell profile
## Common issues
### doctor exits 1 (NON-COMPLIANT)
Run with `--issue` to get the full markdown checklist. Address failures in this order:
1. Install any missing core commands
2. Run `chezmoi apply` to restore directory structure
3. Re-authenticate CLIs (`gh`, `clickup`, `glab`)
4. Verify `~/.config//profile.env` matches the intended profile
### doctor --json requires python3
If `python3` is not available, fall back to `doctor --issue` and parse the markdown manually.
### doctor: Missing dependency: easyoptions.sh
The `easyoptions.sh` library is missing from `~/.local/lib/`. Re-run `chezmoi apply` to restore it, or check if the installation is incomplete.
## Skill boundaries
- This skill **does not fix issues automatically** — it diagnoses and proposes remediation steps.
- This skill **does not modify** `profile.env` or authentication state — user must approve and execute fixes.
- For **chezmoi-managed configuration issues**, pair with the **`dev-companion`** or direct chezmoi guidance.
- For **CI/build failures** on a project repo, use **`build-error-resolver`** instead of this skill.
## References
- `doctor --help` — full option list
- `~/.config//profile.env` — check group configuration
- `~/.local/lib//easy-options/easyoptions.sh` — dependency library
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!