A field guide for the digital age

Digital Skills

Every tool you are expert in today has a shelf life. These twenty-four don’t — and not one of them is a piece of software. Before you meet them, one question about the device you are reading this on.

0 / 24 SKILLS EXPLORED
0 of 24 completed
Measure your skills

Where do you actually stand?

A fast, evidence-based self-check across all 24 skills. Tick the behaviours that are genuinely true of you and get a visual profile of your strongest and weakest domains — plus what to build next.

Where this shows up

Four ordinary situations

None of these is a training moment. They are just work — which is exactly where the twenty-four either show up or don’t. Open any skill to read it properly.

Twenty-four skills across six domains. Every tool in those four situations will be a different tool in five years. The person handling them is the part that carries over.

`; const blob = new Blob([html], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'digital-skills-report-' + d.toISOString().slice(0, 10) + '.html'; document.body.appendChild(a); a.click(); document.body.removeChild(a); setTimeout(() => URL.revokeObjectURL(url), 1000); } // ===================================================================== // WHERE THIS SHOWS UP — the transfer grid // ===================================================================== // Four ordinary situations — the same twenty-four skills, wearing work clothes. const TRANSFER = [ { when: 'The vendor demo', body: 'Everything works flawlessly on stage, the number on the slide is enormous, and by the coffee break the room has decided. Nobody has asked what the demo data was, or what happens on the day the API is slow.', skills: ['criticalthinking', 'discernment', 'judgment'] }, { when: 'The ninety-day notice', body: 'The tool three of your processes are built on is being discontinued. The replacement works differently on purpose, and the people who know the old one best are arguing hardest to keep it.', skills: ['adaptability', 'unlearning', 'learning'] }, { when: 'The thing that broke on a Friday', body: 'Not catastrophic, but not nothing, and everyone is already half out the door. Someone has to decide what gets fixed tonight, what waits until Monday, and who is still capable of good work this late in the week.', skills: ['resilience', 'decisiveness', 'energy'] }, { when: 'The confident wrong answer', body: 'The model hands you something fluent, well-structured, correctly formatted and quietly false. It reads better than what you would have written, which is most of the problem.', skills: ['aicommunication', 'criticalthinking', 'ethics'] } ]; const transferGrid = document.getElementById('transfer-grid'); transferGrid.innerHTML = TRANSFER.map(t => { const chips = t.skills.map(id => { const s = SKILLS.find(x => x.id === id); return ``; }).join(''); return `
${t.when}

${t.body}

${chips}
`; }).join(''); transferGrid.querySelectorAll('.tc-skill').forEach(btn => { btn.addEventListener('click', () => { location.hash = hashForSkill(btn.dataset.id); }); }); // Boot. The applyRoute() call is what makes a cold deep link (someone // opening #/deep-focus from a bookmark or a shared URL) render anything at // all — without it the page loads on the home view whatever the URL says. // The markers are load-bearing: tests/digital-skills-course.test.mjs slices // this region out and executes it against fakes. /* BOOT:START */ window.addEventListener('hashchange', applyRoute); refreshMeasureBanner(); applyRoute(); /* BOOT:END */