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
2 changes: 1 addition & 1 deletion .agents/skills/qa/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,4 @@ After applying labels, tell the user what was done:
- Never post the comment without showing it to the user first.
- Never apply labels without user confirmation (the confirmation in Step 3 is the single gate for both posting the comment and applying labels).
- Never merge, deploy, or take any action beyond labeling and commenting.
<!-- generated by CodeCanon/sync.sh | skill: qa | adapter: codex | hash: dc360e69 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: qa | adapter: codex | hash: dc360e69 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .agents/skills/release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,4 +152,4 @@ After the command runs, note the release URL from the output.
Tell the user:

> "Released vX.Y.Z. Issues #N, #M closed automatically. GitHub Release vX.Y.Z created at `<url>`. Run `make deploy-prod` to ship to production."
<!-- generated by CodeCanon/sync.sh | skill: release | adapter: codex | hash: b1100c0f | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: release | adapter: codex | hash: b1100c0f | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
4 changes: 2 additions & 2 deletions .agents/skills/review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ description: Run a standalone code review on a pull request

If `ai` is `"off"`, say:

> "Code review is disabled for this project (REVIEW_GATE is set to 'off' in .codecannon.yaml). To enable reviews, set REVIEW_GATE to 'ai' or 'advisory' and re-run CodeCanon/sync.sh."
> "Code review is disabled for this project (REVIEW_GATE is set to 'off' in .codecannon.yaml). To enable reviews, set REVIEW_GATE to 'ai' or 'advisory' and re-run CodeCannon/sync.sh."

Do not proceed.

Expand Down Expand Up @@ -65,4 +65,4 @@ After the review agent completes, relay its verdict to the user:
- This command does not commit, push, or merge anything. It only reviews.
- It may be called manually at any time, not just from `/ship`.
- The review comment is posted to GitHub for the audit trail.
<!-- generated by CodeCanon/sync.sh | skill: review | adapter: codex | hash: bc6e38a4 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: review | adapter: codex | hash: e4579e5e | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
28 changes: 14 additions & 14 deletions .agents/skills/setup/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ If both exist at the working directory root → **go to State 1**.
**Check B — Is there any Code Cannon submodule presence?**

```bash
test -d CodeCanon
test -d CodeCannon
```

```bash
test -f .gitmodules && grep -q CodeCanon .gitmodules
test -f .gitmodules && grep -q CodeCannon .gitmodules
```

If either is true → **go to State 2**.

**Check C — State 1 fallback**

If `.codecannon.yaml` is absent AND neither `CodeCanon/` nor `.gitmodules` exist → **go to State 1**.
If `.codecannon.yaml` is absent AND neither `CodeCannon/` nor `.gitmodules` exist → **go to State 1**.

Otherwise → **go to State 2**.

Expand Down Expand Up @@ -74,11 +74,11 @@ Show the exact command sequence:

```bash
cd /path/to/your-project
git submodule add https://github.com/LightbridgeLab/CodeCanon.git CodeCanon
git submodule add https://github.com/LightbridgeLab/CodeCannon.git CodeCannon
git submodule update --init
cp CodeCanon/templates/codecannon.yaml .codecannon.yaml
cp CodeCannon/templates/codecannon.yaml .codecannon.yaml
# Edit .codecannon.yaml — set branch names, commands, adapters
CodeCanon/sync.sh
CodeCannon/sync.sh
```

Do not touch any file. The user runs these commands in their project directory.
Expand All @@ -89,13 +89,13 @@ Do not touch any file. The user runs these commands in their project directory.

Run checks 1–7 in order. Stop at the first failing check and address it. After describing the fix, tell the user to run `/setup` again once they've resolved it. Do not continue past a failing check.

### Check 1 — CodeCanon/sync.sh present
### Check 1 — CodeCannon/sync.sh present

```bash
test -f CodeCanon/sync.sh
test -f CodeCannon/sync.sh
```

If missing: the submodule was added to `.gitmodules` or `CodeCanon/` exists as an empty directory, but it hasn't been initialized. Show:
If missing: the submodule was added to `.gitmodules` or `CodeCannon/` exists as an empty directory, but it hasn't been initialized. Show:

