mcpField
S
skill-awareness

skill-awareness

github.com/yanko-belovAgent workflows1335 installsUpdated 40w ago
Repository

About skill-awareness

skill-awareness is an Agent skill for recording code-craft skill usage across Claude Code and OpenCode sessions. It pairs a skill-detection matrix with a JSONL practice log and commands for reviewing usage.

Key features

  1. 01Skill-use detection matrix
  2. 02Persistent JSONL usage log
  3. 03Usage analytics with jq
  4. 04Pre-completion logging checklist

Use cases

  1. 01Record skills used during coding
  2. 02Review underused or unused skills
  3. 03Compare skill use across projects

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/yanko-belov/code-craft --skill skill-awareness

After installing, type/skill-awarenessin Claude Code to confirm it loaded.

Details

From the project README

Skill Awareness

Overview

Track every skill application to build a practice record.

When you apply any code-craft skill, log it. This creates a persistent record across Claude Code and OpenCode sessions for analytics, identifying underused skills, and measuring improvement.

The Iron Rule

ALWAYS log when applying a code-craft skill. No silent applications.

Usage Log

Append one JSON line to ~/.claude/skills/skill-usage.jsonl:

{"ts":"2026-01-22T10:30:00Z","skill":"single-responsibility","agent":"opencode","project":"/path/to/project","ctx":"Split UserManager into UserAuth and UserProfile"}
FieldValue
tsISO 8601 timestamp
skillSkill name (kebab-case)
agentclaude-code or opencode
projectWorking directory path
ctxBrief description of application (< 100 chars)

Skill Detection Matrix

If you're doing...Check these skills
Creating/modifying classessingle-responsibility, open-closed, composition-over-inheritance, encapsulation
Inheritance hierarchyliskov-substitution, composition-over-inheritance
Adding dependenciesdependency-inversion, interface-segregation
Error handlingfail-fast, exception-hierarchies, error-boundaries
Writing API endpointsrest-conventions, error-responses, api-versioning, idempotency, input-validation
Database queriesn-plus-one-prevention, caching, lazy-loading
Writing teststdd, test-isolation, aaa-pattern
Handling secrets/authsecrets-handling, auth-patterns, input-validation
Concurrent operationsrace-conditions, deadlock-prevention, idempotency
Copy-pasting codedry
Adding "future" featuresyagni, kiss
Complex logickiss, separation-of-concerns, law-of-demeter
Modifying stateimmutability, encapsulation

Logging Protocol

After applying a skill:

echo '{"ts":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'","skill":"SKILL_NAME","agent":"AGENT","project":"PROJECT_PATH","ctx":"BRIEF_CONTEXT"}' >> ~/.claude/skills/skill-usage.jsonl

Analytics Commands

View total usage:

cat ~/.claude/skills/skill-usage.jsonl | jq -s 'group_by(.skill) | map({skill: .[0].skill, count: length}) | sort_by(-.count)'

Recent applications:

tail -20 ~/.claude/skills/skill-usage.jsonl | jq .

Underused skills (applied < 3 times):

cat ~/.claude/skills/skill-usage.jsonl | jq -s 'group_by(.skill) | map({skill: .[0].skill, count: length}) | map(select(.count < 3))'

Never-used skills:

# Compare logged skills against all 31
comm -23 <(ls ~/.claude/skills/ | grep -v '\.' | sort) <(cat ~/.claude/skills/skill-usage.jsonl | jq -r '.skill' | sort -u)

Usage by project:

cat ~/.claude/skills/skill-usage.jsonl | jq -s 'group_by(.project) | map({project: .[0].project, skills: (group_by(.skill) | map({skill: .[0].skill, count: length}))})'

Available Skills Reference

SOLID (5)

single-responsibility, open-closed, liskov-substitution, interface-segregation, dependency-inversion

Core (6)

dry, yagni, kiss, composition-over-inheritance, law-of-demeter, fail-fast

Testing (3)

tdd, test-isolation, aaa-pattern

Security (3)

input-validation, secrets-handling, auth-patterns

API Design (4)

rest-conventions, error-responses, idempotency, api-versioning

Performance (3)

n-plus-one-prevention, lazy-loading, caching

Code Quality (3)

separation-of-concerns, encapsulation, immutability

Error Handling (2)

exception-hierarchies, error-boundaries

Concurrency (2)

race-conditions, deadlock-prevention

Pre-Completion Checklist

Before finishing any coding task, ask:

  1. Which skills from the detection matrix applied?
  2. Did I follow them?
  3. Did I log each application?
  4. Any violations I should flag to the user?

The Bottom Line

Every skill application gets logged. No exceptions.

This builds a record of practice, reveals blind spots, and enables continuous improvement. When in doubt about whether a skill applies—log it and note the uncertainty.

Comments

Markdown supported