# Greet

> Draft a short, warm opening message for a named recipient in a stated context — a release announcement, an onboarding note, a reply to a first-time contributor. Use when a message needs a human opening line and the surrounding copy already exists, or when a draft reads as abrupt and the fix is tone rather than content.

- Skill: `blueprint-conformance/greet` (Agent Skill)
- Install (CLI): `npx skillmds@latest add blueprint-conformance/greet`
- Raw SKILL.md: https://api.skillmd.com/api/skills/blueprint-conformance/greet/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: blueprint-conformance (https://skillmd.com/u/blueprint-conformance)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/blueprint-conformance/greet

---


# greet — a short opening line, in the register the moment calls for

Ask for two things before writing: **who** is being addressed and **what** the message is about.
Without both, an opening line is generic, and a generic opening line is worse than none.

## The procedure

1. Read the surrounding copy. The opening has to sit in the same register as what follows.
2. Name the recipient the way they are named elsewhere in the thread — not a title, not a
   role, the name that is already in use.
3. Write one sentence that says why this message exists. Not a greeting plus a summary: one
   sentence that does both.
4. Read it back against the message body. If the opening promises something the body does not
   deliver, the body is the thing to fix.

## What this skill will not do

It will not invent a relationship that does not exist ("great catch-up last week"), and it will
not manufacture enthusiasm the sender has not expressed. Both read as false to the recipient,
which is the exact failure an opening line is supposed to avoid.

Bundled phrasing examples live beside this file and are read on demand:
`${CLAUDE_SKILL_DIR}/references/registers.md`.

