--- name: aws-sso-login description: Authenticate to AWS using Single Sign-On (SSO). Use when AWS CLI operations require SSO authentication or when SSO session has expired. --- # AWS SSO Login A skill to authenticate to AWS using Single Sign-On (SSO) for a specified profile. ## Purpose Perform SSO authentication before executing AWS CLI operations. SSO sessions typically expire after 8-12 hours, requiring re-authentication. ## Input Parameters - `profile`: AWS CLI profile name configured for SSO (default: defined by project, e.g., `web-hosting`) - If the profile name is not known/available from project docs or prior context, ask the user which AWS CLI profile to use before running this skill. ## Execution Steps 1. Execute `aws sso login` command with the specified profile 2. Open browser automatically (or provide a URL to open manually) 3. Complete authentication in the browser 4. Confirm successful authentication ## Command Example ```bash # Login with SSO using specified profile aws sso login --profile ``` ## Project Configuration - Document the default profile name (e.g., `web-hosting`) in a separate project guide such as `.github/skills/README.md` or a skill configuration file. - Refer to that document when invoking this Skill so the same definition can be reused across repositories without editing the Skill itself. ## Output After successful authentication: - SSO session is established and cached locally - AWS CLI commands can be executed using the specified profile - Session remains valid for the configured duration (typically 8-12 hours) ## Usage Examples After executing this skill, AWS CLI commands with the profile become available: ```bash # Verify authentication aws sts get-caller-identity --profile web-hosting # Assume a role (often used after SSO login) aws sts assume-role --role-arn --role-session-name --profile web-hosting ``` ## Prerequisites - AWS CLI v2 installed (SSO support requires v2 or later) - SSO configuration set up in `~/.aws/config` for the specified profile - Web browser available for authentication - Network access to the SSO authentication endpoint ## Notes - SSO sessions expire after a configured duration (typically 8-12 hours) - When the session expires, re-execute this skill to re-authenticate - Browser-based authentication is required; this cannot be fully automated - For headless environments, consider using `--no-browser` flag and manually opening the provided URL - This skill should be executed before the `assume-cloudformation-role` skill if role assumption requires SSO authentication