feat(plugin-utils): extract data-storage skill into new plugin (from #157) - #215
Conversation
…w plugin Extracts the data-storage skill (file format selection, frontmatter conventions, copy-swap concurrency, YAML→JSONL streaming boundaries, known-path discipline, fetch-before-edit sync model) from PR #157 into a new `plugin-utils` plugin rather than the pre-existing plugin-dev. Registers plugin-utils in the marketplace manifest. Co-Authored-By: Agent Alex Picard <alex-nsheaps[bot]@users.noreply.github.com>
Plugin Version StatusVersions are auto-bumped in PRs. Manual bumps to higher versions are preserved.
|
There was a problem hiding this comment.
Review: feat(plugin-utils): extract data-storage skill into new plugin
Verdict: APPROVE — clean extraction, pure-additive, all CI green. Two P2 follow-up items noted below; neither blocks merge.
What I Reviewed
7 files, 1017 additions, 0 deletions. New plugins/claude-code/plugin-utils/ directory + marketplace.json registration. Verbatim skill content from PR #157, renamed plugin from plugin-dev → plugin-utils per Nate's direction.
CI
lint ✓ · build ✓ · test ✓ · auto-version-bump ✓
P2 — Markdown rendering defect in SKILL.md
File: plugins/claude-code/plugin-utils/skills/data-storage-using-the-filesystem/SKILL.md
In the YAML Cons section, the closing bold marker on one bullet is escaped instead of rendering:
- **JSONL conversion required** for RPC formats\*\* — ...
The \*\* at the end of formats\*\* renders as literal ** in GitHub markdown. The intended text is for RPC formats — with no trailing asterisks. Carry-forward from PR #157.
Fix: Change formats\*\* → formats
P2 — SKILL.md version: frontmatter will drift permanently
File: plugins/claude-code/plugin-utils/skills/data-storage-using-the-filesystem/SKILL.md (frontmatter)
This SKILL.md has version: 0.1.0 in its frontmatter, but the auto-bump automation only updates plugin.json and marketplace.json. The plugin is now at 0.1.1 while SKILL.md still says 0.1.0. No other SKILL.md in this repo carries a version: field — this is a novel pattern that will be perpetually stale after every auto-bump.
Recommendation: Remove version: from the SKILL.md frontmatter to match the convention of all other skills in this repo. Track version only in plugin.json and marketplace.json where the auto-bump tooling can maintain it.
Positive notes
- Plugin scaffold (plugin.json, README.md, marketplace entry) matches the
task-utilsreference implementation exactly. ✓ - Marketplace entry is in correct alphabetical order between
cron-utilsandreddit. ✓ - PR body clearly explains origin (#157), naming rationale, validation steps run. ✓
- Commit messages follow conventional commits format with meaningful body. ✓
mise run validatepass confirmed in PR body. ✓
Summary
Extracts the data-storage-using-the-filesystem skill out of the bundled, conflicting PR #157 into a focused, clean PR based on current
main.Per Nate's instruction, the skill lands in a new
plugin-utilsplugin (not theplugin-devname used in #157):plugins/claude-code/plugin-utils/.claude-plugin/plugin.json— nameplugin-utilsplugins/claude-code/plugin-utils/README.mdplugins/claude-code/plugin-utils/skills/data-storage-using-the-filesystem/SKILL.md+references/{storage-formats,streaming-formats,sync-and-concurrency}.mdplugin-utilsin.claude-plugin/marketplace.json(matching existing entry format)The skill content is copied verbatim from #157; only the plugin name/wrapper changed.
Validation
mise run validate— all plugin manifests + marketplace validate successfully (including the newplugin-utils).prettier --check(plugins workspace) — clean.Notes
plugin-dev-adjacent plugins ortask-utils.Co-Authored-By: Agent Alex Picard <alex-nsheaps[bot]@users.noreply.github.com>