What's Changed
- Add grade-work and plan-review-session skills by @d-morrison in #2
- Add pr-status-all and merge-main skills by @d-morrison in #1
- Add Claude Code workflows (via d-morrison/gha reusable workflows) by @d-morrison in #6
- Add Claude Code GitHub Workflow by @d-morrison in #7
- Add release-pr slash command (port of rme #883/#884) by @d-morrison in #3
- ci: remove redundant standalone Claude workflows by @d-morrison in #11
- Auto-install skills/commands in Claude Code web sessions by @d-morrison in #12
- skills: add ard, check-history, prefer-upstream, record-learnings, simplify, split-concerns by @d-morrison in #8
- Add pr status all merge main skills by @d-morrison in #5
- Publish repo as a Claude Code plugin marketplace by @d-morrison in #13
- Unify memorize/remember and fix memory persistence by @d-morrison in #14
- CLAUDE.md: always open PRs ready for review, not as draft by @d-morrison in #15
- Add meta-skills and migrate CLAUDE.md by @d-morrison in #16
- Add gia skill: Grab Issues + iterate-All (two-phase repo sweep) by @d-morrison in #18
- Add ardiaei skill: ARDIA + Edit Instructions (clean PRs, then capture lessons) by @d-morrison in #19
- cancel-superseded: preview→execute flow, no manual ID substitution by @d-morrison in #20
- Expose repo skills to this repo's @claude bot (.claude/skills symlink) by @d-morrison in #21
- ums: encode don't-double-trigger-review rule + inline-R-expressions pref by @d-morrison in #23
- process learnings: 'never assume; always verify' pref + ums branch+PR routing by @d-morrison in #24
- skills: add wrap-up; ard replies to + resolves inline threads by @d-morrison in #26
- Add reviewed cloud-session Setup script as reference material by @d-morrison in #25
- Install Julia (juliaup) in Claude Code on the web by @d-morrison in #28
- ums: cloud-Julia install method + check-references-first lesson by @d-morrison in #30
- references/cloud-setup: add paste-ready egress allowlist by @d-morrison in #31
- skills: add /dc ('drive to clean') alias for ardi by @d-morrison in #29
- memorize: watch PRs you open by default by @d-morrison in #27
- skills: add issue-first 'st' (start-task) and 'post-merge' lifecycle skills by @d-morrison in #32
- Borrow peer-repo ideas: scout-peers + heal-skill skills, skill/manifest CI, security gates by @d-morrison in #37
- skills: add /prune alias; extend clean-branches to prune local + remote by @d-morrison in #33
- skills: add skill-builder (extend-first skill authoring) by @d-morrison in #34
- ums: scope git add (never -A) + portable repo-cd; record the scope-creep lesson by @d-morrison in #39
- Add coding-style guidance: avoid nesting; follow the SERG lab manual by @d-morrison in #43
- Add session-lock: deconflict parallel local AI sessions by @d-morrison in #38
- ums: bash-authoring lessons + session-lock cross-link + robust UMS path by @d-morrison in #45
- ums: record "fix all sibling instances of a pattern in one pass" by @d-morrison in #48
- ums: keep qualifiers consistent across dual copies; note remote-session GitHub quirks by @d-morrison in #44
- skills: add use-preferred-style (plain-prose style + standing rule) by @d-morrison in #52
- skills: add resolve-conflicts (consolidate the best of both branches) by @d-morrison in #55
- ums: record @claude auto-commit CLAUDE.md clobber + behind-main rebut tip by @d-morrison in #56
- skills: add find-ai-tells — scan prose for AI-authorship tells + self-check by @d-morrison in #51
- Define "fully clean" precisely (CI + review + threads + deadlock escalation) by @d-morrison in #41
- iterate/ardi/ard: warn that the literal trigger mention re-fires the review workflow by @d-morrison in #63
- post-merge: guard against recursive UMS when the merged PR was itself a UMS PR by @d-morrison in #61
- Add clean-worktrees skill (cw / prune-worktrees) by @d-morrison in #62
- ums: gha config-gut is fixed in v1; note AskUserQuestion question-field requirement by @d-morrison in #69
- skills: add recover-followups (rfu) — sweep closed PRs/issues for untracked follow-ups by @d-morrison in #66
- ums: worktree git-no-cd-to-main pitfall + local validators before push by @d-morrison in #73
- Add /merged as a synonym for /wrap-up by @d-morrison in #74
- ums: dedup-search before deferring + stale-cancelled-review guard by @d-morrison in #75
- Add handoff and wait-for-results skills by @d-morrison in #47
- Harden SessionStart hook: single-quote the python3 -c fallback by @d-morrison in #59
- skills: add rescue-closed — comb the graveyard for closed work worth reopening by @d-morrison in #67
- skills: add link-skills — audit the corpus for cross-reference gaps by @d-morrison in #71
- ums: skill-builder — warn that rev-parse toplevel is the MAIN checkout in a worktree by @d-morrison in #76
- skills: add check-dependency-updates (alias cdu) — audit deps for available upgrades by @d-morrison in #79
- Polish merged alias: document trigger interchangeability + generic example by @d-morrison in #80
- ums: ARD covers all review surfaces; register-upstream-consumer preference by @d-morrison in #84
- ums: how to re-trigger the @claude PR review without a new commit by @d-morrison in #83
- skills: add consolidate-skills — merge overlapping skills into canonical + alias stubs by @d-morrison in #82
- skills: mirror canonical allowed-tools onto all thin aliases by @d-morrison in #90
- ums: capture zsh portability + per-skill git -C lessons from PR #71 by @d-morrison in #91
- skills: add chores — triage and wrap up dependency-bump PRs by @d-morrison in #86
- Share guidance with the lab manual via shared/ fragments by @d-morrison in #96
- skills: consolidate iterate→ardi and iterate-all→ardia (genuine duplicates) by @d-morrison in #92
- skills: add find-overlap — read-only overlap/redundancy detector (any corpus) by @d-morrison in #94
- Vendor the lab manual's shared fragments + drift-check by @d-morrison in #101
- Add scheduled sync-from-lab-manual workflow for vendored fragments by @d-morrison in #103
- memorize: git switch -C is already flag-safe (the -- form is broken) by @d-morrison in #104
- skills: add purge-hallucinations (alias ph) — verify references, purge fabrications by @d-morrison in #99
- Enforce Pacific Time with TZ=America/Los_Angeles in timestamp recaps by @d-morrison in #106
- skills: resolve ai-config repo via git rev-parse, not fragile readlink by @d-morrison in #110
- Finish #36 sweep: fix find-overlap bare-parent repo discovery (straggler #110 missed) by @d-morrison in #109
- skills: add consolidate-memory (memory-corpus sibling of consolidate-skills) by @d-morrison in #111
- gi: re-check for sibling PRs that already closed the issue before merging by @d-morrison in #113
- pr-status-all: gather per-PR signals concurrently via subagent fan-out by @d-morrison in #114
- skills: add 'always' as an alias for remember/memorize by @d-morrison in #116
- Add
driveandcleanaliases for theardiskill by @d-morrison in #122 - Add
doneas an alias for thewrap-upskill by @d-morrison in #108 - Add model assessment skills: assess-model-fit and select-model by @d-morrison in #124
- ums: skill-builder — author subagent-fanning skills with self-contained prompts by @d-morrison in #117
- wrap-up: rescue
done/all donetriggers from closed #112 by @d-morrison in #128 - skills: add opposition-research (alias oppo); auto-ARDI standing rule by @d-morrison in #120
- ums: skill-builder Step 0 — scan local branches + worktrees, not just remote by @d-morrison in #87
- ums: capture placeholder-style and memory-file-structure lessons from PR #99 by @d-morrison in #105
- ums: re-audit after programmatic comment edits; sibling-merge clobber hazard by @d-morrison in #126
- ums: catch in-flight duplicate PRs (check-history step 0 + claim-pr note) by @d-morrison in #129
- ums: bank lessons from the opposition-research PR (#120) by @d-morrison in #131
- Map bare "merge it" directive to post-merge skill by @d-morrison in #125
- ums: gha#70 — document zero-findings review silence and self-mod skip by @d-morrison in #118
- ums: pre-flight issue check + lab-manual/rpt repo notes by @d-morrison in #130
- ums: bank lessons from ai-config#125 (bare-directive registration pattern) by @d-morrison in #134
- ums: cite sources for factual claims in memory entries by @d-morrison in #133
- Add upstream-issues workflow guidance by @d-morrison in #127
- skills: add opposition-research/oppo, fix pr-status thread truncation, add ardia stacking awareness by @d-morrison in #132
- skills: add gip — grab issues in parallel by @d-morrison in #137
- ums: note the gh->MCP mapping table is gha-specific (from #137) by @d-morrison in #138
- ums: add_issue_comment snake_case + grep-before-append caution by @d-morrison in #135
- ums: don't cite another file's line numbers in memory/skill/doc prose by @d-morrison in #142
- Genericize incidental project-specific references in skills by @d-morrison in #144
- reprexes: port review-driven fixes from lab-manual PR #282 by @d-morrison in #147
- skills: add clear-all — alias for gia (clear the whole work queue) by @d-morrison in #146
- ums: verify a reviewer's suggested fix before applying it (+ ard note) by @d-morrison in #150
- ums(tools): note manual submodule-pin bump via git update-index by @d-morrison in #154
- ums: merge-it skill + Quarto/headless-browser learnings from rme#929 by @d-morrison in #156
- CLAUDE.md: post in-chat feedback to the PR during PR sessions by @d-morrison in #141
- memorize: always verify math actually renders by @d-morrison in #155
- ums: post-merge worktree-tidy pitfalls by @d-morrison in #158
- ums: memorize in a worktree session + parameterize ephemeral example URLs by @d-morrison in #159
- ums: add rme/Epi 204 working-notes memory by @d-morrison in #152
- tools.md: gh rate-limit (GraphQL vs REST) + claude[bot] author-name quirks by @d-morrison in #160
- ums: add macOS/GNU sed debugging note; add ARDI anticipation preferences by @d-morrison in #161
- ums: capture 'verify a reviewer's suggested fix before applying it' (incl. ard note) by @github-actions[bot] in #149
- ums: dispatched-review silent-gap fix (gha#89) by @d-morrison in #163
- ums: git merge --continue takes no args; GUT assert_true vs assert() by @d-morrison in #164
- skills: cascade merge-conflict resolution in post-merge, ardi, wrap-up by @d-morrison in #166
- memorize: always use a worktree for local sessions by @d-morrison in #174
- ums: git worktree add doesn't cd; fetch both refs before conflict-fixing worktree by @d-morrison in #179
- memories: route repo-specific notes to per-repo project memory dirs by @d-morrison in #172
- ums: add "actionable" to ai-tells vocabulary list by @d-morrison in #157
- memorize: preserve line breaks in .qmd prose by @d-morrison in #180
- feat: add Quarto website by @d-morrison in #169
- ums(#172): encode within-skill and cross-skill consistency checks by @d-morrison in #181
- memorize: stacked-PR doc-ancestry rule (general) + sparta website hook by @d-morrison in #162
- ums: tracked-file edits require a full PR; don't reference machine-local memory in CLAUDE.md by @d-morrison in #170
- skills: add fetch-all (alias fa) — git fetch origin across all repos under a dir by @d-morrison in #175
- ums: dispatched-review quoting bug; gha quarto-publish; quarto gitignore by @d-morrison in #182
- Tighten session-lock bullet to match worktree-by-default policy by @github-actions[bot] in #177
- ums: rme cloud render provisioning + parallel-session collision signal by @d-morrison in #183
- ard: distinguish a scope/over-claim re-raise from a factual impasse by @d-morrison in #184
- Override harness branch requirement when working an existing PR by @d-morrison in #186
- ums: gha dispatch uses claude-review.yml, not reusable workflow by @d-morrison in #188
- ums: workflow step ordering + git branch lookup lessons by @d-morrison in #187
- ums: gha#92 post-merge learnings by @d-morrison in #185
- ums: warn about duplicate with: block pitfall in claude-review-workflow by @dem-extra1 in #190
- memorize: file subissues as children; encode reusable feedback without asking by @dem-extra1 in #193
- sync: add missing Codex wrapper for push skill by @dem-extra1 in #192
- Add central tool-mapping registry for cross-model skill sharing by @dem-extra1 in #197
- ums: regenerate derived artifacts after syncing main by @dem-extra1 in #198
- ums: GitHub Actions workflow authoring gotchas from gha#103/bcs#226 by @dem-extra1 in #199
- Ums man hand sync by @dem-extra1 in #201
- ums: front-load pre-PR housekeeping from repo agent instructions by @dem-extra1 in #203
- ums: GitHub Actions job-conclusion limitation + gha quota-skip pattern by @dem-extra1 in #202
- ums: always use specific issue URL in code descriptions by @dem-extra1 in #200
- Do the @claude review yourself when it's quota-skipped by @dem-extra1 in #204
- Bank R-package test/lint/spellcheck verification lessons by @dem-extra1 in #205
- memories: correct bcs version-check label-bypass note by @dem-extra1 in #206
- ums: branch-scoping push fallback + docx-editing technique by @dem-extra1 in #207
- ums: bcs PR #239 — merge BLOCKED handling and version-bump-after-merge-main by @d-morrison in #208
- ums: don't re-ask a decision that's already settled and built by @dem-extra1 in #209
- ums: bcs docs/altdoc, coverage, and version-check lessons from #238 by @dem-extra1 in #210
- Add coding rule: prefer existing packaged functions over rolling your own by @dem-extra1 in #213
- ums: diagnosing opaque claude-review failures + memory-vs-docs rule by @dem-extra1 in #212
- ums: gha quarto-publish v2 (gh-pages deploy) + reusable-workflow permission rule by @dem-extra1 in #214
- ums: record transient permission-stream error + quota-skip messages by @dem-extra1 in #216
- ums: backtick code tokens/messages in NEWS prose to pass spellcheck by @dem-extra1 in #215
- Add memory: Quarto div syntax for figure/table labels and captions by @dem-extra1 in #217
- memorize: git author mapping for dem-extra1 ↔ d-morrison by @dem-extra1 in #219
- ums: clarify return_content: true needed for single-job get_job_logs by @dem-extra1 in #221
- Fix claude-review workflow startup_failure: grant actions: read by @d-morrison in #224
- ums: bcs#253 — axis label/caption sync, geom_col pattern, testthat helper by @dem-extra1 in #218
- ums: caller must grant every permission a reusable workflow's jobs request by @d-morrison in #225
- memorize: local sessions always use worktrees unless user explicitly says otherwise by @dem-extra1 in #227
- ums: capture bcs #264 lessons + retire memories/repo/ by @dem-extra1 in #226
- skills: add check-rendered-refs (crr) — scan rendered output for broken crossrefs/citations by @d-morrison in #231
- prefer lubridate over hardcoded day counts in tests by @dem-extra1 in #232
- ums: @claude agent can push main-merge to your branch; claim self-authored PRs by @dem-extra1 in #222
- ums: skill-builder must regenerate codex-skills wrappers + run validate before push by @d-morrison in #233
- ums: GitHub issue-transfer 404 diagnosis + stale web-container refs + CronCreate self-wake by @d-morrison in #230
- ums: diagnosing missing @claude reviews (dispatch chain, allowed_bots, workflow drift) by @d-morrison in #235
- Add \sus as alias for send-upstream by @d-morrison in #236
- ums: draft-before-posting preference + Quarto manuscript Lua filter notes by @d-morrison in #237
- ums: verify MathJax locally when the preview is blocked; \providecommand no-op gotcha by @d-morrison in #238
- Add per-operation grouping review guideline for dplyr by @d-morrison in #239
- Render skill SKILL.md files as website pages and link to them by @d-morrison in #241
- Retire the memories/repo/ pattern: relocate sparta.md into its repo by @github-actions[bot] in #229
- Convert bare ~/.claude/skills paths to relative Quarto links in alias files by @d-morrison in #243
- ums: worktree+submodule removal and gh sub-issue linking quirks by @d-morrison in #234
- ums: bcs #276 — fixture pattern, snapr/NOT_CRAN, renv-activation bypass by @dem-extra1 in #244
- Check upstream contribution policy (CoC/templates/Discussions) before filing issues or PRs by @d-morrison in #246
- Move sparta-specific memory to Lacaedemon/sparta by @dem-extra1 in #248
- ums: don't @-mention external people or cross-reference external issues from our own repo by @d-morrison in #247
- ums: add merge_group trigger pattern and NEWS.md blank-line rule by @dem-extra1 in #245
- ums: note renv autoloader can shadow a system-library lintr install by @d-morrison in #250
- ums: add memories/repo anti-pattern to UMS skill by @dem-extra1 in #253
- ard: add low-confidence path to the Address disposition by @d-morrison in #255
- issue-first: include a reprex when filing a bug report by @dem-extra1 in #256
- find-overlap: scan per-repo project memory dirs too by @dem-extra1 in #251
- Add MEMORY.md index for the memories/ directory by @dem-extra1 in #254
- ums: add 'never fabricate; always produce for real' standing rule by @d-morrison in #257
- ums: note MCP actions_run_trigger 403s on CI job re-runs by @dem-extra1 in #258
- ums: capture GIA-session learnings (agent collision, proxy, propagation, multi-repo) by @dem-extra1 in #259
- Add markdownlint to CI and pre-commit (lenient baseline) by @dem-extra1 in #267
- memorize: always check for merge conflicts with main before pushing by @dem-extra1 in #269
- ums: markdownlint MD060 is real; reviewer re-raises rebutted findings by @dem-extra1 in #268
- Adopt semantic line breaks in memories/ and skills/ prose by @github-actions[bot] in #265
- ums: gha#133 — prior-review context gathering learnings by @dem-extra1 in #276
- reviewer: inject prior context and suppress cosmetic line-wrapping nits by @dem-extra1 in #275
- ums: add GII session learnings to tools.md by @dem-extra1 in #278
- scripts/semantic-line-breaks.py: _flush_bq_prose silently drops blank blockquote lines by @github-actions[bot] in #274
- ums: capture PR #274 lessons (banner sweep scope, unwired test files) by @dem-extra1 in #279
- ums: add Markdown fence-tracker lesson from #265 by @dem-extra1 in #277
- ums: note full renv::restore() via P3M binaries for remote R renders by @d-morrison in #281
- ums: capture lab-manual#360 PR lessons by @dem-extra1 in #282
- ums: gh pr edit Projects Classic exit 1; raw.githubusercontent.com for PR images; user-attachments download; cherry-pick recovery by @dem-extra1 in #285
- ARDI: terminal action is report-ready, not merge (closes #283) by @d-morrison in #284
- ums: add implicit-path coverage test pattern from sparta#352 by @dem-extra1 in #286
- gi: skip issues already in-flight; check for existing PRs before claiming by @d-morrison in #287
- ums: record CLI recipe for finding PRs linked to an issue (from #287) by @d-morrison in #288
- Add convert-repo-format skill (alias crf) for converting between SERG template formats by @d-morrison in #290
- ums: skill-builder — run check-links and markdownlint locally, not just validate-skills by @d-morrison in #291
- feat(skills): heavy skills auto-decide when to fan out to a Workflow by @d-morrison in #293
- semantic-line-breaks.py corrupts @include lines, fenced code, and blockquote lists by @github-actions[bot] in #295
- Prioritize internal infrastructure PRs slightly over feature PRs by @d-morrison in #297
- ums: per-merge UMS discipline + a CI workflow can silently never trigger on push by @dem-extra1 in #298
- ums: gh pr edit can fail to apply (not just exit-1); prefer REST PATCH by @dem-extra1 in #301
- ums: record learnings from PR #297 (pr-prioritization) by @d-morrison in #299
- ums: workflow_call input default must be a static literal by @dem-extra1 in #302
- Don't pause clear-all loops for merges; stack instead by @d-morrison in #307
- ums: resolve inline threads as you go; check version parity after merge-main by @d-morrison in #300
- Open a draft PR immediately after claiming an issue (empty commit) by @d-morrison in #315
- Add push-memory skill for cross-repo memory pushes to ai-config by @d-morrison in #311
- docs(memories): migrate local-only general memories into ai-config by @dem-extra1 in #318
- ums: read-only GitHub sessions and CRAN-archival check (from fxtas#156) by @d-morrison in #304
- Default to older PRs first when managing several at once by @d-morrison in #308
- Add discussions and migrate-discussion skills by @d-morrison in #317
- skill-builder: register new MCP/gh tools in tool-mappings.yml by @d-morrison in #319
- Note: no default setting for Claude Code on the web CI toggles by @d-morrison in #303
- Add memory rule: disambiguate cross-repo issue/PR references by @d-morrison in #321
- Record session-title convention:
#NNN brief descriptionby @d-morrison in #322 - Resync Codex wrappers on main (validate is red after #311 + #317) by @d-morrison in #325
- Wire gh/glab → MCP fallback into skills; fix stale note by @d-morrison in #328
- Add standing rule: challenge ambiguous phrasing/terminology in review by @d-morrison in #324
- UMS: note the cross-repo citation merge-order trap by @d-morrison in #331
- Add spot-skill-opportunities skill by @d-morrison in #334
- rescue-closed: add rebuild-clean path for far-stale PR branches by @d-morrison in #309
- Extend auto-orchestration note to apply beyond named heavy skills by @d-morrison in #329
- memorize: cite sources thoroughly by default by @d-morrison in #339
- Add hard-isolated custom agents for read-only audit/research phases by @d-morrison in #341
- memorize: Bash is a write-access loophole in custom subagent tool restrictions by @d-morrison in #342
- skills: add agent-builder, wire into ums and sibling metacognitive skills by @d-morrison in #343
- Add coding guideline: avoid hard-coding data with external source of truth by @d-morrison in #336
- Add prompt-me (pm) skill to restate open questions by @d-morrison in #338
- Add fact-check-prose skill/agent for reviewing accuracy of prose by @d-morrison in #344
- Check open PRs for in-progress drafts before scaffolding a new skill/agent by @d-morrison in #348
- Add CHANGELOG.md and require an entry on every PR by @d-morrison in #354
- Add a standalone resolve-pr-threads skill by @d-morrison in #347
- ums: record skill-builder-skip and missing-claim lessons from #338 by @d-morrison in #351
- ums: record lab-manual sync-comment lesson from PR #336 by @d-morrison in #350
- Add growth-mindset principle: seek resources over accepting limitations by @d-morrison in #353
- ums: record lessons from #343's review cycle by @d-morrison in #345
- wrap-up: spell out the closing-signal for the session's final reply by @d-morrison in #362
New Contributors
- @d-morrison made their first contribution in #2
- @github-actions[bot] made their first contribution in #149
- @dem-extra1 made their first contribution in #190
Full Changelog: https://github.com/d-morrison/ai-config/commits/v1.0.0