Skip to content
Back to skills

Onboard

ASecurity

Link this project to a Pad workspace and set it up

  • 185 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 3, 2026
ai-agentsbashreact

Works with

  • claude code
  • terminal

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add PerpetualSoftware/pad --skill onboard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Onboard?

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

Security grade badge for Onboard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/perpetualsoftware-onboard/badge)](https://www.skillsdirectory.com/skills/perpetualsoftware-onboard)

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
---
description: Link this project to a Pad workspace and set it up
allowed-tools: ["Bash", "Read"]
---

Set this project up with Pad. If `pad` is not on PATH, give the install one-liner
from https://getpad.dev/install and stop.

If no `.pad.toml` exists, first run `pad auth whoami` (fast and safe: in
non-interactive use — which is where you run — it returns immediately rather
than waiting on input, and it works regardless of workspace-link state) to
check whether this machine is already configured and authenticated:
- If it reports a real user, it's safe to self-heal: run `pad workspace init`
  (a name/`--template` are optional) to link and create the workspace
  non-interactively.
- If it reports "not configured," "session expired," or anything other than a
  real user, this machine hasn't finished setup yet. Do **not** run `pad init`
  or `pad workspace init` yourself — `pad workspace init` now fails fast,
  non-interactively, with an actionable error instead of hanging
  (BUG-2538/BUG-2577): "not been initialized yet" pointing at `pad auth
  setup`, or "not authenticated" pointing at `pad auth login`. That error
  still means only a human at an interactive terminal can finish it, so
  running it yourself just spends a tool call confirming what `pad auth
  whoami` already told you. (With both stdin AND stdout attached to a real
  terminal it instead drops into the browser auth flow, now bounded at 20
  minutes wall-clock — not a state your tool call is ever in.) `pad init` is
  not a safer probe either: verified live, it fails fast when stdin/stdout
  aren't terminals in both states — genuinely unconfigured, and (since
  BUG-2592) the session-expired sub-case of configured-but-unauthenticated —
  with the same real-terminal caveat as above, so probing it tells you
  nothing `pad auth whoami` didn't. Tell the user to run `pad
  init` themselves in an interactive terminal — in Claude Code, suggest they
  type `! pad init` to run it directly in their own terminal.
  Stop here; there's nothing more this skill can do until that completes.

Once linked, run `pad bootstrap --format json`, then **run the onboard
playbook — do not improvise your own setup script.** The playbook is
workspace-owned and user-editable (PLAN-1496's adaptation posture): a team
that has rewritten theirs must get their version from every surface,
including this shortcut. Three steps, in this order:

1. **Ensure the playbook is active.** Check the bootstrap's `playbooks`
   array for `invocation_slug=onboard, status=active`. If instead an
   onboard entry exists in a non-active status (draft/deprecated),
   REACTIVATE it in place (`pad item update PLAYB-N --field
   status=active`) — `invocation_slug` is workspace-unique, so library
   activation next to an existing entry creates a duplicate or fails on
   the slug. Only when no onboard playbook exists at all, activate from
   the library: `pad library activate "Onboard a workspace"` (activate
   takes the exact library title; `pad library list` shows it), or the
   Web UI's Playbooks → Library.

2. **Load the body and follow it — it IS the script:**

   ```bash
   pad playbook show onboard --format markdown
   ```

3. **Let its mode detection route, and frame `needs_onboarding`
   honestly.** The playbook's `mode` argument is `auto` (default),
   `build`, `audit`, or `revisit`, plus a separate `defaults` flag that
   fast-paths the interview. `auto` sends a workspace with ANY
   user-created item to `revisit` — and `needs_onboarding: false` means
   exactly that one fact, NOT that onboarding ever ran. So when it's
   false, say what exists (collections, active conventions from
   `convention_index`), and if the user says the workspace was never
   really set up, pass an explicit `mode=build` or `mode=audit` — the
   playbook honors the override — rather than expecting `auto` to pick
   the fuller pass, and rather than declaring setup complete yourself.

Create items only after the user confirms the shape — the same
confirm-before-creating rule as everywhere else.

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.