Files
conorbronsdon__avoid-ai-wri…/.gitattributes
Conor Bronsdon 049463a806 Distribute as a Claude Code / Cowork plugin (#17)
* feat: distribute as a Claude Code / Cowork plugin

Package the skill as a single-plugin marketplace so it can be installed
via /plugin instead of a bare clone. This is the only path that works in
Claude Cowork, which loads skills exclusively from installed plugins
(see #12).

Root SKILL.md stays the single source of truth; the plugin's bundled
copy at plugins/avoid-ai-writing/skills/avoid-ai-writing/SKILL.md is
generated by scripts/sync-plugin-skill.sh. A CI workflow regenerates it
and fails on drift or a plugin.json/SKILL.md version mismatch.

Validated with `claude plugin validate` and a full local
add-marketplace / install / inspect / uninstall cycle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: parse plugin version safely in sync script

* fix: harden plugin version parsing in sync script

* harden skill-version parsing + plugin install docs

Builds on Copilot's plugin.json JSON-parser fix:
- sync-plugin-skill.sh: read the version only from the SKILL.md
  frontmatter block (not anywhere in the file), strip CR, and fail with
  a clear message if it's unparseable — closes the loose/false-green
  side of the version check that the JSON parser already closed for
  plugin.json.
- .gitattributes: pin *.md to LF so a CRLF checkout can't forge a
  version mismatch or mask skill drift.
- README: add /reload-plugins to the install steps (skills don't
  activate until reload/restart) and note updates are version-gated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-27 23:31:07 -07:00

3 lines
34 B
Plaintext

*.sh text eol=lf
*.md text eol=lf