Skip to content

feat: add a Claude Code plugin whose skill scans and cleans approved artifacts with devclean - #67

Merged
ohing504 merged 4 commits into
mainfrom
feat/claude-code-plugin
Oct 16, 2026
Merged

ohing504 merged 4 commits into
mainfrom
feat/claude-code-plugin

Conversation

@ohing504

Copy link
Copy Markdown
Owner

What changed

  • .claude-plugin/marketplace.json makes this repository a Claude Code marketplace listing one plugin, plugins/devclean/.
  • plugins/devclean/skills/devclean/SKILL.md: the skill checks for the binary, runs devclean scan --json, proposes artifacts grouped by project, waits for the user to approve paths in chat, previews with clean --item … --dry-run --yes, then runs clean --item … --yes. It never measures with du or deletes with rm, adds --include-caution only for caution paths approved by name, and --force only on request.
  • README: plugin install line. CLAUDE.md docs table and ARCHITECTURE: the skill depends on SPEC's flags, JSON fields and safety gates, so a PR changing them updates SKILL.md in the same diff.

Why

The CLI is mostly run by an agent that has to rediscover the flags each session. A skill in .claude/skills/ loads only inside this repository, so it ships as a plugin to load in any session. The table and interactive selector stay for now; removing them is a later decision.

Docs

  • SPEC: no change (no CLI behavior changed).
  • New decision: docs/decisions/claude-code-plugin.md.

Verification

  • claude plugin validate . passes (warning: no version, intentional — installs track commits).
  • claude -p --plugin-dir plugins/devclean lists the skill as devclean:devclean.
  • The skill's commands on a sandbox project: scan --json then clean --item <path> --dry-run --yes exits 0 and lists the item; an unknown --item exits 1 before deleting.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EvrgK2ojMW5qHsK6m92RsX

ohing504 and others added 3 commits October 16, 2026 16:44
…artifacts with devclean

The repository root becomes a Claude Code marketplace listing one plugin
with one skill. The skill runs the installed binary (scan --json, then
clean --item ... --yes after the user approves paths) and ships no binary.
The interactive table and selector stay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EvrgK2ojMW5qHsK6m92RsX
…activity ranges

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EvrgK2ojMW5qHsK6m92RsX
@ohing504
ohing504 merged commit dcc9e6e into main Oct 16, 2026
4 checks passed
@ohing504
ohing504 deleted the feat/claude-code-plugin branch October 16, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant