kiro-auto-aws-builder-id
```markdown
What this skill does
```markdown
---
name: kiro-auto-aws-builder-id
description: Automate AWS Builder ID account registration and switching for Kiro IDE using Playwright browser automation with anti-detection mechanisms
triggers:
- register kiro account automatically
- automate aws builder id registration
- switch kiro ide account
- bulk register kiro accounts
- reset kiro machine id
- kiro auto registration with proxy
- automate builder id account creation
- kiro account management tool
---
# kiro-auto AWS Builder ID Tool
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
A TypeScript/Node.js tool that automates AWS Builder ID account registration for Kiro IDE using Playwright browser automation. Features temporary email integration for verification codes, browser fingerprint spoofing, anti-detection mechanisms, and interactive account switching.
## Installation
```bash
# Clone the repository
git clone https://github.com/AERT-7Y/kiro-auto.git
cd kiro-auto
# Install dependencies
npm install
# Install Playwright browser (Chromium)
npm run install-browser
```
**Requirements:**
- Node.js >= 18.0.0
- npm >= 9.x
## Key Commands
### Auto Registration
```bash
# Register a single account
npm run register -- --count 1
# Register multiple accounts sequentially
npm run register -- --count 10
# Register with concurrency (3 parallel registrations)
npm run register -- --count 10 --concurrency 3
# Register with delay between accounts (5 seconds)
npm run register -- --count 5 --delayMs 5000
# Use a proxy server
npm run register -- --count 5 --proxyUrl "http://127.0.0.1:7890"
# Non-interactive mode (no prompts)
npm run register -- --count 1 --non-interactive
# Disable fingerprint spoofing
npm run register -- --count 1 --no-fingerprint
# Disable incognito mode
npm run register -- --count 1 --no-incognito
```
### Account Switching
```bash
# Launch interactive account switcher menu
npm run switch
```
The interactive menu provides:
- Switch active Kiro account
- Restart Kiro IDE
- Reset machine ID (requires admin/root)
- View current status
## CLI Parameters Reference
| Parameter | Short | Default | Description |
|-----------|-------|---------|-------------|
| `--count` | `-n` | `1` | Number of accounts to register |
| `--concurrency` | `-c` | `1` | Parallel registration count |
| `--delayMs` | `-d` | `0` | Delay between registrations (ms) |
| `--proxyUrl` | `--proxy` | — | Proxy server URL |
| `--non-interactive` | — | — | Skip all prompts |
| `--no-fingerprint` | — | — | Disable fingerprint spoofing |
| `--no-incognito` | — | — | Disable incognito browser mode |
## Project Structure
```
kiro-auto/
├── lib/
│ ├── auth.ts # AWS OIDC device code auth flow
│ ├── register.ts # Core registration logic
│ └── fingerprint/
│ ├── generator.ts # Browser fingerprint generator
│ ├── injector.ts # Page script injector
│ └── types.ts # TypeScript type definitions
├── scripts/
│ ├── switch.ts # Account switcher entry point
│ └── register.ts # Registration entry point
├── show/
│ ├── builderid-template.json # Account data template
│ └── results.json # Registration results output
├── package.json
└── README.md
```
## How It Works
### Registration Flow
1. **Device Code Request** — Calls AWS OIDC to get a device authorization code
2. **Temp Email** — Fetches a temporary email address for verification
3. **Browser Launch** — Opens Playwright Chromium with anti-detection settings
4. **Form Fill** — Navigates to AWS Builder ID signup and fills email/name fields
5. **OTP Retrieval** — Polls temp email API for the verification code
6. **Password Setup** — Sets account password
7. **OAuth Complete** — Finalizes device authorization, saves SSO token
### Anti-Detection Mechanisms
- **Canvas fingerprint** spoofing via injected JS
- **WebGL renderer/vendor** randomization
- **Navigator properties** override (platform, languages, plugins)
- **Input delay simulation** — randomized typing speed
- **Mouse trajectory** simulation
- **Page warm-up** behavior (scroll, hover patterns)
## Code Examples
### Using the Auth Module Directly
```typescript
import { requestDeviceCode, pollToken } from './lib/auth';
// Request AWS OIDC device code
const deviceCode = await requestDeviceCode();
console.log('Verification URI:', deviceCode.verificationUriComplete);
// Poll until user completes verification
const token = await pollToken(deviceCode.deviceCode, deviceCode.interval);
console.log('Access Token:', token.accessToken);
```
### Triggering Registration Programmatically
```typescript
import { registerAccount } from './lib/register';
const result = await registerAccount({
count: 1,
concurrency: 1,
delayMs: 2000,
proxyUrl: process.env.PROXY_URL, // Optional: set via env var
fingerprint: true,
incognito: true,
});
console.log('Registered accounts:', result);
// Results are also saved to show/results.json
```
### Fingerprint Generator Usage
```typescript
import { generateFingerprint } from './lib/fingerprint/generator';
import { injectFingerprint } from './lib/fingerprint/injector';
import { chromium } from 'playwright';
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
// Generate a randomized fingerprint profile
const fingerprint = generateFingerprint();
// Inject fingerprint scripts before page load
await injectFingerprint(page, fingerprint);
await page.goto('https://example.com');
```
### Batch Registration with Concurrency
```typescript
// Run from CLI — registers 20 accounts, 5 at a time, 3s apart
// npm run register -- --count 20 --concurrency 5 --delayMs 3000 --non-interactive
// Equivalent programmatic call:
import { registerAccount } from './lib/register';
await registerAccount({
count: 20,
concurrency: 5,
delayMs: 3000,
fingerprint: true,
incognito: true,
});
```
### With Proxy Configuration
```typescript
// Via CLI
// npm run register -- --count 5 --proxyUrl "http://user:[email protected]:8080"
// Via environment variable pattern (recommended)
import { registerAccount } from './lib/register';
await registerAccount({
count: 5,
proxyUrl: process.env.PROXY_URL, // e.g. "http://127.0.0.1:7890"
});
```
## Configuration Files
### `show/builderid-template.json`
Template for account data structure. Registered accounts follow this schema and results are appended to `show/results.json`.
### `show/results.json`
Auto-generated file storing all successfully registered account credentials and tokens.
## Common Patterns
### Check Registration Results
```bash
# View saved accounts after registration
cat show/results.json
```
### Reset Machine ID (Windows)
Machine ID reset requires **administrator terminal**:
```bash
# Run terminal as Administrator, then:
npm run switch
# Select "Reset Machine ID" from the menu
```
Default Kiro install path (Windows):
```
C:\Users\<Username>\AppData\Local\Programs\Kiro\Kiro.exe
```
### Non-Interactive CI/CD Usage
```bash
# Fully automated, no prompts
npm run register -- --count 3 --non-interactive --no-fingerprint
```
## Troubleshooting
### Registration Fails
```bash
# 1. Verify network can reach AWS services
curl https://oidc.us-east-1.amazonaws.com
# 2. Add delay between attempts
npm run register -- --count 5 --delayMs 10000
# 3. Use a proxy if AWS blocks your IP
npm run register -- --count 5 --proxyUrl "http://127.0.0.1:7890"
# 4. Try single account first to debug
npm run register -- --count 1
```
### Browser Launch Errors
```bash
# Reinstall Playwright browser
npm run install-browser
# Or manually
npx playwright install chromium
```
### Machine ID Reset Fails
- **Windows**: Run terminal as Administrator
- **Linux/macOS**: Run with `sudo`
- Ensure Kiro IDE is fully closed before resetting
### Kiro Not Found
Default paths per OS:
- **Windows**: `C:\Users\<User>\AppData\Local\Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.