Skip to content

Commit 834d89b

Browse files
committed
Fix Gemini skills and agents missing since 1.2.0
1 parent bf6b0da commit 834d89b

47 files changed

Lines changed: 10564 additions & 7 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.githooks/pre-commit

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Pre-commit hook: if any source skill/agent file under plugins/cpln/ is
4+
# staged for commit, regenerate the skills/ and agents/ mirrors at the
5+
# repo root and stage the result. This keeps the Gemini-facing mirrors
6+
# in sync with the Claude/Codex/Cursor source of truth without anyone
7+
# having to remember to run the script.
8+
#
9+
# Enable once per clone with:
10+
# git config core.hooksPath .githooks
11+
12+
set -euo pipefail
13+
14+
REPO_ROOT="$(git rev-parse --show-toplevel)"
15+
16+
if git diff --cached --name-only --diff-filter=ACMRD \
17+
| grep -qE '^plugins/cpln/(skills|agents)/'; then
18+
"$REPO_ROOT/scripts/sync-gemini-content.sh" >/dev/null
19+
git add "$REPO_ROOT/skills" "$REPO_ROOT/agents"
20+
fi

.github/workflows/release.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ jobs:
7979
plugins/cpln/.claude-mcp.json \
8080
plugins/cpln/hooks/cpln-hooks.json
8181
82+
- name: Validate Gemini skills/agents mirror is in sync
83+
run: scripts/sync-gemini-content.sh --check
84+
8285
- name: Extract release notes from CHANGELOG
8386
id: notes
8487
env:

CHANGELOG.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/) and this
66

77
## [Unreleased]
88

9-
### Added
10-
11-
### Changed
12-
139
### Fixed
1410

15-
### Removed
11+
- Gemini CLI skills and agents missing since 1.2.0.
1612

1713
## [1.3.1] - 2026-05-13
1814

CLAUDE.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ End-user install and capability docs live in `README.md`. Development principles
77
| Path | Purpose |
88
| --- | --- |
99
| `plugins/cpln/` | The plugin itself. Claude, Codex, and Cursor all resolve this as their plugin root. |
10-
| `plugins/cpln/skills/<name>/SKILL.md` | One domain skill per folder. Companion files (`*.md`) load on demand. |
11-
| `plugins/cpln/agents/<name>.md` | One guided workflow per file. Reference docs live under `plugins/cpln/references/<name>/`. |
10+
| `plugins/cpln/skills/<name>/SKILL.md` | One domain skill per folder. Companion files (`*.md`) load on demand. Source of truth — mirrored to `skills/` at the repo root for Gemini by `scripts/sync-gemini-content.sh`. |
11+
| `plugins/cpln/agents/<name>.md` | One guided workflow per file. Reference docs live under `plugins/cpln/references/<name>/`. Source of truth — mirrored to `agents/` at the repo root for Gemini by `scripts/sync-gemini-content.sh`. |
12+
| `skills/`, `agents/` | **Generated mirrors. Do not edit.** Refreshed automatically by the pre-commit hook in `.githooks/pre-commit` whenever a file under `plugins/cpln/{skills,agents}/` is staged. Also refreshed by `scripts/bump-version.sh` and validated on CI. |
1213
| `plugins/cpln/commands/<name>.md` | Slash command for Claude / Codex / Cursor. Each `.md` has a matching `.toml` at the repo root for Gemini — keep the pair aligned by name and description. |
1314
| `commands/<name>.toml` | Slash command for Gemini. Gemini discovers commands at the extension root (the repo root), not under `plugins/cpln/`. Authored separately from the matching `.md` because the `.toml` `prompt` is a tight model instruction while the `.md` body is user docs. |
1415
| `plugins/cpln/rules/*.md` | Guardrails and manifest references. Files with `alwaysApply: true` are injected into every session by the `SessionStart` hook in `plugins/cpln/hooks/cpln-hooks.json`. |
@@ -54,6 +55,12 @@ claude --plugin-dir ./plugins/cpln
5455

5556
Loads the plugin from this working tree for one session. Edits to skills, agents, commands, rules pick up on `/reload-plugins`; edits to `plugin.json`, hooks, or MCP configs require restarting the session.
5657

58+
Enable the pre-commit hook once per clone so the Gemini-facing `skills/` and `agents/` mirrors stay in sync automatically:
59+
60+
```bash
61+
git config core.hooksPath .githooks
62+
```
63+
5764
## Validation
5865

5966
```bash

CONTRIBUTING.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,20 @@ jq empty \
2222
plugins/cpln/.codex-plugin/mcp.json \
2323
plugins/cpln/.claude-mcp.json \
2424
plugins/cpln/hooks/cpln-hooks.json
25+
scripts/sync-gemini-content.sh --check
2526
gemini extensions validate .
2627
```
2728

2829
When changing a slash command, edit both the `.md` under `plugins/cpln/commands/` (read by Claude / Codex / Cursor) and the matching `.toml` at the repo root `commands/` (read by Gemini). Keep their `description` field aligned.
2930

31+
Skills and agents live only at `plugins/cpln/skills/` and `plugins/cpln/agents/`. The `skills/` and `agents/` directories at the repo root are **generated mirrors for Gemini** — never edit them directly. The pre-commit hook in `.githooks/pre-commit` regenerates them whenever a source file is staged. Enable it once per clone:
32+
33+
```bash
34+
git config core.hooksPath .githooks
35+
```
36+
37+
If you ever need to refresh the mirrors manually, run `scripts/sync-gemini-content.sh`.
38+
3039
For Markdown-only changes, review links, tables, frontmatter, and command examples manually. This repository currently has no package manifest, build script, or test suite.
3140

3241
## Versioning
@@ -97,6 +106,7 @@ Run before tagging:
97106
- `gemini-extension.json` MCP block uses Gemini CLI fields (`httpUrl`, `headers`) and declares any required extension settings.
98107
- `LICENSE`, `SECURITY.md`, `.env.example`, `.gitignore` are present.
99108
- `gemini extensions validate .` is clean.
109+
- `scripts/sync-gemini-content.sh --check` passes (root `skills/` and `agents/` match `plugins/cpln/`).
100110
- `claude plugin validate .` is clean (or only the deliberate developer-CLAUDE.md warning).
101111

102112
## Pull Requests

0 commit comments

Comments
 (0)