Skip to content
Back to skills

Run Dryrun

ASecurity

Runs dryrun so an agent can test a SaaSKit auth setup before go-live. Use when the user wants to test auth or run dryrun. It does not write login (that's `implement-saaskit`) or finish a go-live checklist (that's `check-saaskit-prod`).

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 1, 2026
ai-agentsgobashnoderailsapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add scalekit-inc/skills --skill run-dryrun --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Run Dryrun?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Run Dryrun
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/scalekit-inc-run-dryrun/badge)](https://www.skillsdirectory.com/skills/scalekit-inc-run-dryrun)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: run-dryrun
description: >
  Runs dryrun so an agent can test a SaaSKit auth setup
  before go-live.
  Use when the user wants to test auth or run dryrun.
  It does not write login (that's `implement-saaskit`)
  or finish a go-live checklist (that's `check-saaskit-prod`).
---

# Run dryrun

Run dryrun against a live environment. Then stop.

## Guardrails

- **MUST** confirm `SCALEKIT_ENVIRONMENT_URL` and `SCALEKIT_CLIENT_ID` before the command.
- **MUST** ask for `organization_id` before `--mode=sso`.
- **MUST** show the CLI output and explain pass/fail in plain language.
- **MUST** keep dryrun local. **MUST NOT** expose `http://localhost:12456/auth/callback` to the internet.
- **MUST NOT** write login. Name `implement-saaskit` instead.
- **MUST NOT** finish a go-live checklist. Name `check-saaskit-prod` instead.

## Gotchas

- The CLI flag is `--env_url`. The app env name is `SCALEKIT_ENVIRONMENT_URL`. Never `SCALEKIT_ENV_URL`.
- Register `http://localhost:12456/auth/callback` under Authentication → Redirect URIs. Spell the port and path exactly.
- Node 20+. Local only. Port `12456`. Default mode is `fsa`.
- SSO needs `--organization_id` (`org_…`). Copy it from the dashboard. Do not invent it.
- Client ID starts with `skc_`. Dashboard → Developers → Settings → API Credentials.
- Dryrun does not persist tokens after `Ctrl+C`.
- Dashboard steps are **user actions**. Print the checklist. Wait. Do not click the dashboard.

## Step 1 — Confirm env and Node

Need Node 20+. Need these two values:

```bash
echo $SCALEKIT_ENVIRONMENT_URL
echo $SCALEKIT_CLIENT_ID
```

`SCALEKIT_CLIENT_ID` must start with `skc_`. If either value is missing, collect them from [app.scalekit.com](https://app.scalekit.com) → Developers → Settings → API Credentials. Do not invent values.

**Done when:** Node is 20+, both values exist, and the client ID starts with `skc_`.

## Step 2 — Register the dryrun callback

Print this checklist. Wait for the user.

1. Dashboard → Authentication → Redirect URIs
2. Add `http://localhost:12456/auth/callback` exactly

**Done when:** the dashboard lists that exact URL.

## Step 3 — Pick the mode

| Mode | When |
|---|---|
| `fsa` | Default. Hosted login, callback, session. |
| `sso` | User asked to test SSO. Needs `--organization_id`. |

Default to `fsa` unless the user asked for SSO. If they asked for SSO and did not give `organization_id`, ask. Do not guess an `org_…`.

**Done when:** the mode is `fsa`, or the mode is `sso` with a real `org_…`.

## Step 4 — Run dryrun

Full-stack auth:

```bash
npx @scalekit-sdk/dryrun \
  --env_url="$SCALEKIT_ENVIRONMENT_URL" \
  --client_id="$SCALEKIT_CLIENT_ID" \
  --mode=fsa
```

SSO:

```bash
npx @scalekit-sdk/dryrun \
  --env_url="$SCALEKIT_ENVIRONMENT_URL" \
  --client_id="$SCALEKIT_CLIENT_ID" \
  --mode=sso \
  --organization_id=<org_…>
```

The browser opens. The user signs in. The local dashboard must show the user profile and tokens.

If port `12456` is in use, stop the other process and retry.

**Done when:** the local dashboard shows the user profile and tokens.

## Step 5 — Explain the result

Show the command output. Then map failures:

| Symptom | Next step |
|---|---|
| `redirect_uri` mismatch | Add `http://localhost:12456/auth/callback` under Authentication → Redirect URIs |
| Invalid client | Copy `skc_…` from the same env as `--env_url` |
| Organization error | Confirm the org exists, SSO is on, and the id is `org_…` |
| Port in use | Stop the process on `12456` and retry |

**Done when:** the user has a plain-language pass or fail.

## Step 6 — Stop

Do not write login. Do not start the go-live checklist.

**Done when:** dryrun showed the profile and tokens, or the failure has a next step, and this skill has stopped.

## Reach for

- `setup-saaskit` if env is missing
- `implement-saaskit` to write login after dryrun
- `implement-sso` if SSO mode failed on a missing connection
- `check-saaskit-prod` for the go-live record

## Live lookups

- Docs index: https://docs.scalekit.com/llms.txt
- Dryrun: https://docs.scalekit.com/dev-kit/tools/scalekit-dryrun/
- MCP: https://mcp.scalekit.com

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.