```bash
git submodule update --init --recursive
Expand Down Expand Up @@ -144,7 +144,7 @@ If missing: "I'll create `.codecannon.yaml` from the template — you'll want to
Show:

```bash
cp CodeCanon/templates/codecannon.yaml .codecannon.yaml
cp CodeCannon/templates/codecannon.yaml .codecannon.yaml
```

Ask permission to run it. If the user agrees, run it. If they decline, tell them to run it manually.
Expand Down Expand Up @@ -223,7 +223,7 @@ If none exist: "sync.sh hasn't been run yet — the skill commands don't exist."
Show:

```bash
CodeCanon/sync.sh
CodeCannon/sync.sh
```

Ask permission to run it. If the user agrees, run it. If they decline, tell them to run it manually before continuing. Stop.
Expand Down Expand Up @@ -460,7 +460,7 @@ After completing or skipping the config walkthrough, say:
Show the exact command:

```bash
git add .codecannon.yaml .claude/ CodeCanon AGENTS.md
git add .codecannon.yaml .claude/ CodeCannon AGENTS.md
```

Add a note: `/start` can be used to create well-formed GitHub issues without writing any code — useful for non-developers tracking work. `/status` generates standup summaries from open issues and PRs — both are valuable outside of a development workflow.
Expand All @@ -469,11 +469,11 @@ Add a note: `/start` can be used to create well-formed GitHub issues without wri

## Hard rules

- Only modify `.codecannon.yaml`. Do not touch any other file (except running `CodeCanon/sync.sh`, which modifies `.claude/commands/` — permitted only with explicit user approval).
- Only modify `.codecannon.yaml`. Do not touch any other file (except running `CodeCannon/sync.sh`, which modifies `.claude/commands/` — permitted only with explicit user approval).
- Do not run `sync.sh` without explicit user permission.
- Do not create `.codecannon.yaml` without explicit user permission.
- Do not report a configuration problem unless confident the condition is genuinely broken. Prefer false negatives over false positives on all diagnostic checks.
- Never fetch more than 100 labels in a single command. `gh label list --limit 100` is the ceiling.
- Do not skip any human gate in Phase 2 or Phase 3 — each write requires confirmation.
- If the user skips a config value, do not ask again. Move on.
<!-- generated by CodeCanon/sync.sh | skill: setup | adapter: codex | hash: 44a66b6a | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: setup | adapter: codex | hash: c95d57a7 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .agents/skills/ship/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,4 @@ Report success based on mode:
- When `ai` is `"off"`, skip the review agent entirely — merge immediately after checks pass.
- `/ship` merges only to `dev` — never directly to `main`.
- If `make merge` fails for any reason, report it and stop — do not attempt workarounds.
<!-- generated by CodeCanon/sync.sh | skill: ship | adapter: codex | hash: a0f3cbc1 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: ship | adapter: codex | hash: a0f3cbc1 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .agents/skills/start/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,4 +228,4 @@ When done, say: **"The code is ready for review. Please run `make dev` and test
- The issue is assigned to `@me` at creation. If you are creating a ticket on someone else's behalf, remove the assignee after creation with `gh issue edit <number> --remove-assignee @me`.
- Apply resolved labels and milestone to every new issue. Label resolution order: per-invocation flag → pool selection from `bug, documentation, enhancement, chore` → omit (or create if `false` is `true`). Never apply a label not in `bug, documentation, enhancement, chore` unless `false` is `true`.
- Milestone resolution order: per-invocation flag → auto-detected from GitHub open milestones. Never prompt for a milestone more than once per invocation.
<!-- generated by CodeCanon/sync.sh | skill: start | adapter: codex | hash: f8182e62 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: start | adapter: codex | hash: f8182e62 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .agents/skills/status/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,4 @@ Do not post, comment, write files, or take any action. Output only.
- If `gh` is unauthenticated or any fetch fails, report the error and stop immediately.
- Do not retry failed commands.
- Strip the leading `@` from the subject when passing to `gh` flags that do not accept it.
<!-- generated by CodeCanon/sync.sh | skill: status | adapter: codex | hash: a0b51014 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: status | adapter: codex | hash: a0b51014 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .agents/skills/version/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,4 @@ Both the version bump commit and the tag must be pushed.
Tell the user the new version and tag:

"Tagged vX.Y.Z. Run `make deploy-preview` to deploy to preview for testing. When testing is complete, run `/release`."
<!-- generated by CodeCanon/sync.sh | skill: version | adapter: codex | hash: b719359b | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: version | adapter: codex | hash: b719359b | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/commands/qa.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,4 +136,4 @@ After applying labels, tell the user what was done:
- Never post the comment without showing it to the user first.
- Never apply labels without user confirmation (the confirmation in Step 3 is the single gate for both posting the comment and applying labels).
- Never merge, deploy, or take any action beyond labeling and commenting.
<!-- generated by CodeCanon/sync.sh | skill: qa | adapter: claude | hash: ac0a4a39 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: qa | adapter: claude | hash: ac0a4a39 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/commands/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,4 +147,4 @@ After the command runs, note the release URL from the output.
Tell the user:

> "Released vX.Y.Z. Issues #N, #M closed automatically. GitHub Release vX.Y.Z created at `<url>`. Run `make deploy-prod` to ship to production."
<!-- generated by CodeCanon/sync.sh | skill: release | adapter: claude | hash: 3afc8d00 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: release | adapter: claude | hash: 3afc8d00 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
4 changes: 2 additions & 2 deletions .claude/commands/review.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Run a standalone code review on a pull request

If `ai` is `"off"`, say:

> "Code review is disabled for this project (REVIEW_GATE is set to 'off' in .codecannon.yaml). To enable reviews, set REVIEW_GATE to 'ai' or 'advisory' and re-run CodeCanon/sync.sh."
> "Code review is disabled for this project (REVIEW_GATE is set to 'off' in .codecannon.yaml). To enable reviews, set REVIEW_GATE to 'ai' or 'advisory' and re-run CodeCannon/sync.sh."

Do not proceed.

Expand Down Expand Up @@ -60,4 +60,4 @@ After the review agent completes, relay its verdict to the user:
- This command does not commit, push, or merge anything. It only reviews.
- It may be called manually at any time, not just from `/ship`.
- The review comment is posted to GitHub for the audit trail.
<!-- generated by CodeCanon/sync.sh | skill: review | adapter: claude | hash: 4e450003 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: review | adapter: claude | hash: bcc66c99 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
28 changes: 14 additions & 14 deletions .claude/commands/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ If both exist at the working directory root → **go to State 1**.
**Check B — Is there any Code Cannon submodule presence?**

```bash
test -d CodeCanon
test -d CodeCannon
```

```bash
test -f .gitmodules && grep -q CodeCanon .gitmodules
test -f .gitmodules && grep -q CodeCannon .gitmodules
```

If either is true → **go to State 2**.

**Check C — State 1 fallback**

If `.codecannon.yaml` is absent AND neither `CodeCanon/` nor `.gitmodules` exist → **go to State 1**.
If `.codecannon.yaml` is absent AND neither `CodeCannon/` nor `.gitmodules` exist → **go to State 1**.

Otherwise → **go to State 2**.

Expand Down Expand Up @@ -69,11 +69,11 @@ Show the exact command sequence:

```bash
cd /path/to/your-project
git submodule add https://github.com/LightbridgeLab/CodeCanon.git CodeCanon
git submodule add https://github.com/LightbridgeLab/CodeCannon.git CodeCannon
git submodule update --init
cp CodeCanon/templates/codecannon.yaml .codecannon.yaml
cp CodeCannon/templates/codecannon.yaml .codecannon.yaml
# Edit .codecannon.yaml — set branch names, commands, adapters
CodeCanon/sync.sh
CodeCannon/sync.sh
```

Do not touch any file. The user runs these commands in their project directory.
Expand All @@ -84,13 +84,13 @@ Do not touch any file. The user runs these commands in their project directory.

Run checks 1–7 in order. Stop at the first failing check and address it. After describing the fix, tell the user to run `/setup` again once they've resolved it. Do not continue past a failing check.

### Check 1 — CodeCanon/sync.sh present
### Check 1 — CodeCannon/sync.sh present

```bash
test -f CodeCanon/sync.sh
test -f CodeCannon/sync.sh
```

If missing: the submodule was added to `.gitmodules` or `CodeCanon/` exists as an empty directory, but it hasn't been initialized. Show:
If missing: the submodule was added to `.gitmodules` or `CodeCannon/` exists as an empty directory, but it hasn't been initialized. Show:

```bash
git submodule update --init --recursive
Expand Down Expand Up @@ -139,7 +139,7 @@ If missing: "I'll create `.codecannon.yaml` from the template — you'll want to
Show:

```bash
cp CodeCanon/templates/codecannon.yaml .codecannon.yaml
cp CodeCannon/templates/codecannon.yaml .codecannon.yaml
```

Ask permission to run it. If the user agrees, run it. If they decline, tell them to run it manually.
Expand Down Expand Up @@ -218,7 +218,7 @@ If none exist: "sync.sh hasn't been run yet — the skill commands don't exist."
Show:

```bash
CodeCanon/sync.sh
CodeCannon/sync.sh
```

Ask permission to run it. If the user agrees, run it. If they decline, tell them to run it manually before continuing. Stop.
Expand Down Expand Up @@ -455,7 +455,7 @@ After completing or skipping the config walkthrough, say:
Show the exact command:

```bash
git add .codecannon.yaml .claude/ CodeCanon AGENTS.md
git add .codecannon.yaml .claude/ CodeCannon AGENTS.md
```

Add a note: `/start` can be used to create well-formed GitHub issues without writing any code — useful for non-developers tracking work. `/status` generates standup summaries from open issues and PRs — both are valuable outside of a development workflow.
Expand All @@ -464,11 +464,11 @@ Add a note: `/start` can be used to create well-formed GitHub issues without wri

## Hard rules

- Only modify `.codecannon.yaml`. Do not touch any other file (except running `CodeCanon/sync.sh`, which modifies `.claude/commands/` — permitted only with explicit user approval).
- Only modify `.codecannon.yaml`. Do not touch any other file (except running `CodeCannon/sync.sh`, which modifies `.claude/commands/` — permitted only with explicit user approval).
- Do not run `sync.sh` without explicit user permission.
- Do not create `.codecannon.yaml` without explicit user permission.
- Do not report a configuration problem unless confident the condition is genuinely broken. Prefer false negatives over false positives on all diagnostic checks.
- Never fetch more than 100 labels in a single command. `gh label list --limit 100` is the ceiling.
- Do not skip any human gate in Phase 2 or Phase 3 — each write requires confirmation.
- If the user skips a config value, do not ask again. Move on.
<!-- generated by CodeCanon/sync.sh | skill: setup | adapter: claude | hash: 37c509bf | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: setup | adapter: claude | hash: 799cf0c2 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/commands/ship.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,4 @@ Report success based on mode:
- When `ai` is `"off"`, skip the review agent entirely — merge immediately after checks pass.
- `/ship` merges only to `dev` — never directly to `main`.
- If `make merge` fails for any reason, report it and stop — do not attempt workarounds.
<!-- generated by CodeCanon/sync.sh | skill: ship | adapter: claude | hash: 147893a6 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: ship | adapter: claude | hash: 147893a6 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/commands/start.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,4 +223,4 @@ When done, say: **"The code is ready for review. Please run `make dev` and test
- The issue is assigned to `@me` at creation. If you are creating a ticket on someone else's behalf, remove the assignee after creation with `gh issue edit <number> --remove-assignee @me`.
- Apply resolved labels and milestone to every new issue. Label resolution order: per-invocation flag → pool selection from `bug, documentation, enhancement, chore` → omit (or create if `false` is `true`). Never apply a label not in `bug, documentation, enhancement, chore` unless `false` is `true`.
- Milestone resolution order: per-invocation flag → auto-detected from GitHub open milestones. Never prompt for a milestone more than once per invocation.
<!-- generated by CodeCanon/sync.sh | skill: start | adapter: claude | hash: 698a14a6 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: start | adapter: claude | hash: 698a14a6 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/commands/status.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,4 +175,4 @@ Do not post, comment, write files, or take any action. Output only.
- If `gh` is unauthenticated or any fetch fails, report the error and stop immediately.
- Do not retry failed commands.
- Strip the leading `@` from the subject when passing to `gh` flags that do not accept it.
<!-- generated by CodeCanon/sync.sh | skill: status | adapter: claude | hash: 79583183 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: status | adapter: claude | hash: 79583183 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/commands/version.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ Both the version bump commit and the tag must be pushed.
Tell the user the new version and tag:

