Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkillStrand

SkillStrand banner

Your Markdown files know more about your work than your résumé does. SkillStrand reads a folder of notes, extracts the tools and skills buried inside, then turns them into a living DNA helix you can open in any browser.

The output is one file: skills-dna.html. No server. No frontend build. No tracking pixel quietly judging you.

See it work

git clone https://github.com/Manolis8/skillstrand.git
cd skillstrand
npm install -g .

cd ~/Desktop
skillstrand
skillstrand --preview

That scan stays on your machine and needs no API key. SkillStrand recognizes common languages, frameworks, tools, and competencies, plus custom entries listed under headings such as Skills or Tech Stack.

Want the fuzzy judgment of a model for less structured notes? Add --ai and set either OPENAI_API_KEY or ANTHROPIC_API_KEY. SkillStrand uses Anthropic when both are present.

The old dna-skills command works too. Same tool, less memorable name.

What you get

SkillStrand recursively scans .md files, maps the skills it can identify locally, removes duplicates, and writes the newest skills first. The optional AI mode handles vague prose when the local matcher does not have enough to work with.

Open the generated file and you get a full-screen canvas scene: a rotating double helix made from glowing molecular nodes, blue and pink strands, skill rungs, depth, inertia, and labels that surface as you scroll.

Everything is inline. The HTML has no CDN scripts, web fonts, analytics, or network requests.

Commands

Command What it does
skillstrand Scan Markdown in the current folder and build skills-dna.html
skillstrand --path <folder> Scan Markdown and build a new skills-dna.html
skillstrand --update <folder> Add newly discovered skills at the top without deleting old ones
skillstrand --add "Skill Name" Add one skill immediately, with no API call
skillstrand --preview Open the current visualization in your default browser
skillstrand --ai Scan the current folder using OpenAI or Anthropic

Every command stays local unless you add --ai. You can combine it with a path or update, for example skillstrand --path ~/notes --ai.

The output stays editable

The skill list sits at the top of the generated script:

const SKILLS = ["Python", "React", "Node.js"];

Edit the array, refresh the page, done. Keep the newest skills first if you want the order to match the CLI.

Why this exists

Skill lists usually end up as dead text: a résumé section, a profile form, maybe a spreadsheet nobody opens twice. SkillStrand makes the list feel like a thing you built rather than a form you filled in.

It is intentionally small. The CLI uses Node's built-in modules and the generated page uses vanilla canvas JavaScript. There are no runtime packages to update, audit, or blame.

Optional AI extraction

OpenAI defaults to gpt-4o-mini. Anthropic defaults to claude-3-5-haiku-latest.

The extraction prompt is deliberately strict:

Extract every distinct skill, technology, tool, language, framework, or competency mentioned in the following text. Return ONLY a valid JSON array of short skill name strings, nothing else, no markdown, no explanation.

If the provider returns broken JSON or an empty answer, the CLI stops and tells you. It does not invent a successful result.

Development

npm test
npm run check

The tests cover recursive Markdown scanning, provider selection, response parsing, deduplication, HTML generation, command behavior, updates, and package branding.

Project layout:

bin/dna-skills.js     CLI entry point
src/extractor.js      Markdown collection and AI calls
src/generator.js      Skill ordering and file generation
src/template.js       Self-contained canvas visualizer

License

MIT. Use it, fork it, make the helix weirder.

About

Turn Markdown folders into a living, scroll-reactive 3D DNA map of your skills.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages