Slash Commands, Checkpoints, MCP, Skills, Plugins, Ralph Loops
Modern coding agents are no longer just chat boxes beside your editor. The useful power comes from controls around the loop: commands you can invoke, checkpoints you can roll back to, tool servers, reusable skills, distributable plugins, and repeatable fresh-context loops.
This guide is for engineers already using a CLI or editor agent and wondering which extension belongs where. We will follow one notification-service bug fix through the six controls, then decide when each one is worth adding. For the broader agent anatomy, start with What Is Agentic AI?; for Claude-specific daily workflow, see Claude Code Workflow. Product examples are current as of July 2026, so verify host-specific commands, checkpoint behavior, and plugin packaging before rollout.
The control map
The six terms live at different distances from the model. Slash commands are user-invoked entry points. Checkpoints are recoverable state markers. MCP connects the host to external tools and data. Skills package reusable instructions and procedures. Plugins distribute those procedures, agents, hooks, and MCP servers across projects or teams. Ralph loops are a workflow pattern: run the agent in short fresh-context cycles, verify externally, then commit.
The mistake is treating them as peers. They answer different design questions: how do I trigger the workflow, how do I recover, how does the agent reach tools, how do I reuse knowledge, how do I distribute the setup, and how do I keep long work from rotting the context window?
Quick reference
- Slash command: a named way for the user to start a workflow, often backed by a skill or command file.
- Checkpoint: a recoverable point in the agent session or code state before the next risky step.
- MCP: host-to-tool protocol boundary for files, APIs, databases, issue trackers, and other resources.
- Skill: reusable know-how with instructions, optional supporting files, and a description for invocation.
- Plugin: packaged distribution unit for skills, agents, hooks, MCP servers, and related defaults.
- Ralph loop: short agent iteration with fresh context, external verification, and a commit only after proof.
Remember this
Place the feature before using it: trigger, recover, connect tools, reuse knowledge, distribute setup, or repeat safely.
Slash commands
A slash command is a named entry point for a workflow you invoke deliberately, such as /review, /summarize-changes, /debug, or /deploy. In many modern agent hosts, custom commands have converged with skills: the command name loads a prepared instruction file, optional dynamic context, and a defined task shape. That means a slash command is not just a prompt shortcut; it is an interface contract between you and the agent.
Use slash commands for tasks with a clear start, input, and output. In the running notification-service example, /fix-duplicate NOT-88 can load the ticket, state the test command, require a plan first, and forbid secret reads. Skip a command when the task is rare or ambiguous; a brittle command for a once-a-quarter migration becomes stale faster than it saves time.
Quick reference
- Good commands have a narrow task, explicit input, and a visible success condition.
- Prefer user-invoked commands for side-effecting workflows such as deploy, send, merge, or commit.
- Include the verification command inside the command body so the agent does not invent one.
- Use dynamic context carefully; live shell output is useful, but it can also leak secrets or flood context.
- Keep commands boring: if the name cannot tell a teammate when to use it, the command is too vague.
Remember this
A slash command is a workflow interface: name, input, procedure, verification, and stop condition.
Checkpoints
A checkpoint is a recoverable point before the next agent step. Some hosts checkpoint the session automatically; git gives you durable code checkpoints through commits, branches, and stashes. Treat both as recovery tools with different scopes. A session checkpoint can rewind conversation and tool state; a git commit can recover the repository after the agent or host is gone.
For notification-service, create a checkpoint before the first edit, after the minimal failing test, and after the fix passes. If the agent deletes an assertion or wanders into unrelated refactors, rewind the session or reset to the last clean commit. The failure mode is false confidence: a checkpoint that exists only in the agent UI may not preserve external side effects, generated files, database changes, or deployed state.
Quick reference
- Session checkpoints recover the agent conversation; git checkpoints recover code state.
- Checkpoint before risky writes, after a failing test, and after proof of the fix.
- External effects still need their own rollback: database snapshots, feature flags, or idempotency keys.
- Do not use checkpoints as permission to skip review; they reduce recovery cost, not failure probability.
- Name checkpoints by intent, not vibes:
start,reproduce,fix-passes,rollback-target.
Remember this
Checkpoints are recovery boundaries; they are strongest when session rewind and git history tell the same story.
MCP
MCP (Model Context Protocol) is the tool and resource boundary. The coding host creates an MCP client connection to a server; the server exposes tools, resources, or prompts; the server then calls the real system such as GitHub, Slack, Postgres, a browser, or an internal API. MCP does not make a workflow agentic by itself and does not remove the need for authentication.
Use MCP when several AI hosts need reusable access to the same capability, or when you want a clean permission boundary around a tool. In notification-service, an issue-tracker MCP server can expose read_ticket as read-only while a separate GitHub server exposes create_pr behind confirmation. Skip MCP when a local typed function is simpler, especially for one fixed integration inside the same process.
Quick reference
- MCP connects host to capability; A2A-style protocols connect agent to agent.
- Split read and write servers when possible so approval rules are easier to reason about.
- Treat retrieved issue text as untrusted input; it can contain prompt injection aimed at tool calls.
- Return structured errors from tools so the agent can stop, retry, or ask for help explicitly.
- For deeper protocol placement, read MCP vs A2A vs ACP.
Remember this
MCP is a capability boundary, not a trust boundary by itself; scope tools and keep writes behind approval.
Skills
A skill packages reusable know-how: instructions, examples, templates, scripts, and a description that helps the host decide when to load it. It is the right home for procedures you keep pasting into chat: review this diff, write a migration plan, summarize failing CI, generate release notes, or inspect a flaky test. Compared with always-on memory, a skill can stay out of the context window until the workflow is actually needed.
In notification-service, a email-dedupe-fix skill can teach the agent how this repo handles duplicate-emails, which tests prove the behavior, and what failure summary the team expects. A skill should not become a bag of every team preference. Put facts the agent always needs in AGENTS.md or CLAUDE.md; put repeatable procedures in skills; put tool access behind MCP or host permissions.
Quick reference
- Use a sharp description; vague skills either never trigger or trigger constantly.
- Bundle supporting files only when they reduce repeated explanation.
- For side-effecting procedures, make the skill user-invoked only or require confirmation.
- A skill can call tools, but the tool permissions still need least privilege.
- See Claude Skills Map for broader skill categories.
Remember this
Skills are reusable procedures loaded on demand; memory says what is true, skills say how to do the work.
Plugins
A plugin is a distribution unit. Instead of copying .claude/skills, hooks, agents, MCP config, binaries, and settings by hand into every repo, a plugin packages them with a manifest and a versioned install path. The important difference from a standalone skill is sharing and lifecycle: install, update, namespace, audit, and remove.
Use plugins when a workflow is useful across multiple projects or teams. For notification-service, a notifications-quality plugin might ship an email-dedupe-fix skill, a read-only ticket MCP server, and a pre-commit hook for risky delivery-retry files. Skip a plugin while you are still experimenting in one repo; start standalone, prove it on real work, then package it when duplication becomes the pain.
Quick reference
- Standalone config is best for one repo, personal workflows, and fast experiments.
- Plugins are best for teams, marketplaces, versioned releases, and reusable components.
- Namespacing prevents plugin skill conflicts, but it also makes invocation more explicit.
- Do not ship secrets in plugins; ship configuration shape and require local credentials.
- Treat plugin updates like dependency updates: changelog, review, rollout, rollback.
Remember this
A plugin is how a proven workflow becomes a versioned, shareable extension instead of copied project folklore.
Ralph loops
A Ralph loop is a practical antidote to context rot in long agent sessions. Instead of one giant conversation that accumulates stale assumptions, run the agent in short cycles: read the current plan from disk, perform one bounded task, write results back to files, run external verification, commit or revert, then start the next cycle with fresh context. The name is less important than the mechanism: durable state outside the chat and proof before promotion.
For notification-service, the loop file can hold the current objective, allowed files, test command, and done criteria. The agent gets one iteration: reproduce bug, add failing test, or implement fix. If the test fails, the loop records the failure and the next run starts from a clean summary rather than a bloated transcript. This is the rung-two discipline in Agentic Engineering Roadmap and the workflow-control idea in Evolution of Workflows.
Quick reference
- Durable state lives in files: plan, task list, observations, and verification result.
- Each iteration has a small scope and a time or step cap.
- Verification is external: tests, typecheck, lint, policy hook, or human review.
- Commits are promotion gates; failed iterations write evidence and revert code.
- Use Ralph loops when a task is too long for one clean context window but too risky for unattended autonomy.
Remember this
Ralph loops keep long agent work honest: fresh context each cycle, durable state on disk, proof before commit.
Key takeaway
The six controls form a stack. Slash commands start known workflows. Checkpoints recover state. MCP connects tools. Skills package procedures. Plugins distribute proven extensions. Ralph loops keep longer work fresh and verifiable. You rarely need all six on day one, but you should know which failure each one prevents.
Practice (30 min): in a disposable repo, create one /summarize-changes or /fix-ticket skill/command, add a git checkpoint before the first edit, and write PLAN.md with one Ralph-loop iteration. Expected success: the agent runs one bounded task and reports a test command. Intentional failure: make the test command fail. Recover by recording the failure in PLAN.md and reverting code. Pass only when the command, checkpoint, failure note, and recovery path are all visible.
Related Articles
Explore this topic