fantastic-mobile/basic/fm-store-generator

Claude Code and agent skill by fantastic-mobile/basic

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

为 Fantastic-mobile 框架生成 Pinia Store 模块。当用户提到以下任何需求时必须使用此技能:多个页面需要共享数据、全局状态管理、数据需要持久化(刷新后还在)、登录状态/用户信息需要缓存、购物车/通知/权限等全局数据、需要在组件外访问状态。即使用户只是说"这个数据要全局共享"或"刷新后数据不能丢",也应触发此技能。触发关键词:创建 store、全局状态、状态管理、pinia、持久化、共享数据。

Install

npx vskill@latest install fantastic-mobile/basic/fm-store-generator

SKILL.md

Store Generator

第一步:确认工作区(必须阻塞等待用户回复)

本项目是 monorepo 架构。在执行任何文件读写操作之前,必须先确认目标应用:

  1. 执行 ls apps/ 列出所有可用应用
  2. 立即向用户提问,明确询问要在哪个应用中生成 Store,并停止等待回复
  3. 收到用户明确回复后,才能继续后续步骤
严格规则:如果用户没有在请求中明确说明目标应用(例如"在 example 应用中"、"apps/core"),则必须提问,不得自行猜测或默认选择任何应用。

后续所有文件路径以 apps/<app>/ 为根,其中 <app> 为用户确认的应用名称。

项目 Store 概览

  • 位置:apps/<app>/src/store/modules/ (业务 store)
  • 全部使用 Composition API 风格(defineStore + setup 函数)
  • 通过 unplugin-auto-import 自动导入,组件中无需手动 import
  • 持久化:pinia-plugin-persistedstate v4,配置 persist: { pick: [...] }

详细模板和示例见 references/store-patterns.md


交互式工作流

先收集信息再生成代码,因为 store 的字段结构、持久化需求、异步 action 直接决定代码骨架——跳过这步会生成空壳,用户还要大量修改。

Step 1:收集基本信息

向用户提问(可合并为一次):

  1. Store 用途:管理什么数据?(例如:用户信息、购物车、通知列表)
  2. 存放位置:
  • apps/<app>/src/store/modules/ — 业务 store(推荐)
  • apps/<app>/src/store/modules/app/ — 框架级 store(仅框架内部使用)
  1. State 字段:需要哪些状态字段?请列出字段名、类型和初始值
Step 2:收集功能需求

根据 Step 1 的回答,继续询问:

  1. 持久化:是否需要持久化到 localStorage?如果是,哪些字段需要持久化?
  2. 异步 Action:是否有需要调用 API 的操作?如果有,请描述接口用途
  3. Computed:是否需要派生状态(computed)?例如:从列表中过滤、统计数量等
Step 3:确认并生成

汇总用户的回答,展示将要生成的内容摘要,确认后再写入文件。


命名规范

类型Store ID函数名文件名
业务 storecamelCaseuse<Name>Store<name>.ts
框架 storeapp<Name>useApp<Name>Store<name>.ts

示例:

  • 购物车 → ID: cart,函数: useCartStore,文件: apps/<app>/src/store/modules/cart.ts
  • 通知 → ID: notification,函数: useNotificationStore,文件: apps/<app>/src/store/modules/notification.ts

生成后的操作

Store 文件创建完成后,告知用户:

  • 无需手动 import,unplugin-auto-import 已自动处理
  • 在任意组件/composable 中直接使用:const xxxStore = useXxxStore()
  • 如需在 store 外部(如路由守卫)使用,需传入 pinia 实例:useXxxStore(pinia)

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
306
Repository forks
12
7-day trend score
29

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 3 Oct 2026, a month ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/fantastic-mobile/basic/fm-store-generator/badge)](https://verified-skill.com/skills/fantastic-mobile/basic/fm-store-generator)

Something wrong with this skill or its page? Tell us.