Resources
3Install
npx skillscat add niyatna/niyatna-kit/agent-accounts Install via the SkillsCat registry.
Agent-Owned Account Login
Role boundary
This is a support skill, not the entrypoint for social posting.
platform-operator-routerchooses the platform route.platform-operator-router,platform-operator-router,platform-operator-router, andgoogle-workspaceown platform-specific frontend CRUD.agent-owned-account-loginowns the shared credential/session primitives: private account file contract, TOTP/backup-code handling, cookie/session hygiene, and safe CloakBrowser persistent-profile login bootstrap.- Browser skills own CloakBrowser/Camofox runtime mechanics, not platform semantics.
Do not duplicate platform posting/deletion/interactions here. If a frontend label changes, patch the platform operator skill.
Session-specific supported flows are collected under references/. Current notable references:
references/agent-accounts-reference.md— Consolidated guide for managing and verifying dedicated agent-owned credentials, GitHub PAT tokens, two-factor authentication, and Bitwarden.references/agent-os-account-lifecycle.md— Conceptual modeling checklist for active credentials promotion and operational lifecycles.
Overview
This skill is for dedicated agent-owned accounts, not Owner's primary personal accounts.
Core rule: login automation is allowed only after the account has an access contract, safe credential storage, confirmation thresholds, and a read-only/safe-write test. CloakBrowser persistent profiles are the primary isolated auth/session route. Camofox/Camofox is legacy/fallback only when CloakBrowser is blocked or the platform skill still has a verified Camofox-only CRUD flow. Secrets stay in private credential files or an encrypted manager, never in chat, SOUL, memory, Obsidian, skills, profile repos, or logs.
When to Use
Use this when Owner asks to:
- prepare Co-Founder/Default-owned Google, GitHub, X/Twitter, Notion/Linear OAuth, or similar accounts;
- sign in through CloakBrowser persistent profiles using account credentials or cookies;
- generate a TOTP code from a saved TOTP secret;
- validate an
account.txtwithout printing credentials; - design autonomous login recovery for dedicated accounts;
- decide whether to use browser login, cookies, OAuth, platform-operator-router, or an API/token flow.
Do not use this for mass signup, CAPTCHA bypass, OTP/email farm automation, quota evasion, scraping behind access controls, or accounts Owner does not own/control.
Account File Contract
Private credential root:
~/.hermes/private/credentials/agents/
co-founder/
google/account.txt
github/account.txt
x/account.txt
wallet/account.txt
default/
google/account.txt
github/account.txt
x/account.txt
wallet/account.txtaccount.txt is .env-style and must be chmod 600. Directories should be chmod 700.
Recommended fields:
ACCOUNT_ID=co-founder-google
OWNER=co-founder
SERVICE=google
EMAIL=example@gmail.com
USERNAME=
PASSWORD=never_commit_or_print
TOTP_SECRET=BASE32SECRETWITHOUTSPACES
BACKUP_CODES_FILE=~/.hermes/private/credentials/agents/co-founder/google/backup-codes.txt
COOKIES_FILE=~/.hermes/private/credentials/agents/co-founder/google/cookies.json
RECOVERY_EMAIL=
PHONE_LAST4=
NOTES=dedicated agent-owned accountRules:
- Never commit
account.txt,backup-codes.txt,cookies.json, tokens, or session stores. - Do not paste the password/TOTP secret into chat.
- If using 1Password later, replace secret fields with
op://...references and useop run/op read. - Wallet account files should store public address and metadata only by default. Never store seed phrase/private key in plaintext.
TOTP
TOTP is generated locally from the base32 TOTP_SECRET. The code is time-based; a fresh code is usually valid for 30 seconds.
Use the helper:
python ~/.hermes/profiles/default/skills/autonomous-ai-agents/agent-owned-account-login/scripts/account_totp.py \
--account-file ~/.hermes/private/credentials/agents/co-founder/google/account.txtThis prints only the OTP and timing metadata, not the secret.
If pyotp is unavailable, the helper uses Python stdlib HMAC/SHA1 and base32 decoding.
Account Skeleton Creation
Create private directories and placeholder-only account.txt files with:
python ~/.hermes/profiles/default/skills/autonomous-ai-agents/agent-owned-account-login/scripts/account_init.py \
--owner co-founder \
--service google \
--email co-founder.example@gmail.comThe initializer writes no secret values. It creates:
account.txtwith emptyPASSWORD=andTOTP_SECRET=placeholders;backup-codes.txtplaceholder;cookies.jsonplaceholder;- directory mode
700, file mode600.
Validator/audit scripts should check the fields the initializer actually emits: ACCOUNT_ID=, OWNER=, SERVICE=, empty secret placeholders, and NOTES=dedicated agent-owned account. Do not require a synthetic STATUS=planned-placeholder unless the initializer is changed to write it; that causes false-positive hardening failures.
Only fill real credentials locally after the account is approved and the access contract exists in ~/.hermes/private/credentials/access-registry.yaml.
Validation
Warning: Detailed setup and developer instructions have been moved out of this main playbook to prevent token footprint expansion. Please refer to: references/agent-owned-account-login.md for the full reference guidelines.
References & Sub-playbooks
Detailed guidelines for operations and troubleshooting are stored as modular reference documents under references/:
references/agent-os-account-lifecycle.md— Guidelines for execution of Agent Os Account Lifecycle