Skip to content

Conversation

@ElwinLiu
Copy link

@ElwinLiu ElwinLiu commented Jan 5, 2026

Description

Screencast

Checklist

- chore: update README and media assets for clarity and visual enhancement
- chore: remove unused test-evals.json - follow Raycast evals best practice
- chore: update package.json and README for improved AI Skills extension
- refactor: remove deprecated allowedTools and model fields
- feat: initial commit for AI Skills extension
@raycastbot raycastbot added new extension Label for PRs with new extensions AI Extension platform: macOS labels Jan 5, 2026
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

Due to our current reduced availability, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@ElwinLiu ElwinLiu marked this pull request as ready for review January 5, 2026 15:04
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 5, 2026

Greptile Summary

This PR introduces the AI Skills extension for Raycast, enabling users to create and manage custom AI skills with semantic routing for automatic skill selection. The extension provides a complete suite of features including:

  • Skill Management UI: Beautiful interface to create, edit, enable/disable, and delete skills
  • Semantic Routing: AI-powered intelligent skill selection using configurable fast LLMs
  • Multiple Skills Folders: Support for organizing skills across different folders (personal, project-specific)
  • AI Tools: Comprehensive set of tools for use in AI Chat (@ai-skills commands)
  • Storage: LocalStorage-based persistence with YAML frontmatter skill format

Code Quality: The implementation is well-structured with proper error handling, type safety, and no critical security issues. Storage operations use secure file APIs and proper permission checks. The routing model selection is sophisticated with automatic fallbacks.

Configuration: All settings properly configured including Prettier standards (printWidth: 120), TypeScript strict mode, and proper ESLint configuration. CHANGELOG follows Raycast standards with {PR_MERGE_DATE} placeholder.

Note: The extension uses media/ folder for screenshots instead of metadata/ folder. For view-type commands in the Raycast store, professional Raycast-styled screenshots in a metadata/ folder are recommended.

Confidence Score: 4/5

  • This PR is safe to merge with high confidence. No critical issues detected; only minor suggestion regarding metadata folder structure for store presentation.
  • The extension demonstrates solid engineering practices with proper error handling, type safety, secure file operations, and no logical vulnerabilities. The code is well-organized and the feature set is comprehensive. The score of 4/5 reflects the high quality implementation with only a minor architectural consideration about store presentation assets remaining.
  • Consider adding a metadata/ folder with Raycast-styled screenshots for professional store presentation (not a blocker for functionality)

Important Files Changed

Filename Overview
extensions/ai-skills/package.json Extension manifest with proper configuration, all required fields present, valid commands and tools. Minor: missing metadata folder with Raycast-styled screenshots as required for view-type commands.
extensions/ai-skills/src/storage.ts Storage layer implements proper skill persistence, folder management, YAML parsing, and file operations. All error handling is appropriate and no security issues detected.
extensions/ai-skills/src/manage-skills.tsx Main UI component with comprehensive skill management features including enable/disable, edit, delete, and folder configuration. No critical issues, logic is sound, though folder exists check could be more robust.
extensions/ai-skills/src/models.ts Model selection logic properly filters fast models dynamically from AI.Model enum, handles deprecated models, and provides sensible defaults.
extensions/ai-skills/src/tools/use-skills.ts Semantic routing tool correctly implements skill selection, handles errors gracefully, and provides helpful guidance when no routing model is configured.

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments (1)

  1. extensions/ai-skills/package.json, line 27-28 (link)

    style: This extension has a view-type command (mode: "view" on line 27), so it requires a metadata/ folder containing Raycast-styled screenshots. Currently, the extension uses media/ folder for screenshots. Consider adding a metadata/ folder with professional Raycast-styled screenshots for better presentation in the store.

    See: https://developers.raycast.com/basics/prepare-an-extension-for-store#screenshots

    Context Used: Rule from dashboard - What: Extensions with view-type commands must include a metadata/ folder containing Raycast-styled... (source)

21 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@ElwinLiu
Copy link
Author

ElwinLiu commented Jan 5, 2026

Additional Comments (1)

  1. extensions/ai-skills/package.json, line 27-28 (link)
    style: This extension has a view-type command (mode: "view" on line 27), so it requires a metadata/ folder containing Raycast-styled screenshots. Currently, the extension uses media/ folder for screenshots. Consider adding a metadata/ folder with professional Raycast-styled screenshots for better presentation in the store.
    See: https://developers.raycast.com/basics/prepare-an-extension-for-store#screenshots
    Context Used: Rule from dashboard - What: Extensions with view-type commands must include a metadata/ folder containing Raycast-styled... (source)

21 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Extension new extension Label for PRs with new extensions platform: macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants