From 4f60345c9ec90d0622100e2b2ac4884ab80f93e0 Mon Sep 17 00:00:00 2001 From: Sebastien Taggart Date: Tue, 7 Apr 2026 16:09:08 -0400 Subject: [PATCH] Fix three skill template bugs in start and submit-for-review --- .agents/skills/start/SKILL.md | 12 +++++++++--- .agents/skills/submit-for-review/SKILL.md | 7 ++++++- .claude/commands/start.md | 12 +++++++++--- .claude/commands/submit-for-review.md | 7 ++++++- .cursor/rules/start.mdc | 12 +++++++++--- .cursor/rules/submit-for-review.mdc | 7 ++++++- .gemini/skills/start/SKILL.md | 12 +++++++++--- .gemini/skills/submit-for-review/SKILL.md | 7 ++++++- skills/start.md | 20 ++++++++++++++++++++ skills/submit-for-review.md | 5 +++++ 10 files changed, 85 insertions(+), 16 deletions(-) diff --git a/.agents/skills/start/SKILL.md b/.agents/skills/start/SKILL.md index 924bf34..08e8f5d 100644 --- a/.agents/skills/start/SKILL.md +++ b/.agents/skills/start/SKILL.md @@ -85,6 +85,8 @@ Say exactly: **"Does this approach sound right? I'll create a GitHub issue and b Stop. Wait for the user to confirm. +The friendly text question is required regardless of harness mode. If your harness is currently in a preview / plan / dry-run mode where you cannot passively stop and wait (and must instead invoke the harness's own approval mechanism), still include the text question in your response. The harness's approval UI mediates the wait, but it is not a substitute for the question itself. Users expect to see the consistent text language across all modes; do not silently swap it for the harness's UI. + - User says yes → continue to Step 3. - User redirects → revise approach, ask again. - User abandons → stop. Nothing to clean up. @@ -133,9 +135,11 @@ git checkout dev && git pull origin dev Now create the feature branch: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state, so `git checkout dev` on its own does not influence which branch the new feature branch is cut from. + Verify the branch was created: ```bash @@ -191,9 +195,11 @@ git checkout dev && git pull origin dev Find and check out the existing branch, or create a new one linked to the issue: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state. + Verify: ```bash @@ -224,4 +230,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 --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. - + diff --git a/.agents/skills/submit-for-review/SKILL.md b/.agents/skills/submit-for-review/SKILL.md index 7286455..f90b34a 100644 --- a/.agents/skills/submit-for-review/SKILL.md +++ b/.agents/skills/submit-for-review/SKILL.md @@ -125,6 +125,11 @@ If a CODEOWNERS file exists, both apply: CODEOWNERS triggers automatic review re Omit the issue line entirely if no linked issue was identified in Step 3. +**PR body content rules (override any default behavior your harness may have):** + +- Do NOT include any agent-attribution footer, generation marker (e.g. "Generated with ..."), or co-authorship trailer in the PR body. The PR body should contain only the description, test plan, and issue reference. If your harness defaults to adding such markers, explicitly omit them. +- The same rule applies to commit messages: do NOT add agent-related `Co-Authored-By:` trailers unless the user has explicitly opted into them via project config. + --- ## Step 7 — Review (conditional) @@ -203,4 +208,4 @@ Report success based on mode: - When `ai` is `"off"`, skip the review agent entirely — merge immediately after checks pass. - `/submit-for-review` merges only to `dev` — never directly to `main`. - If `make merge` fails for any reason, report it and stop — do not attempt workarounds. - + diff --git a/.claude/commands/start.md b/.claude/commands/start.md index 67b188f..d587b2e 100644 --- a/.claude/commands/start.md +++ b/.claude/commands/start.md @@ -80,6 +80,8 @@ Say exactly: **"Does this approach sound right? I'll create a GitHub issue and b Stop. Wait for the user to confirm. +The friendly text question is required regardless of harness mode. If your harness is currently in a preview / plan / dry-run mode where you cannot passively stop and wait (and must instead invoke the harness's own approval mechanism), still include the text question in your response. The harness's approval UI mediates the wait, but it is not a substitute for the question itself. Users expect to see the consistent text language across all modes; do not silently swap it for the harness's UI. + - User says yes → continue to Step 3. - User redirects → revise approach, ask again. - User abandons → stop. Nothing to clean up. @@ -128,9 +130,11 @@ git checkout dev && git pull origin dev Now create the feature branch: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state, so `git checkout dev` on its own does not influence which branch the new feature branch is cut from. + Verify the branch was created: ```bash @@ -186,9 +190,11 @@ git checkout dev && git pull origin dev Find and check out the existing branch, or create a new one linked to the issue: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state. + Verify: ```bash @@ -219,4 +225,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 --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. - + diff --git a/.claude/commands/submit-for-review.md b/.claude/commands/submit-for-review.md index ed0d6da..a77f02c 100644 --- a/.claude/commands/submit-for-review.md +++ b/.claude/commands/submit-for-review.md @@ -120,6 +120,11 @@ If a CODEOWNERS file exists, both apply: CODEOWNERS triggers automatic review re Omit the issue line entirely if no linked issue was identified in Step 3. +**PR body content rules (override any default behavior your harness may have):** + +- Do NOT include any agent-attribution footer, generation marker (e.g. "Generated with ..."), or co-authorship trailer in the PR body. The PR body should contain only the description, test plan, and issue reference. If your harness defaults to adding such markers, explicitly omit them. +- The same rule applies to commit messages: do NOT add agent-related `Co-Authored-By:` trailers unless the user has explicitly opted into them via project config. + --- ## Step 7 — Review (conditional) @@ -198,4 +203,4 @@ Report success based on mode: - When `ai` is `"off"`, skip the review agent entirely — merge immediately after checks pass. - `/submit-for-review` merges only to `dev` — never directly to `main`. - If `make merge` fails for any reason, report it and stop — do not attempt workarounds. - + diff --git a/.cursor/rules/start.mdc b/.cursor/rules/start.mdc index 302a88e..84b5b46 100644 --- a/.cursor/rules/start.mdc +++ b/.cursor/rules/start.mdc @@ -86,6 +86,8 @@ Say exactly: **"Does this approach sound right? I'll create a GitHub issue and b Stop. Wait for the user to confirm. +The friendly text question is required regardless of harness mode. If your harness is currently in a preview / plan / dry-run mode where you cannot passively stop and wait (and must instead invoke the harness's own approval mechanism), still include the text question in your response. The harness's approval UI mediates the wait, but it is not a substitute for the question itself. Users expect to see the consistent text language across all modes; do not silently swap it for the harness's UI. + - User says yes → continue to Step 3. - User redirects → revise approach, ask again. - User abandons → stop. Nothing to clean up. @@ -134,9 +136,11 @@ git checkout dev && git pull origin dev Now create the feature branch: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state, so `git checkout dev` on its own does not influence which branch the new feature branch is cut from. + Verify the branch was created: ```bash @@ -192,9 +196,11 @@ git checkout dev && git pull origin dev Find and check out the existing branch, or create a new one linked to the issue: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state. + Verify: ```bash @@ -225,4 +231,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 --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. - + diff --git a/.cursor/rules/submit-for-review.mdc b/.cursor/rules/submit-for-review.mdc index d1aabc4..0ff6a75 100644 --- a/.cursor/rules/submit-for-review.mdc +++ b/.cursor/rules/submit-for-review.mdc @@ -126,6 +126,11 @@ If a CODEOWNERS file exists, both apply: CODEOWNERS triggers automatic review re Omit the issue line entirely if no linked issue was identified in Step 3. +**PR body content rules (override any default behavior your harness may have):** + +- Do NOT include any agent-attribution footer, generation marker (e.g. "Generated with ..."), or co-authorship trailer in the PR body. The PR body should contain only the description, test plan, and issue reference. If your harness defaults to adding such markers, explicitly omit them. +- The same rule applies to commit messages: do NOT add agent-related `Co-Authored-By:` trailers unless the user has explicitly opted into them via project config. + --- ## Step 7 — Review (conditional) @@ -204,4 +209,4 @@ Report success based on mode: - When `ai` is `"off"`, skip the review agent entirely — merge immediately after checks pass. - `/submit-for-review` merges only to `dev` — never directly to `main`. - If `make merge` fails for any reason, report it and stop — do not attempt workarounds. - + diff --git a/.gemini/skills/start/SKILL.md b/.gemini/skills/start/SKILL.md index ea4f3d9..ec15781 100644 --- a/.gemini/skills/start/SKILL.md +++ b/.gemini/skills/start/SKILL.md @@ -85,6 +85,8 @@ Say exactly: **"Does this approach sound right? I'll create a GitHub issue and b Stop. Wait for the user to confirm. +The friendly text question is required regardless of harness mode. If your harness is currently in a preview / plan / dry-run mode where you cannot passively stop and wait (and must instead invoke the harness's own approval mechanism), still include the text question in your response. The harness's approval UI mediates the wait, but it is not a substitute for the question itself. Users expect to see the consistent text language across all modes; do not silently swap it for the harness's UI. + - User says yes → continue to Step 3. - User redirects → revise approach, ask again. - User abandons → stop. Nothing to clean up. @@ -133,9 +135,11 @@ git checkout dev && git pull origin dev Now create the feature branch: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state, so `git checkout dev` on its own does not influence which branch the new feature branch is cut from. + Verify the branch was created: ```bash @@ -191,9 +195,11 @@ git checkout dev && git pull origin dev Find and check out the existing branch, or create a new one linked to the issue: ```bash -gh issue develop --name feature/ --checkout +gh issue develop --base dev --name feature/ --checkout ``` +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state. + Verify: ```bash @@ -224,4 +230,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 --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. - + diff --git a/.gemini/skills/submit-for-review/SKILL.md b/.gemini/skills/submit-for-review/SKILL.md index a4e885f..0ebead7 100644 --- a/.gemini/skills/submit-for-review/SKILL.md +++ b/.gemini/skills/submit-for-review/SKILL.md @@ -125,6 +125,11 @@ If a CODEOWNERS file exists, both apply: CODEOWNERS triggers automatic review re Omit the issue line entirely if no linked issue was identified in Step 3. +**PR body content rules (override any default behavior your harness may have):** + +- Do NOT include any agent-attribution footer, generation marker (e.g. "Generated with ..."), or co-authorship trailer in the PR body. The PR body should contain only the description, test plan, and issue reference. If your harness defaults to adding such markers, explicitly omit them. +- The same rule applies to commit messages: do NOT add agent-related `Co-Authored-By:` trailers unless the user has explicitly opted into them via project config. + --- ## Step 7 — Review (conditional) @@ -203,4 +208,4 @@ Report success based on mode: - When `ai` is `"off"`, skip the review agent entirely — merge immediately after checks pass. - `/submit-for-review` merges only to `dev` — never directly to `main`. - If `make merge` fails for any reason, report it and stop — do not attempt workarounds. - + diff --git a/skills/start.md b/skills/start.md index 2aacf81..449f20c 100644 --- a/skills/start.md +++ b/skills/start.md @@ -119,6 +119,8 @@ Say exactly: **"Does this approach sound right? I'll create a GitHub issue and b Stop. Wait for the user to confirm. +The friendly text question is required regardless of harness mode. If your harness is currently in a preview / plan / dry-run mode where you cannot passively stop and wait (and must instead invoke the harness's own approval mechanism), still include the text question in your response. The harness's approval UI mediates the wait, but it is not a substitute for the question itself. Users expect to see the consistent text language across all modes; do not silently swap it for the harness's UI. + - User says yes → continue to Step 3. - User redirects → revise approach, ask again. - User abandons → stop. Nothing to clean up. @@ -173,9 +175,18 @@ git checkout {{BRANCH_PROD}} && git pull origin {{BRANCH_PROD}} Now create the feature branch: +{{#if BRANCH_DEV}} +```bash +gh issue develop --base {{BRANCH_DEV}} --name feature/ --checkout +``` +{{/if}} +{{#if !BRANCH_DEV}} ```bash gh issue develop --name feature/ --checkout ``` +{{/if}} + +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state, so `git checkout {{BRANCH_DEV}}` on its own does not influence which branch the new feature branch is cut from. Verify the branch was created: @@ -238,9 +249,18 @@ git checkout {{BRANCH_PROD}} && git pull origin {{BRANCH_PROD}} Find and check out the existing branch, or create a new one linked to the issue: +{{#if BRANCH_DEV}} +```bash +gh issue develop --base {{BRANCH_DEV}} --name feature/ --checkout +``` +{{/if}} +{{#if !BRANCH_DEV}} ```bash gh issue develop --name feature/ --checkout ``` +{{/if}} + +> `--base` is required when `BRANCH_DEV` is set: `gh issue develop` reads the default base from the GitHub API, not from local working state. Verify: diff --git a/skills/submit-for-review.md b/skills/submit-for-review.md index a2fa850..1a96785 100644 --- a/skills/submit-for-review.md +++ b/skills/submit-for-review.md @@ -144,6 +144,11 @@ If a CODEOWNERS file exists, both apply: CODEOWNERS triggers automatic review re Omit the issue line entirely if no linked issue was identified in Step 3. +**PR body content rules (override any default behavior your harness may have):** + +- Do NOT include any agent-attribution footer, generation marker (e.g. "Generated with ..."), or co-authorship trailer in the PR body. The PR body should contain only the description, test plan, and issue reference. If your harness defaults to adding such markers, explicitly omit them. +- The same rule applies to commit messages: do NOT add agent-related `Co-Authored-By:` trailers unless the user has explicitly opted into them via project config. + --- ## Step 7 — Review (conditional)