helpers/skills/gmail-draft/SKILL.md
Use this skill to compose a Gmail draft from text content in the conversation. Accepts a body, recipient list, and subject — either from the user or from context — and creates a draft in the user's Gmail Drafts folder via gws.
npx skillsauth add opendatahub-io/ai-helpers gmail-draftInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Compose a Gmail draft from text content provided in the conversation.
gws binary must be on $PATHgws auth login (not --readonly)If gws is not installed or authentication fails, tell the user to follow the
setup instructions in the google-workspace skill.
Helper scripts are located in ${CLAUDE_SKILL_DIR} and require Python 3.10+.
Collect the three required inputs. Sources depend on how the skill was invoked:
email-meeting-summary): recipients, subject,
and body are passed in context — use them directly.AskUserQuestion to collect any that are
missing:
Show the user the draft details before creating:
To: <recipients>
Subject: <subject>
<body>
Ask:
"Does this look right? Reply with any edits, or say 'send' to create the draft."
Incorporate edits and re-present until the user approves.
Write the body to a temp file, then call create_draft.py:
BODY_FILE=$(mktemp /tmp/gmail_draft_body.XXXXXX)
cat > "$BODY_FILE" << 'BODY_EOF'
<approved body text>
BODY_EOF
python3 "${CLAUDE_SKILL_DIR}/scripts/create_draft.py" \
--to "<recipients>" \
--subject "<subject>" \
--body-file "$BODY_FILE"
On success, tell the user:
"Draft created. You can find it in the Drafts folder in Gmail at https://mail.google.com/mail/#drafts. Review it before sending."
If the script exits with an error, show the error message and suggest the user
check gws auth login permissions (the Gmail scope must include draft
creation).
| Situation | Action |
|---|---|
| gws not found | Tell user to install gws and add it to PATH |
| Auth error (401/403) | Tell user to run gws auth login (without --readonly) |
| create_draft.py fails | Show error; check Gmail scope in gws auth login |
development
Run hexora static analysis on a Python package repository to detect suspicious code patterns, then triage findings with deterministic rules and AI reasoning to produce a structured risk report section.
development
Inspect recent git history of a Python package repository for suspicious commits touching supply-chain-sensitive files, then triage findings with AI reasoning to produce a structured risk report section.
development
Scan a Python package repository for compiled/binary files using Fromager-style detection and malcontent YARA analysis, then triage findings with deterministic rules and AI reasoning to produce a structured risk report section.
testing
Use this skill to identify non-Red Hat RPM packages installed in container images or on the local machine. For containers, pulls images across multiple architectures and release tags; for local scans, inspects the host directly. Extracts RPM signing metadata and reports packages not signed with the Red Hat GPG key as CSV output. Use when auditing compliance, checking supply-chain provenance, or scanning for third-party RPMs in RHOAI component images.