Skip to content
Merged
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
6 changes: 3 additions & 3 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"name": "intercom-help-center",
"displayName": "Intercom Help Center Article Writer for Claude Code",
"version": "3.0.0",
"version": "3.0.1",
"description": "Keep your Intercom help center true to your code: audit every article, map it to your features, plan fixes, write grounded articles, open PRs, and publish only what a human approved.",
"author": {
"name": "Odera Joseph",
"url": "https://github.com/oderajoseph95"
},
"homepage": "https://github.com/oderajoseph95/claude-intercom-help-center#readme",
"repository": "https://github.com/oderajoseph95/claude-intercom-help-center",
"homepage": "https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer#readme",
"repository": "https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer",
"license": "MIT",
"keywords": ["intercom", "help-center", "documentation", "knowledge-base", "support", "seo", "github-actions", "technical-writing"]
}
19 changes: 19 additions & 0 deletions .github/DISCUSSION_TEMPLATE/ideas.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
title: "[Idea]: "
labels: ["idea"]
body:
- type: markdown
attributes:
value: |
Share an idea or suggestion. Once it is clear what should happen, it can become a [feature request](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/issues/new/choose).
- type: textarea
id: idea
attributes:
label: The idea
description: What should the plugin do, and why would it help you?
validations:
required: true
- type: textarea
id: context
attributes:
label: How you use the plugin today
description: Optional. Your setup and workflow, so the idea can be judged against real use.
26 changes: 26 additions & 0 deletions .github/DISCUSSION_TEMPLATE/q-a.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
title: "[Q&A]: "
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Ask anything about installing, configuring or running the plugin. If it is clearly a bug, [open a bug report](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/issues/new/choose) instead.

**Never paste your Intercom token, an API key or private article content.**
- type: textarea
id: question
attributes:
label: Your question
validations:
required: true
- type: textarea
id: tried
attributes:
label: What you tried
description: Commands you ran and what they printed (the IHC code if there was one).
render: text
- type: input
id: versions
attributes:
label: Plugin and Claude Code versions
placeholder: "plugin 3.0.1, Claude Code 2.x, macOS"
24 changes: 0 additions & 24 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

80 changes: 80 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Bug report
description: Something the plugin did wrong, or an error you could not fix from its message.
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting. Before you start: check [docs/TROUBLESHOOTING.md](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/blob/main/docs/TROUBLESHOOTING.md), since every error code (IHCxxx) has a cause and a fix there.

