PluginBench
Skill
Official
Pass
Audit score 90

update-markdown-file-index

github/awesome-copilot

Auto-generate and maintain file indexes in markdown documents from folder contents.

What is update-markdown-file-index?

This skill scans a specified folder, discovers files matching optional patterns, and updates or creates a markdown index/table in your document. Use it to keep documentation synchronized with your project's file structure.

  • Scans target markdown files and discovers files in specified folders
  • Generates file indexes in multiple formats: simple lists, detailed tables, or categorized sections
  • Extracts file metadata including name, type, description, size, and modification date
  • Identifies and updates existing index sections or creates new ones while preserving document structure
  • Uses relative paths for all file links and maintains alphabetical sorting
  • Validates markdown syntax and handles special characters in filenames

How to install update-markdown-file-index

npx skills add https://github.com/github/awesome-copilot --skill update-markdown-file-index
Claude Code
Cursor
Windsurf
Cline

How to use update-markdown-file-index

  1. 1.Specify the markdown file to update using ${file}
  2. 2.Provide the folder path to index using ${input:folder}
  3. 3.Optionally specify a file pattern filter using ${input:pattern}
  4. 4.The skill will scan the folder and identify files matching your criteria
  5. 5.Review the generated index format (list, table, or categorized sections)
  6. 6.The skill updates existing index sections or creates new ones while preserving your document structure

Use cases

Good for
  • Maintain a README.md file with an auto-updated table of contents for project files
  • Create API documentation indexes that list all endpoint files in a folder
  • Generate file catalogs for template or asset directories in design systems
  • Keep project structure documentation synchronized as files are added or removed
  • Build navigation tables for multi-file tutorials or course materials
Who it's for
  • Documentation maintainers managing large project structures
  • Technical writers creating file catalogs and navigation guides
  • Project leads keeping README files synchronized with repository changes
  • Content creators organizing template or asset directories

update-markdown-file-index FAQ

What if no existing index section is found?

The skill creates a new section using the best-fit format (simple list, table, or categorized) based on file types and document context.

How are file descriptions extracted?

Descriptions are extracted from first-line comments, markdown headers, or inferred from file purpose. If unavailable, the file type is used.

Can I customize the index format?

Yes—the skill supports three formats: simple lists, detailed tables with metadata, and categorized sections grouped by file type.

Does it handle nested folders?

The skill lists files from the specified folder; use patterns to filter results. Nested folder structures can be represented in categorized sections.

Will my existing markdown formatting be preserved?

Yes, the skill preserves heading levels, document flow, and existing formatting while updating only the index section.

Full instructions (SKILL.md)

Source of truth, from github/awesome-copilot.


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

## Files in ${folder}

- [filename.ext](path/to/filename.ext) - Description
- [filename2.ext](path/to/filename2.ext) - Description

Option 2: Detailed Table

| 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