This is your reference for adding Internet Identity authentication to ICP apps. It covers passkey and OpenID sign-in flows, delegation handling, and principal-per-app isolation. The bulk of the value is in the "Mistakes That Break Your Build" section, which walks through the twelve ways developers typically break II integration: wrong URLs, missing /authorize paths, bad nonce handling, and skipping signer verification when reading attributes. The local dev setup is straightforward since icp-cli 0.2.4, mainnet II just works against your local replica without extra config. If you're adding login to a frontend or need to understand how attribute bundles work on the backend, this covers it.
npx skills add https://github.com/dfinity/icskills --skill internet-identity