Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

project-validator项目验证器

Agent Skill

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

总安装

416

周安装

17

GitHub Stars

1

下载量

135
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/toss/apps-in-toss-skills --skill project-validator

简介

project-validator 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 适用于代码规范检查、配置合规性和部署准入验证场景。
  • 可通过规则集匹配项目文件,返回潜在风险点清单。
  • 使用前需确认是否支持特定语言或框架的校验规则加载。
  • 建议人工复核自动生成的验证报告,避免误判合法代码结构。

SKILL.md

Project Validator

Validates apps-in-toss project configuration, structure, and policies for both web and React Native projects.

Supported Project Types:

  • Web projects using @apps-in-toss/web-framework
  • React Native projects using @apps-in-toss/granite with Metro bundler
  • Unity game projects (WebGL builds using @apps-in-toss/web-framework)

How to Use This Skill

When validating an apps-in-toss project, follow these steps:

  1. Identify the project type (Web or React Native)
  2. Read and check the relevant files using the Read tool
  3. Compare against the schema in the reference documentation
  4. Report findings to the user with specific issues and solutions

Validation Checklist

Project Structure

Check that the project has:

  • package.json exists
  • granite.config.ts exists
  • ⚠️ src/ directory exists (recommended)
  • ⚠️ tsconfig.json exists (recommended for TypeScript projects)

package.json Validation

Check:

  • ✅ File is valid JSON
  • ✅ Has @apps-in-toss/framework, @apps-in-toss/web-framework, or @granite-js/react-native in dependencies or devDependencies
  • ⚠️ Has TDS (Toss Design System) package (strongly recommended for consistent Toss UX):

- For React Native with @apps-in-toss/framework < 1.0.0: @toss-design-system/react-native - For React Native with @apps-in-toss/framework >= 1.0.0: @toss/tds-react-native - For Web with @apps-in-toss/web-framework < 1.0.0: @toss-design-system/mobile - For Web with @apps-in-toss/web-framework >= 1.0.0: @toss/tds-mobile

  • ⚠️ Has name field
  • ⚠️ Has version field
  • ⚠️ Has scripts field with common scripts (dev, build, etc.)

granite.config.ts Validation

For Web Projects

Check against web-granite-config-schema.md:

Required checks:

  • ✅ File exists and is readable
  • ✅ Imports defineConfig from @apps-in-toss/web-framework/config
  • ✅ Has export default defineConfig statement
  • ✅ Contains required fields:

- appName (string) - brand (object with displayName, primaryColor, icon) - permissions (array) - web.port (number) - web.commands.dev (string) - web.commands.build (string)

Optional recommended fields:

  • ⚠️ navigationBar (object)
  • ⚠️ webViewProps (object)
  • ⚠️ outdir (string)

For React Native Projects

Check against react-native-granite-config-schema.md:

Required checks:

  • ✅ File exists and is readable
  • ✅ Imports defineConfig from @granite-js/react-native/config
  • ✅ Imports appsInToss from @apps-in-toss/framework/plugins
  • ✅ Has export default defineConfig statement
  • ✅ Contains required fields:

- scheme (string) - appName (string)

  • ✅ Contains appsInToss plugin in plugins array with:

- brand (object with displayName, primaryColor, icon) - permissions (array)

Optional recommended fields:

  • ⚠️ navigationBar (object)
  • ⚠️ entryFile (string)
  • ⚠️ outdir (string)

Validation Workflow

When Starting a New Project

  1. Read package.json to identify project type and framework version
  2. Read granite.config.ts to determine app type (game vs non-game)
  3. Identify configuration schema to use:

- Web apps (including Unity games): web-granite-config-schema.md - React Native apps: react-native-granite-config-schema.md

  1. For non-game apps: Check if TDS package is installed (recommended for better UX)
  2. For Unity game apps: Check for Unity SDK installation or WebGL build artifacts (see unity-game-validation.md)
  3. Check all required fields against the appropriate schema
  4. Report any missing or incorrect configuration
  5. Provide specific solutions from the schema documentation

When Debugging Configuration Issues

  1. Ask the user what issues they're experiencing
  2. Read the relevant configuration files
  3. Compare against schema requirements
  4. Identify the root cause
  5. Provide the solution from Common Issues and Solutions

When Reviewing Project Setup

  1. Systematically check all validation points
  2. Report critical errors (❌) first
  3. Then report warnings (⚠️)
  4. Suggest improvements based on best practices

Reporting Validation Results

When reporting validation results to the user:

✅ Success

All required checks passed. The project configuration is valid.

❌ Critical Error

Required configuration is missing or invalid. The project may not work correctly.

  • Report these with high priority
  • Provide specific file location (e.g., granite.config.ts:15)
  • Include the exact fix from the schema documentation

⚠️ Warning

Non-critical issue detected. The project may work, but best practices recommend addressing these.

  • Report these after critical errors
  • Explain why the recommendation matters
  • Provide optional improvement suggestions

Common Issues and Solutions

Missing Framework Dependencies

Issue: package.json doesn't have required framework packages

Solution for Web:

npm install @apps-in-toss/web-framework

Solution for React Native:

npm install @granite-js/react-native @apps-in-toss/framework

Missing Required Field: appName

Issue: granite.config.ts is missing the appName field

Solution: Add appName to granite.config.ts:

