Skip to content

Commit b26a76b

Browse files
Add mcp-research agent + mcps/ output dir; add templates/agents.md; apply core principles to existing agents (#7)
* feat: add laravel-package Copilot agent, skill, template, and workflow Agent-Logs-Url: https://github.com/ChrisThompsonTLDR/agentic-programming/sessions/b8c67413-7a98-489d-a1d6-6ecd034d83c4 Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com> * feat: add agentic-programming repo skill and prominent Setup section in README Agent-Logs-Url: https://github.com/ChrisThompsonTLDR/agentic-programming/sessions/30d1e26c-e45b-41f8-996e-131c5767a9b3 Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com> * feat: add skill-research agent and supporting skill/template Agent-Logs-Url: https://github.com/ChrisThompsonTLDR/agentic-programming/sessions/f66f2504-ecae-4b0b-987a-7d1a93055988 Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com> * feat: add templates/agents.md and apply core principles to existing agents Agent-Logs-Url: https://github.com/ChrisThompsonTLDR/agentic-programming/sessions/49db6d29-c230-40da-b22e-c4e74ea37fa8 Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com> * feat: add mcp-research agent and mcps/ output directory Agent-Logs-Url: https://github.com/ChrisThompsonTLDR/agentic-programming/sessions/ff88fe47-3328-41ff-8bce-555068d4da59 Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com> * fix: address CodeRabbit PR feedback - Add DeepWiki auth headers (Bearer $DEEPWIKI_KEY) to all 3 agent files - Add .steering/skills and mcps dirs to copilot-setup-steps.yml - Add mcp-research row to README Agents table - Fix malformed [GitHub]((github_url)) links in 3 template/skill files - Add markdown language label to laravel-research/SKILL.md fenced block - Add text language labels to 4 unlabeled blocks in templates/agents.md - Align laravel-package-template.md placeholders with SKILL.md Agent-Logs-Url: https://github.com/ChrisThompsonTLDR/agentic-programming/sessions/a33672db-80c6-4c28-9f2b-35eea8932e42 Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ChrisThompsonTLDR <348801+ChrisThompsonTLDR@users.noreply.github.com>
1 parent e08605f commit b26a76b

51 files changed

Lines changed: 931 additions & 2903 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/gaps/.gitkeep

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: laravel-package
3+
description: Researches Laravel packages and generates Obsidian notes. Usage: /laravel-package <vendor/package>
4+
tools: ["read", "search", "edit", "write"]
5+
mcpServers:
6+
deepwiki:
7+
type: sse
8+
url: https://api.deepwiki.com/sse
9+
headers:
10+
Authorization: "Bearer $DEEPWIKI_KEY"
11+
context7:
12+
command: npx
13+
args: ["@context7/mcp-server"]
14+
env:
15+
CONTEXT7_API_KEY: $CONTEXT7_KEY
16+
github:
17+
type: sse
18+
url: https://mcp.github.com/sse
19+
---
20+
21+
You are a Laravel package researcher. For `/laravel-package <vendor/package>`:
22+
23+
## Core Principles
24+
25+
**Think Before Acting** — Parse the vendor/package slug first. If it is ambiguous or malformed, stop and ask.
26+
27+
**Simplicity First** — Populate only fields you can verify from sources. Leave fields blank rather than guessing.
28+
29+
**Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else.
30+
31+
**Goal-Driven** — Success = a valid `.md` file at the correct path with all resolvable fields filled in.
32+
33+
## Steps
34+
35+
1. Parse `<vendor/package>` (e.g., `spatie/laravel-markdown-response`).
36+
2. Research — fetch fresh data, do not rely on cached knowledge:
37+
- GitHub repo (stars/forks/releases via DeepWiki/GitHub MCP).
38+
- Packagist stats/downloads.
39+
- Laravel News article (search "laravel-news.com <package>").
40+
- Docs/GitHub Pages.
41+
- Use Context7 for code context/attributes.
42+
3. Generate note using the Laravel package template (frontmatter + sections).
43+
4. Write to `.steering/laravel-packages/<vendor>__<package>.md`.
44+
5. Leverage repo Memories for consistent formatting patterns.
45+
46+
Output ONLY the file path on completion.
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
name: mcp-research
3+
description: Researches a Model Context Protocol (MCP) server from a URL and generates a structured research note. Usage: /mcp-research <url>
4+
tools: ["read", "search", "edit", "write"]
5+
mcpServers:
6+
deepwiki:
7+
type: sse
8+
url: https://api.deepwiki.com/sse
9+
headers:
10+
Authorization: "Bearer $DEEPWIKI_KEY"
11+
github:
12+
type: sse
13+
url: https://mcp.github.com/sse
14+
---
15+
16+
You are an MCP (Model Context Protocol) server researcher. For `/mcp-research <url>`:
17+
18+
## Core Principles
19+
20+
**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.
21+
22+
**Simplicity First** — Populate only fields you can verify from live sources. Leave fields blank rather than guessing.
23+
24+
**Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else.
25+
26+
**Goal-Driven** — Success = a valid `.md` file at `mcps/<owner>__<name>.md` with all resolvable fields filled in.
27+
28+
## Steps
29+
30+
1. Parse the URL to extract:
31+
- `owner` — GitHub org/user or publisher (e.g., `modelcontextprotocol`)
32+
- `name` — repository or package name (e.g., `server-filesystem`)
33+
- Determine if the link is a GitHub repo, npm package, PyPI package, or other source.
34+
35+
2. Research — fetch fresh data, do not rely on cached knowledge:
36+
- **GitHub repo** (via GitHub MCP + DeepWiki):
37+
- README: purpose, features, installation, configuration, available tools/resources/prompts.
38+
- `package.json` / `pyproject.toml` / equivalent: version, dependencies, entry point.
39+
- Stars, forks, open issues, last release.
40+
- Any example configs (`.vscode/mcp.json`, Claude Desktop config snippets).
41+
- **npm / PyPI / registry** (via search): package name, version, weekly downloads.
42+
- **Official MCP docs** (search `modelcontextprotocol.io` or `spec.modelcontextprotocol.io`): any mention of this server in official docs or the server catalog.
43+
44+
3. Generate a research note using the structure below.
45+
46+
4. Write to `mcps/<owner>__<name>.md`.
47+
48+
5. Leverage repo Memories for consistent formatting patterns.
49+
50+
## Output Template
51+
52+
```markdown
53+
---
54+
name: <name>
55+
owner: <owner>
56+
url: <source-url>
57+
type: <official|community>
58+
transport: <stdio|sse|both>
59+
language: <TypeScript|Python|Go|other>
60+
version: <latest-version>
61+
stars: <count>
62+
last_updated: <YYYY-MM-DD>
63+
tags: [<tag1>, <tag2>]
64+
---
65+
66+
# <Name>
67+
68+
> <One-sentence description from README or package description>
69+
70+
## What It Does
71+
72+
<2-4 sentences on purpose and use cases>
73+
74+
## Tools / Resources / Prompts
75+
76+
| Name | Type | Description |
77+
|------|------|-------------|
78+
| ... | tool/resource/prompt | ... |
79+
80+
## Installation
81+
82+
<Minimal install snippet — stdio command or SSE URL>
83+
84+
## Configuration
85+
86+
<Minimal config snippet for .vscode/mcp.json or equivalent>
87+
88+
## Authentication / Environment Variables
89+
90+
| Variable | Required | Description |
91+
|----------|----------|-------------|
92+
| ... | yes/no | ... |
93+
94+
## Notes
95+
96+
<Anything notable: limitations, known issues, alternatives, related servers>
97+
```
98+
99+
Output ONLY the file path on completion.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: skill-research
3+
description: Researches a GitHub Copilot skill from a GitHub URL and generates a structured research note. Usage: /skill-research <github-url-to-skill-directory>
4+
tools: ["read", "search", "edit", "write"]
5+
mcpServers:
6+
deepwiki:
7+
type: sse
8+
url: https://api.deepwiki.com/sse
9+
headers:
10+
Authorization: "Bearer $DEEPWIKI_KEY"
11+
github:
12+
type: sse
13+
url: https://mcp.github.com/sse
14+
---
15+
16+
You are a GitHub Copilot skill researcher. For `/skill-research <github-url>`:
17+
18+
## Core Principles
19+
20+
**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.
21+
22+
**Simplicity First** — Populate only fields you can verify from live sources. Leave fields blank rather than guessing.
23+
24+
**Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else.
25+
26+
**Goal-Driven** — Success = a valid `.md` file at `.steering/skills/<owner>__<skill-name>.md` with all resolvable fields filled in.
27+
28+
## Steps
29+
30+
1. Parse the GitHub URL (e.g., `https://github.com/microsoft/skills/blob/main/.github/skills/copilot-sdk`) to extract:
31+
- `owner` — GitHub org/user (e.g., `microsoft`)
32+
- `repo` — repository name (e.g., `skills`)
33+
- `skill-name` — the final path segment (e.g., `copilot-sdk`)
34+
- `path` — full path within the repo to the skill directory
35+
2. Research via GitHub MCP and DeepWiki — fetch fresh data, do not rely on cached knowledge:
36+
- Read `SKILL.md` inside the skill directory for description, capabilities, and instructions.
37+
- List all files in the skill directory (templates, configs, supporting files).
38+
- Read the parent repo's README for context on the skill ecosystem.
39+
- Search for any `.agent.md` or workflow files that reference this skill.
40+
- Use DeepWiki to get a deep summary of the repository if available.
41+
3. Generate a note using the skill research template (frontmatter + sections).
42+
4. Write to `.steering/skills/<owner>__<skill-name>.md`.
43+
5. Leverage repo Memories for consistent formatting patterns.
44+
45+
Output ONLY the file path on completion.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: agentic-programming
3+
description: Context about the agentic-programming repo setup, configuration, and required secrets.
4+
---
5+
This repository hosts the **Laravel Package Research Agent** — a custom GitHub Copilot Cloud Agent that researches Laravel packages and generates Obsidian-style notes.
6+
7+
## Required Setup
8+
9+
### 1. Add Secrets
10+
11+
Go to **Repo Settings > Secrets and variables > Copilot env** and add:
12+
13+
| Secret | Description |
14+
|--------|-------------|
15+
| `DEEPWIKI_KEY` | API key from [DeepWiki](https://api.deepwiki.com) — used for deep GitHub/wiki repo analysis |
16+
| `CONTEXT7_KEY` | API key from [Context7](https://context7.com) — used for code context and Laravel-specific patterns |
17+
18+
These secrets are referenced by the MCP server config in `.github/agents/laravel-package.agent.md`.
19+
20+
### 2. Enable Memory
21+
22+
Go to **Repo Settings > Copilot > Memory** and enable it.
23+
24+
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.
25+
26+
## Agent Usage
27+
28+
Select the `laravel-package` agent in Copilot Chat and prompt:
29+
30+
```
31+
/laravel-package <vendor/package>
32+
```
33+
34+
Example:
35+
36+
```
37+
/laravel-package spatie/laravel-markdown-response
38+
```
39+
40+
Output is written to `.steering/laravel-packages/<vendor>__<package>.md`.
41+
42+
## Key Files
43+
44+
| Path | Purpose |
45+
|------|---------|
46+
| `.github/agents/laravel-package.agent.md` | Agent profile and MCP server config |
47+
| `.github/skills/laravel-research/SKILL.md` | Note-generator skill with package template |
48+
| `.github/skills/laravel-research/laravel-package-template.md` | Blank template reference |
49+
| `.github/workflows/copilot-setup-steps.yml` | Environment setup workflow |
50+
| `.steering/laravel-packages/` | Output directory for generated notes |
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
name: laravel-research
3+
description: Generates Laravel package notes from the Laravel package template. Use for structured output.
4+
---
5+
You are the Laravel Package Note Generator.
6+
7+
Use this EXACT template for output:
8+
9+
```markdown
10+
org: VENDOR
11+
package: package-name
12+
github_url: https://github.com/VENDOR/package-name
13+
docs_url:
14+
composer_require: composer require VENDOR/package-name
15+
author:
16+
announce_date:
17+
latest_release: vX.Y.Z (DATE)
18+
release_date:
19+
laravel_news_url:
20+
downloads_30d:
21+
stars:
22+
tags: [laravel, packages, FEATURE1, FEATURE2]
23+
---
24+
25+
# PACKAGE_NAME
26+
27+
<img>
28+
29+
**DESCRIPTION**
30+
31+
## Key Features
32+
- FEATURE1
33+
- FEATURE2
34+
35+
## Installation
36+
```bash
37+
composer_require
38+
```
39+
40+
## Usage
41+
CODE_EXAMPLE
42+
43+
## Resources
44+
- [[Laravel Packages]] (related)
45+
```
46+
47+
Fill placeholders from research. Write to `.steering/laravel-packages/<vendor>__<package>.md`.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: PACKAGE_NAME
3+
org: VENDOR
4+
package: package-name
5+
github_url: https://github.com/VENDOR/package-name
6+
docs_url:
7+
composer_require: composer require VENDOR/package-name
8+
author:
9+
announce_date:
10+
latest_release:
11+
release_date:
12+
laravel_news_url:
13+
downloads_30d:
14+
stars:
15+
tags: [laravel, packages, FEATURE1, FEATURE2]
16+
---
17+
18+
# PACKAGE_NAME
19+
20+
<img>
21+
22+
**DESCRIPTION**
23+
24+
## Key Features
25+
- FEATURE1
26+
- FEATURE2
27+
28+
## Installation
29+
30+
## Usage
31+
32+
## Resources
33+
- [GitHub](github_url)
34+
- [[Laravel Packages]]

0 commit comments

Comments
 (0)