skills/ai-fluency-assessment/SKILL.md
Assess your AI fluency using Anthropic's 4D framework (Dakan, Feller & Anthropic, 2025). Scans Claude Code sessions, runs LLM-based behavior classification on all messages, asks a self-assessment questionnaire for 6 unobservable behaviors, and generates a visual HTML report with scores and actionable feedback. Use when "assess fluency", "AI fluency", "fluency report", "fluency assessment", "4D framework", or "how AI fluent am I".
npx skillsauth add catalan-adobe/skills ai-fluency-assessmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Assess a user's AI fluency based on Anthropic's 4D AI Fluency Framework (Dakan, Feller & Anthropic, 2025). The framework has 4 Competencies, 12 Sub-competencies, and 24 Behaviors. The assess.py script classifies 18 behaviors from conversation data using an LLM binary classifier (matching Anthropic's own methodology). The remaining 6 behaviors require a self-assessment questionnaire.
First, ask the user:
~/.claude/projects/ — is that correct, or should I scan a different directory?"Then run assess.py to scan and classify all 18 observable behaviors. The script lives next to this SKILL.md — substitute the actual path when running.
# Default: scan ~/.claude/projects/, classify with Claude Haiku
python3 /path/to/skills/ai-fluency-assessment/scripts/assess.py \
--output-dir .ai-fluency --max-sessions 6000
# Custom sessions directory (e.g., exported sessions, another machine's data)
python3 /path/to/skills/ai-fluency-assessment/scripts/assess.py \
--sessions-dir <PATH> --output-dir .ai-fluency --max-sessions 6000
# Fast/free fallback (regex only, 11 behaviors, less accurate)
python3 /path/to/skills/ai-fluency-assessment/scripts/assess.py \
--output-dir .ai-fluency --max-sessions 6000 --regex-only
Use --max-sessions 6000 to capture all sessions. Many session files are subagent files with no user messages, so even with thousands of files the scan is fast.
LLM classification (default) requires the anthropic SDK and API credentials. The script auto-detects Anthropic Foundry credentials from environment variables (ANTHROPIC_FOUNDRY_API_KEY), or uses ANTHROPIC_API_KEY for direct API access. Cost: ~$2-5 per full assessment with Claude Haiku.
Output files:
.ai-fluency/evidence.json — all extracted user messages with project metadata.ai-fluency/analysis.json — per-behavior match counts, sample messages, top projectsAsk the user the following 6 questions for behaviors that have no observable signal in conversation data. Rate each 1-5 (1=Never, 5=Always).
Present them in conversation — don't run an interactive CLI.
Delegation:
Discernment:
Diligence:
After collecting responses, save them:
python3 -c "
import json
from pathlib import Path
responses = {3: R3, 4: R4, 18: R18, 19: R19, 20: R20, 24: R24}
evidence_path = Path('.ai-fluency/evidence.json')
with open(evidence_path) as f:
evidence = json.load(f)
evidence['questionnaire'] = {str(k): v for k, v in responses.items()}
with open(evidence_path, 'w') as f:
json.dump(evidence, f, indent=2, default=str)
print('Questionnaire saved')
"
Replace R3, R4, etc. with the user's actual integer ratings.
Read .ai-fluency/analysis.json for the 18 LLM-classified behaviors and .ai-fluency/evidence.json for the questionnaire responses. Score each behavior 1-5:
Scoring criteria:
For LLM-classified behaviors (B1-B2, B5-B17, B21-B23): Base scores on LLM match counts, quality of sample messages, consistency across projects, and range/variety within the behavior.
Important: High frequency alone does NOT guarantee a high score. Assess quality and range, not just quantity.
For questionnaire-only behaviors (B3, B4, B18, B19, B20, B24): Use the self-assessment rating directly.
Generate a self-contained HTML report at .ai-fluency/fluency-report.html following the report spec for design system, layout, and formatting specifications.
open .ai-fluency/fluency-report.html
See the framework reference for the full 24-behavior reference table.
tools
Reduce a webpage to a structural skeleton with semantic tokens. Two-phase pipeline: Phase 1 injects a browser script that tokenizes content ({TEXT}, {HEADING:n}, {IMAGE:WxH}, {CTA:label}, {LINK:label}, {INPUT:type}, {VIDEO}, {ICON}). Phase 2 applies LLM structural reasoning to collapse repeated patterns ({REPEAT:N}), remove decorative wrappers, strip utility classes, and produce skeleton.html + manifest.json. Use when migrating pages to EDS, analyzing page structure, extracting page blueprints, or preparing input for GenAI block generation. Triggers on: reduce page, page skeleton, page blueprint, extract structure, tokenize page, page reduction, structural skeleton, reduce URL.
tools
Capture a spatial hierarchy of rendered DOM elements from any webpage. Injects a pre-built script via playwright-cli that walks the DOM, detects layout grids, extracts backgrounds, prunes invisible nodes, promotes elements rendered outside their DOM parent (overlays, fixed navs, modals), and tags overlay nodes with occlusion metadata. Returns three outputs: LLM-friendly indented text, structured JSON tree, and a nodeMap mapping positional IDs to CSS selectors with background and overlay data. Use before page decomposition, overlay detection, brand extraction, or any workflow that needs structured page analysis. Triggers on: visual tree, capture tree, page structure, page hierarchy, DOM tree, capture visual, page analysis, extract tree.
tools
Summarize any video by analyzing both audio and visuals. Downloads via yt-dlp, extracts transcript (YouTube captions or Whisper), pulls scene-detected keyframes, and produces a multimodal summary with clickable timestamped YouTube links. Use this skill whenever the user wants to summarize a YouTube video, digest a talk or tutorial, get notes from a video, extract key points from a recording, or says things like "tl;dw", "summarize this video", "what's in this video", or pastes a YouTube URL and asks for a summary. Also triggers for non-YouTube URLs that yt-dlp supports.
development
Design and build web UIs with Adobe Spectrum 2 design system. Applies S2 layout principles, visual hierarchy, spacing, and component composition to produce accessible interfaces. Outputs vanilla CSS with Spectrum tokens (static pages) or Spectrum Web Components (interactive apps). Recommends tier based on complexity. Covers sp-theme setup, side-effect imports, overlay system, form patterns, --mod-* token customization, and 14 critical gotchas. Use for: spectrum 2 web, SWC, sp-button, sp-theme, build UI with spectrum, S2 layout, spectrum application, adobe design system, web component form, spectrum overlay.