Skip to content

docs(skill): note the CLI and MCP prerequisite and version skew - #210

Merged
LukasGold merged 1 commit into
mainfrom
docs/osl-tasks-prerequisites
Sep 23, 2026
Merged

LukasGold merged 1 commit into
mainfrom
docs/osl-tasks-prerequisites

Conversation

@LukasGold

Copy link
Copy Markdown
Contributor

Installing the osl-tasks plugin from the marketplace gives the skill only. .claude-plugin/plugin.json declares skills and nothing else, so neither the osw CLI nor the osw-mcp server comes with it. A Claude Code plugin install never installs a Python package and never registers an MCP server. Until now nothing in the skill or the docs said so, and an agent had to discover it by failing.

Changes

src/osw/skills/osl-tasks/SKILL.md

  • New ## What this skill needs section after the introduction. It states that installing the skill file or the plugin installs neither the CLI nor the server, tells the agent to run osw schema --help first, and to stop and ask the user to install when that fails and the session has no osw MCP tool.
  • New ## Troubleshooting section at the end. It says nothing checks that the file and the installed package come from the same release, and tells the agent to compare metadata.version in the frontmatter with what osw --version prints, then reinstall with osw skill install --force or update the plugin or the package.
  • Shorter description, about 225 characters instead of 530. It keeps the two invocation triggers and adds the CLI/MCP requirement. The removed part listed the sections the file covers, which is not routing information.

docs/tools/cli.md

  • One paragraph after "The Claude Code skill": the marketplace path installs the skill file only, so install the package separately and register the MCP server as described in MCP server.

Rationale

  • There is no frontmatter field for declaring external dependencies. requires, dependencies and prerequisites are not recognised, and unknown keys are ignored silently. The feature request for declarative skill dependencies, Feature: Declarative skill/plugin dependencies at the project level anthropics/claude-code#27113, was closed as not planned. The compatibility field in the Agent Skills spec is not documented as being shown to the agent, so a body section is the only mechanism that reaches the agent.
  • The preflight runs osw schema --help rather than osw --version, because an unrelated binary named osw on PATH would pass a --version check. osw schema --help also fails on a release that predates the schema command group.
  • The preflight does not detect version skew. The section says so and points at Troubleshooting.

Not covered

  • osw skill install (src/osw/cli/ops.py:151-187) still performs no version comparison. It checks only whether the destination exists, and shutil.copytree(..., dirs_exist_ok=True) leaves stale files behind on a --force reinstall. The Troubleshooting section is an instruction to the agent, not an automated check.
  • The description strings in .claude-plugin/plugin.json and .claude-plugin/marketplace.json are unchanged. They say the plugin is "driven by the osw CLI and MCP server" without warning that neither is included, and that text is what a user reads in the plugin browser before installing.

Verification

  • osw schema --help exits 0 against the installed CLI, version 2.6.2.
  • Pre-commit hooks pass.
  • The behaviour of an agent reading the new sections was not tested.

- SKILL.md: new "What this skill needs" section, with an `osw schema --help` preflight and a stop instruction when neither the CLI nor an MCP tool is present
- SKILL.md: new "Troubleshooting" section, comparing `metadata.version` against `osw --version`; nothing checks this automatically
- SKILL.md: shorter description, keeping the triggers and dropping the list of covered sections
- docs/tools/cli.md: the plugin marketplace path installs the skill file only, not the package or the MCP server
@github-actions

Copy link
Copy Markdown
Contributor

Release preview

No version bump from the current commits (stays at v2.8.0). Use conventional commit types (feat, fix, ...) to trigger a release.

Changelog preview (truncated)

Preview via python-semantic-release and conventional commits.

@LukasGold
LukasGold merged commit 11e8ce8 into main Sep 23, 2026
22 of 23 checks passed
@LukasGold
LukasGold deleted the docs/osl-tasks-prerequisites branch September 23, 2026 09:24
@LukasGold LukasGold self-assigned this Sep 23, 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