CLAUDE.md · git:20251107.6818fbc · 2025-11-07 · sha256 c869016495be390a
CLAUDE.md git:20251107.6818fbcA
Immutable. This exact content is served forever at /api/v1/blob/c869016495be390a.
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a Claude Code plugin providing comprehensive Jira integration through **two specialized skills**:
1. **jira-mcp**: MCP server communication for all Jira API operations
2. **jira-syntax**: Jira wiki markup syntax validation, templates, and formatting
**Key Principle**: All Jira content (descriptions, comments) MUST use Jira wiki markup syntax, NOT Markdown. This is enforced by the jira-syntax skill and consumed by the jira-mcp skill.
## Architecture
### Project Structure (v2.0.0+)
```
jira-skill/
├── skills/
│ ├── jira-mcp/ # MCP communication skill
│ │ ├── SKILL.md # MCP operations and API workflows
│ │ └── references/
│ │ ├── jql-reference.md # JQL syntax and examples
│ │ ├── mcp-tools-guide.md # Complete MCP tool documentation
│ │ └── workflow-patterns.md # Common operation sequences
│ └── jira-syntax/ # Syntax validation skill
│ ├── SKILL.md # Syntax validation workflows
│ ├── templates/
│ │ ├── bug-report-template.md
│ │ └── feature-request-template.md
│ ├── references/
│ │ └── jira-syntax-quick-reference.md
│ └── scripts/
│ └── validate-jira-syntax.sh
├── .claude-plugin/
│ └── plugin.json # Plugin metadata declaring both skills
├── archive/
│ └── jira-unified/ # Old v1.x unified skill (archived)
└── README.md # User-facing documentation
```
### Skill Separation Rationale
**Why Two Skills?**
1. **Separation of Concerns**: API operations (jira-mcp) vs syntax enforcement (jira-syntax)
2. **Independent Activation**: Skills activate based on context (MCP operations vs formatting)
3. **Offline Capability**: jira-syntax works offline for validation without MCP server
4. **Modularity**: Clear boundaries between API communication and content formatting
### Core Components
**jira-mcp Skill** (`skills/jira-mcp/SKILL.md`):
* MCP server configuration and tool workflows
* JQL query patterns and examples
* Issue CRUD operations
* Workflow automation patterns
* References: JQL syntax, MCP tools guide, workflow patterns
**jira-syntax Skill** (`skills/jira-syntax/SKILL.md`):
* Jira wiki markup syntax rules
* Template provision and application
* Syntax validation workflows
* Templates: Bug reports, feature requests
* References: Complete Jira syntax documentation
* Scripts: Automated syntax checking
**Plugin Configuration** (`.claude-plugin/plugin.json`):
* Declares both skills with paths
* MCP server configuration for mcp-atlassian
* Plugin metadata and versioning
## Development Workflow
### When Modifying jira-syntax Skill
1. **Validate Syntax**: Ensure all Jira wiki markup in templates follows official standards
2. **Test in Jira**: Complex formatting should be verified in actual Jira instance
3. **Update Checklist**: Templates include validation checklists - keep them current
4. **Preserve Structure**: Templates follow established section patterns (h2. for main, h3. for sub)
5. **Update References**: Keep `jira-syntax-quick-reference.md` comprehensive and accurate
### When Modifying jira-mcp Skill
1. **MCP Tool Usage**: New features should leverage mcp-atlassian tools correctly
2. **Update References**: Maintain `jql-reference.md`, `mcp-tools-guide.md`, `workflow-patterns.md`
3. **Test MCP Operations**: Verify tool calls work against real Jira instance
4. **Document Workflows**: Add new patterns to workflow-patterns.md
### When Updating Documentation
1. **README.md**: User-facing documentation with installation and usage examples
2. **SKILL.md files**: Technical reference for skill activation (update both as needed)
3. **MIGRATION.md**: Document breaking changes and upgrade paths
4. **plugin.json**: Update version numbers following SemVer
## MCP Server Integration
This skill **bundles its own MCP configuration** via `.mcp.json` - users do not need to manually configure the mcp-atlassian server.
### Automatic MCP Configuration
The skill includes `.mcp.json` which automatically configures the mcp-atlassian server using Docker:
```json
{
"mcp-atlassian": {
"command": "docker",
"args": ["run", "--rm", "-i", "--pull=always", "--env-file", "${JIRA_ENV_FILE}",
"ghcr.io/sooperset/mcp-atlassian:latest"],
"env": {
"JIRA_ENV_FILE": "${HOME}/.env.jira"
}
}
}
```
**Key Point**: No manual MCP server configuration required - the skill handles this automatically.
### User Setup Requirements
Users only need to create `~/.env.jira` with their credentials:
* `JIRA_URL` - Jira instance URL (e.g., `https://company.atlassian.net`)
* `JIRA_USERNAME` - User email (Cloud) or username (Server/DC)
* `JIRA_API_TOKEN` - API token or Personal Access Token
### Available MCP Tools
All tools use the prefix `mcp__mcp-atlassian__jira_*` :
* **Read**: `get_issue`, `search`, `get_project_issues`, `get_transitions`, `get_worklog`
* **Write**: `create_issue`, `batch_create_issues`, `update_issue`, `add_comment`, `add_worklog`, `transition_issue`
* **Link**: `create_issue_link`, `link_to_epic`, `remove_issue_link`
* **Attachments**: `download_attachments`
## Testing and Validation
### Syntax Validation
```bash
# Validate Jira syntax in a file or string
./skills/jira/scripts/validate-jira-syntax.sh <file_or_text>
```
### Manual Testing Workflow
1. Ensure `~/.env.jira` is configured with valid credentials
2. Use the skill - MCP server starts automatically via `.mcp.json`
3. Test MCP tool calls through Claude Code
4. Verify formatting renders correctly in Jira web interface
5. Validate syntax using validation script
## Marketplace Integration
This skill is part of the Netresearch Claude Code Marketplace.
### Plugin Metadata
`.claude-plugin/plugin.json` defines marketplace properties:
* name, version, description
* category, keywords
* author information
File needs to follow plugin schema: <https://code.claude.com/docs/en/plugins-reference#plugin-manifest-schema>
### Version Management
Version follows SemVer format in SKILL.md frontmatter:
```yaml
version: "1.0.0"
```
## Key Constraints
1. **Syntax Enforcement**: Never compromise on Jira wiki markup standards
2. **MCP Dependency**: Skill requires mcp-atlassian to be configured
3. **Template Fidelity**: Templates must match Jira's expected structure
4. **Documentation Accuracy**: Syntax references must align with official Jira docs
## References
* Official Jira Wiki Markup: <https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all>
* mcp-atlassian GitHub: <https://github.com/sooperset/mcp-atlassian>
* JQL Documentation: <https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/>
* Claude Code Plugins: <https://code.claude.com/docs/en/plugins-reference>