Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add himanshusaleria/gtm-engine --skill good-nightgit clone --depth 1 https://github.com/himanshusaleria/gtm-engineWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/himanshusaleria/gtm-engine/good-night)<a href="https://agentmods.dev/skills/himanshusaleria/gtm-engine/good-night"><img src="https://agentmods.dev/badge/skills/himanshusaleria/gtm-engine/good-night/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/himanshusaleria/gtm-engine/good-night"><img src="https://agentmods.dev/badge/skills/himanshusaleria/gtm-engine/good-night.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.03738 |
| Opus 5 | $0.00000 | $0.01869 |
| Sonnet 5 | $0.00000 | $0.00748 |
| Haiku 4.5 | $0.00000 | $0.00374 |
Grade B, and why
good-night scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
- **Fireflies:** `curl -s -X POST "https://api.fireflies.ai/graphql" -H "Authorization: Bearer ${api_key_env_value}" -H "Content-Type: application/json" -d '{"query": "{ transcripts { id title date duration organizer_ema Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Fathom:** `curl -s -H "X-Api-Key: ${api_key_env_value}" "https://api.fathom.ai/external/v1/meetings?limit=20"` How it starts
The opening of the file, as written. The whole thing — 360 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Good Night Wrap-up
End-of-day review that summarizes accomplishments, drafts EOD message, previews tomorrow, and optionally syncs call recordings.
Invocation
/good-night— Full evening wrap-up/good-night --quick— Skip call sync, just summary + EOD + tomorrow/good-night --calls— Only fetch and save calls (if call recording enabled)
Prerequisites
- Linear MCP installed and connected
- Google Workspace MCP (optional, for calendar)
config/config.yamlexists (run/setupfirst)
Instructions
Parse the argument (if any) from $ARGUMENTS to determine mode:
- If
$ARGUMENTScontains--quick→ quick mode (skip call sync) - If
$ARGUMENTScontains--calls→ calls-only mode - Otherwise → full mode
First: Read config/config.yaml (relative to project root) to load all configuration. Extract:
config.linear.action_team— action task team nameconfig.linear.pipeline_team— pipeline tracking team nameconfig.linear.default_label— label for engine-created tasksconfig.team— team members, roles, and Linear user IDsconfig.ritual.labels— meaningful, light, and parking lot label namesconfig.ritual.meaningful_count— number of meaningful tasks (default 3)config.ritual.light_count— number of light tasks (default 2)config.ritual.meaningful_definition— what counts as meaningfulconfig.ritual.light_definition— what counts as lightconfig.integrations.call_recording— call recording provider settings (provider, api_key_env, enabled)config.integrations.outreach_sheet— outreach spreadsheet settingsconfig.integrations.google_workspace.enabled— whether calendar is available
Identify the default assignee = the team member with is_default_assignee: true.
Resolve Linear team IDs (required): Some Linear MCP servers (e.g., linear-mcp-server) hang indefinitely when issue searches are made without a teamId. Before any issue query:
- Call
mcp__linear__list_teamsonce - Match
action_teamandpipeline_teamnames to their UUIDs - Store them as
{action_team_id}and{pipeline_team_id}for the rest of the session - If either name cannot be matched, surface a clear error and stop — do not run unscoped Linear searches
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 360 lines · 0 tokens per session scan B 546917ebf2da
good-night is a skill published in the GitHub repository himanshusaleria/gtm-engine (18 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,738 tokens. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
give-me-tips
Explains any senpi tip in depth, including Tip: lines in the TUI. Use when the user asks about a tip, what a tipped feature does, or which tips they can see.
suede-onboarding
Suede-affiliated onboarding and activation strategy for first-run sequencing, empty states, setup checklists, activation milestones, time to value, and retention-linked measurement. Use when users sign up but fail to reach first value or the product needs a new first-session flow. NOT FOR: registration optimization…
google-apps-script
Build Google Apps Script automation for Sheets and Workspace. Custom menus, triggers (onEdit / time-driven / form submit), dialogs, sidebars, email batches, PDF export, external API. Use whenever the user wants to automate a Google Sheet, build a Sheets menu / sidebar / dialog, hit a Sheets row from email or a…
google-chat-messages
Send Google Chat messages via incoming webhooks — text, rich cards (cardsV2), threaded replies. TypeScript types, card builder utility, widget reference inline. Use whenever the user wants to post to Google Chat from a script, build a chatbot reply, send a notification card, build a Google Chat webhook integration, or…
parcel-tracking
Track parcels and check delivery status for Australian and international couriers. Searches Gmail for dispatch/shipping emails and provides tracking links for all major Australian couriers including AusPost, StarTrack, Aramex, CouriersPlease, Sendle, Toll, Team Global Express, DHL, FedEx, TNT, Hunter Express, Border…
skill-composer-studio
CHAIN multiple existing skills into custom multi-step workflows. Programmable skill combinations with automatic handoffs. Create composite skills from building blocks with conditional logic.