Cherry.CV.Skill (cherry v0.6.0)

Copy Markdown View Source

A derived skill: a tag aggregated across CV positions and projects, weighted by duration and recency. The differentiator — each skill links to its story page, where the claim becomes evidence.

Summary

Functions

Derives skills from CV-included positions and projects: per tag, the calendar coverage of every entry carrying it — overlapping spans are merged, never double-counted, so "6 yrs" means six years of the calendar, not six entry-years. Open ranges run to today. Ordered by recency then duration.

Human duration: 6 yrs, 1 yr, or < 1 yr.

Types

t()

@type t() :: %Cherry.CV.Skill{last_used: Date.t(), tag: String.t(), years: float()}

Functions

derive(entries, today)

Derives skills from CV-included positions and projects: per tag, the calendar coverage of every entry carrying it — overlapping spans are merged, never double-counted, so "6 yrs" means six years of the calendar, not six entry-years. Open ranges run to today. Ordered by recency then duration.

format_years(skill)

@spec format_years(t()) :: String.t()

Human duration: 6 yrs, 1 yr, or < 1 yr.