Skip to content

Dxcdt 1557/install claude skills with auth0 cli#1525

Open
KartikJha wants to merge 3 commits into
DXCDT-1555/tool-detection-modulefrom
DXCDT-1557/install-claude-skills-with-auth0-cli
Open

Dxcdt 1557/install claude skills with auth0 cli#1525
KartikJha wants to merge 3 commits into
DXCDT-1555/tool-detection-modulefrom
DXCDT-1557/install-claude-skills-with-auth0-cli

Conversation

@KartikJha
Copy link
Copy Markdown

🔧 Changes

Introduces a new internal/ai/skills package that provides an agent registry and detection layer for AI coding agents. This
is the foundation for the auth0 ai skills install command, enabling the CLI to discover which agents are present on a user's
machine and resolve the correct skills directory for each.

New types and functions:

  • AgentConfig — describes a single AI coding agent with its ID, display name, global/project skills directories, and
    detection hints (filesystem markers and binary names)
  • AgentConfig.IsInstalled() — returns true if any marker path exists on disk or any binary is found in $PATH
  • SupportedAgents — registry of 20 agents: Claude Code, Cursor, GitHub Copilot, Gemini CLI, Roo Code, Goose, OpenCode,
    Codex, Windsurf, Continue, Amp, Junie, Kiro CLI, Cline, Augment, AiderDesk, Warp, OpenHands, Trae, and a Universal fallback
  • DetectedAgents() — returns the subset of SupportedAgents that are installed, plus the Universal agent; result is cached
    via sync.Once
  • FastPriorityAgents() — returns detected agents sorted by priority order (Claude Code → Cursor → GitHub Copilot → Gemini
    CLI → others → Universal last), used by the --fast install mode

Cleanup:

  • Removed three dead flag variables (qsType, qsAppName, qsPort) from quickstarts.go that were no longer referenced
  • Minor comment capitalisation fixes in quickstart_detect.go and quickstart.go

🔬 Testing

All new behaviour is covered by unit tests in internal/ai/skills/agent_test.go:

  • TestIsInstalled — marker path existence, binary lookup, empty-string skipping, fallback from marker miss to binary hit
  • TestSupportedAgents — non-empty registry, unique IDs, non-empty skill dirs, presence of universal, agents with nil
    detection markers
  • TestDetectedAgents — universal always present, deterministic caching, all results are subsets of SupportedAgents
  • TestFastPriorityAgents — universal last, no duplicates, all detected agents present, priority ordering invariant, length
    equality

Run with:
go test ./internal/ai/skills/...

No external services or credentials are required; IsInstalled checks are exercised using t.TempDir() and t.Setenv("PATH", ...).

@KartikJha KartikJha requested a review from a team as a code owner May 19, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant