Summary
Add rich plugin detail pages to the MacTools Marketplace.
The current Marketplace is optimized for package lifecycle management. Users can search, filter, install, update, relaunch, and uninstall plugins, but they cannot inspect an unfamiliar plugin in enough detail before installation.
The new experience should preserve the current list while adding a detail destination that explains:
- What the plugin does
- Which actions it provides
- What setup it requires
- What data it accesses
- Where its actions can be used
- Whether it is compatible with the current Mac
- How to try it after installation
Goals
- Let users understand a plugin before installing it.
- Present action-level capabilities, not only plugin names.
- Explain permissions before installation.
- Explain privacy and network behavior.
- Show hardware and application requirements.
- Provide screenshots and concrete examples.
- Make installation and first-use setup a continuous flow.
- Support installed, available, incompatible, failed, revoked, and update states.
- Reuse the same signed metadata used by Unified Search and the website.
- Preserve keyboard and accessibility navigation.
Non-goals
- Third-party reviews or ratings
- User comments
- Paid plugins or purchases
- Executing an uninstalled action
- Loading arbitrary remote HTML
- Building a general web browser inside Settings
- Replacing each plugin's full settings workspace
- Showing machine-local dynamic actions before installation
Navigation model
Keep the current Marketplace list and filters.
Selecting a plugin row should open a detail view in the same Settings window.
Acceptable presentation models include:
- List and detail split view
- Drill-down navigation with a back button
The final choice should match the existing Settings-window architecture and minimum supported window size.
The row's lifecycle buttons may remain available for quick management, but the row itself should also be selectable.
Detail-page sections
Header
Show:
- Plugin icon
- Localized name
- Short summary
- Version
- Release channel
- Category
- Install/update/relaunch/open-settings button
- Compatibility or attention status
What it does
Show:
- Long description
- Two or three concrete use cases
- Screenshots or short static visual previews
- Links to documentation and support where available
Do not use vague marketing language in place of capability descriptions.
Available actions
List static action descriptors.
Each action should show:
- Title
- Description
- Required permission
- Risk or confirmation requirement
- Supported surface chips
Example chips:
- Search
- Shortcut
- Workflow
- Action Grid
- Gesture
- App Intent
- Run Link
Dynamic providers should show a template such as:
Creates actions for each currently playing application after installation.
Do not fabricate machine-local entries before installation.
Requirements
Show:
- Minimum macOS version
- Supported architecture
- Required hardware
- Required installed applications
- Required command-line executables
- Permissions
- Whether a relaunch is required
- Setup-complexity indicator
Compatibility should be computed against the current Mac where possible.
Privacy and safety
Show:
- Data the plugin observes
- Data it stores
- Retention behavior
- Whether it uses the network
- Network domains where declared
- Whether telemetry is used
- Destructive or confirmation-required operations
- Whether external invocation is supported
This section should be available before installation.
Setup
For installed plugins, show a short activation checklist:
- Installed
- Required permissions granted
- Required dependency available
- Initial configuration completed
- Test action completed
Provide direct repair actions where possible.
Related capabilities
Show:
- Complementary plugins
- Alternative plugins only when they genuinely overlap
- Packs containing this plugin
- Example recipes
- Existing workflows that use its actions after installation
Provenance
Show:
- Official publisher
- Source-code reference
- License
- Release notes
- Support reference
- Catalog signing/source status
Metadata dependency
Extend the catalog with optional product and capability metadata, including:
- Long description
- Keywords and use cases
- Screenshot assets
- Publisher and support metadata
- Requirements
- Privacy declaration
- Static action descriptors
- Related plugins
- Setup steps
Remote assets must include:
- Stable path or URL
- SHA-256
- Byte size
- Media type
- Optional dimensions
The detail view must not load unverified executable content.
Installed-plugin enrichment
When a plugin is installed, enrich catalog metadata with runtime information:
- Actual action definitions
- Dynamic action entries
- Current availability
- Permission state
- Dependency state
- Plugin settings availability
- Runtime load failure
- Restart requirement
Runtime data is authoritative when it conflicts with pre-install catalog descriptors.
Installation flow
When a user presses Install:
- Keep the user on the plugin detail page.
- Show package progress.
- Show restart requirements if any.
- Refresh runtime plugin state.
- Replace the install button with the next useful action:
- Grant permission
- Install dependency
- Open Settings
- Try first action
- Mark setup complete after a successful first action or explicit dismissal.
Do not automatically prompt for all permissions immediately after installation.
Search integration
Unified Search should be able to navigate directly to the corresponding detail page.
Uninstalled capability results should:
- Be visually separated from executable results.
- Open the detail page.
- Never execute or silently install.
- Highlight the matched action or use case in the detail page.
Offline and failure behavior
- Continue showing the last verified catalog snapshot when refresh fails.
- Continue showing installed-plugin runtime information.
- Show a clear stale-catalog indicator where appropriate.
- Do not discard an installed plugin's local settings navigation because Marketplace metadata is unavailable.
- Handle missing screenshot assets without failing the page.
- Handle older catalog entries with sparse metadata.
Health integration
The detail page should include a Diagnostics or Needs Attention section when relevant:
- Permission missing
- Dependency missing
- Plugin failed to load
- Restart required
- Action provider unavailable
- Gesture conflict
- Last runtime error
Do not show an empty diagnostics card when the plugin is healthy.
Implementation plan
Metadata
Models
UI
Integration
Test coverage
Include tests for:
- Installed plugin
- Available plugin
- Update available
- Restart required
- Incompatible plugin
- Revoked plugin
- Failed package
- Failed runtime load
- Sparse v2 catalog entry
- Rich v3 catalog entry
- Missing or invalid screenshot
- Dynamic action provider
- Permission missing
- Dependency missing
- Catalog unavailable
- Catalog refresh while detail is open
- Installation completed while detail is open
- Localization fallback
- Search deep-link highlighting
- VoiceOver navigation
Acceptance criteria
Summary
Add rich plugin detail pages to the MacTools Marketplace.
The current Marketplace is optimized for package lifecycle management. Users can search, filter, install, update, relaunch, and uninstall plugins, but they cannot inspect an unfamiliar plugin in enough detail before installation.
The new experience should preserve the current list while adding a detail destination that explains:
Goals
Non-goals
Navigation model
Keep the current Marketplace list and filters.
Selecting a plugin row should open a detail view in the same Settings window.
Acceptable presentation models include:
The final choice should match the existing Settings-window architecture and minimum supported window size.
The row's lifecycle buttons may remain available for quick management, but the row itself should also be selectable.
Detail-page sections
Header
Show:
What it does
Show:
Do not use vague marketing language in place of capability descriptions.
Available actions
List static action descriptors.
Each action should show:
Example chips:
Dynamic providers should show a template such as:
Do not fabricate machine-local entries before installation.
Requirements
Show:
Compatibility should be computed against the current Mac where possible.
Privacy and safety
Show:
This section should be available before installation.
Setup
For installed plugins, show a short activation checklist:
Provide direct repair actions where possible.
Related capabilities
Show:
Provenance
Show:
Metadata dependency
Extend the catalog with optional product and capability metadata, including:
Remote assets must include:
The detail view must not load unverified executable content.
Installed-plugin enrichment
When a plugin is installed, enrich catalog metadata with runtime information:
Runtime data is authoritative when it conflicts with pre-install catalog descriptors.
Installation flow
When a user presses Install:
Do not automatically prompt for all permissions immediately after installation.
Search integration
Unified Search should be able to navigate directly to the corresponding detail page.
Uninstalled capability results should:
Offline and failure behavior
Health integration
The detail page should include a Diagnostics or Needs Attention section when relevant:
Do not show an empty diagnostics card when the plugin is healthy.
Implementation plan
Metadata
Models
UI
Integration
Test coverage
Include tests for:
Acceptance criteria