You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Give agents two more `ai/` entry points so common session tasks have a
single, discoverable trigger instead of ad-hoc phrasing:
- `ai/recap` — prints the "recap" trigger word; the agent then reviews the
conversation and reports accomplishments + unresolved threads (per the new
"Session recap" section). Explicitly NOT the /audit design skill.
- `ai/security` — runs Brakeman + bundler-audit, mirroring the CI security
scan, exiting non-zero if either fails.
Documents both in ai/README.md and the AI instruction files (CLAUDE.md and the
mirrored copilot-instructions.md).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -189,16 +189,52 @@ Follow the [Stimulus Handbook](https://stimulus.hotwired.dev/handbook/introducti
189
189
- Follow the red-green-refactor cycle: failing test, minimal fix, then refactor
190
190
- Be careful with system/JS tests — avoid patterns that lead to flakiness
191
191
192
+
## Session recap
193
+
194
+
When the user says **"recap"**, **"ai recap"**, or runs **`ai/recap`**, review the full conversation and report two parts:
195
+
196
+
1.**Recap** — what was accomplished this session.
197
+
2.**Unresolved** — dropped threads, unanswered questions, unfinished tasks, and unresolved disagreements (from either side).
198
+
199
+
This is an agent task — NOT the `/audit` skill (design/accessibility review, only on an explicit `/audit`) and NOT `ai/security` (the security scan). The `ai/recap` script only emits the trigger word; the agent does the work per this section.
200
+
201
+
**Format the Unresolved part as a bulleted list with a count header.**
202
+
203
+
If nothing is unresolved:
204
+
```
205
+
- Nothing unresolved
206
+
- All tasks completed, questions answered, and threads closed
207
+
```
208
+
209
+
If there are unresolved items:
210
+
```
211
+
- 3 unresolved items below
212
+
- 1. Item title
213
+
- Description of what's unresolved
214
+
- 2. Item title
215
+
- Description of what's unresolved
216
+
- 3. Item title
217
+
- Description of what's unresolved
218
+
```
219
+
220
+
### After submitting a PR
221
+
222
+
After creating or submitting a pull request, automatically perform the session recap (Recap + Unresolved) using the format above.
223
+
192
224
## Quick Commands
193
225
194
226
See `ai/` directory for executable scripts:
195
227
196
228
| Command | What it does |
197
229
|---|---|
230
+
|`ai/recap`| Session recap: accomplishments + unresolved items (see above) |
> **"ai <name>" means the `ai/` script of that name** (e.g. "ai test" → `ai/test`, "ai security" → `ai/security`) — shell scripts in `ai/`, not slash-command skills. If a referenced `ai/<name>` script doesn't exist, ask what's intended rather than substituting a similarly named skill. (`ai/recap` is special — it triggers the agent **Session recap** behavior above, not a real script's output; never confuse it with the `/audit` design skill or the `ai/security` scan.)
Copy file name to clipboardExpand all lines: CLAUDE.md
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -198,16 +198,52 @@ Standard mise activation (`eval "$(mise activate <shell>)"` in your shell rc, pe
198
198
- Follow the red-green-refactor cycle: failing test, minimal fix, then refactor
199
199
- Be careful with system/JS tests — avoid patterns that lead to flakiness
200
200
201
+
## Session recap
202
+
203
+
When the user says **"recap"**, **"ai recap"**, or runs **`ai/recap`**, review the full conversation and report two parts:
204
+
205
+
1.**Recap** — what was accomplished this session.
206
+
2.**Unresolved** — dropped threads, unanswered questions, unfinished tasks, and unresolved disagreements (from either side).
207
+
208
+
This is an agent task — NOT the `/audit` skill (design/accessibility review, only on an explicit `/audit`) and NOT `ai/security` (the security scan). The `ai/recap` script only emits the trigger word; the agent does the work per this section.
209
+
210
+
**Format the Unresolved part as a bulleted list with a count header.**
211
+
212
+
If nothing is unresolved:
213
+
```
214
+
- Nothing unresolved
215
+
- All tasks completed, questions answered, and threads closed
216
+
```
217
+
218
+
If there are unresolved items:
219
+
```
220
+
- 3 unresolved items below
221
+
- 1. Item title
222
+
- Description of what's unresolved
223
+
- 2. Item title
224
+
- Description of what's unresolved
225
+
- 3. Item title
226
+
- Description of what's unresolved
227
+
```
228
+
229
+
### After submitting a PR
230
+
231
+
After creating or submitting a pull request, automatically perform the session recap (Recap + Unresolved) using the format above.
232
+
201
233
## Quick Commands
202
234
203
235
See `ai/` directory for executable scripts:
204
236
205
237
| Command | What it does |
206
238
|---|---|
239
+
|`ai/recap`| Session recap: accomplishments + unresolved items (see above) |
> **"ai <name>" means the `ai/` script of that name** (e.g. "ai test" → `ai/test`, "ai security" → `ai/security`) — shell scripts in `ai/`, not slash-command skills. If a referenced `ai/<name>` script doesn't exist, ask what's intended rather than substituting a similarly named skill. (`ai/recap` is special — it triggers the agent **Session recap** behavior above, not a real script's output; never confuse it with the `/audit` design skill or the `ai/security` scan.)
All scripts pass through extra arguments, so `ai/test --fail-fast` works as expected.
18
+
19
+
Only the commands listed above exist. "ai <name>" refers to one of these `ai/` scripts — not a slash-command skill. Two phrases are special:
20
+
21
+
-**"ai security"** runs `ai/security` (the security scan above).
22
+
-**"ai recap"** (or `ai/recap`, which just prints the trigger word) tells the agent to review the conversation and report two parts: **Recap** (what was accomplished) and **Unresolved** (dropped threads, unanswered questions, unfinished tasks, and disagreements from either side). The agent performs it directly per `CLAUDE.md`. It is never the `/audit` design/accessibility skill.
0 commit comments