Skip to content

Plugin Manifest ​

This is the reference for Lineup's plugin manifest file. The manifest tells Claude Code how to load and namespace the plugin.

File location ​

File Location

.claude-plugin/plugin.json

The file must be in a .claude-plugin/ directory at the plugin root. Claude Code discovers plugins by looking for this path.

Current manifest ​

json
{
  "name": "lineup",
  "description": "Structured multi-agent workflow: Triage, Clarify, Research, Plan, Implement, Verify, Document",
  "version": "2.1.0",
  "author": { "name": "izantech" },
  "repository": "https://github.com/izantech/lineup"
}

Fields ​

FieldTypeRequiredDescription
namestringYesPlugin name. Becomes the namespace prefix for all skills and agents.
descriptionstringYesOne-line summary of the plugin's purpose.
versionstringYesSemantic version string (major.minor.patch).
authorobjectYesAuthor information.
author.namestringYesAuthor name or organization.
repositorystringNoURL to the source repository.

How the namespace works ​

The name field determines the namespace prefix. Since Lineup's name is "lineup", all generated skills are registered under the lineup: prefix:

Generated skill fileRegistered command
skills/kick-off/SKILL.md/lineup:kick-off
skills/configure/SKILL.md/lineup:configure
skills/explain/SKILL.md/lineup:explain

Agents are similarly namespaced. The agents/researcher.md file becomes lineup:researcher when loaded.

You don't type the namespace in skill or agent files -- it's added automatically by the plugin system based on this manifest field.

How versioning works ​

The version field follows semantic versioning:

  • Major (1.x.x): Breaking changes to skills, agents, or tactic schema
  • Minor (x.2.x): New features (agents, skills, tactics) that don't break existing workflows
  • Patch (x.x.1): Bug fixes, prompt improvements, documentation updates

When you update the Claude host install through the Lineup manager, the version number indicates what changed:

bash
# CLI-managed Claude host update
lineup update --host claude --version latest --yes

The version is informational -- Claude Code doesn't enforce version constraints between plugins.

Plugin structure ​

The manifest sits at the root of the generated plugin directory alongside all runtime components:

  • .claude-plugin/
    • plugin.json Plugin manifest
  • agents/ Loaded as lineup:{name}
    • researcher.md
    • architect.md
    • developer.md
    • reviewer.md
    • documenter.md
    • teacher.md
  • skills/ Generated at install-time; loaded as /lineup:{name}
    • kick-off/
      • SKILL.md
    • configure/
      • SKILL.md
    • explain/
      • SKILL.md
  • tactics/ Built-in tactics
    • explain.yaml
  • templates/ YAML schemas for agent output
    • researcher.yaml
    • architect.yaml
    • developer.yaml
    • reviewer.yaml
    • documenter.yaml
    • teacher.yaml
    • tactic.yaml
  • examples/
    • tactics/ User-copyable examples
      • brownfield-docs.yaml
      • api-feature.yaml
      • targeted-refactor.yaml
      • bug-triage.yaml
      • ...

Claude Code discovers agents by scanning agents/ and skills by scanning skills/*/SKILL.md in the generated plugin directory. Templates, tactics, and examples are referenced by the agents and skills but are not directly loaded by the plugin system.

Modifying the manifest ​

The manifest rarely needs modification. The main reasons to edit it:

  • Forking the plugin: Change name to avoid conflicts with the upstream version. This changes the namespace prefix for all commands.
  • Custom distributions: Change author and repository for your organization.

WARNING

Changing the name field changes the namespace prefix. All commands change from /lineup:* to /newname:*. Existing tactics and documentation that reference /lineup: commands will need updating.

Further reading ​

For the full Claude Code plugin specification, see the Claude Code plugin documentation.