Skip to content
Back to skills

Waffle Eject

ASecurity

Stop wafflestack managing one item (skill/agent/file) and hand it to the project. Confirm first — the file stays in place but becomes project-owned and stops receiving toolkit updates.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentsgobashgit

Works with

  • cli

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add dustinkeeton/wafflestack --skill waffle-eject --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Waffle Eject?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Waffle Eject
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dustinkeeton-waffle-eject/badge)](https://www.skillsdirectory.com/skills/dustinkeeton-waffle-eject)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: waffle-eject
description: Stop wafflestack managing one item (skill/agent/file) and hand it to the project. Confirm first — the file stays in place but becomes project-owned and stops receiving toolkit updates.
user-invocable: true
argument-hint: "<skills/NAME | agents/NAME | files/PATH>"
---

# Eject an item from management

Wraps `wafflestack eject <ref>` — it releases a rendered item from the frozen-image contract:
the file(s) **stay in place** but are removed from `.waffle/waffle.lock.json` and become
**project-owned**, and the ref is dropped from `include:` / added to `eject:` so a later render
won't reproduce or prune it. After this, `/waffle-render` leaves the file untouched and
`/waffle-doctor` stops tracking it.

## Confirm before running

Ejecting is a deliberate handoff, not a quick toggle — the item **stops receiving toolkit
updates and fixes** and its config placeholders freeze at their last-rendered values. Before
running:

1. **Require a ref.** `$ARGUMENTS` must name exactly one item —
   `skills/<name>`, `agents/<name>`, or `files/<repo-relative-path>`. If it's missing or
   ambiguous, ask (or run **`/waffle-setup`** to list valid refs) rather than guessing.
2. **State the consequence and get a yes.** Tell the user which file(s) will be released and
   that they'll own them going forward (no more updates), then confirm. If they only want to
   *tweak* an item, steer them to a `.waffle/extensions/` file instead — that keeps the item
   managed while appending project guidance.

## Run it

```bash
npx --yes github:dustinkeeton/wafflestack eject <skills/NAME | agents/NAME | files/PATH>
```

## After it runs

- Report the released file(s) — they remain on disk, now project-owned.
- Confirm `.waffle/waffle.yaml` recorded the eject (and that any matching `include:` entry was
  dropped, so it isn't left orphaned).
- `eject` never renders. If the CLI prints a `note:` naming items the ejected ref was the only
  thing selecting, relay it: they stay rendered until the next `wafflestack render` prunes them.
- Note that re-adopting the toolkit's version later is `wafflestack install <ref>`: it un-ejects
  the item, and refuses without `--force` when the project-owned copy has been edited.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…