Declare or infer a programming experience level (0-5) so explanations, examples, and suggestions adapt — verbose with safety nets at level 1, terse with idioms at level 5.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add trungdo9/ClauKit --skill coding-level --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Coding Level?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/trungdo9-coding-level)More formats (shields.io, HTML) on the badges page.
---
name: coding-level
description: Declare or infer a programming experience level (0-5) so explanations, examples, and suggestions adapt — verbose with safety nets at level 1, terse with idioms at level 5.
category: Meta / Adaptive Output
status: active
---
# Coding Level
## Purpose
A single explicit setting that tunes output depth across all other skills. Set it once per session (or per project); other skills read it to decide how much to explain, which idioms are safe, and how much hand-holding to include.
Orthogonal to all other skills — `[[planning]]`, `[[code-review]]`, `[[debugging]]`, `[[problem-solving]]` all read this to scale their output.
## The 6 Levels
| Level | Label | Output style |
|---|---|---|
| **0** | Absolute beginner | Define every term; show full code, not snippets; warn about every footgun; expect copy-paste, not adaptation. |
| **1** | Beginner | Define jargon on first use; full examples; explain *why* before *how*. |
| **2** | Advanced beginner | Skip basics; explain non-obvious choices; show short, complete examples. |
| **3** | Intermediate | Idioms allowed; reference docs by name; explain trade-offs, not syntax. |
| **4** | Advanced | Terse code; assume framework knowledge; lead with the decision, not the rationale. |
| **5** | Expert | Bullet points and code; no preamble; cite by PEP/RFC number; assume edge-case awareness. |
## When to Use
- New session with a contributor whose background you don't know
- Pairing across a skill gap (senior + junior on same task)
- Onboarding docs — write the same content at level 1 and level 4
- Self-review: am I over-explaining? am I being cryptic?
Activation phrases: *"set coding level to..."*, *"explain at junior level"*, *"terse, expert-mode answers"*, *"adjust depth for..."*
## How Other Skills Adapt
Each skill should check `coding-level` (default: 3) and adjust:
- `[[debugging]]` — at level 1, walk through hypotheses one at a time; at level 5, list root-cause candidates as a bullet list.
- `[[code-review]]` — at level 1, suggest fixes with examples; at level 5, name the principle violated (`SRP`, `LSP`) and move on.
- `[[planning]]` — at level 1, every step has a verification check; at level 5, plan is a checklist of headers.
## Assessment Heuristics (when level isn't declared)
If the user hasn't set a level, infer from signals:
- **Vocabulary**: "function vs method vs procedure" distinctions used → ≥3.
- **Questions**: "how do I..." → likely 1–2. "trade-offs between..." → likely 3–4. "what's the canonical idiom for..." → likely 4–5.
- **Code style**: variable names, error handling, abstraction level — all signal experience.
- **Tooling references**: mentions of `valgrind`, `strace`, `perf`, type-narrowing → ≥4.
When uncertain, ask once: "What level — 1–5 — should I aim for?"
## Anti-Patterns
- **One-size-fits-all level**: forcing every skill to level 3. Some content (math, distributed systems) needs higher floors regardless.
- **Mid-conversation level shifts without acknowledgment**: confuses readers. Announce changes: "Switching to terser style per your preference."
- **Patronizing at low levels**: simplifying ≠ infantilizing. Beginners deserve real explanations, not just dumbed-down ones.
- **Ignoring domain skill asymmetry**: same developer is level 5 in API design, level 2 in ML ops. A global level erases that. Allow domain-scoped overrides.
## Output Examples (same task, different levels)
Task: *"How do I fetch JSON from this URL?"*
- **Level 1**: "Use the `fetch` function. Here is a full example with try/catch and an explanation of what `await` does..."
- **Level 3**: "`const r = await fetch(url); const data = await r.json();` — wrap in try/catch; check `r.ok` before parsing."
- **Level 5**: "`fetch(url).then(r=>r.json())` — assumes 2xx; for production add `if (!r.ok) throw new Error(r.status)`."
The information is the same; the framing, scaffolding, and pace differ by level.
## References
See `references/`:
- `stackoverflow-developer-skill-levels.md` — 5-level measurement framework
- `bloom-taxonomy-for-coding.md` — cognitive complexity model
- `cefr-language-model-applied.md` — adaptive proficiency analog
## Cross-links
`[[planning]]`, `[[code-review]]`, `[[debugging]]`, `[[problem-solving]]`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!