Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic

Relationships

#2183 swamp model method run deletes tracked .claude/skills files as an extension-install side effect

Opened by skunk-ape · 9/16/2026· Shipped 9/17/2026

Running swamp model @swamp/issue-lifecycle method run start issue-<N> in swamp-club's swamp-integration/ deleted six tracked files from the working tree without prompting, and moved the skill out of Claude Code's discovery path.

What happened

swamp model [@swamp](/u/swamp)/issue-lifecycle method run start issue-2181 --input issueNumber=2181
...
  Installed   [@swamp](/u/swamp)/issue-lifecycle@2026.08.16.1 (1 models registered)

Afterwards:

$ git status --porcelain
 D swamp-integration/.claude/skills/issue-lifecycle/SKILL.md
 D swamp-integration/.claude/skills/issue-lifecycle/references/adversarial-review.md
 D swamp-integration/.claude/skills/issue-lifecycle/references/code-conformance-review.md
 D swamp-integration/.claude/skills/issue-lifecycle/references/implementation.md
 D swamp-integration/.claude/skills/issue-lifecycle/references/planning.md
 D swamp-integration/.claude/skills/issue-lifecycle/references/triage.md
 M swamp-integration/extensions/models/upstream_extensions.json

The manifest diff shows a relocation, not a removal:

-      ".claude/skills/issue-lifecycle",
+      ".swamp/pulled-extensions/skills/issue-lifecycle"

Why it matters

  1. Tracked files were deleted by a method run. start is a lifecycle transition, not an install command. Its reinstall step reached into git-tracked paths and removed them. Nothing warned, and nothing asked.
  2. The skill left Claude Code's discovery path. .claude/skills/ is discovered; .swamp/pulled-extensions/skills/ is not, and is gitignored. An agent that relied on the vendored copy now silently has no skill there.
  3. The version did not change. Both the old and new manifest entries read 2026.08.16.1 with pulledAt: 2026-08-26. A same-version reinstall changed the on-disk layout, so the change is invisible to any check that compares versions.

Expected

An extension install that would delete or relocate git-tracked files should refuse and report, or at minimum require an explicit swamp extension pull. A method run should not silently rewrite the repo's tracked files as a side effect of resolving its own dependencies.

Notes

Found while triaging #2181, which independently reported the two divergent copies of this skill (.claude/skills/issue-lifecycle/ vs swamp-integration/.claude/skills/issue-lifecycle/). This relocation removes one of them, so it changes the shape of that finding — but the mechanism is a separate defect and is filed here rather than folded into #2181.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 5 MORETRIAGE+ 5 MOREREVIEW+ 12 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/17/2026, 8:43:09 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
skunk-ape assigned skunk-ape9/16/2026, 5:43:59 PM
stack72 assigned stack729/17/2026, 6:45:41 PM

Sign in to post a ripple.