new-hire
Onboard a teammate end to end: invite, role, groups, secrets, file access, and onboarding packet. Also brings existing access up to role.
- License 许可
- MIT
- 最近更新
- 2026-11-09
- Stars
- ★ 94
- Forks
- 18
01 前言 Front Matter
- name
- new-hire
- description
- Onboard a teammate end to end: invite, role, groups, secrets, file access, and onboarding packet. Also brings existing access up to role.
- allowed-tools
- Bash, Read, Write, AskUserQuestion
02 资源文件 1
- 参考文档agents/openai.yaml124 B
03 SKILL.md 正文
/new-hire — Onboard a Human Teammate
One flow from "we hired someone" to "they have everything their role needs and know where to start." The failure mode this skill kills: a new teammate gets an invite email and nothing else — no groups, no secrets, no map of the company — and spends their first week asking for access one credential at a time.
Usage:
/new-hire # interview from scratch
/new-hire {email} # onboard a specific person
/new-hire {email} {company} # skip company resolution
For fleet agents (identities like agt-…@agents.{your-domain}.ai), use
/new-agent instead — agents need runtime bootstrap and probe verification
that humans don't.
Process
Who runs these steps
Steps 1–4 are the onboarding admin’s terminal tasks. Run them from a terminal
with the HQ CLI signed in to the company account that can invite teammates and
grant access. The teammate does not need to run provisioning commands. Their
setup is the checklist in Step 5: sign in with hq login, accept the invite,
and pull the company workspace with hq sync pull --company {co}.
1. Resolve person + company
- Check current state:
hq members list --company {co}. If the person already has an active membership → top-up mode: diff their access against the role's needs and grant only gaps (role changes go throughhq groups/ membership updates, not a re-invite). - Company must be in
companies/manifest.yamland cloud-backed (cloud_uidpresent). Not cloud-backed → route to/designate-teamfirst.
2. Interview — define the role before the grants
Batched (one AskUserQuestion call, skip anything already known):
- Who: name + email (work email they'll authenticate with).
- Role:
adminormemberin the vault, and their functional role (engineering, finance, ops, design, GTM…) — the function drives the access bundle. - Access bundle: which repos, secrets, knowledge areas, and tools does the function need on day one? Prefer naming an existing teammate to mirror ("same access as X") — then read X's grants as the template.
- Intro context: who do they report to, which Slack channels matter, any first-week priorities for the onboarding packet.
3. Derive the access bundle
Build the manifest before granting. For each item, prefer what exists in the
vault (hq secrets list --company {co}) over minting new credentials.
- Least privilege:
--permission readunless their function writes (e.g. an engineer deploying needs write on deploy keys; a finance analyst reading Stripe does not). - Groups first: if the company uses
hq groups, add the person to the right group and let group ACLs carry the standing access — per-person shares are for exceptions, not the baseline. - Payment/production keys: verify scope before sharing (a Stripe key's
prefix —
rk_restricted vssk_full — can be checked without exposure viahq secrets exec --company {co} --only KEY -- sh -c 'printf %s "$KEY" | cut -c1-3'). Flag full-scope keys to the owner before including them in an onboarding bundle. - Anything the role needs that HQ can't grant (GitHub org seat, SaaS seats, payroll) goes in the report as an action item with an owner — not silently dropped.
4. Invite + grants
Invite (skip in top-up mode):
hq members invite {email} --company {slug} --role {admin|member}
- Default path emails the claim link via Resend. With
--no-send-email, the CLI prints the claim link — surface it ONLY as a Markdown inline link percore/policies/hq-secure-link-render-as-markdown.md; it is a single-use capability.
Groups:
hq groups add {group} --member {email} --company {slug} # or equivalent
Secrets — per manifest key:
hq secrets share KEY --company {slug} --with {email} --permission read
(--permission is required; full key path, e.g. SHOPIFY/CLIENT_ID, not a
prefix.)
File ACLs — knowledge areas, playbooks, dashboards via /hq-files
grants or /hq-share for one-off packets.
5. Write the onboarding packet
Create companies/{co}/people/{name-slug}/onboarding.md in the team vault:
- Start here: what the company does, who's who (reporting line, key contacts), which Slack channels to join.
- Your access: the granted bundle in plain language — what each credential or path is for, and the house rules that govern it (link the company's hard policies rather than restating them).
- Setup checklist:
hq login→/accept(if link not yet claimed) →hq sync pull --company {co}→ confirmcompanies/{co}/is present →hq secrets list --company {co}shows their keys. - First week: the priorities from Step 2.4.
The packet syncs to them on their next hq sync pull --company {co}. It outlives
the welcome message and is the place to update as their access evolves.
6. Welcome + follow-through
- Draft the welcome (Slack or
hq dm): outcome-first, plain language, links to the packet. Show outbound drafts to the user for approval before sending — external-facing messages are never fire-and-forget. - Track acceptance: invite stays
pendinguntil they claim it. Checkhq members list --company {co}; if still pending after a day, resurface to the owner rather than assuming onboarding finished. - After acceptance, confirm the setup checklist completed (ask them, or check the signals their function produces — first commit, first report, first message in the team channel).
7. Report
Hire: {name} <{email}> — {role} @ {co}
Invite: {sent|pending|already active}
Groups: {list}
Granted: {n} secrets (read/write split), {m} file paths
Packet: companies/{co}/people/{name-slug}/onboarding.md
Welcome: {drafted → approved → sent | awaiting approval}
Outside HQ: {SaaS seats / org invites needing a human, each with an owner}
Done when: membership active + they confirm the setup checklist.
Rules
- Least privilege, groups before per-person shares, read before write.
- Never paste secret values anywhere; grants and
hq secrets execonly. - Claim links are single-use capabilities — markdown inline link render only, never bare tokens.
- Outbound welcome messages require user approval before sending.
- Top-up mode (existing member) must diff current access first — never blind re-grant, never re-invite an active member.
- Tenant isolation: one company per invocation; cross-company access goes
through
hq group-grantswith explicit sign-off. - Onboarding is not done at invite-send. It is done at membership-active + confirmed setup checklist.
See also
/new-agent— fleet-agent equivalent (adds runtime bootstrap + probe gate)hq members invite— the bare invite primitive this skill wraps/designate-team— make a company cloud-backed first/hq-secrets,/hq-files,/hq-share— grant primitives
04 同仓库更多 Skills
social-graphic
Generate 1080x1080 HTML social graphics for HQ update posts.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
work-mesh
Work Mesh Live — automatic presence via hq mesh daemon; context reconcile/organize; manual session task-status, blocked, and note only.
review
Parity worker review skill (materialization fixture).
run
Run or list HQ workers (parity fixture).
handoff
Preserve session state for a follow-up agent (parity fixture).