export default defineConfig({
  appName: 'my-app',
  // ...
});

Missing Required Field: brand

Issue: granite.config.ts is missing the brand configuration

Solution: Add complete brand object:

export default defineConfig({
  brand: {
    displayName: 'My App',
    primaryColor: '#3182F6',
    icon: 'https://static.toss.im/icons/app-icon.png',
  },
  // ...
});

Missing Required Field: permissions

Issue: granite.config.ts is missing the permissions array

Solution: Add permissions array (can be empty):

export default defineConfig({
  permissions: [],
  // or with specific permissions:
  permissions: [
    { name: 'clipboard', access: 'read' },
    { name: 'camera', access: 'access' },
  ],
  // ...
});

Missing appsInToss Plugin (React Native)

Issue: React Native project doesn't have appsInToss plugin

Solution: Add the plugin to the plugins array:

import { appsInToss } from '@apps-in-toss/framework/plugins';

export default defineConfig({
  plugins: [
    appsInToss({
      brand: {
        displayName: 'My App',
        primaryColor: '#3182F6',
        icon: 'https://static.toss.im/icons/app-icon.png',
      },
      permissions: [],
    }),
  ],
});

Incorrect Import Path

Issue: Using wrong import path for defineConfig

Solution for Web:

import { defineConfig } from '@apps-in-toss/web-framework/config';

Solution for React Native:

import { defineConfig } from '@granite-js/react-native/config';

Required File Missing: granite.config.ts

Issue: Project doesn't have a granite.config.ts file

Solution: Create the file using the appropriate template:

Missing Export Statement

Issue: granite.config.ts doesn't export the configuration

Solution: Add export statement:

export default defineConfig({ /* config */ });

Missing TDS (Toss Design System) Package

Issue: Mini-app doesn't have TDS package in package.json

Important: TDS is strongly recommended for consistent Toss UX and better review approval chances.

Solution for React Native:

Check framework version in package.json:

If @apps-in-toss/framework < 1.0.0:

npm install @toss-design-system/react-native

If @apps-in-toss/framework >= 1.0.0:

npm install @toss/tds-react-native

Solution for Web:

Check framework version in package.json:

If @apps-in-toss/web-framework < 1.0.0:

npm install @toss-design-system/mobile

If @apps-in-toss/web-framework >= 1.0.0:

npm install @toss/tds-mobile

TDS Documentation:

Note: Game apps (appType: 'game') may be exempt from TDS requirement

Reference Documentation

Always consult these references when validating:

- Platform model & precheck (overview, runtime-structure, precheck): WebGL/WASM + JS bridge; no native plugins; mobile/touch targets; file I/O and sockets limited; AR/XR/Compute constrained. - Engine versions (recommend-engine): Prefer Unity 2023.3 LTS; 2022.3 stable; 2021.3 legacy; avoid 2024.2 beta for production. - Migration flow (migration-guide): Precheck → WebGL conversion → Apps-in-Toss SDK integration → UX/perf optimization → .ait packaging/monitoring. - Performance goals (perf-optimization, perf-measure): Startup <3s target (<5s max), avg FPS ≥30 on mobile, memory <200MB (critical >300MB), first frame <5s, battery ~90–110% of native. - Runtime/startup/loading (runtime/performance, startup-speed, loading): Adaptive frame/quality, batching/instancing/LOD/culling, pooled updates; avoid heavy first-frame work; progressive/prioritized loading with unload paths and cache limits; scene transitions near 2s when possible. - Debugging (debug-exception): Centralized logging to web/Apps-in-Toss, global exception handler with recovery, in-app profiler/console hooks for WebGL.

Best Practices for Validation

  1. Be Specific: When reporting issues, include exact file paths and line numbers if possible
  2. Provide Context: Explain why a field is required or recommended
  3. Offer Solutions: Always provide the exact code fix from the schema documentation
  4. Prioritize: Report critical errors before warnings
  5. Be Thorough: Check all required fields, not just the obvious ones
  6. Check TDS Usage: Verify if TDS package is installed and recommend it for consistent Toss UX
  7. Provide Documentation Links: Include relevant TDS documentation links when suggesting TDS

Example Validation Report

Validating apps-in-toss project...

✅ package.json found and valid
✅ granite.config.ts found

Project Type: Web (detected @apps-in-toss/web-framework v1.2.0)
App Type: general (non-game)

❌ Critical Errors:
1. Missing required field: brand
   Location: granite.config.ts
   Fix: Add brand configuration with displayName, primaryColor, and icon

2. Missing required field: permissions
   Location: granite.config.ts
   Fix: Add permissions array (can be empty: permissions: [])

⚠️ Warnings:
1. Missing recommended field: navigationBar
   Suggestion: Add navigationBar for better UX

2. TDS package not found
   Recommendation: Install @toss/tds-mobile (for @apps-in-toss/web-framework >= 1.0.0)
   Command: npm install @toss/tds-mobile
   Benefit: Provides consistent Toss UX and improves review approval chances
   Documentation: https://tossmini-docs.toss.im/tds-mobile

Consult: references/web-granite-config-schema.md for complete examples

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

34.6%
按下载量换算47

Claude

27.22%
按下载量换算37

Cursor

20.21%
按下载量换算27

Gemini CLI

9.6%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills