> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # hasAllEnvVars > Check whether all required environment variables are set. [ref-validateenvvars]: /docs/server-sdks/reference/typescript/agents/skill-base/validate-env-vars Convenience wrapper around [`validateEnvVars()`][ref-validateenvvars] that returns a boolean. Mirrors the Python SDK's `validate_env_vars() -> bool` return shape. Checks each entry in the skill class's `REQUIRED_ENV_VARS` static array against `process.env`. ## **Returns** `boolean` -- `true` if every required env var is present, `false` otherwise. ## **Example** ```typescript {10} import { SkillBase } from '@signalwire/sdk'; export class WeatherSkill extends SkillBase { static SKILL_NAME = 'weather'; static SKILL_DESCRIPTION = 'Fetches current weather.'; static REQUIRED_ENV_VARS = ['WEATHER_API_KEY']; async setup(): Promise { if (!this.hasAllEnvVars()) { this.logger.error('Missing required environment variables'); return false; } return true; } } ``` > Check whether all required environment variables are set.