**Never paste your Intercom token, an API key, a real workspace id or private article content.** For a security problem, use the private security advisory link instead of this form.
- type: input
id: plugin-version
attributes:
label: Plugin version
description: From `/plugin` in Claude Code, or `version` in `.claude-plugin/plugin.json`.
placeholder: "3.0.1"
validations:
required: true
- type: input
id: claude-version
attributes:
label: Claude Code version
description: Output of `claude --version`.
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating system
options:
- macOS
- Linux
- Windows
- Windows (WSL)
- Other
validations:
required: true
- type: input
id: node-version
attributes:
label: Node version
description: Output of `node --version`.
- type: textarea
id: command
attributes:
label: Command you ran
description: The slash command or script, with its arguments (for example `/intercom-help-center:audit` or `node scripts/publish.mjs --dry-run`).
render: text
validations:
required: true
- type: textarea
id: expected
attributes:
label: What you expected
validations:
required: true
- type: textarea
id: actual
attributes:
label: What actually happened
description: Include the full output and the IHC code if there was one. Remove anything private.
render: text
validations:
required: true
- type: textarea
id: doctor
attributes:
label: Doctor output
description: Run `/intercom-help-center:setup`, or `node scripts/doctor.mjs` from the plugin folder, and paste the result. Doctor never prints the token, but check and redact anything private (workspace ids, article titles) before posting.
render: text
- type: checkboxes
id: checks
attributes:
label: Before submitting
options:
- label: I removed tokens, API keys and private content from everything above.
required: true
- label: I searched existing issues and this is not a duplicate.
required: true
8 changes: 7 additions & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Question or help using the plugin
url: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/discussions/categories/q-a
about: Ask in Discussions (Q&A). Someone can mark the answer that solved it.
- name: Idea or early suggestion
url: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/discussions/categories/ideas
about: Talk an idea through in Discussions (Ideas) before it becomes a feature request.
- name: Security issue
url: https://github.com/oderajoseph95/claude-intercom-help-center/security/advisories/new
url: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/security/advisories/new
about: Report a vulnerability privately. Please do not open a public issue.
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/docs_improvement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Docs improvement
description: Something in the README, docs/ or the skill references is wrong, unclear or missing.
title: "[Docs]: "
labels: ["documentation"]
body:
- type: input
id: location
attributes:
label: Where
description: The file and section, or a link to it.
placeholder: "docs/SETUP.md, section 'Install'"
validations:
required: true
- type: dropdown
id: kind
attributes:
label: What kind of problem
options:
- It is wrong (does not match what the plugin does)
- It is unclear
- Something is missing
- A link or command is broken
- Other
validations:
required: true
- type: textarea
id: problem
attributes:
label: What is wrong or missing
validations:
required: true
- type: textarea
id: suggestion
attributes:
label: Suggested wording
description: Optional. If you have a fix in mind, paste it here, or open a pull request against `dev`.
13 changes: 0 additions & 13 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Feature request or suggestion
description: Something the plugin should do, or do differently.
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Not sure yet, or want to talk it through first? Start a thread in [Discussions > Ideas](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/discussions/categories/ideas) instead.
- type: textarea
id: problem
attributes:
label: The problem
description: What were you trying to do, and where did the plugin get in the way?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: What you would like to happen
validations:
required: true
- type: dropdown
id: intercom-writes
attributes:
label: Would it touch Intercom?
description: Anything that writes needs the same guards as publishing (dry run by default, an approved plan, the cap).
options:
- No, it only reads my repo
- It reads from Intercom
- It writes to Intercom
- Not sure
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Anything you tried instead
- type: checkboxes
id: contribute
attributes:
label: Contributing
options:
- label: I would like to open a pull request for this myself.
35 changes: 29 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,28 @@ All notable changes to this project. The format follows [Keep a Changelog](https

## [Unreleased]

## [3.0.1] - 2026-09-29

The repository is renamed to `Claude-Intercom-HelpCenter-Article-Writer`. Links and docs only; the plugin itself is unchanged.

### Changed
- **Repository**: now [oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer) (was `oderajoseph95/claude-intercom-help-center`; GitHub redirects the old URL). Every link, badge, install command and manifest URL points at the new name.
- **Install**: `/plugin marketplace add oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer`, then `/plugin install intercom-help-center@claude-intercom-help-center`. The plugin name and the marketplace name are unchanged.
- **GitHub Actions templates** check out `oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer` at `ref: v3.0.1`.

### Fixed
- **Windows install**: `/plugin marketplace add` could fail with a misleading "SSH/HTTPS authentication failed" because git hit Windows' path-length limit on a deep example file. The example article is now `examples/help-articles/articles/getting-started/export-csv.md`, and the README, setup guide and troubleshooting page say to run `git config --global core.longpaths true` if it still happens.
- **Release pin**: the pin goes on the marketplace, `/plugin marketplace add oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer#v3.0.1`. The `@v3.0.0` form shown in 3.0.0 does not work.

### Added
- **Issue forms** for bug reports, feature requests and docs improvements. Blank issues stay off.
- **Discussions** are open, with forms for Q&A and Ideas.
- **CONTRIBUTING.md** explains how to get help, report a bug, suggest a feature, start a discussion and send a pull request. The README links to it.

### Upgrading from 3.0.0
- Nothing to do if you installed from the marketplace: the old URL redirects. To point at the new name, run `/plugin marketplace remove claude-intercom-help-center`, then the two install commands above.
- If you copied a workflow from `templates/github/`, change `repository:` to `oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer` and `ref:` to `v3.0.1`.

## [3.0.0] - 2026-09-29

The display name changes to "Intercom Help Center Article Writer for Claude Code". Nothing else about installing or running the plugin changes.
Expand All @@ -21,15 +43,15 @@ The display name changes to "Intercom Help Center Article Writer for Claude Code

### Upgrading from 2.x
- No breaking change. The install commands are the same:
`/plugin marketplace add oderajoseph95/claude-intercom-help-center` and `/plugin install intercom-help-center@claude-intercom-help-center`.
`/plugin marketplace add oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer` and `/plugin install intercom-help-center@claude-intercom-help-center`.
- If you copied a workflow from `templates/github/`, you can change its `ref: v2.0.0` to `ref: v3.0.0`. The v2.0.0 tag stays available.

## [2.0.0] - 2026-09-29

The skill becomes a Claude Code plugin that manages the whole Help Center, not only new articles.

### Added
- **Plugin packaging**: `.claude-plugin/plugin.json` and a marketplace in the same repo. Install with `/plugin marketplace add oderajoseph95/claude-intercom-help-center` and `/plugin install intercom-help-center@claude-intercom-help-center`.
- **Plugin packaging**: `.claude-plugin/plugin.json` and a marketplace in the same repo. Install with `/plugin marketplace add oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer` and `/plugin install intercom-help-center@claude-intercom-help-center`.
- **Commands**: `/intercom-help-center:setup`, `:audit`, `:plan`, `:fix`, `:publish`.
- **Agents**: `help-center-auditor` (verifies findings against the code), `help-center-writer` (writes strictly from code and strings), `help-center-reviewer` (adversarial, read-only).
- **Hooks**: a publish guard (approved plan and cap), a secret guard (no Intercom token in files), and a stale-article reminder when cited code changes.
Expand Down Expand Up @@ -63,7 +85,8 @@ The skill becomes a Claude Code plugin that manages the whole Help Center, not o
### Added
- The `intercom-article-writer` skill: write help articles from code, a coverage manifest and CI gate (`coverage-check.mjs`), and a markdown-to-Intercom publisher (`publish.mjs`) with spacer paragraphs, H1 stripping, paginated collections, create-or-update by id with write-back, `--create-sections`, `--parity`, a dry-run default and a 20-article cap.

[Unreleased]: https://github.com/oderajoseph95/claude-intercom-help-center/compare/v3.0.0...dev
[3.0.0]: https://github.com/oderajoseph95/claude-intercom-help-center/compare/v2.0.0...v3.0.0
[2.0.0]: https://github.com/oderajoseph95/claude-intercom-help-center/compare/881238a...v2.0.0
[1.0.0]: https://github.com/oderajoseph95/claude-intercom-help-center/tree/881238a
[Unreleased]: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/compare/v3.0.1...dev
[3.0.1]: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/compare/v3.0.0...v3.0.1
[3.0.0]: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/compare/v2.0.0...v3.0.0
[2.0.0]: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/compare/881238a...v2.0.0
[1.0.0]: https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/tree/881238a
29 changes: 26 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,29 @@
# Contributing

Thanks for helping. Issues and pull requests are welcome.
Thanks for helping. Questions, bug reports, suggestions and pull requests are all welcome.

## How to get help, report a bug, or suggest a feature

| You want to | Go here |
|---|---|
| **Get help** using the plugin (install, setup, an error you do not understand) | [Discussions > Q&A](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/discussions/categories/q-a). Check [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) first: every IHC error code has a cause and a fix. |
| **Report a bug** (the plugin did something wrong) | [Open a bug report](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/issues/new?template=bug_report.yml). The form asks for the plugin version, Claude Code version, OS, the command you ran, what you expected and what happened, and the `doctor` output. |
| **Suggest a feature** you already know you want | [Open a feature request](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/issues/new?template=feature_request.yml). |
| **Float an idea** you want to talk through first | [Discussions > Ideas](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/discussions/categories/ideas). A clear idea can become a feature request later. |
| **Fix the docs** (wrong, unclear, missing, broken link) | [Open a docs improvement](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/issues/new?template=docs_improvement.yml), or send a pull request directly. |
| **Report a security problem** | [Open a private security advisory](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/security/advisories/new). Never a public issue. See [SECURITY.md](SECURITY.md). |
| **Share how you use it** | [Discussions > Show and tell](https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer/discussions/categories/show-and-tell). |

Before posting anything: **remove your Intercom token, API keys, real workspace ids and private article content.** `doctor` never prints the token, but check its output anyway.

## Contributing a pull request

1. Fork the repo and branch from `dev`.
2. Make your change, with a test (see the rules below).
3. Run `node scripts/selftest.mjs`; it must end with `0 failed`.
4. Open the pull request **against `dev`**, never `main`. Fill in the pull request template.
5. CI must pass: the selftest on Linux and Windows with Node 18 and 22, the example coverage gate, and the docs check.
6. The maintainer reviews every pull request (see [.github/CODEOWNERS](.github/CODEOWNERS)) and merges it into `dev`. Releases then go from `dev` to `main`.

## Branches

Expand All @@ -13,8 +36,8 @@ Thanks for helping. Issues and pull requests are welcome.
No dependencies. You need Node 18+ and git.

```bash
git clone https://github.com/oderajoseph95/claude-intercom-help-center
cd claude-intercom-help-center
git clone https://github.com/oderajoseph95/Claude-Intercom-HelpCenter-Article-Writer
cd Claude-Intercom-HelpCenter-Article-Writer
node scripts/selftest.mjs
claude --plugin-dir . # try your changes in Claude Code
```
Expand Down
Loading
Loading