Skip to content

[FEATURE]: Add skill usage tracking to CLI #22225

@zokan121522

Description

@zokan121522

[FEATURE]: Add skill usage tracking to CLI

Summary

Track which skills are used in each session. Every time a skill is invoked, increment its counter in a local JSON file (~/.config/opencode/skills/usage.json).

Why This Helps

As a developer, I want to know:

  • Which skills do I actually use?
  • Which skills am I ignoring?
  • Am I over-relying on one skill?

Right now the CLI has no visibility into this. The only way to know is manual tracking or guesswork.

What It Does

The implementation writes a simple JSON file:

{
  "go-testing": 12,
  "issue-maker": 5,
  "pr-creator": 3
}

Every time you invoke a skill, the counter goes up by 1. That's it.

Why Not Database?

JSON file is:

  • Zero setup - No migration needed
  • Portable - Read it from any tool
  • Silent failures - If it breaks, the CLI keeps working
  • Privacy - Stays local, no telemetry sent anywhere

My OpenCode Manager App

I built a personal JavaFX desktop app for managing OpenCode skills:

https://github.com/zokan121522/OpenCodeManager-app

Features:

  • Browse and edit skills with markdown preview
  • Browse Engram memories (persistent memory for AI agents)
  • Usage dashboard - see which skills you use most
  • Modern dark UI with gold accents

Right now the CLI change makes the usage file, and my app can read it. Eventually the app could show graphs, trends, etc.

Engram

The issue mentions Engram (persistent memory system by Gentleman Programming). This is a different feature - Engram is about memory across sessions, usage tracking is about skill frequency. Both can coexist!

Try Engram: https://github.com/Gentleman-Programming/engram

Related

There's existing issue #14201 (Show skills used during a session) which is similar. Happy to close this and work on that one instead, or collaborate!


Happy to discuss or rewrite further!

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions