Auto Login Assistant
Overview
Use this skill when the agent is navigating a website and progress is blocked by a login screen, expired session, or verification-code challenge. The skill provides a conservative workflow for sign-in assistance: detect the login wall, collect user-approved credentials, fill the form, and handle one-time codes with clear consent boundaries.
This skill is intentionally not a bypass tool. It should never attempt to break captchas, defeat anti-bot systems, or infer secrets the user did not explicitly provide.
When To Use
Trigger this skill when any of the following are true:
- - The page redirects to a login, sign-in, or session-expired screen.
- The user asks the agent to sign in to a website, mailbox, SaaS product, or admin console.
- A workflow such as reading email, sending mail, checking dashboards, or accessing settings is blocked by authentication.
- The user wants the agent to help retrieve or place a verification code after they approve the flow.
Do not use this skill for:
- - Captcha solving, QR login bypass, hardware key prompts, payment approval, or biometric confirmation
- Guessing usernames, passwords, security questions, or backup codes
- Reading email or messages unless the user explicitly authorizes it for the current task
Workflow
1. Confirm It Is A Login Barrier
First verify that the page is actually asking for authentication. Look for signals such as:
- - URL patterns like
login, signin, auth, session-expired, INLINECODE4 - Password fields, OTP fields, or email/username inputs
- Buttons or headings such as "Sign in", "Log in", "Continue with email", "Enter code"
If the page is ambiguous, say so and ask the user whether you should treat it as a login flow before entering any credentials.
2. Choose Credential Source
Credential priority order:
- 1. Credentials the user provides in the current conversation
- A local file path the user explicitly points to
- Environment variables the user explicitly names
Never scan the filesystem broadly for secrets. Never assume a saved credential source without user direction.
If the user gives a file path or env var name, use scripts/read_credentials.py to normalize it into a consistent structure.
Supported normalized fields:
- - INLINECODE6
- INLINECODE7
- INLINECODE8
- INLINECODE9
- INLINECODE10
- INLINECODE11
- INLINECODE12
- INLINECODE13
- INLINECODE14
See references/config-example.md for examples.
3. Fill The Login Form Conservatively
Use the website's visible login flow rather than forcing a direct post.
Preferred field mapping order:
- - User identifier:
email, username, account, INLINECODE19 - Secret: INLINECODE20
- Verification:
otp, code, verification code, INLINECODE24
Before submitting:
- - Confirm the target site with the user if multiple accounts could apply
- Mask secrets in your explanation
- Avoid clicking "remember this device" or equivalent unless the user explicitly asks
4. Handle Verification Codes
Default behavior: ask the user to provide the verification code manually.
Only enter the email-reading branch if the user explicitly authorizes it for the current task and provides the mailbox access path. When allowed:
- - Read only the minimum mailbox content needed to locate the latest relevant code
- Extract likely codes with INLINECODE25
- Present the candidate briefly if confidence is low
- If multiple codes are plausible, ask before submitting
If email access fails or is unavailable, fall back to asking the user to paste the code.
5. Validate Success
After submit, confirm login success using page evidence:
- - User avatar, account menu, inbox, dashboard, or "sign out" control
- Removal of login prompt
- Successful navigation to the requested feature
If the flow fails, stop after a small number of attempts and explain the blocker clearly. Do not loop forever on retries.
Safety Rules
- - Treat credentials as ephemeral unless the user explicitly asks for a reusable local config.
- Do not store credentials in the skill folder.
- Do not broaden permissions, change MFA settings, or approve trusted-device prompts without explicit user permission.
- Refuse flows that amount to bypassing authentication or anti-abuse protections.
- If the website requests a captcha, QR scan, physical token, or passkey confirmation, hand control back to the user.
Suggested Interaction Pattern
Use short, direct prompts like these:
- - "This page appears to require login. Do you want me to sign in with credentials you provide now, or a local config you specify?"
- "I found a password field and an email field. Please provide the account for this site, or point me to the config path."
- "The site is asking for a verification code. If you want, paste the code here. I can only read email for this if you explicitly authorize that mailbox for this task."
Resources
references/config-example.md
Load this when the user wants a reusable local credential format or wants to see supported fields.
scripts/read_credentials.py
Run this to normalize credentials from a JSON file or environment variables into a consistent schema.
scripts/extract_verification_code.py
Run this to extract likely one-time codes from email text or copied verification messages after the user authorizes that step.
自动登录助手
概述
当代理在浏览网站时遇到登录界面、会话过期或验证码挑战而无法继续操作时,使用此技能。该技能提供了一套保守的登录辅助工作流程:检测登录障碍、收集用户批准的凭据、填写表单,并在明确的同意边界内处理一次性验证码。
此技能并非绕过工具。它绝不应尝试破解验证码、击败反机器人系统,或推断用户未明确提供的秘密信息。
使用时机
在以下任一情况发生时触发此技能:
- - 页面重定向到登录、登录或会话过期界面。
- 用户要求代理登录网站、邮箱、SaaS产品或管理控制台。
- 读取邮件、发送邮件、查看仪表板或访问设置等工作流程因身份验证而受阻。
- 用户希望代理在用户批准流程后帮助获取或输入验证码。
请勿将此技能用于:
- - 验证码破解、二维码登录绕过、硬件密钥提示、支付确认或生物识别确认
- 猜测用户名、密码、安全问题或备用代码
- 读取电子邮件或消息,除非用户明确授权当前任务
工作流程
1. 确认是否为登录障碍
首先验证页面是否确实要求身份验证。寻找以下信号:
- - 包含login、signin、auth、session-expired、verify等关键词的URL模式
- 密码字段、OTP字段或电子邮件/用户名输入框
- 按钮或标题如登录、登录、使用电子邮件继续、输入验证码
如果页面不明确,请说明情况,并在输入任何凭据前询问用户是否应将其视为登录流程。
2. 选择凭据来源
凭据优先级顺序:
- 1. 用户在本次对话中提供的凭据
- 用户明确指向的本地文件路径
- 用户明确命名的环境变量
切勿广泛扫描文件系统以查找秘密信息。未经用户指示,切勿假设已保存的凭据来源。
如果用户提供文件路径或环境变量名称,使用scripts/read_credentials.py将其规范化为一致的结构。
支持的规范化字段:
- - site(网站)
- loginurl(登录URL)
- username(用户名)
- email(电子邮件)
- phone(电话)
- password(密码)
- otpemail(OTP邮箱)
- otp_mode(OTP模式)
- notes(备注)
示例请参见references/config-example.md。
3. 保守填写登录表单
使用网站的可见登录流程,而非强制直接提交。
首选字段映射顺序:
- - 用户标识符:email(电子邮件)、username(用户名)、account(账户)、phone(电话)
- 秘密信息:password(密码)
- 验证信息:otp(一次性密码)、code(验证码)、verification code(验证码)、security code(安全码)
提交前:
- - 如果可能涉及多个账户,与用户确认目标网站
- 在解释中隐藏秘密信息
- 除非用户明确要求,否则避免点击记住此设备或类似选项
4. 处理验证码
默认行为:要求用户手动提供验证码。
仅在用户明确授权当前任务并提供邮箱访问路径时,才进入读取邮件分支。获得授权后:
- - 仅读取定位最新相关验证码所需的最少邮箱内容
- 使用scripts/extractverificationcode.py提取可能的验证码
- 如果置信度较低,简要呈现候选验证码
- 如果存在多个可能的验证码,提交前先询问
如果邮箱访问失败或不可用,回退到要求用户粘贴验证码。
5. 验证成功
提交后,通过页面证据确认登录成功:
- - 用户头像、账户菜单、收件箱、仪表板或退出控件
- 登录提示消失
- 成功导航到请求的功能
如果流程失败,在少量尝试后停止,并清楚说明障碍原因。不要无限循环重试。
安全规则
- - 除非用户明确要求可重用的本地配置,否则将凭据视为临时性信息。
- 不要在技能文件夹中存储凭据。
- 未经用户明确许可,不得扩大权限、更改MFA设置或批准受信任设备提示。
- 拒绝相当于绕过身份验证或反滥用保护措施的流程。
- 如果网站要求验证码、二维码扫描、物理令牌或通行密钥确认,将控制权交还给用户。
建议交互模式
使用简短直接的提示,例如:
- - 此页面似乎需要登录。您希望我使用您现在提供的凭据登录,还是使用您指定的本地配置?
- 我找到了密码字段和电子邮件字段。请提供此网站的账户信息,或指向配置路径。
- 网站要求输入验证码。如果您愿意,请在此粘贴验证码。只有您明确授权该邮箱用于此任务时,我才能读取邮件。
资源
references/config-example.md
当用户需要可重用的本地凭据格式或想查看支持的字段时加载此文件。
scripts/read_credentials.py
运行此脚本将JSON文件或环境变量中的凭据规范化为一致的架构。
scripts/extractverificationcode.py
在用户授权该步骤后,运行此脚本从电子邮件文本或复制的验证消息中提取可能的一次性验证码。