Projects
Overview
Manage project pages for the portfolio website. Projects are MDX files in src/content/projects/ that are automatically discovered and displayed on the /projects page.
Workflow
Step 1: List Existing Projects
Run the script to get a compact summary of all projects:
python3 .claude/skills/projects/scripts/read_projects.py list
This outputs a token-efficient summary. Other commands:
python3 .claude/skills/projects/scripts/read_projects.py json # Full JSON data python3 .claude/skills/projects/scripts/read_projects.py detail <slug> # Single project details python3 .claude/skills/projects/scripts/read_projects.py slugs # Just slug names
Step 2: Present Options
Use the AskUserQuestion tool to ask the user what they want to do with selectable options:
- •Add - Create a new project
- •Edit - Modify an existing project
- •Delete - Remove a project
Add Project
- •
Gather project information:
- •Title, description, tags, featured status, content
- •
Generate slug from title:
- •Lowercase, replace spaces with hyphens, remove special characters
- •
Create MDX file at
src/content/projects/{slug}.mdx:- •YAML frontmatter (see
references/frontmatter-schema.md) - •Content body with h2/h3 headings for TOC
- •YAML frontmatter (see
Edit Project
- •
Ask which project to edit (by number or slug from script output)
- •
Read the existing MDX file
- •
Ask what to modify:
- •Frontmatter fields (title, description, tags, etc.)
- •Content body
- •
Apply changes and save the file
- •
Optionally update the slug (rename file) if title changed significantly
Delete Project
- •
Ask which project to delete (by number or slug)
- •
Confirm deletion with the user
- •
Remove the MDX file from
src/content/projects/
Content Guidelines
- •Use
## Heading(h2) and### Subheading(h3) for table of contents - •Include code examples with syntax highlighting
- •Keep content focused and well-organized
Resources
scripts/
- •
read_projects.py- Parses MDX files and outputs compact summary
references/
- •
frontmatter-schema.md- Complete frontmatter schema with required/optional fields