By d-morrison
d-morrison's personal Claude Code skills (PR/review workflow, grading, reprexes, R-package helpers) and slash commands.
Alias for `ardiaei` (ARDIA + Edit Instructions). Drive every open PR/MR to a clean review verdict, then update memories and skills with what the loop taught. Use when asked to 'address rebut defer iterate all then edit instructions', 'clean all PRs and record what we learned', or 'drive everything to clean and update instructions'.
Alias for `ardia`. Apply ARDI to every open PR/MR in the repo — drive each to a clean review verdict. Use when asked to 'address rebut defer iterate all', 'drive all MRs to clean', or 'iterate all PRs'.
Alias for `ardi`. ARD + Iterate on a single PR/MR until the review verdict is clean. Use when asked to 'address rebut defer iterate', 'drive this PR to clean', or 'iterate this MR'.
Alias for `ard`. Address, Rebut, Defer, or Acknowledge: respond to every review comment on a PR/MR with exactly one disposition. Use when asked to 'address rebut defer', 'ard this review', or after receiving review findings.
Alias for `ard` (common transposition typo). Address, Rebut, Defer, or Acknowledge: respond to every review comment on a PR/MR with exactly one disposition. Use when asked to 'adr', 'ard this review', or after receiving review findings.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Portable AI agent config — skills, memories, and commands synced across machines via git. Works with Claude Code, VS Code Copilot, and any agent that reads markdown instruction files.
Each top-level subdir is symlinked into the appropriate consumer directory
by bootstrap.sh.
git clone https://github.com/d-morrison/ai-config.git ~/ai-config
bash ~/ai-config/bootstrap.sh
Rerun bootstrap.sh any time a new top-level dir is added to the repo.
In cloud (web) sessions you can't run bootstrap.sh by hand, and the
environment "Setup script" runs at build time before this repo is checked
out — so it can't reference bootstrap.sh either. Instead, the committed
SessionStart hook (.claude/settings.json → .claude/hooks/session-start.sh)
runs bootstrap.sh once the repo is on disk, symlinking skills/ and
commands/ into ~/.claude/. The hook is a no-op outside remote sessions
(CLAUDE_CODE_REMOTE) and idempotent, so local machines are unaffected.
The SessionStart hook above only fires when ai-config itself is the open
project. To get these skills when a different repo is open in a cloud
session — where that repo's hooks know nothing about ai-config, ~/.claude
starts empty, and skills uploaded to claude.ai/customize do not cross over
into Claude Code — this repo also publishes itself as a plugin marketplace.
The repo is simultaneously:
.claude-plugin/marketplace.json.claude-plugin/plugin.json with source: "./", which
bundles the existing top-level skills/ and commands/ (no duplication;
skills/ and commands/ are auto-discovered at the plugin root).To load these skills in another repo's cloud sessions, commit this to that
repo's .claude/settings.json:
{
"extraKnownMarketplaces": {
"d-morrison": {
"source": { "source": "github", "repo": "d-morrison/ai-config" }
}
},
"enabledPlugins": {
"ai-config@d-morrison": true
}
}
Claude Code installs the plugin at session start (needs network access to reach
GitHub). Plugin skills are namespaced, e.g. /ai-config:reprexes,
/ai-config:grade-work.
Locally (or to try it), run these as slash commands inside a Claude Code
session (or prefix with claude to run them in a terminal):
/plugin marketplace add d-morrison/ai-config
/plugin install ai-config@d-morrison
No version is pinned, so every commit to this repo counts as a new version —
sessions with marketplace auto-update pick up the latest automatically.
@claude botThe two mechanisms above cover the CLI (~/.claude/skills via bootstrap.sh)
and other repos' cloud sessions (the plugin marketplace). The third surface
is the @claude CI bot running on this repo's PRs/issues
(.github/workflows/claude-bot.yml).
That bot runs claude-code-action, which does not auto-discover skills from
~/.claude (the runner's home is fresh) or from a plugin unless it's installed.
It does load project skills from .claude/skills/ in the checked-out
repo.
The .claude/skills → ../skills symlink is committed to this repo. It
works via a subtle two-step mechanism:
claude-code-action has a security feature called restoreConfigFromBase
that, for every PR, restores .claude/ from the base branch (main)
using git checkout origin/main -- .claude. This prevents malicious PR
branches from injecting hooks or settings..claude/skills is committed to main, restoreConfigFromBase
always restores the symlink — even if the PR branch doesn't have it.git checkout origin/main -- .claude correctly materializes the symlink on
disk (unlike gh pr checkout, which dropped it due to core.symlinks
handling — a separate failure mode that was the original blocker).Once the symlink is in place every top-level skill becomes available to the bot
by bare name. Comment @claude ardi (or any other skill trigger) on a
PR or issue and the bot can invoke the ardi skill, exactly like the local CLI
does. No duplication (skills/ stays the one source of truth) and new skills
are picked up automatically.
Note: On PRs that predate the merge of this feature to
main, the symlink is absent (restoreConfigFromBaserestores from themainat the time Claude runs). Skills become available to the bot for all sessions after this PR merges.
skills/ — reusable workflow skills (~/.claude/skills/)commands/ — slash commands (~/.claude/commands/)memories/ — persistent notes & preferences (symlinked into VS Code Copilot memory dir)Add more by creating a top-level dir here (e.g., agents/,
output-styles/) and rerunning bootstrap.sh.
npx claudepluginhub d-morrison/ai-config --plugin ai-configHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.