원클릭으로
fini-frontend
Fini Vue frontend implementation conventions for views, templates, rendering decisions, and tests.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Fini Vue frontend implementation conventions for views, templates, rendering decisions, and tests.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
TRIGGER when user asks to create, update, list, or manage quests, spaces, reminders, or Focus state in Fini. Use the `fini-cli` foundation skill for binary preflight, CLI/app mode selection, JSON output decisions, and safe command sequencing before any action.
Always use this at the start of development work in the Fini repo. Orchestrates which repo-local or gstack skill to load, which Makefile command to prefer, what context to read, and what evidence is required before claiming implementation, debugging, QA, Android, design-to-code, release, or documentation work is complete.
Use this skill for Fini major release preparation, especially when the user asks for Play Store screenshots, Android marketplace screenshots, store listing assets, release screenshot packages, or "major release prep". This skill should trigger even if the user only mentions screenshots, because Fini's canonical store assets live in `docs/play-store/` and must be generated, checked, and reported consistently before a release.
Run and maintain Fini's GitOps release workflow. Use this whenever the user asks to make a release, bump a release version, push a release tag, inspect release readiness, fix release automation, or verify release CI. Releases are initiated by pushing a signed annotated v* tag; `make release` must run `make pre-release-check` before any version commit, branch push, or tag push.
Single source of truth for testing the Fini app: how to run unit, integration, and end-to-end tests, and how to write new ones. Use when the user asks to run tests, write a test, add coverage, debug a failing test, choose a test category, set up a multi-actor scenario, or understand fixtures and harnesses. For Android-only behavior, load `fini-android-testing` instead. For CLI semantics referenced from CLI e2e tests, also load `fini-cli`. For Makefile/CI/script changes around tests, also load `fini-scripting`.
Install or upgrade Fini CLI from the latest GitHub release assets.
| name | fini-frontend |
| description | Fini Vue frontend implementation conventions for views, templates, rendering decisions, and tests. |
Use this skill when creating or changing Vue frontend code under src/, especially view components, templates, conditional rendering, lists, and frontend tests.
renderFlagsAvoid embedding render decision logic directly in Vue templates with ad hoc expressions such as:
<section v-if="startupAutoUpdateSupported && !loading">
Instead, expose a computed renderFlags object from the component and bind template conditionals to named flags:
const renderFlags = computed(() => ({
automaticUpdatesSection: startupAutoUpdateSupported.value,
}));
<section v-if="renderFlags.automaticUpdatesSection">
Rules:
v-if, v-show, or conditional template section should use a named renderFlags key.renderFlags is not the source of all component state. It is only the template render contract: each key answers whether a specific UI section or element should render.renderFlags.renderFlags derive from those state sources instead of replacing them.automaticUpdatesSection, emptyState, deviceList, or restoreNotice over names like isDesktopAndEnabled.v-forFor non-trivial lists, avoid filtering, sorting, or mapping directly inside v-for.
Prefer a named computed list source:
const renderLists = computed(() => ({
visibleDevices: devices.value.filter((device) => device.visible),
}));
<DeviceRow
v-for="device in renderLists.visibleDevices"
:key="device.id"
:device="device"
/>
Rules:
v-for should normally iterate over a named source that is already filtered and ordered.When adding or changing render flags:
Before handing off frontend template changes, check:
renderFlags for product/platform rendering decisions.npm run build or the relevant frontend test target passes.