Skip to content

feat(marketplace): replace flutter plugin with official flutter/agent-plugins - #274

Merged
amondnet merged 5 commits into
mainfrom
amondnet/flutter
Sep 15, 2026
Merged

amondnet merged 5 commits into
mainfrom
amondnet/flutter

Conversation

@amondnet

@amondnet amondnet commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Removes the pleaseai/flutter-plugin marketplace entry and replaces it with the official Flutter-team plugin from flutter/agent-plugins, published under the plugin name dart-flutter.

The new plugin ships 25 Flutter/Dart skills plus the Dart MCP server (dart mcp-server), is maintained by the Flutter team, and is BSD-3-Clause licensed.

No submodule was added for the new repo: flutter/agent-plugins states it is not accepting PRs, and the other third-party github-source entries in this marketplace (chrome-devtools-mcp, notion, cloudflare, modern-web-guidance) consistently have no submodule either.

Changes

  • .gitmodules + external-plugins/flutter — old submodule deinit'd and removed.
  • .claude-plugin/marketplace.json — entry swapped in place: name flutterdart-flutter, repo → flutter/agent-plugins, description updated, skills/mcp tags added. The relevance block (flutter/dart CLI, **/*.dart, **/pubspec.yaml) carries over unchanged — still high-signal.
  • .agents/plugins/marketplace.json — regenerated via bun scripts/cli.ts multi-format; the diff is exactly the flutter entry swap. The Cursor marketplace filters to local plugins, so it was untouched.
  • README.md — plugin listing section + install command.
  • ARCHITECTURE.md — external-plugins roster line.

⚠️ Breaking change for existing users

The install name changes:

- /plugin install flutter@pleaseai
+ /plugin install dart-flutter@pleaseai

Upstream's .claude-plugin/plugin.json declares "name": "dart-flutter", and every github-source entry in this marketplace matches its upstream manifest name (e.g. gemini-cli-securitypleaseai/security-plugin). That invariant was kept rather than aliasing back to flutter, so existing users must reinstall under the new name.

Validation

  • claude plugin validate .claude-plugin/marketplace.json passes. The 13 warnings are all pre-existing (root homepage/repository fields, missing author on unrelated local plugins) — none on the new entry.
  • No release-please change needed: per .claude/rules/marketplace-sync.md, the release-please-config.json / .release-please-manifest.json companions apply only to local plugins (source: "./plugins/..."). This is a github-source external plugin with no package entry — confirmed absent before the change.

Known follow-up (not in this PR)

bun scripts/cli.ts multi-format rewrote all 73 local plugins' runtime manifests — the repo-wide drift that .claude/rules/marketplace-sync.md warns about. That churn was reverted (git restore plugins/, plus two untracked plugins/portone/ files) so this commit stays atomic. The drift is still uncommitted in the working tree and deserves a separate pass.

bun.lock was already dirty before this work and was deliberately left uncommitted.

Related issue

None — this is not issue-linked work.

Checklist

  • PR title follows Conventional Commits
  • Tests added or updated — n/a, config/docs-only change
  • Lint/format pass
  • Documentation updated (README.md, ARCHITECTURE.md)
  • Breaking change documented with a BREAKING CHANGE: footer in the commit

Summary by cubic

Swaps the marketplace’s Flutter plugin from pleaseai/flutter-plugin to the official Flutter team plugin from flutter/agent-plugins, now published under the name dart-flutter. The new plugin provides 25 Flutter/Dart skills and the Dart MCP server.

  • Existing users must reinstall because the plugin name changed from flutter@pleaseai to dart-flutter@pleaseai.
  • Removed the external-plugins/flutter submodule and updated the marketplace manifests, README.md, ARCHITECTURE.md, CLAUDE.md, the stale .idea/vcs.xml mapping, the Flutter tooling-detection hook, and the find-plugin skill example to match.
  • Added agent-memory notes recording the conventions for github-source marketplace entries: the entry name must match the upstream manifest, no submodule is added, and no release-please entry is created.

Written for commit b486502. Summary will update on new commits.

…-plugins

Swap the `pleaseai/flutter-plugin` entry for the official Flutter team plugin
at `flutter/agent-plugins`, which ships Flutter/Dart skills and the Dart MCP
server. Drop the now-unused `external-plugins/flutter` submodule and update the
README and ARCHITECTURE rosters.

