Skip to content

feat: publish as Claude Code plugin via deepcitation-skills marketplace#23

Closed
bensonwong wants to merge 2 commits intomainfrom
plugin-wrapper
Closed

feat: publish as Claude Code plugin via deepcitation-skills marketplace#23
bensonwong wants to merge 2 commits intomainfrom
plugin-wrapper

Conversation

@bensonwong
Copy link
Copy Markdown
Contributor

@bensonwong bensonwong commented Apr 14, 2026

Summary

Wraps the existing verify skill in a Claude Code plugin so users can install via Claude Code's native plugin system:

/plugin marketplace add DeepCitation/skills
/plugin install deepcitation@deepcitation-skills

instead of downloading a zip or running npx skills add.

What's added

  • .claude-plugin/plugin.json — plugin manifest (deepcitation v0.1.0)
  • .claude-plugin/marketplace.json — self-marketplace with source: "./" (same pattern as obra/superpowers)
  • commands/verify.md — thin slash command that delegates to the existing skill (adds /verify to the Claude Code typeahead without duplicating pipeline instructions)
  • README.md — new install section above the existing npx skills add block (legacy path kept as fallback)

What's unchanged

  • skills/verify/SKILL.md and skills/verify/rules/* — skill content is untouched; the plugin is pure packaging
  • npx skills add DeepCitation/skills — legacy install path still works
  • Claude.ai Cowork zip-upload flow — separate install surface, not affected

Test plan

  • /plugin marketplace add DeepCitation/skills@plugin-wrapper + /plugin install deepcitation@deepcitation-skills in a fresh Claude Code session
  • /verify appears in slash-command typeahead
  • /verify <url> invokes the existing pipeline unchanged

Wraps the existing verify skill in a Claude Code plugin so users can
install via `/plugin marketplace add DeepCitation/skills` + `/plugin
install deepcitation@deepcitation-skills` instead of downloading a zip
or running `npx skills add`.

The skill content (skills/verify/SKILL.md and rules/) is unchanged —
this only adds the .claude-plugin/ manifests, a thin commands/verify.md
slash command that delegates to the skill, and a README install section.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude bot commented Apr 14, 2026

PR Review — feat: publish as Claude Code plugin

Overall the packaging approach is clean and the existing skill content is correctly left untouched. One critical bug and a few smaller issues below.


Critical — commands/verify.md is a recursive self-reference

The body of commands/verify.md is /verify $ARGUMENTS. But this file is the /verify slash command — when a user runs /verify <arg>, Claude Code executes the body of this file, which immediately calls /verify $ARGUMENTS again, creating an infinite loop.

The body should delegate to the skill pipeline rather than reinvoking itself. Example fix:

---
description: Verify claims against source documents with grounded citations
argument-hint: "<file-or-url-or-claim>"
---

Use the DeepCitation verify skill to verify: $ARGUMENTS

The skill's description field already triggers on /verify appearing in the prompt, so the body just needs to avoid the literal /verify command string. This is a blocking issue — the command will never work as written.


Minor — README.md: "legacy" is misleading for official install surfaces

Relabeling the section Claude Code (legacy / other CLI agents) is inaccurate: CLI, Desktop, VS Code, and JetBrains are all first-class, actively maintained Claude Code surfaces. Calling them "legacy" may discourage users on supported platforms from a valid install path. A cleaner label: Claude Code (npx / other agents), or keep the original heading and mark the plugin path as "recommended."


Minor — plugin.json doesn't declare the commands directory

Claude Code plugin manifests typically include a field pointing to where commands live (e.g. "commands": "commands/"). Without it, the plugin loader may not auto-register /verify in the typeahead. Worth verifying against the plugin spec or the obra/superpowers reference implementation.


Summary

Severity Issue
Blocking commands/verify.md infinite self-reference — command will never execute
Minor "legacy" label on active install paths in README
Minor plugin.json missing commands directory declaration

The core idea is solid — a thin packaging wrapper with no changes to skill content is exactly the right approach. Fix the self-reference in commands/verify.md and this will be in good shape.

… /plugin install deepcitation

The marketplace name is user-facing only when there's a collision; since
'deepcitation' is a unique plugin name in any user's installed marketplaces,
the short form `/plugin install deepcitation` works and reads cleaner than
`deepcitation@skills`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bensonwong bensonwong closed this Apr 14, 2026
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