fellowship-dev/navvi · Archived

navvi-signup

Create a new account on a web service using Navvi — generates credentials in gopass, fills signup form, handles CAPTCHAs, registers the account. Use when asked to sign up, create an account, or register on a website.

First seen Mar 27, 2026

Installation

$ npx skills add fellowship-dev/navvi --skill navvi-signup

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from fellowship-dev/navvi.

npx skills add fellowship-dev/navvi

Browse all from fellowship-dev/navvi

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 8
License LICENSE
Default branch main
Open issues 10
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,127 B
  • docs SUMMARY.md 238 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

SKILL.md

Navvi Signup

Account creation skill. Creates a new account on a service using Navvi MCP tools and gopass credentials.

First Steps (ALWAYS)

  1. Read the persona brief — this tells you who you are, your email, your accounts, your history:
mcp__navvi__navvi_milestone(action="brief", persona="{persona}")

Use the primary email from the brief when signing up. Never guess from the persona name.

  1. Unlock atomic tools — you'll need them for form filling:
mcp__navvi__navvi_atomic(enable=true)

Prerequisites

  • Navvi container must be running (mcpnavvinavvi_start)
  • GPG/gopass must be initialized (needs NAVVIGPGPASSPHRASE in MCP config)

Workflow

Step 1: Check for existing account

Read persona://{persona}/state

If an account already exists for this service, report it and stop.

Step 2: Generate credentials

mcp__navvi__navvi_creds(action="generate", entry="navvi/{persona}/{service}", username="{chosen_username}")

Password is created inside the container and NEVER appears in your context.

Step 3: Navigate to signup page

mcp__navvi__navvi_open(url="https://{service}/signup")

Take a screenshot to see the page. If no obvious signup URL, try the homepage and look for a "Sign Up" or "Create Account" link.

Step 4: Fill the signup form

mcp__navvi__navvi_creds(action="autofill", entry="navvi/{persona}/{service}")

If autofill fails (non-standard form, multiple forms with same field names):

  1. Use navvi_find to locate the correct form fields
  2. Use navvi_fill for username/email only
  3. For password: use navvi_creds(action="autofill") with explicit selectors, or tab to the password field and use autofill
  4. NEVER type passwords manually

Custom Dropdowns (Fluent UI, React Select, etc.)

Do NOT use navvi_browse for custom dropdowns — it gets stuck in scroll loops. Use atomic tools directly:

  1. Find the dropdown trigger: navvifind("[role=combobox]") or navvifind("select")
  2. Click to open it: navvi_click(x, y)
  3. Find all options: navvi_find("[role=option]", all=true)
  4. Find and click the desired option by text match
  5. If the option list is long, use navvi_find("[role=option]:text('Chile')") or scroll within the dropdown

For native <select> elements: type the first letter(s) of the option after clicking to jump to it.

Step 5: Screenshot and verify form is filled

mcp__navvi__navvi_screenshot()

Read the screenshot to confirm fields are filled correctly before submitting.

Step 6: Submit the form

Click the submit button or press Enter:

mcp__navvi__navvi_find(selector="button[type=submit], input[type=submit]")
mcp__navvi__navvi_click(x=..., y=...)

Step 7: Handle CAPTCHAs

  • reCAPTCHA v2: find and click the checkbox up to 3 times:

`` mcpnavvinavvifind(selector="iframe[title*=reCAPTCHA]") mcpnavvinavviclick(x=..., y=...) ` If an image challenge appears or 3 clicks fail → navvi_vnc()` for human help

  • Arkose Labs / Human Security (press-and-hold): use navvihold(x, y, durationms=5000) on the verify button. These CAPTCHAs typically appear AFTER filling all form fields, not on intermediate Next buttons.
  • Other CAPTCHAs (hCaptcha, image puzzles): navvi_vnc() immediately

Step 8: Verify account creation

Screenshot and confirm success. Look for welcome messages, dashboard, confirmation page.

Step 9: Register the account

mcp__navvi__navvi_account(action="add", persona="{persona}", service="{service}", creds_ref="gopass://navvi/{persona}/{service}")

Step 10: Record milestone

After successful signup, always add a milestone with full details:

mcp__navvi__navvi_milestone(action="add", persona="{persona}", event="Signed up for {Service}", detail="Username: {username}\nEmail: {email}\n\nSubscriptions/choices made during signup.", url="https://{service}/profile/{username}", tags="first,{service},signup", screenshot=true)

Include ALL details: username, email, any profile choices, subreddits joined, etc. This builds the persona's life story.

Rules

  • NEVER type or display passwords — always use gopass via autofill
  • Generate credentials BEFORE navigating to the form (step 2 before step 3)
  • If a page has multiple forms (login + signup), use navvi_find with specific selectors to target the right one
  • Always screenshot before and after submitting
  • If email verification is required, report it — don't attempt to check email

Related Skills

  • navvi-login — use after signup to verify the new account works
  • navvi-browse — for general browsing and post-signup tasks

Response Format

Return:

  1. Account creation result (success/failure/verification needed)
  2. Username used
  3. Service URL
  4. Screenshot path
  5. Any issues encountered (CAPTCHA, email verification, etc.)