diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..b209589 --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,11 @@ +{ + "name": "tg-autopilot", + "owner": { "name": "ThemeGrill" }, + "plugins": [ + { + "name": "tg-autopilot", + "source": "./", + "description": "ThemeGrill shared bot automation playbooks: repo onboarding, Crisp triage debugging, and GitHub Actions verification." + } + ] +} diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..64be7a4 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,5 @@ +{ + "name": "tg-autopilot", + "description": "ThemeGrill shared bot automation playbooks: repo onboarding, Crisp triage debugging, and GitHub Actions verification.", + "version": "1.0.0" +} diff --git a/CLAUDE.md b/CLAUDE.md index 75909bf..7286638 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,16 +2,16 @@ This repo hosts ThemeGrill's shared bot automation: reusable GitHub Actions workflows (PR build-zip, Copilot review) and the Crisp → AI → GitHub issue triage pipeline. Machine user: `tg-autopilot`. -**Before doing anything here, check `.claude/skills/` first.** There is very likely already a skill covering the task — onboarding a repo, debugging a specific failure mode, verifying a change actually took effect. Re-deriving one of these from scratch instead of using the existing skill is exactly how repeat mistakes happen; see `CHANGELOG.md` 2026-09-29 for one that cost real debugging time. +**Before doing anything here, check `skills/` first (plugin `tg-autopilot`; skills show up as `tg-autopilot:`).** There is very likely already a skill covering the task — onboarding a repo, debugging a specific failure mode, verifying a change actually took effect. Re-deriving one of these from scratch instead of using the existing skill is exactly how repeat mistakes happen; see `CHANGELOG.md` 2026-09-29 for one that cost real debugging time. -**Work from a persistent local checkout, not a disposable clone.** A fresh `git clone` into a scratch directory (e.g. `/tmp`) never has `.claude/skills/` loaded, which defeats the point of this file and everything below it. +**Work from a persistent local checkout, not a disposable clone.** A fresh `git clone` into a scratch directory (e.g. `/tmp`) never has the `tg-autopilot` plugin loaded, which defeats the point of this file and everything below it. ## Map - `SETUP.md` — Phase 1 (pr-build-zip, Copilot review): one-time credentials/setup. - `PHASE2-SETUP.md` — Phase 2 (Crisp triage): credentials/setup **and** the actual design policy — § 4c/4d explain what triggers an investigation and why, and are the first thing to read before touching `crisp-classify.mjs`. - `CHANGELOG.md` — dated entries for notable fixes/redesigns. Read the most recent entries before assuming you understand current behavior; policy here has changed more than once. -- `.claude/skills/` — task- and symptom-oriented playbooks (onboarding, debugging, verification). Check this before improvising. +- `skills/` — task- and symptom-oriented playbooks (onboarding, debugging, verification). Check this before improvising. - `scripts/` — all Node scripts, most with dense "why" comments at the point of the actual gotcha, not just a docstring at the top. Read the comment before changing the line it's attached to. - `state/` — committed JSON state (`cursor.json`, `escalated.json`, `resolved-seen.json`, `investigated.json`, `active-notified.json`). These are data, not config — don't hand-edit without understanding what reads them first. - `config/inbox-to-repo.json` — Crisp account → GitHub repo routing. diff --git a/README.md b/README.md index 84f0a98..5528136 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ We use a machine user instead of a GitHub App because it keeps one identity acro ## Maintainer skills -`.claude/skills/` has step-by-step guides for the maintenance tasks below. Start here before touching config or workflows by hand — each one already bakes in the gotchas this README used to spell out inline. +`skills/` (a Claude Code plugin, invoked as `tg-autopilot:`) has step-by-step guides for the maintenance tasks below. Start here before touching config or workflows by hand — each one already bakes in the gotchas this README used to spell out inline. | Skill | Use it when... | |---|---| diff --git a/.claude/skills/debug-crisp-401-errors/SKILL.md b/skills/debug-crisp-401-errors/SKILL.md similarity index 100% rename from .claude/skills/debug-crisp-401-errors/SKILL.md rename to skills/debug-crisp-401-errors/SKILL.md diff --git a/.claude/skills/debug-crisp-triage-not-investigated/SKILL.md b/skills/debug-crisp-triage-not-investigated/SKILL.md similarity index 100% rename from .claude/skills/debug-crisp-triage-not-investigated/SKILL.md rename to skills/debug-crisp-triage-not-investigated/SKILL.md diff --git a/.claude/skills/onboard-copilot-review-repo/SKILL.md b/skills/onboard-copilot-review-repo/SKILL.md similarity index 100% rename from .claude/skills/onboard-copilot-review-repo/SKILL.md rename to skills/onboard-copilot-review-repo/SKILL.md diff --git a/.claude/skills/onboard-crisp-account/SKILL.md b/skills/onboard-crisp-account/SKILL.md similarity index 100% rename from .claude/skills/onboard-crisp-account/SKILL.md rename to skills/onboard-crisp-account/SKILL.md diff --git a/.claude/skills/onboard-pr-build-zip-repo/SKILL.md b/skills/onboard-pr-build-zip-repo/SKILL.md similarity index 100% rename from .claude/skills/onboard-pr-build-zip-repo/SKILL.md rename to skills/onboard-pr-build-zip-repo/SKILL.md diff --git a/.claude/skills/propagate-shared-secret/SKILL.md b/skills/propagate-shared-secret/SKILL.md similarity index 100% rename from .claude/skills/propagate-shared-secret/SKILL.md rename to skills/propagate-shared-secret/SKILL.md diff --git a/.claude/skills/transfer-repo-across-orgs/SKILL.md b/skills/transfer-repo-across-orgs/SKILL.md similarity index 100% rename from .claude/skills/transfer-repo-across-orgs/SKILL.md rename to skills/transfer-repo-across-orgs/SKILL.md diff --git a/.claude/skills/verify-github-actions-change/SKILL.md b/skills/verify-github-actions-change/SKILL.md similarity index 100% rename from .claude/skills/verify-github-actions-change/SKILL.md rename to skills/verify-github-actions-change/SKILL.md diff --git a/.claude/skills/write-safe-bot-workflow/SKILL.md b/skills/write-safe-bot-workflow/SKILL.md similarity index 100% rename from .claude/skills/write-safe-bot-workflow/SKILL.md rename to skills/write-safe-bot-workflow/SKILL.md