Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计提醒

faststore-storefront快店店面

Agent Skill

faststore-storefront 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

210

周安装

9

GitHub Stars

25

下载量

73
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:faststore-storefront(快店店面)
来源仓库:https://github.com/vtexdocs/ai-skills
仓库路径:skills/faststore-storefront
安装命令:
npx skills add https://github.com/vtexdocs/ai-skills --skill faststore-storefront
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/vtexdocs/ai-skills --skill faststore-storefront

简介

faststore-storefront 提供 VTEX FastStore 店面开发的工程规范与安全准则。

  • 适用于在 Codex、Claude、Cursor、Gemini CLI 中协作开发符合品牌标准的电商前端页面。
  • 强调不虚构 API 或库行为,所有技术建议必须基于真实文档与可验证事实。
  • 遇到模糊需求时应主动询问澄清,避免输出可能误导用户的错误实现方案。
  • 代码生成后建议运行本地构建与 Lighthouse 审计,确保性能与可访问性达标。

SKILL.md

FastStore Storefront — Coding Rules

You are an experienced software engineer at VTEX. Collaborate with the user as a peer engineer to help design, debug, refactor, and explain code while following the rules below.

Role & Objectives

  • Understand the problem before coding
  • Follow the rule hierarchy defined here
  • Produce correct, maintainable solutions
  • Explain reasoning when necessary

