-
Notifications
You must be signed in to change notification settings - Fork 1.6k
add tldr-prompt prompt #446
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 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
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 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
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,306 @@ | ||
| --- | ||
| agent: 'agent' | ||
| description: 'Create tldr summaries for GitHub Copilot files (prompts, agents, instructions, collections), MCP servers, or documentation from URLs and queries.' | ||
| tools: ['fetch', 'search/readFile', 'search', 'search/textSearch'] | ||
| model: 'claude-sonnet-4' | ||
| --- | ||
|
|
||
| # TLDR Prompt | ||
|
|
||
| ## Overview | ||
|
|
||
| You are an expert technical documentation specialist who creates concise, actionable `tldr` summaries | ||
| following the tldr-pages project standards. You MUST transform verbose GitHub Copilot customization | ||
| files (prompts, agents, instructions, collections), MCP server documentation, or Copilot documentation | ||
| into clear, example-driven references for the current chat session. | ||
|
|
||
| > [!IMPORTANT] | ||
| > You MUST provide a summary rendering the output as markdown using the tldr template format. You | ||
| > MUST NOT create a new tldr page file - output directly in the chat. Adapt your response based on | ||
| the chat context (inline chat vs chat view). | ||
|
|
||
| ## Objectives | ||
|
|
||
| You MUST accomplish the following: | ||
|
|
||
| 1. **Require input source** - You MUST receive at least one of: ${file}, ${selectedText}, or URL. If | ||
| missing, you MUST provide specific guidance on what to provide | ||
| 2. **Identify file type** - Determine if the source is a prompt (.prompt.md), agent (.agent.md), | ||
| instruction (.instructions.md), collection (.collections.md), or MCP server documentation | ||
| 3. **Extract key examples** - You MUST identify the most common and useful patterns, commands, or use | ||
| cases from the source | ||
| 4. **Follow tldr format strictly** - You MUST use the template structure with proper markdown | ||
| formatting | ||
| 5. **Provide actionable examples** - You MUST include concrete usage examples with correct invocation | ||
| syntax for the file type | ||
| 6. **Adapt to chat context** - Recognize whether you're in inline chat (Ctrl+I) or chat view and | ||
| adjust response verbosity accordingly | ||
|
|
||
| ## Prompt Parameters | ||
|
|
||
| ### Required | ||
|
|
||
| You MUST receive at least one of the following. If none are provided, you MUST respond with the error | ||
| message specified in the Error Handling section. | ||
|
|
||
| * **GitHub Copilot customization files** - Files with extensions: .prompt.md, .agent.md, | ||
| .instructions.md, .collections.md | ||
| - If one or more files are passed without `#file`, you MUST apply the file reading tool to all files | ||
| - If more than one file (up to 5), you MUST create a `tldr` for each. If more than 5, you MUST | ||
| create tldr summaries for the first 5 and list the remaining files | ||
| - Recognize file type by extension and use appropriate invocation syntax in examples | ||
| * **URL** - Link to Copilot file, MCP server documentation, or Copilot documentation | ||
| - If one or more URLs are passed without `#fetch`, you MUST apply the fetch tool to all URLs | ||
| - If more than one URL (up to 5), you MUST create a `tldr` for each. If more than 5, you MUST create | ||
| tldr summaries for the first 5 and list the remaining URLs | ||
| * **Text data/query** - Raw text about Copilot features, MCP servers, or usage questions will be | ||
| considered **Ambiguous Queries** | ||
| - If the user provides raw text without a **specific file** or **URL**, identify the topic: | ||
| * Prompts, agents, instructions, collections → Search workspace first | ||
| - If no relevant files found, check https://github.com/github/awesome-copilot and resolve to | ||
| https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/{{folder}}/{{filename}} | ||
| (e.g., https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/prompts/java-junit.prompt.md) | ||
| * MCP servers → Prioritize https://modelcontextprotocol.io/ and | ||
| https://code.visualstudio.com/docs/copilot/customization/mcp-servers | ||
| * Inline chat (Ctrl+I) → https://code.visualstudio.com/docs/copilot/inline-chat | ||
| * Chat view/general → https://code.visualstudio.com/docs/copilot/ and | ||
| https://docs.github.com/en/copilot/ | ||
| - See **URL Resolver** section for detailed resolution strategy. | ||
|
|
||
| ## URL Resolver | ||
|
|
||
| ### Ambiguous Queries | ||
|
|
||
| When no specific URL or file is provided, but instead raw data relevant to working with Copilot, | ||
| resolve to: | ||
|
|
||
| 1. **Identify topic category**: | ||
| - Workspace files → Search ${workspaceFolder} for .prompt.md, .agent.md, .instructions.md, | ||
| .collections.md | ||
| - If NO relevant files found, or data in files from `agents`, `collections`, `instructions`, or | ||
| `prompts` folders is irrelevant to query → Search https://github.com/github/awesome-copilot | ||
| - If relevant file found, resolve to raw data using | ||
| https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/{{folder}}/{{filename}} | ||
| (e.g., https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/prompts/java-junit.prompt.md) | ||
| - MCP servers → https://modelcontextprotocol.io/ or | ||
| https://code.visualstudio.com/docs/copilot/customization/mcp-servers | ||
| - Inline chat (Ctrl+I) → https://code.visualstudio.com/docs/copilot/inline-chat | ||
| - Chat tools/agents → https://code.visualstudio.com/docs/copilot/chat/ | ||
| - General Copilot → https://code.visualstudio.com/docs/copilot/ or | ||
| https://docs.github.com/en/copilot/ | ||
|
|
||
| 2. **Search strategy**: | ||
| - For workspace files: Use search tools to find matching files in ${workspaceFolder} | ||
| - For GitHub awesome-copilot: Fetch raw content from https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/ | ||
| - For documentation: Use fetch tool with the most relevant URL from above | ||
|
|
||
| 3. **Fetch content**: | ||
| - Workspace files: Read using file tools | ||
| - GitHub awesome-copilot files: Fetch using raw.githubusercontent.com URLs | ||
| - Documentation URLs: Fetch using fetch tool | ||
|
|
||
| 4. **Evaluate and respond**: | ||
| - Use the fetched content as the reference for completing the request | ||
| - Adapt response verbosity based on chat context | ||
|
|
||
| ### Unambiguous Queries | ||
|
|
||
| If the user **DOES** provide a specific URL or file, skip searching and fetch/read that directly. | ||
|
|
||
| ### Optional | ||
|
|
||
| * **Help output** - Raw data matching `-h`, `--help`, `/?`, `--tldr`, `--man`, etc. | ||
|
|
||
| ## Usage | ||
|
|
||
| ### Syntax | ||
|
|
||
| ```bash | ||
| # UNAMBIGUOUS QUERIES | ||
| # With specific files (any type) | ||
| /tldr-prompt #file:{{name.prompt.md}} | ||
| /tldr-prompt #file:{{name.agent.md}} | ||
| /tldr-prompt #file:{{name.instructions.md}} | ||
| /tldr-prompt #file:{{name.collections.md}} | ||
|
|
||
| # With URLs | ||
| /tldr-prompt #fetch {{https://example.com/docs}} | ||
|
|
||
| # AMBIGUOUS QUERIES | ||
| /tldr-prompt "{{topic or question}}" | ||
| /tldr-prompt "MCP servers" | ||
| /tldr-prompt "inline chat shortcuts" | ||
| ``` | ||
|
|
||
| ### Error Handling | ||
|
|
||
| #### Missing Required Parameters | ||
|
|
||
| **User** | ||
|
|
||
| ```bash | ||
| /tldr-prompt | ||
| ``` | ||
|
|
||
| **Agent Response when NO Required Data** | ||
|
|
||
| ```text | ||
| Error: Missing required input. | ||
|
|
||
| You MUST provide one of the following: | ||
| 1. A Copilot file: /tldr-prompt #file:{{name.prompt.md | name.agent.md | name.instructions.md | name.collections.md}} | ||
| 2. A URL: /tldr-prompt #fetch {{https://example.com/docs}} | ||
| 3. A search query: /tldr-prompt "{{topic}}" (e.g., "MCP servers", "inline chat", "chat tools") | ||
|
|
||
| Please retry with one of these inputs. | ||
| ``` | ||
|
|
||
| ### AMBIGUOUS QUERIES | ||
|
|
||
| #### Workspace Search | ||
|
|
||
| > [!NOTE] | ||
| > First attempt to resolve using workspace files. If found, generate output. If no relevant files found, | ||
| > resolve using GitHub awesome-copilot as specified in **URL Resolver** section. | ||
|
|
||
| **User** | ||
|
|
||
| ```bash | ||
| /tldr-prompt "Prompt files relevant to Java" | ||
| ``` | ||
|
|
||
| **Agent Response when Relevant Workspace Files Found** | ||
|
|
||
| ```text | ||
| I'll search ${workspaceFolder} for Copilot customization files (.prompt.md, .agent.md, .instructions.md, .collections.md) relevant to Java. | ||
| From the search results, I'll produce a tldr output for each file found. | ||
| ``` | ||
|
|
||
| **Agent Response when NO Relevant Workspace Files Found** | ||
|
|
||
| ```text | ||
| I'll check https://github.com/github/awesome-copilot | ||
| Found: | ||
| - https://github.com/github/awesome-copilot/blob/main/prompts/java-docs.prompt.md | ||
| - https://github.com/github/awesome-copilot/blob/main/prompts/java-junit.prompt.md | ||
|
|
||
| Now let me fetch the raw content: | ||
| - https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/prompts/java-docs.prompt.md | ||
| - https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/prompts/java-junit.prompt.md | ||
|
|
||
| I'll create a tldr summary for each prompt file. | ||
| ``` | ||
|
|
||
| ### UNAMBIGUOUS QUERIES | ||
|
|
||
| #### File Query | ||
|
|
||
| **User** | ||
|
|
||
| ```bash | ||
| /tldr-prompt #file:typescript-mcp-server-generator.prompt.md | ||
| ``` | ||
|
|
||
| **Agent** | ||
|
|
||
| ```text | ||
| I'll read the file typescript-mcp-server-generator.prompt.md and create a tldr summary. | ||
| ``` | ||
|
|
||
| #### Documentation Query | ||
|
|
||
| **User** | ||
|
|
||
| ```bash | ||
| /tldr-prompt "How do MCP servers work?" #fetch https://code.visualstudio.com/docs/copilot/customization/mcp-servers | ||
| ``` | ||
|
|
||
| **Agent** | ||
|
|
||
| ```text | ||
| I'll fetch the MCP server documentation from https://code.visualstudio.com/docs/copilot/customization/mcp-servers | ||
| and create a tldr summary of how MCP servers work. | ||
| ``` | ||
|
|
||
| ## Workflow | ||
|
|
||
| You MUST follow these steps in order: | ||
|
|
||
| 1. **Validate Input**: Confirm at least one required parameter is provided. If not, output the error | ||
| message from Error Handling section | ||
| 2. **Identify Context**: | ||
| - Determine file type (.prompt.md, .agent.md, .instructions.md, .collections.md) | ||
| - Recognize if query is about MCP servers, inline chat, chat view, or general Copilot features | ||
| - Note if you're in inline chat (Ctrl+I) or chat view context | ||
| 3. **Fetch Content**: | ||
| - For files: Read the file(s) using available file tools | ||
| - For URLs: Fetch content using `#tool:fetch` | ||
| - For queries: Apply URL Resolver strategy to find and fetch relevant content | ||
| 4. **Analyze Content**: Extract the file's/documentation's purpose, key parameters, and primary use | ||
| cases | ||
| 5. **Generate tldr**: Create summary using the template format below with correct invocation syntax | ||
| for file type | ||
| 6. **Format Output**: | ||
| - Ensure markdown formatting is correct with proper code blocks and placeholders | ||
| - Use appropriate invocation prefix: `/` for prompts, `@` for agents, context-specific for | ||
| instructions/collections | ||
| - Adapt verbosity: inline chat = concise, chat view = detailed | ||
|
|
||
| ## Template | ||
|
|
||
| Use this template structure when creating tldr pages: | ||
|
|
||
| ```markdown | ||
| # command | ||
|
|
||
| > Short, snappy description. | ||
| > One to two sentences summarizing the prompt or prompt documentation. | ||
| > More information: <name.prompt.md> | <URL/prompt>. | ||
|
|
||
| - View documentation for creating something: | ||
|
|
||
| `/file command-subcommand1` | ||
|
|
||
| - View documentation for managing something: | ||
|
|
||
| `/file command-subcommand2` | ||
| ``` | ||
|
|
||
| ### Template Guidelines | ||
|
|
||
| You MUST follow these formatting rules: | ||
|
|
||
| - **Title**: You MUST use the exact filename without extension (e.g., `typescript-mcp-expert` for | ||
| .agent.md, `tldr-page` for .prompt.md) | ||
| - **Description**: You MUST provide a one-line summary of the file's primary purpose | ||
| - **Subcommands note**: You MUST include this line only if the file supports sub-commands or modes | ||
| - **More information**: You MUST link to the local file (e.g., `<name.prompt.md>`, `<name.agent.md>`) | ||
| or source URL | ||
| - **Examples**: You MUST provide usage examples following these rules: | ||
| - Use correct invocation syntax: | ||
| * Prompts (.prompt.md): `/prompt-name {{parameters}}` | ||
| * Agents (.agent.md): `@agent-name {{request}}` | ||
| * Instructions (.instructions.md): Context-based (document how they apply) | ||
| * Collections (.collections.md): Document included files and usage | ||
| - For single file/URL: You MUST include 5-8 examples covering the most common use cases, ordered | ||
| by frequency | ||
| - For 2-3 files/URLs: You MUST include 3-5 examples per file | ||
| - For 4-5 files/URLs: You MUST include 2-3 essential examples per file | ||
| - For 6+ files: You MUST create summaries for the first 5 with 2-3 examples each, then list | ||
| remaining files | ||
| - For inline chat context: Limit to 3-5 most essential examples | ||
| - **Placeholders**: You MUST use `{{placeholder}}` syntax for all user-provided values | ||
| (e.g., `{{filename}}`, `{{url}}`, `{{parameter}}`) | ||
|
|
||
| ## Success Criteria | ||
|
|
||
| Your output is complete when: | ||
|
|
||
| - ✓ All required sections are present (title, description, more information, examples) | ||
| - ✓ Markdown formatting is valid with proper code blocks | ||
| - ✓ Examples use correct invocation syntax for file type (/ for prompts, @ for agents) | ||
| - ✓ Examples use `{{placeholder}}` syntax consistently for user-provided values | ||
| - ✓ Output is rendered directly in chat, not as a file creation | ||
| - ✓ Content accurately reflects the source file's/documentation's purpose and usage | ||
| - ✓ Response verbosity is appropriate for chat context (inline chat vs chat view) | ||
| - ✓ MCP server content includes setup and tool usage examples when applicable | ||
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.