mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-19 23:46:53 +00:00
4214189287
While implementing the Agent Plugin v1 spec in https://github.com/stbenjam/skillsaw/pull/483, I used this repository as a canonical real-world source for tests. Along the way its checks surfaced genuine correctness issues worth fixing regardless of tooling: - Internal links that do not resolve (22): wrong relative paths, links whose targets are runtime output paths rather than bundled files (now inline code), a schemeless external URL parsed as a relative path, and links to files that do not exist (removed). - Bundled skill files never referenced from their SKILL.md (14): each is now cited from the section where it is used, so nothing ships unreachable from the skill's instructions. - Unclosed or mis-nested code fences (11): markdown templates embedding code blocks now use four-backtick outer fences so inner fences nest instead of closing the template early and leaking example content as live markdown; also removed stray orphan fences and closed an unterminated block at end of file. - Invisible unicode (1): removed a zero-width space from a code example, a copy-paste artifact invisible to reviewers.
79 lines
2.6 KiB
Markdown
79 lines
2.6 KiB
Markdown
---
|
||
name: update-markdown-file-index
|
||
description: 'Update a markdown file section with an index/table of files from a specified folder.'
|
||
---
|
||
|
||
# Update Markdown File Index
|
||
|
||
Update markdown file `${file}` with an index/table of files from folder `${input:folder}`.
|
||
|
||
## Process
|
||
|
||
1. **Scan**: Read the target markdown file `${file}` to understand existing structure
|
||
2. **Discover**: List all files in the specified folder `${input:folder}` matching pattern `${input:pattern}`
|
||
3. **Analyze**: Identify if an existing table/index section exists to update, or create new structure
|
||
4. **Structure**: Generate appropriate table/list format based on file types and existing content
|
||
5. **Update**: Replace existing section or add new section with file index
|
||
6. **Validate**: Ensure markdown syntax is valid and formatting is consistent
|
||
|
||
## File Analysis
|
||
|
||
For each discovered file, extract:
|
||
|
||
- **Name**: Filename with or without extension based on context
|
||
- **Type**: File extension and category (e.g., `.md`, `.js`, `.py`)
|
||
- **Description**: First line comment, header, or inferred purpose
|
||
- **Size**: File size for reference (optional)
|
||
- **Modified**: Last modified date (optional)
|
||
|
||
## Table Structure Options
|
||
|
||
Choose format based on file types and existing content:
|
||
|
||
### Option 1: Simple List
|
||
|
||
```markdown
|
||
## Files in ${folder}
|
||
|
||
- [filename.ext](path/to/filename.ext) - Description
|
||
- [filename2.ext](path/to/filename2.ext) - Description
|
||
```
|
||
|
||
### Option 2: Detailed Table
|
||
|
||
```markdown
|
||
| File | Type | Description |
|
||
|------|------|-------------|
|
||
| [filename.ext](path/to/filename.ext) | Extension | Description |
|
||
| [filename2.ext](path/to/filename2.ext) | Extension | Description |
|
||
```
|
||
|
||
### Option 3: Categorized Sections
|
||
|
||
Group files by type/category with separate sections or sub-tables.
|
||
|
||
## Update Strategy
|
||
|
||
- 🔄 **Update existing**: If table/index section exists, replace content while preserving structure
|
||
- ➕ **Add new**: If no existing section, create new section using best-fit format
|
||
- 📋 **Preserve**: Maintain existing markdown formatting, heading levels, and document flow
|
||
- 🔗 **Links**: Use relative paths for file links within the repository
|
||
|
||
## Section Identification
|
||
|
||
Look for existing sections with these patterns:
|
||
|
||
- Headings containing: "index", "files", "contents", "directory", "list"
|
||
- Tables with file-related columns
|
||
- Lists with file links
|
||
- HTML comments marking file index sections
|
||
|
||
## Requirements
|
||
|
||
- Preserve existing markdown structure and formatting
|
||
- Use relative paths for file links
|
||
- Include file descriptions when available
|
||
- Sort files alphabetically by default
|
||
- Handle special characters in filenames
|
||
- Validate all generated markdown syntax
|