From 62bbdf77afc22b54213cd28965c900cf07363ea7 Mon Sep 17 00:00:00 2001 From: Aashil Date: Wed, 30 Sep 2026 10:54:16 +0545 Subject: [PATCH] feat: package skills as tg-autopilot Claude Code plugin Move .claude/skills to skills/ and add plugin + marketplace manifests so skills are invoked as tg-autopilot:. Co-Authored-By: Claude Sonnet 5.5 --- .claude-plugin/marketplace.json | 11 +++++++++++ .claude-plugin/plugin.json | 5 +++++ CLAUDE.md | 6 +++--- README.md | 2 +- .../skills => skills}/debug-crisp-401-errors/SKILL.md | 0 .../debug-crisp-triage-not-investigated/SKILL.md | 0 .../onboard-copilot-review-repo/SKILL.md | 0 .../skills => skills}/onboard-crisp-account/SKILL.md | 0 .../onboard-pr-build-zip-repo/SKILL.md | 0 .../propagate-shared-secret/SKILL.md | 0 .../transfer-repo-across-orgs/SKILL.md | 0 .../verify-github-actions-change/SKILL.md | 0 .../write-safe-bot-workflow/SKILL.md | 0 13 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 .claude-plugin/marketplace.json create mode 100644 .claude-plugin/plugin.json rename {.claude/skills => skills}/debug-crisp-401-errors/SKILL.md (100%) rename {.claude/skills => skills}/debug-crisp-triage-not-investigated/SKILL.md (100%) rename {.claude/skills => skills}/onboard-copilot-review-repo/SKILL.md (100%) rename {.claude/skills => skills}/onboard-crisp-account/SKILL.md (100%) rename {.claude/skills => skills}/onboard-pr-build-zip-repo/SKILL.md (100%) rename {.claude/skills => skills}/propagate-shared-secret/SKILL.md (100%) rename {.claude/skills => skills}/transfer-repo-across-orgs/SKILL.md (100%) rename {.claude/skills => skills}/verify-github-actions-change/SKILL.md (100%) rename {.claude/skills => skills}/write-safe-bot-workflow/SKILL.md (100%) 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