一键导入
update-gui-goals
Regenerate app/gui/goals.md with a fresh comprehensive analysis of the Veiled desktop app (excluding AudioPlayer and VideoPlayer internals)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Regenerate app/gui/goals.md with a fresh comprehensive analysis of the Veiled desktop app (excluding AudioPlayer and VideoPlayer internals)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Implement improvements from a goals file by section number or name
Regenerate app/gui/audio_goals.md with a fresh comprehensive analysis of the AudioPlayer component
Regenerate app/gui/video_goals.md with a fresh comprehensive analysis of the VideoPlayer component
Update app/gui/CLAUDE.md to match the current codebase state
Low-level Cardano utilities with @meshsdk/core-cst
Cardano transaction building with @meshsdk/transaction
| name | update-gui-goals |
| description | Regenerate app/gui/goals.md with a fresh comprehensive analysis of the Veiled desktop app (excluding AudioPlayer and VideoPlayer internals) |
Delete goals.md and regenerate it from scratch with a comprehensive analysis of every possible improvement across the Veiled desktop app. Do not carry over completed items or skipped items from the previous round — this is a fresh audit against the current state of the code.
Design intent: Veiled is a three-layer Tauri v2 desktop app for the PEACE Protocol encrypted data marketplace. The frontend uses React 19 + Vite + Tailwind v4. The backend is Express v5. The core is Rust (Tauri). Suggestions should feel native to a polished desktop application — not a web-first SPA.
Scope: Everything EXCEPT AudioPlayer.tsx and VideoPlayer.tsx component internals — those have dedicated skills (update-audio-goals, update-video-goals). Integration points with media players ARE in scope (e.g., how LibraryContentModal launches them, how data is passed to them, format detection).
Read CLAUDE.md to understand the current architecture, conventions, and gotchas
Read the current goals.md (if it exists) to understand what was previously identified — but do NOT preserve it. The output is a clean slate. Note any items marked [s] (skipped) — these were intentionally declined and must NOT be re-suggested in the new goals.
Launch parallel Explore subagents (all "very thorough") to audit the app:
Agent 1 — Frontend UX (tabs, modals, cards, overlays, pages):
MarketplaceTab.tsx, MySalesTab.tsx, MyPurchasesTab.tsx, HistoryTab.tsx, LibraryTab.tsxCreateListingModal.tsx, PlaceBidModal.tsx, BidsModal.tsx, DecryptModal.tsx, SnarkProvingModal.tsx, SnarkDownloadModal.tsx, LibraryContentModal.tsx, ConfirmModal.tsx, DescriptionModal.tsxEncryptionCard.tsx, SalesListingCard.tsx, MyPurchaseBidCard.tsx, LibraryCard.tsx, ListingImage.tsxOnboardingOverlay.tsx, KeyboardShortcutsOverlay.tsx, ShutdownOverlay.tsx, OfflineBanner.tsx, SessionWarningBanner.tsxToast.tsx, ErrorBoundary.tsxDashboard.tsx, Settings.tsx, WalletSetup.tsx, WalletUnlock.tsx, NodeSync.tsxuseBuyerActions.ts, useSellerActions.ts, useDashboardEffects.tsAgent 2 — Backend + Rust Core:
encryptions.ts, bids.ts, protocol.ts, chain.ts, and the routes index.tsencryptions.ts, bids.ts, kupo.ts, koios.ts, parsers.ts, cache.ts, circuitBreaker.ts, fetchWithRetry.ts, health.ts, logger.ts, cbor.ts, metadataDiskCache.tsvalidate.ts, pagination.ts, requestLogger.ts, timeout.tsapp.ts and be/src/index.tslib.rs, config.rsmanager.rs, cardano.rs, ogmios.rs, kupo.rs, express.rs, mithril.rs, cardano_cli.rssecrets.rs, wallet.rs, node.rs, snark.rs, media.rs, iagon.rs, kupo_proxy.rs, chain.rswallet.rs, secrets.rs, audit.rs, migration.rsAgent 3 — Design System, Accessibility, Testing, CI/CD:
fe/src/index.css (CSS variables, theme tokens, animations)fe/src/fonts.cssInfoTooltip.tsx, Badge.tsx, LoadingSpinner.tsx, DelayedSpinner.tsx, EmptyState.tsx, EmptyStateIllustrations.tsx, SkeletonCard.tsx, ScrollToTop.tsx, HighlightText.tsx, TransactionLink.tsx, MnemonicInput.tsx, PasswordStrengthIndicator.tsx, PriceRangeSlider.tsx, RefreshIndicator.tsx, BidTimeline.tsxuseFocusTrap.ts, useModalStack.ts, useAsyncAction.ts, useDataRefresh.ts, useTabFilterState.ts, useWalletHealth.tserrorMessages.ts, themeStorage.ts.github/workflows/ (all CI files)app/gui/test.sh, app/gui/lint.shfe/vite.config.ts and be/vitest.config.ts (coverage configs)fe/src/components/__tests__/ to assess test quality patternsSynthesize findings from all agents into a single goals.md file. Cross-reference between agents to eliminate duplicates. If an area has no genuine issues, do not pad it with filler items.
Write goals.md with this structure:
# Veiled Desktop App — Goals & Improvements
A comprehensive backlog for making Veiled exceptional. Pick any item, implement it, check it off, and submit a PR.
Each item has:
- **What**: A brief description of the feature or improvement
- **How**: Implementation ideas and key files involved
- **Why**: The value it provides
Difficulty ratings:
- 🟢 Small — isolated change, single file, < 1 hour
- 🟡 Medium — touches 2-4 files, may need testing, < half day
- 🔴 Large — cross-cutting, multiple components/services, needs design thought
---
## Table of Contents
1. [Section Name](#1-section-name)
...
---
## N. Section Name
> Key files: `relevant/file/paths`
- [ ] 🟢 **Feature or improvement title**
- **How**: Concrete implementation approach with file paths, function names, patterns to follow. Should be detailed enough that a developer can start coding without further research.
- **Why**: 1-2 sentences explaining the user-facing or developer-facing value.
---
## Priority Guide
### Must-Have (blocks production readiness)
- ...
### Should-Have (significant UX/reliability improvement)
- ...
### Nice-to-Have (polish and delight)
- ...
### Craft (the details that make users say "this is well built")
- ...
### Infrastructure (developer productivity)
- ...
Organize items into these sections (merge or split as findings dictate). If a section has no genuine issues, omit it entirely.
title={encryption.tokenName} to the <span> at line 261" is better than "Improve tooltips". Name the file, the line, the propgoals.md before writing — this is always a fresh analysis[x]) from the previous goals.md[s]) from the previous goals.md — these were intentionally declined and must not reappeargrep -c '^\- \[ \]' and report the countgrep -c '🟢', grep -c '🟡', grep -c '🔴'