BREAKING CHANGE: the install name changes from `flutter@pleaseai` to
`dart-flutter@pleaseai`. Upstream's plugin.json declares `"name": "dart-flutter"`,
and every github-source entry in this marketplace must match its upstream
manifest name. Existing users must reinstall under the new name.
@vercel

vercel Bot commented Sep 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
claude-code-plugins Ready Ready Preview Sep 15, 2026 11:58am UTC

Request Review

…mory

Capture the three unwritten conventions for github-source (external) marketplace
entries surfaced while swapping flutter for dart-flutter in #274: the entry name
must match the upstream plugin.json name, no submodule is added for upstreams
that do not accept PRs, and no release-please entry is created.
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@greptile-apps

greptile-apps Bot commented Sep 15, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the marketplace rename and all actionable installation guidance are aligned.

Summary

Replaces the former Flutter marketplace integration with the official flutter/agent-plugins package under its upstream identity, dart-flutter.

  • Updates the Claude and Codex marketplace records to use the new name and repository.
  • Removes the obsolete Flutter submodule and associated repository documentation.
  • Updates install instructions, automatic project detection, and plugin-discovery guidance to use dart-flutter.
  • The previously reported stale tooling recommendation is now fully fixed.

Reviews (2) · Last reviewed commit: "chore: apply AI code review suggestions"

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the Flutter plugin to the official 'dart-flutter' plugin. It renames the plugin, updates its metadata, tags, and description, and points its source repository to 'flutter/agent-plugins' instead of 'pleaseai/flutter-plugin'. Additionally, the 'external-plugins/flutter' git submodule is removed, and references in ARCHITECTURE.md and README.md are updated accordingly. There are no review comments, and I have no feedback to provide.

Greptile flagged two references to the removed `external-plugins/flutter`
submodule. The CLAUDE.md one was already fixed while resolving the merge with
main; this removes the remaining IDE VCS directory mapping, which pointed at a
directory that no longer exists.
@amondnet

Copy link
Copy Markdown
Contributor Author

/gemini review

Comment thread .claude-plugin/marketplace.json

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request renames the 'flutter' plugin to 'dart-flutter' across the marketplace configuration, documentation, and project settings, while updating its source repository to 'flutter/agent-plugins'. Additionally, it removes the legacy git submodule for the plugin and adds new documentation regarding external marketplace plugin conventions. I have no feedback to provide.

Point the Flutter tooling detection at the renamed plugin. The hook interpolates
pluginName into `/plugin install <name>@pleaseai`, so the stale `flutter` value
produced an install command that no longer resolves after the marketplace rename.
@amondnet

Copy link
Copy Markdown
Contributor Author

/gemini review

@pleaseai

pleaseai Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

@amondnet님의 요청을 완료했습니다 (44s) —— View job


Verifying the stale-reference fix (commit b486502)

  • Read trigger comment and PR context
  • Verify plugins/please-plugins/hooks/tooling-mappings.jsonpubspec.lock/pubspec.yaml now maps to "dart-flutter"
  • Verify plugins/please-plugins/skills/find-plugin/SKILL.md — Mobile row updated to dart-flutter
  • Search repo-wide for any remaining flutter@pleaseai or bare "flutter" plugin-name references
  • Confirm CLAUDE.md, .idea/vcs.xml, .gitmodules, external-plugins/ have no stale Flutter submodule references
  • Confirm .claude-plugin/marketplace.json entry is dart-flutter

Confirmed — commit b486502 correctly fixes the stale install recommendation Greptile flagged:

  • tooling-mappings.json:4: pluginName for pubspec.lock/pubspec.yaml detection is now "dart-flutter" (was "flutter"), so check-dependencies.ts's /plugin install ${pluginName}@pleaseai interpolation now resolves correctly.
  • find-plugin/SKILL.md: Mobile category row updated to dart-flutter.
  • Repo-wide search found no remaining flutter@pleaseai or bare "flutter" plugin-name references — README.md install commands, .claude-plugin/marketplace.json, CLAUDE.md, .idea/vcs.xml, and .gitmodules are all clean of the old identity.
  • external-plugins/flutter submodule is fully removed.

