Ask HN: How do you manage skills files?
Discussion Summary: Strategies for Managing Skills Files
The community was recently asked a fundamental question on Hacker News: How do you actually manage your "skills files"? The conversation revolved around the tension between structured data (for automation) and narrative evidence (for human recruiters).
The Core Dilemma
Many developers struggle with how to catalog their technical competencies. The debate generally splits into three philosophical camps:
- The Minimalists: Those who believe a simple list is sufficient.
- The Architects: Those who want a structured, queryable database of their knowledge.
- The Pragmatists: Those who argue that skills are meaningless without linked projects.
Proposed Methodologies
1. The Structured Data Approach
Some users suggested treating skills as a dataset. By using JSON or YAML, you can programmatically generate resumes or portfolio sites.
Example skills.yaml implementation:
languages:
- name: Rust
level: 4
years: 2
tags: [systems, async, memory-safety]
- name: TypeScript
level: 5
years: 6
tags: [frontend, nodejs, types]
"If you can't query your own skill set, you're just maintaining a text file. Turn it into a schema." — Anonymous HN User
2. The Narrative/Markdown Approach
Others prefer the flexibility of Markdown. This allows for nuance, such as explaining how a skill was acquired.
- Pros: Easy to version control via Git.
- Cons: Harder to parse for automated tools.
- Nuance: Use
bullet pointsnested lists to show hierarchy.
3. The Evidence-Based Model
The most praised approach was linking skills directly to a "Proof of Work." Instead of claiming "Expert in Python," the user maintains a mapping:
To quantify this, one user proposed a theoretical Proficiency Score ():
Comparison of Management Tools
| Method | Tooling | Flexibility | Searchability | Maintenance Effort |
|---|---|---|---|---|
| Flat File | .txt, .md | High | Low | Low |
| Structured | JSON, YAML | Low | High | Medium |
| Database | Notion, Airtable | Medium | High | High |
| Graph | Obsidian | Very High | Medium | Medium |
The Workflow Logic
The following diagram illustrates the ideal pipeline for updating and deploying skill data:
Implementation Checklist
If you are starting your own skills file today, consider these steps:
- Define your "Level" scale (e.g., 1-5 or Beginner Expert).
- Choose a format (e.g.,
markdownfor humans,jsonfor machines). - Create a directory for "Evidence" (links to PRs, blog posts, or repos).
- Set a quarterly reminder to prune
obsoleteoutdated technologies.
Visualizing the Skill Tree
While a list is standard, some suggest a visual map to see "skill clusters" (e.g., how React connects to TypeScript and CSS).

Final Thoughts
The consensus is that while the format (YAML vs. Markdown) matters less, the connection to evidence is critical. A skill file should not be a list of keywords for an ATS (Applicant Tracking System), but a personal knowledge base that tracks professional growth over time.