Skip to main content

Gamified active learning system for agentic coding sessions

Project description

skill-issue demo

skill-issue

PyPI License Stars Claude Code Cursor Tests

Your AI writes the code. But does your brain keep up?


AI coding tools let you ship code you don't understand. Not because you're lazy—there's just no friction. The code looks right, you move on, and slowly you stop reasoning from first principles.

skill-issue tracks what you actually know. When your agent builds something non-trivial, it fires a challenge grounded in what just happened. You answer, it scores you 0-3, and your knowledge graph updates. Next time, it targets concepts you're weak on.


Install

Claude Code

Two separate commands (don't combine them):

/plugin marketplace add SnehalRaj/skill-issue-marketplace
/plugin install skill-issue@skill-issue-marketplace

Open a new session.

pip (Cursor, Codex, any agent)

pip install skill-issue-cc
skill-issue init

Paste the output of skill-issue init --print into your editor's system prompt.


Knowledge Graph

skill-issue graph show --domain machine-learning

Knowledge Graph: machine-learning
============================================================

[GOOD]     gradient-descent       [####..........................] 0.42  (2)
[WEAK]     bias-variance-tradeoff [##............................] 0.09  (1)
[GOOD]     backpropagation        [#############.................] 0.45  (2)
[WEAK]     regularization         [..............................] 0.00
[WEAK]     cross-validation       [..............................] 0.00
[WEAK]     loss-functions         [######........................] 0.21  (1)
[WEAK]     attention-mechanism    [..............................] 0.00

Priority Queue (work on these next):
  >> regularization      (priority: 0.95 = weight:0.95 x gap:1.00)
  >> cross-validation    (priority: 0.95 = weight:0.95 x gap:1.00)
  >> attention-mechanism (priority: 0.95 = weight:0.95 x gap:1.00)

Total nodes: 12 | Avg mastery: 0.10 | 0 mastered | 10 weak

Each domain has a curated graph of concepts weighted by how often they come up in real work.

  • reuse_weight (0–1): How fundamental. 0.95 means it's everywhere.
  • mastery (0–1): Your proven understanding. Updates via EMA after each challenge.
  • priority = weight × (1 - mastery). High-weight stuff you haven't proven = top priority.

Mastery fades if you don't practice (3-day grace, then 0.02/day). Use it or lose it.


Onboarding

skill-issue init

3 questions to personalise your knowledge graph.

1. What do you mainly build or work on?
   > I train ML models and do some backend API work

2. What languages or tools do you use most?
   > Python, PyTorch, FastAPI, PostgreSQL

3. One concept you know you are shaky on? (optional)
   > always forget when cross-validation goes wrong

Knowledge graphs initialised for: machine-learning, backend-systems, algorithms

Three questions, plain English. It figures out which domains to load.


Challenge Types

Type What it tests
📝 Pen & Paper Can you compute this by hand?
🗣️ Explain Back Can you explain why this works?
🔮 Predict What does this function return?
🐛 Spot the Bug Here's a broken version — find it
⏱️ Complexity What's the Big-O? Can it be better?
🔗 Connect How does this relate to X?

Challenges are grounded in what was just built. No random trivia.


Commands

Command What it does
skill-issue init Onboarding + profile setup
skill-issue stats XP, level, streak, topic breakdown
skill-issue graph show --domain <d> ASCII viz
skill-issue graph weak --domain <d> Top priority nodes
skill-issue graph web --domain <d> D3 force graph in browser
skill-issue graph domains List available domains
skill-issue graph update --node <n> --score <0-3> --domain <d> Update mastery
skill-issue report Regenerate trophy wall
skill-issue export --format json Export history

Voice commands (say to your agent):

Say Does
my stats / trophy wall Show profile
show graph / show brain Visualize knowledge
challenge me Force a challenge
harder / easier Shift difficulty ±1
focus mode Pause challenges
hint / skip Hint (0.75× XP) / skip

Domains

Domain Nodes Covers
machine-learning 12 Gradient descent, backprop, transformers, bias-variance
computer-science 12 Complexity, DP, trees/graphs, concurrency, OS
algorithms 8 Sorting, binary search, DP, graph traversal
quantum-ml 14 Variational circuits, parameter shift, barren plateaus
web-frontend 10 Event loop, closures, promises, DOM, CSS
backend-systems 10 Indexing, ACID, caching, distributed systems
devops 8 Containers, Kubernetes, CI/CD, IaC, GitOps
design-systems 8 Visual hierarchy, design tokens, typography, WCAG
mobile 8 App lifecycle, state, navigation, offline-first

Add your own in references/knowledge_graphs/.


Progression

XP = base × difficulty × streak_multiplier
Score Meaning Base XP
0 Wrong / Skipped 0
1 Partial 5
2 Correct 12
3 Exceptional 20

Difficulty multipliers: Apprentice 1× → Practitioner 1.5× → Expert 2× → Master 3×

Streak bonus tops out at 2.5× for consecutive correct answers.


Persistent State

Everything's in ~/.skill-issue/. Plain JSON/YAML, no database.

~/.skill-issue/
├── profile.json           # XP, streak, topic levels, milestones
├── config.yaml            # frequency, domains, difficulty bias
├── knowledge_state.json   # per-node mastery for all domains
├── leaderboard.md         # your trophy wall
└── sessions/              # per-session challenge logs
    └── 2026-02-27.json

Version-controllable. Portable. Human-readable.


Philosophy

The name's a joke. Claude has skills (literally, .skill files). What about yours?

Understanding compounds. A developer who actually gets the code they ship is more effective long-term. One well-timed challenge beats a passive tutorial. Your trophy wall tracks your growth—no leaderboard against others.


Contributing

Knowledge graphs are JSON in references/knowledge_graphs/. Scripts are plain Python, zero dependencies.

See CONTRIBUTING.md or open an issue.

MIT License


Works with Claude Code · Cursor · Codex · OpenCode · any agent that reads a system prompt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skill_issue_cc-1.3.0.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skill_issue_cc-1.3.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file skill_issue_cc-1.3.0.tar.gz.

File metadata

  • Download URL: skill_issue_cc-1.3.0.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for skill_issue_cc-1.3.0.tar.gz
Algorithm Hash digest
SHA256 565b193d367e999d8e24e91945b014311976841cd5c0990813b3f35a4ef37835
MD5 715e393514db827d404d2dff2c61ecf0
BLAKE2b-256 91c312e7a22c291a21010af75b52772f5189cfcdbe42b1f51ca8bfc759c032b2

See more details on using hashes here.

File details

Details for the file skill_issue_cc-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: skill_issue_cc-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for skill_issue_cc-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a4747b61d2fc3b9caf06d66947efa0d8b6785a1ad39cbd9b809c60a369d056c
MD5 fa1d5d90089431e4dc113bad5e8534c3
BLAKE2b-256 1175e0b52e21ca14f7f07dd3f21f65fbf839c9f90ca33c6a8c0b06d73f81d61c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page