No further action needed — the fix @amondnet described matches the actual diff, and no other stale flutter references remain anywhere in the tree.

@github-actions

Copy link
Copy Markdown

🔍 Tessl Skill Review

plugins/please-plugins/skills/find-plugin/SKILL.md

score

The content is a well-structured, actionable guide with a clear five-step workflow and concrete commands throughout. It is concise and avoids over-explanation; the main room for improvement is converting the qualitative ranking step into more concrete criteria and optionally splitting the categories table into a reference file.

Validation

  • ⚠️ allowed_tools_field — 'allowed-tools' contains unusual tool name(s)
Full review details

Validation Checks

15/16 checks passed.

Review Details

Dimension Score Detail
conciseness ████░ 4/5 The body is efficient and mostly assumes Claude's competence, using short steps and concrete commands rather than explaining concepts Claude already knows; minor phrases like 'The marketplace provides two layers of discovery' could be trimmed but the whole is not noticeably verbose, so it sits above the 'mostly efficient' anchor and below fully lean.
actionability ████░ 4/5 It provides concrete, copy-paste-ready commands (cat, find, grep, jq, claude plugin install) with clearly marked placeholders, but the Match/Rank step is qualitative guidance rather than executable code, leaving minor gaps consistent with the 'mostly executable' anchor.
workflow clarity ████░ 4/5 Five steps are clearly sequenced (read catalog, search skills, match/rank, present, offer install) with a 'When No Plugin Exists' fallback and an explicit dedup instruction; there are no destructive/batch operations requiring validation caps, but explicit verification checkpoints are mostly implicit, fitting the 'clear sequence with most checkpoints' anchor.
progressive disclosure ████░ 4/5 The body is well-organized into clear sections with no nested external references and no bundle files to navigate; the sizable inline Plugin Categories table is a quick-reference block that could arguably live in a separate file, placing this just below the ideal 'one-level-deep, fully split' anchor.

Suggestions:

  • Make the Match/Rank step more actionable by giving a concrete scoring heuristic or tie-break rule instead of only qualitative descriptions of match types.
  • Consider moving the Plugin Categories table into a references file (e.g. references/categories.md) and linking to it, keeping the main body as a lean overview.
  • Add an explicit verification checkpoint after Step 2 (e.g. confirm at least one match was found before proceeding to ranking) to tighten the workflow sequence.

Description Review

Dimension Score Detail
specificity ███░░ 3/5 The description names the domain (Claude Code plugins / pleaseai marketplace) and two actions ('discover and install'), which matches the 'names domain and 1-2 concrete actions' anchor; it is not below (only minimal actions) nor above (no broader action coverage beyond discover/install).
completeness █████ 5/5 It explicitly answers both 'what' (discover and install plugins from the marketplace) and 'when' (multiple concrete 'Use when...' trigger phrases), matching the anchor that requires both with concrete triggers.
trigger term quality █████ 5/5 It includes a comprehensive set of natural phrases users would actually say ('how do I do X', 'find a plugin for X', 'is there a plugin that can...', 'recommend a plugin', 'what plugins are available') plus synonyms and an implicit-trigger case, matching the comprehensive-coverage anchor.
distinctiveness conflict risk █████ 5/5 It occupies a clear niche (Claude Code plugins from the pleaseai marketplace) with distinct, specific triggers, giving minimal conflict risk with other skills; it is clearly distinguishable rather than merely 'mostly distinct'.

To improve your score, point your agent at the Tessl optimization guide. Need help? Jump on our Discord.

Feedback

Report issues with this review at tesslio/skill-review, or send private feedback from your terminal with tessl feedback.

@amondnet
amondnet merged commit 18d133b into main Sep 15, 2026
12 checks passed
@amondnet
amondnet deleted the amondnet/flutter branch September 15, 2026 12:00

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request replaces the external flutter plugin with the official dart-flutter plugin from flutter/agent-plugins. The changes include updating the marketplace configurations, documentation, and tooling mappings, removing the external-plugins/flutter git submodule, and documenting external plugin conventions in a new memory file. There are no review comments to assess, so no additional feedback is provided.

@sonarqubecloud

Copy link
Copy Markdown

This was referenced Sep 15, 2026
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