Overview
The skills API provides read-only access to extracted skills from analyzed projects, including chronological skill progression and project counts.List All Skills
Get all skills with optional filtering and project counts.GET /skills
Filter skills by category (e.g., “Programming Languages”, “Frameworks”)
Include count of projects using each skill
Unique skill identifier
Skill name (e.g., “Python”, “React”)
Skill category (e.g., “Programming Languages”, “Frameworks”)
Number of projects using this skill (only included if
include_project_count=true)Skill Categories
Common skill categories include:- Programming Languages - Python, JavaScript, Java, etc.
- Frameworks - React, FastAPI, Django, etc.
- Tools - Git, Docker, Kubernetes, etc.
- Databases - PostgreSQL, MongoDB, Redis, etc.
- Cloud Platforms - AWS, GCP, Azure, etc.
Skills are automatically extracted during repository analysis. The categorization is determined by the deep analysis engine.
Get Skills Chronology
Retrieve skills ordered by when they were first demonstrated in projects.GET /skills/chronology
Date when the skill was first demonstrated (from project’s first commit)
Name of the skill
Project where the skill was first demonstrated
Proficiency level (0.0-1.0 scale)
Skill category (e.g., “Programming Languages”)
Understanding Chronology
The chronology endpoint shows your skill progression over time:- Skills are sorted by the
datefield (oldest first) - The
datecorresponds to the project’s first commit - This helps visualize when you started using different technologies
- Useful for creating timeline-based resumes and portfolios
If a skill appears in multiple projects, only the earliest occurrence is shown in the chronology.
Proficiency Levels
Proficiency is calculated based on:- Frequency of use - How often the skill appears in commits
- Code complexity - Sophistication of usage patterns
- Project scope - Size and complexity of projects using the skill
Proficiency Scale
- 0.0 - 0.3: Beginner (basic usage)
- 0.3 - 0.6: Intermediate (regular usage)
- 0.6 - 0.8: Advanced (complex usage)
- 0.8 - 1.0: Expert (mastery demonstrated)
Example: Building a Skills Timeline
Example: Filter by Category
Data Source
Skills are extracted from two sources:-
Project-level skills (
ProjectSkilltable)- Extracted from entire repository
- Includes all contributors
-
User-specific skills (
UserProjectSkilltable)- Extracted from user’s contributions only
- Based on commit analysis
Related Endpoints
- GET /projects/ - Get skills for a specific project
- POST /analyze/ - Extract skills from repositories
- POST /portfolio/generate - Include skills in portfolio
Performance Notes
- Skills are indexed by name and category for fast queries
- Project counts use efficient bulk queries to avoid N+1 problems
- Chronology results are sorted in-memory (acceptable for typical dataset sizes)