Back to Skills

update-from-starter-template

verified

Update Mattermost plugin repositories with common files from mattermost-plugin-starter-template and fix all linter issues. Use when syncing build tooling, updating golangci-lint config, or fixing linter errors in a Mattermost plugin.

View on GitHub

Marketplace

mattermost-plugin-development

hanzei/mattermost-plugin-development

Plugin

mattermost-plugin-development

development

Repository

hanzei/mattermost-plugin-development

skills/update-from-starter-template/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/hanzei/mattermost-plugin-development/blob/main/skills/update-from-starter-template/SKILL.md -a claude-code --skill update-from-starter-template

Installation paths:

Claude
.claude/skills/update-from-starter-template/
Powered by add-skill CLI

Instructions

# Update from Starter Template

Update this Mattermost plugin repository with common build/config files from the [mattermost-plugin-starter-template](https://github.com/mattermost/mattermost-plugin-starter-template) and fix all linter issues.

## Instructions

### Phase 0: Prepare the repository

1. Switch to the main branch: `git checkout master` (or `main`)
2. Pull latest changes: `git pull`
3. Create a new branch for the updates: `git switch -c update-from-starter-template`

### Phase 1: Update common files from starter template

Fetch and compare these files from `mattermost/mattermost-plugin-starter-template` (master branch):

**Build files:**
- `build/manifest/*.go`
- `build/pluginctl/*.go`
- `build/setup.mk`
- `Makefile`

**Config files:**
- `.editorconfig`
- `.gitattributes`
- `.github/workflows/ci.yml`
- `.gitignore`
- `.golangci.yml`
- `.nvmrc`
- `go.mod` (for Go version only)
- `server/.gitignore`

When updating:
- Preserve plugin-specific customizations (plugin ID, custom targets)
- Update tool versions (golangci-lint, gotestsum, Node.js)
- Adopt new linter configurations
- Update Go version in `go.mod` if the starter template uses a newer version (compare the `go` directive). Also update the Go version in `.github/workflows/ci.yml` to match. After updating, run `go mod tidy` to update `go.sum`
- Preserve license headers

### Phase 2: Fix linter issues

1. Run `make check-style` to identify issues
2. Install gofumpt if needed: `go install mvdan.cc/gofumpt@latest`
3. Run `gofumpt -w server/` to auto-fix formatting
4. Fix remaining issues manually

### Phase 3: Verify and commit

1. Run `make test` to verify all tests pass
2. Run `make check-style` to confirm 0 issues
3. Create a descriptive commit and PR. Use the pull request template from https://github.com/mattermost/.github/blob/master/PULL_REQUEST_TEMPLATE.md.

## Example commit message

```
Update common files from starter template and fix linter issues
```

## Troubleshooting

**Mock files have lint

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2115 chars