Use when resetting a Kai/UAT test account by email for end-to-end onboarding, vault, RIA, consent, or profile retesting.
Recursos
2Instal·la
npx skillscat add hushh-labs/hushh-research/kai-test-account-reset Instal·la des del registre de SkillsCat.
SKILL.md
Kai Test Account Reset Skill
Purpose and Trigger
- Primary scope:
kai-test-account-reset - Trigger on requests to delete or reset a Kai test user, especially when the user provides an email and wants to retest onboarding end to end.
- Avoid overlap with
security-audit,iam-consent-governance, andrepo-operations.
Coverage and Ownership
- Role:
spoke - Owner family:
security-audit
Owned repo surfaces:
.codex/skills/kai-test-account-reset
Non-owned surfaces:
security-auditsecurity-auditiam-consent-governancerepo-operationsbackend
Do Use
- UAT-backed test-account erasure where the email is explicitly supplied by the user; this is not same-UID delete/recreate repair.
- Dry-run discovery of Firebase UID shadows, actor profile rows, vault/PKM/RIA/consent rows, and email-linked developer/invite rows.
- Operator-side cleanup that must remain separate from the user-facing account deletion UI.
Do Not Use
- Production account deletion.
- Deleting accounts without an explicit user-authored email and action-time confirmation.
- Bypassing the in-app
profile.delete_accountvault-owner flow for normal user-initiated deletion. - Firebase Auth account deletion or browser-local storage deletion unless explicitly scoped and confirmed.
Read First
consent-protocol/api/routes/account.pyconsent-protocol/hushh_mcp/services/account_service.pydocs/reference/kai/kai-action-gateway-vnext.md
Workflow
- Run a dry run first:
python3 .codex/skills/kai-test-account-reset/scripts/reset_kai_test_account.py --email <email> - Report the matched UID preview and planned cleanup scope without printing secrets.
Add--include-countsonly when row counts are needed; it can be slow on large UAT tables. - Ask for action-time confirmation before deletion, naming the email, environment, and data classes.
- Execute only after confirmation:
python3 .codex/skills/kai-test-account-reset/scripts/reset_kai_test_account.py --email <email> --execute --confirm-email <email> - Verify canonical erasure and remaining UID/email-linked rows. Never bulk-delete discovered rows outside the owning retention policy or continue cleanup after a failed transaction.
- The helper attests the connected UAT database and exact Firebase-bound owner; it preserves Firebase, external provider grants, and a minimal resurrection-suppression hash. Existing external-cleanup intents fail closed. An erased UID cannot recreate its UAT account; use a different authorized test account. Firebase/browser erasure requires a separately scoped workflow.
Handoff Rules
- Route schema or account-deletion-service gaps to
iam-consent-governanceorsecurity-audit. - Route backend runtime/proxy failures to
repo-operations. - Route user-facing One Voice/search action changes to
one-voice-governance.
Required Checks
python3 .codex/skills/kai-test-account-reset/scripts/reset_kai_test_account.py --help
python3 -m py_compile .codex/skills/kai-test-account-reset/scripts/reset_kai_test_account.py
python3 .codex/skills/codex-skill-authoring/scripts/skill_lint.py