
I’ve been living in Cursor for the past couple of months. It’s been a while since I was writing code daily, but AI IDEs pulled me back in. Staying in flow, iterating quickly, and thinking at a higher level reminded me how much I enjoy building.
When you use an AI IDE heavily, you start to notice a pattern. The model is very good at generating plausible implementations, but it has no durable understanding of domain constraints. Each prompt is treated as a fresh problem, even when the underlying system has well-defined rules, invariants, and preferred patterns.
Notifications are a good example of this. They are shaped by compliance requirements, delivery semantics, channel-specific limits, and user experience tradeoffs. Those constraints do not change often, but they are rarely obvious from a single doc page or code snippet.
Agent Skills address this by giving the model stable, opinionated context. Instead of rediscovering rules on every prompt, the AI can reason from a shared baseline. The result is guidance that is not just syntactically correct, but aligned with production reality.
That is the gap Courier Skills is designed to fill.
Agent Skills are markdown-based knowledge files that give AI IDEs durable domain context.
They provide passive guidance. When relevant, the AI reads them and applies that knowledge while generating code or architectural suggestions. Skills are well suited for encoding best practices, constraints, invariants, and recommended patterns that do not change frequently.
This is different from MCP, or Model Context Protocol.
MCP gives AI assistants active capabilities such as running queries, calling APIs, or fetching live data from external systems. It is powerful, but it requires additional infrastructure and ongoing maintenance.
The distinction is simple:
They complement each other well. Agent Skills establish the mental model. MCP enables action based on that model.
In practice, this changes how your AI IDE behaves. When you ask it to add a channel, design a notification flow, or extend an existing system, it no longer starts from a blank slate. It already understands the constraints that shape those decisions, which means less back and forth, fewer almost-right solutions, and more confidence in what you ship.
Courier Skills is a curated, open-source collection of Agent Skills for building production-grade notifications.
We built it by distilling the domain knowledge our team uses every day. This includes how different channels behave, where teams tend to run into issues, and which patterns consistently hold up in production. Instead of spreading that context across documentation, examples, and internal knowledge, we captured it in a form AI IDEs can apply directly.
The goal is not to teach your AI how to call an API. It is to teach it how to reason about notifications as a system.
Courier Skills encodes the domain knowledge required to build production-grade notifications across common channels and use cases.
Channels
Email, SMS, Push notifications, In-app Inbox, Slack, Microsoft Teams, and WhatsApp.
Patterns and guidance
Authentication and security notifications, order and billing updates, account alerts, onboarding and engagement flows, multi-channel routing, user preferences, compliance, reliability patterns, batching, and rate limits.
This is the knowledge teams usually accumulate over time. Courier Skills makes it available upfront.
Courier Skills works with Cursor, Claude Code, and other AI IDEs that support Agent Skills.
Cursor (global):
git clone https://github.com/trycourier/courier-skills.git ~/.cursor/skills/courier-skills
Cursor (project-specific):
git clone https://github.com/trycourier/courier-skills.git .cursor/skills/courier-skills
Claude Code:
git clone https://github.com/trycourier/courier-skills.git ~/.claude/skills/courier-skills
Once installed, your AI assistant can reference Courier Skills automatically when working on notification-related tasks.
We built Courier Skills for ourselves first. It led to fewer corrections, fewer surprises, and more predictable outcomes when building notification flows in AI IDEs.
If you are using an AI IDE today, install the skills and try your next notification task with them in place. Pay attention to how the model reasons, not just what it outputs.
The project is open source, and contributions are welcome.
Explore the code on GitHub:
github.com/trycourier/courier-skills
Happy building.

WhatsApp pricing changes on October 1, 2026
On October 1, 2026, two things become billable on the WhatsApp Business Platform: free-form replies inside the 24-hour customer service window, and utility templates sent in response to a customer. If your WhatsApp volume is conversations rather than campaigns, this is not a rate tweak. It adds a line to your invoice where there used to be a zero. Here is what changes, a worked example of the cost, and what to check.

Clinical alert and notification systems: how escalation works
A clinical alert is easy to send and hard to close. This is how alerting works inside a hospital: where alerts come from, how routing by role and shift works, and how the acknowledge, timeout, escalate loop is actually built, including what happens when nobody answers.

Courier vs Customer.io: 2026 messaging platform comparison
Courier and Customer.io both send across email, push, SMS, and in-app, but they are not priced or built the same way. Courier bills by the send, puts journeys, experiments, broadcasts, an in-app inbox, preferences, and 50+ delivery providers on one platform, and exposes all of it through an API, a CLI, and an MCP server. Customer.io bills by the number of profiles in your database and fits a marketing team that needs deep behavioral segmentation. This comparison covers pricing, journeys, channels, in-app messaging, localization, and preferences, with every competitor figure linked to Customer.io's own pages.