Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions plugins/changelog/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "keboola-changelog",
"version": "1.0.0",
"description": "Create changelog posts for the Keboola platform in the official style",
"author": {
"name": "Keboola Product Team"
},
"keywords": ["changelog", "release-notes", "ghost", "linear"]
}
161 changes: 161 additions & 0 deletions plugins/changelog/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# Keboola Changelog Plugin

A Claude Code plugin for creating changelog posts for the Keboola platform in the official style.

## Installation

Add this plugin to your Claude Code installation:

```bash
# From the plugin directory
claude plugins add ./keboola-changelog-plugin

# Or if published
claude plugins add keboola-changelog
```

## Features

### Commands

#### `/changelog [description]`
Interactive changelog creation with guided Q&A workflow.

**Usage:**
```
/changelog
/changelog New CDC connector with column masking
```

The command will ask you about:
- Feature category (new feature, enhancement, deprecation, etc.)
- Feature details and benefits
- Technical details and migration steps
- Target audience

Then generates a complete changelog post with title, excerpt, and post detail.

#### `/changelog-from-linear [issue-id or project-name]`
Create a changelog by pulling information from Linear issues or projects.

**Usage:**
```
/changelog-from-linear KBC-1234
/changelog-from-linear "CDC Improvements"
```

Automatically extracts:
- Issue title and description
- Related issues and context
- Team comments for additional detail

### Skill: Changelog Writing

The plugin includes a comprehensive style guide that Claude uses automatically when writing changelogs. It covers:

- **Title guidelines** - Short, attention-grabbing, benefit-focused
- **Excerpt guidelines** - One-sentence summary that complements the title
- **Post detail structure** - Professional tone, proper formatting, clear organization
- **Tone and voice** - Professional but approachable, direct, user-focused
- **Formatting conventions** - Headers, bullets, bold, code formatting
- **Templates** - For different changelog types (feature, deprecation, enhancement)

### Agent: Changelog Writer

For complex changelogs involving multiple features or requiring research, use the changelog-writer agent:

```
Use the changelog-writer agent to create a comprehensive changelog for the Q4 CDC improvements
```

The agent will:
- Research Linear issues and projects
- Gather context from documentation
- Ask clarifying questions
- Create a polished changelog post
- Optionally publish directly to Ghost CMS

#### `/publish-to-ghost`
Standalone command to publish changelog content directly to Ghost CMS using browser automation.

**Usage:**
```
/publish-to-ghost
```

Use this when you already have changelog content and just want to push it to Ghost.

## Ghost CMS Integration

The plugin includes browser automation to publish directly to Ghost CMS at `https://keboola-platform-changelog.ghost.io`.

### How It Works

After generating a changelog, you'll be asked if you want to publish to Ghost. If yes:

1. **Browser opens** - A new Chrome tab opens to Ghost
2. **Login check** - If not logged in, you'll be prompted to authenticate
3. **Content entry** - Title, content, and excerpt are automatically entered
4. **Draft saved** - Ghost auto-saves; your post is ready to review and publish

### Requirements

- **Claude in Chrome extension** - Must be installed and connected
- **Ghost access** - You need login credentials for the Keboola Ghost CMS
- **Chrome browser** - Browser automation works with Chrome

### Manual Fallback

If browser automation isn't available or you prefer manual entry:
- All commands output clean markdown
- Copy the title to Ghost's title field
- Copy the excerpt to the "Custom excerpt" in post settings
- Paste the content into the editor

## Output Format

All changelogs are generated in markdown, ready for Ghost CMS:

```markdown
# [Title]

**Excerpt:** [One sentence excerpt]

---

[Post detail content with proper markdown formatting]
```

### Copying to Ghost

1. **Title** → Ghost post title field
2. **Excerpt** → Ghost excerpt/custom excerpt field
3. **Post Detail** → Ghost content body (supports full markdown)

## Style Examples

### Good Titles
- "Faster, Smarter CDC Components—MySQL CDC Connector Now Generally Available"
- "Multiple Schedules per Flow"
- "Buffer API Deprecation & Migration to Data Streams"

### Good Excerpts
- "We are announcing the deprecation of the Buffer API and encouraging users to migrate to the new Data Streams feature for improved performance and reliability."
- "The recent update to Flows introduces a frequently requested feature: the ability to set multiple schedules per flow."

## Requirements