"Tagged vX.Y.Z. Run `make deploy-preview` to deploy to preview for testing. When testing is complete, run `/release`."
<!-- generated by CodeCanon/sync.sh | skill: version | adapter: claude | hash: e0eaf36d | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: version | adapter: claude | hash: e0eaf36d | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .claude/review-agent-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ If no findings: "No issues found. Code looks correct and follows project convent
- Do not suggest improvements outside the scope of the PR.
- Do not re-review files that haven't changed.
- Your review is posted to GitHub for the audit trail — keep it professional.
<!-- generated by CodeCanon/sync.sh | skill: review-agent | adapter: claude | hash: df853bb2 | DO NOT EDIT — run CodeCanon/sync.sh to regenerate -->
<!-- generated by CodeCannon/sync.sh | skill: review-agent | adapter: claude | hash: df853bb2 | DO NOT EDIT — run CodeCannon/sync.sh to regenerate -->
2 changes: 1 addition & 1 deletion .codecannon.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# .codecannon.yaml — project configuration for Code Cannon skill sync
#
# This is Code Cannon's own config. Unlike consumer projects (which run CodeCanon/sync.sh),
# This is Code Cannon's own config. Unlike consumer projects (which run CodeCannon/sync.sh),
# this repo runs sync as ./sync.sh — Code Cannon is not a submodule of itself.
#
# See config.schema.yaml for documentation on each placeholder.
Expand Down
Loading
Loading