Updates a section of a Markdown file with an index or table of the files in a given folder. Use when a README or docs page should list the files in a directory and stay current.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe β weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Update Markdown File Index?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mouadja02-update-markdown-file-index)
---
name: update-markdown-file-index
description: >-
Updates a section of a Markdown file with an index or table of the files in a given folder. Use when
a README or docs page should list the files in a directory and stay current.
license: MIT
source: "https://github.com/github/awesome-copilot"
attribution: "github/awesome-copilot by GitHub Community"
---
> **Attribution:** Sourced from [github/awesome-copilot](https://github.com/github/awesome-copilot) by [GitHub Community](https://github.com/github), licensed MIT. Modified for this collection.
# 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
| 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