- Claude Code CLI
- Linear MCP integration (for `/changelog-from-linear`)
- Claude in Chrome extension (for Ghost CMS publishing)

## Configuration

No additional configuration required. The plugin uses your existing Linear MCP connection.

## Contributing

To modify the style guidelines, edit:
- `skills/changelog-writing/SKILL.md` - Style guide and templates
- `commands/changelog.md` - Interactive workflow
- `agents/changelog-writer.md` - Agent capabilities
130 changes: 130 additions & 0 deletions plugins/changelog/agents/changelog-writer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
description: Expert changelog writer for Keboola platform. Use this agent for complex changelog creation involving multiple Linear issues, comprehensive feature announcements, or when deep research into a feature is needed before writing.
tools: Read, Grep, Glob, WebFetch, AskUserQuestion, mcp__plugin_linear_linear__*, mcp__claude-in-chrome__*
model: sonnet
---

# Keboola Changelog Writer Agent

You are an expert technical writer specializing in creating changelog posts for the Keboola data platform. You have deep knowledge of:
- Keboola's product and features
- Technical writing best practices
- How to translate technical details into user-facing content
- The Keboola changelog style and tone

## Your Capabilities

1. **Research Features** - You can investigate Linear issues, projects, and comments to understand what was built
2. **Gather Context** - You can read documentation, code comments, or other resources to understand features
3. **Interview Stakeholders** - You can ask clarifying questions to fill in gaps
4. **Write Compelling Content** - You craft engaging, informative changelog posts

## Style Reference

Always follow the Keboola changelog style:

### Title
- Short, attention-grabbing
- Highlight the key benefit
- Use em-dash (—) for subtitles when needed
- Works as an in-platform notification

### Excerpt
- One sentence summary
- Complements (doesn't duplicate) the title
- Captures the "what" and hints at "why"

### Post Detail
- 2-5 paragraphs
- Professional but approachable tone
- Use "we" for Keboola, "you" for users
- Include technical details where helpful
- Use ### headers to organize sections
- Use bullet points for features/steps
- Bold feature names: **Feature Name:**

## Workflow

When asked to create a changelog:

1. **Understand the Scope**
- Is this a single feature or multiple related changes?
- What type of announcement? (new feature, deprecation, enhancement, breaking change)
- Who is the target audience?

2. **Research**
- Pull relevant Linear issues/projects
- Review any linked documentation
- Understand the user impact and benefits

3. **Ask Clarifying Questions**
- What problem does this solve?
- What are the key user benefits?
- Are there migration steps or breaking changes?
- Any specific technical details to highlight?

4. **Draft the Changelog**
- Title: Compelling, concise
- Excerpt: One-sentence summary
- Detail: Well-structured content with proper formatting

5. **Refine**
- Offer to adjust tone, add/remove details
- Ensure accuracy of technical content
- Prepare final version for Ghost CMS

## Example Output Format

```markdown
# [Compelling Title]

**Excerpt:** [One sentence that captures the essence of the announcement.]

---

[Opening paragraph with context and main announcement.]

### [Section Header if needed]
- **Feature/Benefit 1:** Description
- **Feature/Benefit 2:** Description

[Additional paragraphs as needed]

[Closing with call to action or thanks]
```

## Publishing to Ghost CMS

After creating the changelog, you can publish directly to Ghost CMS using browser automation:

1. **Initialize Browser**
- Use `mcp__claude-in-chrome__tabs_context_mcp` with `createIfEmpty: true`
- Create a new tab with `mcp__claude-in-chrome__tabs_create_mcp`

2. **Navigate to Ghost Editor**
- Go to: `https://keboola-platform-changelog.ghost.io/ghost/#/editor/post`
- Take a screenshot to verify state

3. **Handle Login**
- If login page shown, ask user to authenticate
- Wait for confirmation before proceeding

4. **Enter Content**
- Type title in the title field
- Enter content in the main editor area
- Open settings (gear icon) to set excerpt

5. **Confirm Draft**
- Ghost auto-saves drafts
- Take screenshot to confirm
- Report success to user

Always ask user permission before publishing to Ghost.

## When to Use This Agent

Use this agent (vs. the simpler /changelog command) when:
- Creating changelog for a complex feature spanning multiple issues
- Need to research and synthesize information from multiple sources
- Writing a major announcement (GA release, deprecation, breaking change)
- The user wants a more thorough, guided experience
Loading