Add Compound Engineering plugin for GitHub Copilot#1990
Add Compound Engineering plugin for GitHub Copilot#1990
Conversation
Co-authored-by: andrew-bierman <94939237+andrew-bierman@users.noreply.github.com> Agent-Logs-Url: https://github.com/PackRat-AI/PackRat/sessions/ed74cdd4-53f8-4ed9-b817-98a9aff18925
There was a problem hiding this comment.
Pull request overview
Adds the Compound Engineering plugin output to the repository in GitHub Copilot format, including agent definitions, reusable skills, and MCP configuration.
Changes:
- Adds a large set of Copilot agent personas under
.github/agents/. - Adds Compound Engineering skills, templates, and reference docs under
.github/skills/. - Adds MCP server configuration for Copilot under
.github/copilot-mcp-config.json.
Reviewed changes
Copilot reviewed 77 out of 160 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/skills/compound-docs/assets/resolution-template.md | Adds a troubleshooting/resolution write-up template. |
| .github/skills/compound-docs/assets/critical-pattern-template.md | Adds a template for documenting critical patterns. |
| .github/skills/claude-permissions-optimizer/SKILL.md | Adds a permissions-optimizer skill (Claude-focused). |
| .github/skills/changelog/SKILL.md | Adds a changelog-generation skill prompt/spec. |
| .github/skills/andrew-kane-gem-writer/references/testing-patterns.md | Adds reference material for Minitest patterns. |
| .github/skills/andrew-kane-gem-writer/references/resources.md | Adds reference links/resources for Ankane-style gems. |
| .github/skills/andrew-kane-gem-writer/references/rails-integration.md | Adds reference guidance for Rails integration patterns. |
| .github/skills/andrew-kane-gem-writer/references/module-organization.md | Adds reference guidance for gem/module organization. |
| .github/skills/andrew-kane-gem-writer/references/database-adapters.md | Adds reference guidance for DB adapter patterns. |
| .github/skills/andrew-kane-gem-writer/SKILL.md | Adds a skill definition for writing Ankane-style gems. |
| .github/skills/agent-native-audit/SKILL.md | Adds an agent-native architecture audit workflow skill. |
| .github/skills/agent-native-architecture/references/system-prompt-design.md | Adds reference docs for system prompt design. |
| .github/skills/agent-native-architecture/references/self-modification.md | Adds reference docs for self-modifying agents. |
| .github/skills/agent-native-architecture/references/refactoring-to-prompt-native.md | Adds reference docs for prompt-native refactoring. |
| .github/skills/agent-native-architecture/references/files-universal-interface.md | Adds reference docs about file-based interfaces. |
| .github/skills/agent-browser/templates/form-automation.sh | Adds a bash template for form automation. |
| .github/skills/agent-browser/templates/capture-workflow.sh | Adds a bash template for capturing page artifacts. |
| .github/skills/agent-browser/templates/authenticated-session.sh | Adds a bash template for session persistence/login. |
| .github/skills/agent-browser/references/video-recording.md | Adds agent-browser reference docs for video recording. |
| .github/skills/agent-browser/references/snapshot-refs.md | Adds agent-browser reference docs for snapshot refs. |
| .github/skills/agent-browser/references/session-management.md | Adds agent-browser reference docs for sessions/state. |
| .github/skills/agent-browser/references/proxy-support.md | Adds agent-browser reference docs for proxy usage. |
| .github/skills/agent-browser/references/profiling.md | Adds agent-browser reference docs for profiling runs. |
| .github/skills/agent-browser/references/commands.md | Adds agent-browser full command reference. |
| .github/skills/agent-browser/references/authentication.md | Adds agent-browser reference docs for auth patterns. |
| .github/copilot-mcp-config.json | Adds MCP server config for Context7. |
| .github/agents/spec-flow-analyzer.agent.md | Adds an agent persona for user-flow/spec analysis. |
| .github/agents/security-sentinel.agent.md | Adds an agent persona for security reviews/audits. |
| .github/agents/schema-drift-detector.agent.md | Adds an agent persona for schema drift detection. |
| .github/agents/pr-comment-resolver.agent.md | Adds an agent persona for resolving PR review comments. |
| .github/agents/performance-oracle.agent.md | Adds an agent persona for performance review. |
| .github/agents/pattern-recognition-specialist.agent.md | Adds an agent persona for pattern/anti-pattern analysis. |
| .github/agents/lint.agent.md | Adds an agent persona for linting workflows. |
| .github/agents/kieran-typescript-reviewer.agent.md | Adds an agent persona for strict TS reviews. |
| .github/agents/kieran-rails-reviewer.agent.md | Adds an agent persona for strict Rails reviews. |
| .github/agents/kieran-python-reviewer.agent.md | Adds an agent persona for strict Python reviews. |
| .github/agents/julik-frontend-races-reviewer.agent.md | Adds an agent persona for frontend race-condition reviews. |
| .github/agents/git-history-analyzer.agent.md | Adds an agent persona for git history archaeology. |
| .github/agents/framework-docs-researcher.agent.md | Adds an agent persona for framework/docs research. |
| .github/agents/figma-design-sync.agent.md | Adds an agent persona for syncing UI to Figma. |
| .github/agents/dhh-rails-reviewer.agent.md | Adds an agent persona for Rails opinionated review. |
| .github/agents/design-iterator.agent.md | Adds an agent persona for iterative UI refinement. |
| .github/agents/design-implementation-reviewer.agent.md | Adds an agent persona for design fidelity review. |
| .github/agents/deployment-verification-agent.agent.md | Adds an agent persona for deployment verification checklists. |
| .github/agents/data-migration-expert.agent.md | Adds an agent persona for migrations/backfills review. |
| .github/agents/data-integrity-guardian.agent.md | Adds an agent persona for data integrity review. |
| .github/agents/code-simplicity-reviewer.agent.md | Adds an agent persona for simplicity/YAGNI review. |
| .github/agents/bug-reproduction-validator.agent.md | Adds an agent persona for bug reproduction/validation. |
| .github/agents/best-practices-researcher.agent.md | Adds an agent persona for external best-practices research. |
| .github/agents/architecture-strategist.agent.md | Adds an agent persona for architectural review. |
| .github/agents/ankane-readme-writer.agent.md | Adds an agent persona for Ankane-style READMEs. |
| .github/agents/agent-native-reviewer.agent.md | Adds an agent persona for agent-native parity reviews. |
.github/copilot-mcp-config.json
Outdated
| "tools": [ | ||
| "*" | ||
| ], |
There was a problem hiding this comment.
The MCP server is configured with "tools": ["*"], which effectively grants access to all tools exposed by that server. To reduce blast radius if the server adds new tools (or if a tool is misconfigured), prefer an explicit allowlist of only the tools you actually intend to use (or remove the tools key if the platform has a safer default).
| "tools": [ | |
| "*" | |
| ], |
| --- | ||
| name: claude-permissions-optimizer | ||
| context: fork | ||
| description: Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json. Can run from any coding agent but targets Claude Code specifically. Use when experiencing permission fatigue, too many permission prompts, wanting to optimize permissions, or needing to set up allowlists. Triggers on "optimize permissions", "reduce permission prompts", "allowlist commands", "too many permission prompts", "permission fatigue", "permission setup", or complaints about clicking approve too often. |
There was a problem hiding this comment.
This skill is explicitly targeted at “Claude Code” and writes to ~/.claude/settings.json, which doesn’t match the PR’s stated goal of installing a GitHub Copilot-format plugin. If this is intended to be included, consider updating the description and steps to clarify how it applies in Copilot contexts (or moving it to a Claude-specific distribution) to avoid misleading users and accidental writes to irrelevant config locations.
|
|
||
| ## Pre-check: Confirm environment | ||
|
|
||
| Determine whether you are currently running inside Claude Code or a different coding agent (Codex, Gemini CLI, Cursor, etc.). |
There was a problem hiding this comment.
This skill is explicitly targeted at “Claude Code” and writes to ~/.claude/settings.json, which doesn’t match the PR’s stated goal of installing a GitHub Copilot-format plugin. If this is intended to be included, consider updating the description and steps to clarify how it applies in Copilot contexts (or moving it to a Claude-specific distribution) to avoid misleading users and accidental writes to irrelevant config locations.
|
|
||
| > "This skill analyzes Claude Code session history and writes to Claude Code's settings.json. You're currently in [agent name], but I can still optimize your Claude Code permissions from here -- the results will apply next time you use Claude Code." | ||
|
|
||
| Then proceed to Step 1 normally. The skill works from any environment as long as `~/.claude/` (or `$CLAUDE_CONFIG_DIR`) exists on the machine. |
There was a problem hiding this comment.
This skill is explicitly targeted at “Claude Code” and writes to ~/.claude/settings.json, which doesn’t match the PR’s stated goal of installing a GitHub Copilot-format plugin. If this is intended to be included, consider updating the description and steps to clarify how it applies in Copilot contexts (or moving it to a Claude-specific distribution) to avoid misleading users and accidental writes to irrelevant config locations.
| agent-browser screenshot /tmp/form-result.png | ||
| echo "Screenshot saved: /tmp/form-result.png" |
There was a problem hiding this comment.
The script writes a fixed screenshot path in /tmp, which can cause collisions or confusing results when multiple runs happen concurrently (or when users expect per-run artifacts). Prefer generating a unique filename (e.g., with mktemp or a timestamp) and/or allow the output path to be passed as an argument/env var.
| agent-browser screenshot /tmp/form-result.png | |
| echo "Screenshot saved: /tmp/form-result.png" | |
| SCREENSHOT_PATH="${SCREENSHOT_PATH:-$(mktemp /tmp/form-result.XXXXXX.png)}" | |
| agent-browser screenshot "$SCREENSHOT_PATH" | |
| echo "Screenshot saved: $SCREENSHOT_PATH" |
| tools: | ||
| - "*" |
There was a problem hiding this comment.
Granting wildcard tool access ("*"), especially for a security-audit agent, increases the chance of unintended side effects (writes, network calls, etc.) during routine use. Consider restricting the tool list to the minimum required for this agent’s stated workflow (e.g., repo read/search tools plus any explicitly needed scanners), and requiring explicit user confirmation before invoking any write/exec-capable tools.
|
@copilot fix failing actions pls |
Co-authored-by: andrew-bierman <94939237+andrew-bierman@users.noreply.github.com> Agent-Logs-Url: https://github.com/PackRat-AI/PackRat/sessions/4ab01f09-d15c-4b7d-a5ab-f2521d7603f3
Fixed in commit
|
|
@copilot fix failing actions |
… error Co-authored-by: andrew-bierman <94939237+andrew-bierman@users.noreply.github.com> Agent-Logs-Url: https://github.com/PackRat-AI/PackRat/sessions/bcb1fdf6-0578-4849-987d-184f1b028f66
Fixed in commits
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
bunx @every-env/compound-plugin install compound-engineering --to copilotto generate files.github/agents/directory with 30 agent.agent.mdfiles.github/skills/directory with skill SKILL.md files and supporting assets.github/copilot-mcp-config.jsonfor MCP configurationuseTemplate) and format fixes (JSON array formatting) to generated filesShareimport toTripDetailScreen.tsx@packrat-ai/nativewindui@1.1.0to fixTS2749: 'FlashList' refers to a value, but is being used as a typeinList.tsx:34— changesReact.Ref<FlashList<T>>→React.Ref<React.ElementRef<typeof FlashList>>Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.