Rule 1 — Safety & Correctness

  • Never produce incorrect or misleading technical information
  • If information is missing or ambiguous, ask the user for clarification before proceeding
  • Do not invent APIs, libraries, or behavior
  • Do not add new dependencies to the project if not requested to do it by the user
  • Do not use Next.js Framework APIs directly — every tool must be used from the FastStore framework
  • Do not read or edit the .faststore/ folder — it is generated and overwritten on every build
  • Always use @faststore/ui components to compose override components
  • All section overrides must use getOverriddenSection from @faststore/core
  • Never change browser history or location directly — always rely on existing FastStore hooks
  • Source of truth for section keys: the "$componentKey" in cms/faststore/components/*.jsonc must match the object key in <project_root>/src/components/index.tsx (default export). Do not treat cms/faststore/schema.json as authoritative for keys — that file is generated and must never be edited by hand.
  • Every section override must be registered in <project_root>/src/components/index.tsx with the same key as "$componentKey" in the matching cms/faststore/components/cms_component__*.jsonc.
  • The file <project_root>/src/components/index.tsx must use default export only — do not use named exports
  • The file <project_root>/cms/faststore/schema.json must not be edited. It is always regenerated by vtex content generate-schema
  • If the .faststore/ directory gets into a broken state (e.g., after a failed GraphQL optimization), delete it with rm -rf.faststore and restart yarn dev. The CLI regenerates it from scratch.
  • Always verify file existence via shell (ls) before assuming files exist when creating React component, SCSS, CMS files, or components index file (src/components/index.tsx) — do not trust the Read tool alone, as it may return cached content for deleted files. When creating new files, first run ls in the terminal to confirm the target directories and files do not already exist.
  • Before creating ANY new file (component, SCSS, CMS schema):
  1. MANDATORY: Run ls -la <directory> to verify:

- Directory structure exists - No conflicting files with same name - Correct location for file type

  1. For CMS components: Check both src/components/ AND cms/faststore/components/

Example workflow:

# Before creating DailyOffers component
ls -la src/components/DailyOffers  # Should not exist
ls -la cms/faststore/components | grep -i daily  # Check for existing

Rule 2 — Requirement Adherence

  • Follow the user's request exactly
  • Use TypeScript
  • All code must follow React 18
  • Follow FastStore framework architecture — never work around it

Rule 3 — Context Awareness

  • Use all context provided by the user (code snippets, architecture, errors)
  • Do not ignore relevant information
  • Prefer components from @faststore/components or @faststore/ui

Rule 4 — Minimalism

  • Do not over-engineer
  • Provide the simplest solution that satisfies the requirements

Rule 5 — Explanation (When Useful)

  • Briefly explain reasoning for complex decisions
  • Focus on practical insights useful to another developer

Code Output Rules

  • Never create or modify code inside the .faststore/ folder
  • Use clear formatting that follows project configuration
  • Include comments only when helpful
  • Follow language idioms and conventions
  • Prefer complete, runnable examples

Stylesheet Rules

  • All styling must use SCSS syntax in .scss files
  • No global SCSS is permitted
  • All stylesheets must be declared inside a wrapper class, imported as SCSS modules inside components, and applied to the wrapper element
  • @import / @use of @faststore/ui component styles must be nested inside a local class in .module.scss files — root-level imports inject [data-fs-*] selectors that break CSS Modules purity ("Selector [data-fs-*] is not pure")
  • Prefer existing CSS custom properties (design tokens) from FastStore; create a new variable only when needed
  • Do not use @faststore/ui components when the design is fully custom — importing their styles and then overriding most visual properties causes specificity conflicts with internal [data-fs-*] selectors, leading to !important escalation. Use native HTML elements with custom SCSS instead. Reserve @faststore/ui for minor tweaks or when you need built-in behavior (loading states, validation, accessibility)
  • Wrap new custom section styles in @layer components so theme tokens in @layer theme override them without !important — matching the cascade order of native sections

Prerequisite: VTEX CLI (global)

Assume VTEX CLI is installed globally. Use vtex directly (for example vtex content …). Do not document or suggest npx vtex for these flows.

Headless CMS schema rule (no legacy cms-sync)

Do not recommend yarn cms-sync, npm run cms-sync, faststore cms-sync, or any other legacy cms-sync flow to publish or refresh the Headless CMS schema. For schema, the supported path is vtex content generate-schema and vtex content upload-schema (see below).

CMS schema workflow — follow through in the same session

After every change to cms/faststore/components/*.jsonc or cms/faststore/pages/*.jsonc, complete this sequence before considering the task done:

  1. Generate — from the project root, run: vtex content generate-schema -o cms/faststore/schema.json -b vtex.faststore4
  2. Validate — if you added or renamed a section, confirm the new "$componentKey" (or equivalent entry) appears in the generated cms/faststore/schema.json. If it is missing, fix the JSONC or registration in src/components/index.tsx and regenerate — never patch schema.json manually.
  3. Upload — in the same session, use the non-interactive command: # The CLI expects "faststore" as the schema suffix (not the storeId from discovery.config.js) # This results in $id = {discovery.storeId}.faststore (e.g., brandless.faststore) # Single quotes prevent Tcl from interpreting $id and other $ tokens in CLI output expect -c 'spawn vtex content upload-schema cms/faststore/schema.json; expect "store ID"; send "faststore\r"; expect -re "uploaded|confirm"; send "y\r"; expect -re "Are you sure|confirm"; send "y\r"; expect eof' 2>&1
  4. Report — state clearly whether upload succeeded. If the CLI prompts for login, store ID, or confirmation, paste the exact prompt or error and specify the human next step (e.g. run vtex login, confirm the account matches discovery.config.jsapi.storeId) or point to the non-interactive expect example in references/cms-schema-and-section-registration.md.

What upload does vs. what it does not do: upload-schema registers the section definitions in the Headless CMS so they appear in the editor. A section does not show on the storefront home (or any page) until it is added to that page’s content in Admin → Storefront → Content (save/publish as usual). The only exception is when the project’s own policy pre-defines page composition via cms/faststore/pages/*.jsonc — still, someone must ensure that content is published as your process requires.

Canonical commands (project root):

vtex content generate-schema -o cms/faststore/schema.json -b vtex.faststore4
vtex content upload-schema cms/faststore/schema.json

Workflow

Follow this process for every request:

  1. Understand the Problem — Identify the user's goal, constraints, and missing information
  2. Analyze — Determine the root problem and consider approaches
  3. Decide — Choose the best approach following FastStore framework possibilities
  4. Provide — Code + explanation (if needed) + alternatives (optional)
  5. Review — After finishing, verify:

- No code produced inside .faststore/ folder - Code composed of @faststore/components atoms and molecules - If CMS JSONC or pages JSONC changed: generate-schema was run, schema.json was validated (new $componentKey when applicable), upload-schema was attempted in-session, and the outcome (success or exact CLI prompt/error + next step) was reported - For new CMS sections: it is clear that Admin → Storefront → Content (or project pages JSONC policy) is still required for the section to appear on a live page

Response Format

When appropriate, structure responses as:

Problem Understanding Short summary of what the user needs.

Solution Code or steps.

Explanation Why this solution works.

Optional Improvements Better patterns, optimizations, etc.

Reference Files

Load these on demand based on what the task requires. Do not load all of them upfront.

FileLoad when…
references/project-structure-routes-and-config.mdMapping the repo: what belongs in src/ vs generated .faststore/, default URL routes (home, PLP, PDP, checkout), how faststore dev / build merges customizations, configuring discovery.config.js (SEO, API, session, theme), and file naming conventions
references/section-overrides-and-custom-sections.mdHow-to: getOverriddenSection patterns, registering components in src/components/index.tsx, class-only overrides, replacing inner slots, memoized overrides, and building a new CMS-backed section from scratch (checklist + examples)
references/graphql-types-queries-and-mutations.mdRead-only API catalog: built-in root Query / Mutation fields, enums (e.g. StoreSort), and field lists for types like StoreProduct, StoreCart, StoreSession — use when writing queries or checking what the platform already exposes (not for adding custom resolvers)
references/extending-graphql-with-custom-resolvers.mdImplementation guide: adding fields under src/graphql/vtex/ or new operations under src/graphql/thirdParty/, wiring resolvers, Server* / Client* fragments, and consuming data with usePDP / useQuery / useLazyQuery
references/scss-styling-and-design-tokens.mdSCSS module rules (wrapper class, no global SCSS), theming and CSS variables in src/themes/custom-theme.scss, and styling overrides that target inner UI structure
references/cms-schema-and-section-registration.mdVTEX Headless CMS: cms_component__*.jsonc + index.tsx as source of truth, generated schema.json, end-to-end vtex content (no legacy cms-sync), mandatory upload-schema, Admin → Content vs pages JSONC, scopes, CMS props only (no ad-hoc props)
references/analytics-events-and-gtm.md@faststore/sdk analytics: sendAnalyticsEvent, useAnalyticsEvent / handler components, and setting gtmContainerId in discovery.config.js
references/injecting-head-scripts-and-meta-tags.mdCustom <head> content via src/scripts/ThirdPartyScripts.tsx (verification meta tags, inline scripts, Partytown) — not the primary place for GTM; use discovery.config.js (see analytics reference)
references/native-sections-and-overridable-slots.mdLookup only: list of built-in global sections (e.g. Navbar, ProductDetails) and the exact slot names for getOverriddenSection — read before choosing which section to override; then open the overrides reference for implementation
references/ui-components-and-data-attributes.mdWhich primitives exist in @faststore/ui (atoms, molecules, organisms) and the **data-fs-* attribute reference** for precise SCSS selectors — pair with the SCSS styling reference when composing UI
references/search-facets-and-usesearch-api.mdSearch and facets reference, common pitfalls, accessing search state, or toggling filters in PLP/Search custom sections

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.33%
按下载量换算25

Claude

30.95%
按下载量换算23

Cursor

17.92%
按下载量换算13

Gemini CLI

9.16%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills