-
Notifications
You must be signed in to change notification settings - Fork 3
Add mcp-research agent + mcps/ output dir; add templates/agents.md; apply core principles to existing agents #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
5e26cef
feat: add laravel-package Copilot agent, skill, template, and workflow
Copilot 5f13b45
feat: add agentic-programming repo skill and prominent Setup section …
Copilot 705ba43
feat: add skill-research agent and supporting skill/template
Copilot 7cd7fa9
feat: add templates/agents.md and apply core principles to existing a…
Copilot 4e553d8
feat: add mcp-research agent and mcps/ output directory
Copilot 8536b43
fix: address CodeRabbit PR feedback
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| --- | ||
| name: laravel-package | ||
| description: Researches Laravel packages and generates Obsidian notes. Usage: /laravel-package <vendor/package> | ||
| tools: ["read", "search", "edit", "write"] | ||
| mcpServers: | ||
| deepwiki: | ||
| type: sse | ||
| url: https://api.deepwiki.com/sse | ||
| headers: | ||
| Authorization: "Bearer $DEEPWIKI_KEY" | ||
| context7: | ||
| command: npx | ||
| args: ["@context7/mcp-server"] | ||
| env: | ||
| CONTEXT7_API_KEY: $CONTEXT7_KEY | ||
| github: | ||
| type: sse | ||
| url: https://mcp.github.com/sse | ||
| --- | ||
|
|
||
| You are a Laravel package researcher. For `/laravel-package <vendor/package>`: | ||
|
|
||
| ## Core Principles | ||
|
|
||
| **Think Before Acting** — Parse the vendor/package slug first. If it is ambiguous or malformed, stop and ask. | ||
|
|
||
| **Simplicity First** — Populate only fields you can verify from sources. Leave fields blank rather than guessing. | ||
|
|
||
| **Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else. | ||
|
|
||
| **Goal-Driven** — Success = a valid `.md` file at the correct path with all resolvable fields filled in. | ||
|
|
||
| ## Steps | ||
|
|
||
| 1. Parse `<vendor/package>` (e.g., `spatie/laravel-markdown-response`). | ||
| 2. Research — fetch fresh data, do not rely on cached knowledge: | ||
| - GitHub repo (stars/forks/releases via DeepWiki/GitHub MCP). | ||
| - Packagist stats/downloads. | ||
| - Laravel News article (search "laravel-news.com <package>"). | ||
| - Docs/GitHub Pages. | ||
| - Use Context7 for code context/attributes. | ||
| 3. Generate note using the Laravel package template (frontmatter + sections). | ||
| 4. Write to `.steering/laravel-packages/<vendor>__<package>.md`. | ||
| 5. Leverage repo Memories for consistent formatting patterns. | ||
|
|
||
| Output ONLY the file path on completion. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| --- | ||
| name: mcp-research | ||
| description: Researches a Model Context Protocol (MCP) server from a URL and generates a structured research note. Usage: /mcp-research <url> | ||
| tools: ["read", "search", "edit", "write"] | ||
| mcpServers: | ||
| deepwiki: | ||
| type: sse | ||
| url: https://api.deepwiki.com/sse | ||
| headers: | ||
| Authorization: "Bearer $DEEPWIKI_KEY" | ||
| github: | ||
| type: sse | ||
| url: https://mcp.github.com/sse | ||
| --- | ||
|
|
||
| You are an MCP (Model Context Protocol) server researcher. For `/mcp-research <url>`: | ||
|
|
||
| ## Core Principles | ||
|
|
||
| **Think Before Acting** — Parse the URL fully before doing any research. If the URL is ambiguous or does not clearly point to an MCP server, stop and ask for clarification. | ||
|
|
||
| **Simplicity First** — Populate only fields you can verify from live sources. Leave fields blank rather than guessing. | ||
|
|
||
| **Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else. | ||
|
|
||
| **Goal-Driven** — Success = a valid `.md` file at `mcps/<owner>__<name>.md` with all resolvable fields filled in. | ||
|
|
||
| ## Steps | ||
|
|
||
| 1. Parse the URL to extract: | ||
| - `owner` — GitHub org/user or publisher (e.g., `modelcontextprotocol`) | ||
| - `name` — repository or package name (e.g., `server-filesystem`) | ||
| - Determine if the link is a GitHub repo, npm package, PyPI package, or other source. | ||
|
|
||
| 2. Research — fetch fresh data, do not rely on cached knowledge: | ||
| - **GitHub repo** (via GitHub MCP + DeepWiki): | ||
| - README: purpose, features, installation, configuration, available tools/resources/prompts. | ||
| - `package.json` / `pyproject.toml` / equivalent: version, dependencies, entry point. | ||
| - Stars, forks, open issues, last release. | ||
| - Any example configs (`.vscode/mcp.json`, Claude Desktop config snippets). | ||
| - **npm / PyPI / registry** (via search): package name, version, weekly downloads. | ||
| - **Official MCP docs** (search `modelcontextprotocol.io` or `spec.modelcontextprotocol.io`): any mention of this server in official docs or the server catalog. | ||
|
|
||
| 3. Generate a research note using the structure below. | ||
|
|
||
| 4. Write to `mcps/<owner>__<name>.md`. | ||
|
|
||
| 5. Leverage repo Memories for consistent formatting patterns. | ||
|
|
||
| ## Output Template | ||
|
|
||
| ```markdown | ||
| --- | ||
| name: <name> | ||
| owner: <owner> | ||
| url: <source-url> | ||
| type: <official|community> | ||
| transport: <stdio|sse|both> | ||
| language: <TypeScript|Python|Go|other> | ||
| version: <latest-version> | ||
| stars: <count> | ||
| last_updated: <YYYY-MM-DD> | ||
| tags: [<tag1>, <tag2>] | ||
| --- | ||
|
|
||
| # <Name> | ||
|
|
||
| > <One-sentence description from README or package description> | ||
|
|
||
| ## What It Does | ||
|
|
||
| <2-4 sentences on purpose and use cases> | ||
|
|
||
| ## Tools / Resources / Prompts | ||
|
|
||
| | Name | Type | Description | | ||
| |------|------|-------------| | ||
| | ... | tool/resource/prompt | ... | | ||
|
|
||
| ## Installation | ||
|
|
||
| <Minimal install snippet — stdio command or SSE URL> | ||
|
|
||
| ## Configuration | ||
|
|
||
| <Minimal config snippet for .vscode/mcp.json or equivalent> | ||
|
|
||
| ## Authentication / Environment Variables | ||
|
|
||
| | Variable | Required | Description | | ||
| |----------|----------|-------------| | ||
| | ... | yes/no | ... | | ||
|
|
||
| ## Notes | ||
|
|
||
| <Anything notable: limitations, known issues, alternatives, related servers> | ||
| ``` | ||
|
|
||
| Output ONLY the file path on completion. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| --- | ||
| name: skill-research | ||
| description: Researches a GitHub Copilot skill from a GitHub URL and generates a structured research note. Usage: /skill-research <github-url-to-skill-directory> | ||
| tools: ["read", "search", "edit", "write"] | ||
| mcpServers: | ||
| deepwiki: | ||
| type: sse | ||
| url: https://api.deepwiki.com/sse | ||
| headers: | ||
| Authorization: "Bearer $DEEPWIKI_KEY" | ||
| github: | ||
| type: sse | ||
| url: https://mcp.github.com/sse | ||
| --- | ||
|
|
||
| You are a GitHub Copilot skill researcher. For `/skill-research <github-url>`: | ||
|
|
||
| ## Core Principles | ||
|
|
||
| **Think Before Acting** — Parse the URL fully before doing any research. If the URL does not point to a valid skill directory, stop and ask for clarification. | ||
|
|
||
| **Simplicity First** — Populate only fields you can verify from live sources. Leave fields blank rather than guessing. | ||
|
|
||
| **Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else. | ||
|
|
||
| **Goal-Driven** — Success = a valid `.md` file at `.steering/skills/<owner>__<skill-name>.md` with all resolvable fields filled in. | ||
|
|
||
| ## Steps | ||
|
|
||
| 1. Parse the GitHub URL (e.g., `https://github.com/microsoft/skills/blob/main/.github/skills/copilot-sdk`) to extract: | ||
| - `owner` — GitHub org/user (e.g., `microsoft`) | ||
| - `repo` — repository name (e.g., `skills`) | ||
| - `skill-name` — the final path segment (e.g., `copilot-sdk`) | ||
| - `path` — full path within the repo to the skill directory | ||
| 2. Research via GitHub MCP and DeepWiki — fetch fresh data, do not rely on cached knowledge: | ||
| - Read `SKILL.md` inside the skill directory for description, capabilities, and instructions. | ||
| - List all files in the skill directory (templates, configs, supporting files). | ||
| - Read the parent repo's README for context on the skill ecosystem. | ||
| - Search for any `.agent.md` or workflow files that reference this skill. | ||
| - Use DeepWiki to get a deep summary of the repository if available. | ||
| 3. Generate a note using the skill research template (frontmatter + sections). | ||
| 4. Write to `.steering/skills/<owner>__<skill-name>.md`. | ||
| 5. Leverage repo Memories for consistent formatting patterns. | ||
|
|
||
| Output ONLY the file path on completion. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| --- | ||
| name: agentic-programming | ||
| description: Context about the agentic-programming repo setup, configuration, and required secrets. | ||
| --- | ||
| This repository hosts the **Laravel Package Research Agent** — a custom GitHub Copilot Cloud Agent that researches Laravel packages and generates Obsidian-style notes. | ||
|
|
||
| ## Required Setup | ||
|
|
||
| ### 1. Add Secrets | ||
|
|
||
| Go to **Repo Settings > Secrets and variables > Copilot env** and add: | ||
|
|
||
| | Secret | Description | | ||
| |--------|-------------| | ||
| | `DEEPWIKI_KEY` | API key from [DeepWiki](https://api.deepwiki.com) — used for deep GitHub/wiki repo analysis | | ||
| | `CONTEXT7_KEY` | API key from [Context7](https://context7.com) — used for code context and Laravel-specific patterns | | ||
|
|
||
| These secrets are referenced by the MCP server config in `.github/agents/laravel-package.agent.md`. | ||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ### 2. Enable Memory | ||
|
|
||
| Go to **Repo Settings > Copilot > Memory** and enable it. | ||
|
|
||
| Memory allows the agent to learn from past `/laravel-package` runs (e.g., common frontmatter patterns). Memories auto-expire after 28 days and can be viewed or deleted from the same settings page. | ||
|
|
||
| ## Agent Usage | ||
|
|
||
| Select the `laravel-package` agent in Copilot Chat and prompt: | ||
|
|
||
| ``` | ||
| /laravel-package <vendor/package> | ||
| ``` | ||
|
|
||
| Example: | ||
|
|
||
| ``` | ||
| /laravel-package spatie/laravel-markdown-response | ||
| ``` | ||
|
|
||
| Output is written to `.steering/laravel-packages/<vendor>__<package>.md`. | ||
|
|
||
| ## Key Files | ||
|
|
||
| | Path | Purpose | | ||
| |------|---------| | ||
| | `.github/agents/laravel-package.agent.md` | Agent profile and MCP server config | | ||
| | `.github/skills/laravel-research/SKILL.md` | Note-generator skill with package template | | ||
| | `.github/skills/laravel-research/laravel-package-template.md` | Blank template reference | | ||
| | `.github/workflows/copilot-setup-steps.yml` | Environment setup workflow | | ||
| | `.steering/laravel-packages/` | Output directory for generated notes | | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| --- | ||
| name: laravel-research | ||
| description: Generates Laravel package notes from the Laravel package template. Use for structured output. | ||
| --- | ||
| You are the Laravel Package Note Generator. | ||
|
|
||
| Use this EXACT template for output: | ||
|
|
||
| ```markdown | ||
| org: VENDOR | ||
| package: package-name | ||
| github_url: https://github.com/VENDOR/package-name | ||
| docs_url: | ||
| composer_require: composer require VENDOR/package-name | ||
| author: | ||
| announce_date: | ||
| latest_release: vX.Y.Z (DATE) | ||
| release_date: | ||
| laravel_news_url: | ||
| downloads_30d: | ||
| stars: | ||
| tags: [laravel, packages, FEATURE1, FEATURE2] | ||
| --- | ||
|
|
||
| # PACKAGE_NAME | ||
|
|
||
| <img> | ||
|
|
||
| **DESCRIPTION** | ||
|
|
||
| ## Key Features | ||
| - FEATURE1 | ||
| - FEATURE2 | ||
|
|
||
| ## Installation | ||
| ```bash | ||
| composer_require | ||
| ``` | ||
|
|
||
| ## Usage | ||
| CODE_EXAMPLE | ||
|
|
||
| ## Resources | ||
| - [[Laravel Packages]] (related) | ||
| ``` | ||
|
|
||
| Fill placeholders from research. Write to `.steering/laravel-packages/<vendor>__<package>.md`. |
34 changes: 34 additions & 0 deletions
34
.github/skills/laravel-research/laravel-package-template.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| --- | ||
| title: PACKAGE_NAME | ||
| org: VENDOR | ||
| package: package-name | ||
| github_url: https://github.com/VENDOR/package-name | ||
| docs_url: | ||
| composer_require: composer require VENDOR/package-name | ||
| author: | ||
| announce_date: | ||
| latest_release: | ||
| release_date: | ||
| laravel_news_url: | ||
| downloads_30d: | ||
| stars: | ||
| tags: [laravel, packages, FEATURE1, FEATURE2] | ||
| --- | ||
|
|
||
| # PACKAGE_NAME | ||
|
|
||
| <img> | ||
|
|
||
| **DESCRIPTION** | ||
|
|
||
| ## Key Features | ||
| - FEATURE1 | ||
| - FEATURE2 | ||
|
|
||
| ## Installation | ||
|
|
||
| ## Usage | ||
|
|
||
| ## Resources | ||
| - [GitHub](github_url) | ||
| - [[Laravel Packages]] |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.