feat(list): add --outdated flag - #42
Conversation
Adds `skilld list --outdated` (alias `-o`) which compares installed skill versions against local package.json deps and shows only skills with a newer version available. Works with `--json` for CI pipelines.
📝 WalkthroughWalkthroughExtended list command with outdated skills detection feature. Made command asynchronous, added Changes
Sequence DiagramsequenceDiagram
actor User as CLI User
participant CLI as List Command
participant Agent as Project State
participant Fmt as Formatters
participant Out as Output
User->>CLI: listCommand(opts: {outdated: true})
alt Normal Mode
CLI->>Out: Display all skills table
else Outdated Mode
CLI->>Agent: getProjectState()
Agent-->>CLI: {outdated: [...]}
CLI->>Fmt: formatSource() + timeAgo()
Fmt-->>CLI: Formatted entries
alt Has Outdated Skills
CLI->>Out: Display version → latest table (or JSON)
else No Outdated Skills
CLI->>Out: Print "All skills are up to date"
end
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment Tip Migrating from UI to YAML configuration.Use the |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/unit/list.test.ts (1)
1-1: Consider using vitest globals for consistency.The coding guidelines specify using vitest with
globals: true, which would allow usingdescribe,it,expect, andviwithout explicit imports. This is optional since the current approach works correctly.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@test/unit/list.test.ts` at line 1, The test file currently imports vitest symbols explicitly; update it to use vitest globals by removing the import line (so tests use describe, it, expect, vi directly) and enable globals: true in your Vitest config (vitest config option) to keep consistency with the project's testing guidelines; target the import statement that brings in "describe, expect, it, vi" in list.test.ts and remove it after toggling globals.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@test/unit/list.test.ts`:
- Line 1: The test file currently imports vitest symbols explicitly; update it
to use vitest globals by removing the import line (so tests use describe, it,
expect, vi directly) and enable globals: true in your Vitest config (vitest
config option) to keep consistency with the project's testing guidelines; target
the import statement that brings in "describe, expect, it, vi" in list.test.ts
and remove it after toggling globals.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 04faf335-b476-4953-ab83-bb4884c6c9d6
📒 Files selected for processing (2)
src/commands/list.tstest/unit/list.test.ts
skilld listshows all installed skills but there's no quick way to check which ones fell behind your package.json versions without opening the interactive TUI. Useful for CI checks and scripting.Adds
--outdated(-o) flag that compares installed skill versions against local deps and prints only the stale ones with a version arrow:Works with
--jsonso you can pipe it into CI gates or monitoring.Summary by CodeRabbit
Release Notes
New Features
--outdatedflag (-o) to list command, displaying skills with available updates and comparing current vs. latest versions.Tests