Portfolio Project Creation
Creates portfolio entries at content/portfolio/project-slug/index.md with professional, achievement-focused messaging.
When to Use
Activate when users ask to:
- •Add a new project to their portfolio
- •Showcase professional work or accomplishments
- •Document a completed project with technical details
- •Create a case study for client work
Required Information
Gather before generating content:
| Field | Format | Example |
|---|---|---|
| title | String | "E-commerce Platform Redesign" |
| client | String | "Acme Corporation" |
| description | String (SEO) | "Full-stack redesign increasing conversions 40%" |
| technologies | Array | ["React", "Node.js", "PostgreSQL"] |
| completion_date | YYYY-MM | "2024-11" |
| category | See categories | "Web Development" |
Optional Information
| Field | Format | Notes |
|---|---|---|
| github_url | URL | Must be valid GitHub URL |
| live_url | URL | Must be valid HTTP/HTTPS URL |
| challenges | Array | Problems faced during project |
| solutions | Array | How challenges were addressed |
| outcomes | Array | Results and achievements |
| metrics | Array | Quantifiable impact data |
Categories
Use one of these standard categories:
- •Web Development
- •Mobile Development
- •Backend Development
- •DevOps
- •Data Engineering
- •Software Development
Writing Style
Action Verbs (Required)
Start achievement statements with strong verbs:
| Primary | Secondary |
|---|---|
| Led | Architected |
| Developed | Designed |
| Implemented | Built |
| Achieved | Optimized |
| Delivered | Scaled |
Quantify Impact
Transform vague statements into measurable achievements:
| Avoid | Use Instead |
|---|---|
| "Improved performance" | "Reduced load time by 40%" |
| "Many users" | "Served 10,000+ users" |
| "High volume" | "Processed 1M+ transactions daily" |
| "Faster delivery" | "Reduced deployment time from 2 hours to 15 minutes" |
Tone Guidelines
Do:
- •Highlight impact and technical depth
- •Use metrics and quantifiable results
- •Showcase problem-solving skills
- •Demonstrate value delivered to clients
- •Write with professional confidence
Avoid:
- •Being overly modest or downplaying achievements
- •Vague statements without specifics
- •Listing responsibilities without outcomes
- •Excessive technical jargon for non-technical audiences
Generation Process
Step 1: Gather Requirements
Ask for all required fields. For optional fields, prompt:
- •"Were there specific challenges you overcame?"
- •"What measurable outcomes did you achieve?"
- •"Do you have a GitHub repository or live demo?"
Step 2: Create Hugo Bundle
Generate content/portfolio/{slug}/index.md:
yaml
---
title: "{title}"
date: {YYYY-MM-DD} # Today's date
draft: true # Always start as draft
description: "{description}"
client: "{client}"
technologies:
- Technology1
- Technology2
completion_date: "{YYYY-MM}"
category: "{category}"
github_url: "{optional}"
live_url: "{optional}"
---
Step 3: Generate Content Sections
Structure the markdown body:
- •Opening paragraph - Achievement-focused overview using action verbs
- •Project Overview - Context and scope
- •Challenges (if provided) - Problems addressed
- •Technical Solution (if provided) - How challenges were solved
- •Technical Implementation - Technologies and architecture
- •Outcomes - Results with metrics
- •Technologies - Bulleted list of tech stack
Step 4: Validate
Run validation:
bash
node scripts/validate-portfolio-frontmatter.js
Validation checks:
- •All required frontmatter fields present
- •Date format: YYYY-MM-DD
- •Completion date format: YYYY-MM
- •Technologies is an array
- •Category is a string
- •URLs are valid format (if provided)
- •No use of deprecated
demo_url(uselive_urlinstead)
Step 5: Review
Never auto-publish. Always:
- •Present the complete draft to the user
- •Get explicit approval before changing
draft: false - •Offer to make revisions based on feedback
Example Output
markdown
--- title: "Analytics Dashboard Platform" date: 2024-12-26 draft: true description: "Real-time analytics platform processing 1M+ events daily with sub-second query performance" client: "DataTech Solutions" technologies: - React - TypeScript - PostgreSQL - Redis completion_date: "2024-11" category: "Web Development" github_url: "https://github.com/example/analytics-dashboard" live_url: "https://demo.example.com" --- **Led** the development and delivery of a high-performance analytics dashboard for DataTech Solutions, achieving sub-second query response times while processing over 1 million events daily. ## Project Overview Delivered a comprehensive real-time analytics platform enabling stakeholders to visualize key business metrics through interactive dashboards with customizable widgets. ## Challenges - **Challenge 1:** Legacy system processed queries in 15+ seconds - implemented comprehensive analysis and strategic planning. - **Challenge 2:** Data pipeline bottlenecks during peak hours - developed scalable ingestion architecture. ## Technical Solution - **Implemented** Redis caching layer reducing database load by 70% - **Architected** event-driven pipeline handling 10x traffic spikes - **Designed** materialized views for complex aggregations ## Technical Implementation This project leverages modern technologies and architectural patterns: - **React** - Component-based dashboard UI - **TypeScript** - Type-safe frontend development - **PostgreSQL** - Time-series data storage - **Redis** - Real-time caching layer ## Outcomes - **Achieved** sub-second query performance (down from 15+ seconds) - **Delivered** 99.9% uptime over 6 months of production use - **Implemented** self-service dashboard creation reducing support tickets by 60% ### Key Metrics - **Query Performance:** 15s to 200ms - 98% improvement - **Daily Events:** 1M+ processed with zero data loss - **User Adoption:** 500+ active users within first month ## Technologies - **React** - **TypeScript** - **PostgreSQL** - **Redis**
Voice Learning
Record user feedback to improve future content generation:
bash
# Update style documentation # Location: .cody/project/library/style-docs/portfolio-style.json # Fields to update based on feedback: # - vocabulary: Add effective action verbs # - dos: Add successful patterns # - donts: Add patterns to avoid
File Locations
| Purpose | Path |
|---|---|
| Portfolio content | content/portfolio/ |
| Validation script | scripts/validate-portfolio-frontmatter.js |
| Style documentation | .cody/project/library/style-docs/portfolio-style.json |
| Portfolio Agent | src/agents/portfolio/portfolio-agent.ts |
| Agent config | src/agents/config/agent-config.ts |
Common Validation Errors
| Error | Resolution |
|---|---|
| Missing required field | Add the field to frontmatter |
| Invalid date format | Use YYYY-MM-DD for date |
| Invalid completion_date | Use YYYY-MM format |
| technologies not array | Convert to YAML array format |
| Use demo_url | Replace with live_url |