@appsforgood/next-supabase-kit 0.1.8 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BEST_PRACTICE_EVIDENCE.md +1 -1
- package/CHANGELOG.md +13 -0
- package/DOGFOOD.md +2 -1
- package/README.md +431 -335
- package/REPOSITORY_SETTINGS.md +12 -6
- package/SECURITY.md +14 -0
- package/SUPPLY_CHAIN.md +15 -14
- package/UPGRADE.md +14 -4
- package/assistant-adapters/README.md +3 -0
- package/assistant-adapters/antigravity.md +2 -0
- package/assistant-adapters/claude-code-subagents.md +1 -0
- package/assistant-adapters/codex-agents.md +2 -0
- package/assistant-adapters/cursor-agent-kit.mdc +2 -0
- package/assistant-adapters/cursor-planner.mdc +1 -1
- package/assistant-adapters/orchestrator-runtime.md +39 -0
- package/checklists/frontend-quality.md +1 -0
- package/checklists/ui-detectors.md +6 -0
- package/dist/index.js +1723 -688
- package/dist/index.js.map +1 -1
- package/dist/studio/office/assets/office.css +138 -7
- package/dist/studio/office/assets/office.js +200 -2
- package/dist/studio/wizard/assets/wizard.js +7 -1
- package/examples/next-supabase-installed/.agent-kit/manifest.json +187 -14
- package/examples/next-supabase-installed/audit-output.json +405 -380
- package/package.json +25 -4
- package/prompts/frontend-design-review.md +6 -0
- package/prompts/screenshot-review.md +2 -1
- package/schemas/audit-report-v2.schema.json +71 -0
- package/schemas/audit-report.schema.json +16 -16
- package/schemas/orchestrator.schema.json +167 -0
- package/schemas/runtime-event.schema.json +66 -0
- package/schemas/runtime-run.schema.json +58 -0
- package/schemas/session-event.schema.json +2 -0
- package/templates/next-supabase/.agent-kit/orchestrator.json +48 -0
- package/templates/next-supabase/.agent-kit/runtime/gitignore.template +2 -0
- package/templates/next-supabase/AGENTS.md +2 -0
- package/templates/next-supabase/ASSISTANT_ADAPTERS.md +20 -0
- package/templates/next-supabase/DECISIONS.md +14 -0
- package/templates/next-supabase/DEPLOYMENT.md +4 -0
- package/templates/next-supabase/DESIGN.md +6 -0
- package/templates/next-supabase/DOCS.md +8 -0
- package/templates/next-supabase/MODEL_ROUTING.md +9 -0
- package/templates/next-supabase/QUALITY_GATES.md +5 -1
- package/templates/next-supabase/SECURITY.md +10 -0
- package/templates/next-supabase/SPEC.md +3 -1
- package/templates/next-supabase/STYLE_GUIDE.md +15 -0
- package/templates/next-supabase/TESTING.md +6 -0
- package/templates/next-supabase/UPGRADE.md +1 -0
package/REPOSITORY_SETTINGS.md
CHANGED
|
@@ -30,14 +30,19 @@ Create environment `npm-publish` with:
|
|
|
30
30
|
|
|
31
31
|
- Required reviewers enabled.
|
|
32
32
|
- Prevent self-review enabled where available.
|
|
33
|
-
- Deployment branches restricted to `main
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
- Any fallback npm token secrets deleted after Trusted Publishing is confirmed.
|
|
33
|
+
- Deployment branches restricted to `main`.
|
|
34
|
+
- No npm package-write token secrets. Automated publication must fail closed when Trusted Publishing is unavailable.
|
|
35
|
+
- Required reviewers should protect manual non-dry-run dispatches without preventing the normal version-PR merge path.
|
|
37
36
|
|
|
38
|
-
The
|
|
37
|
+
Under **Actions > General > Workflow permissions**, allow GitHub Actions to create pull requests. The version workflow has job-scoped `contents: write` and `pull-requests: write` permissions and uses that setting only to open or update the Changesets version PR.
|
|
38
|
+
|
|
39
|
+
Create this npm Trusted Publisher for each of these package names:
|
|
40
|
+
|
|
41
|
+
- `@appsforgood/next-supabase-kit`
|
|
42
|
+
- `@appsforgood/agent-kit-runtime`
|
|
43
|
+
|
|
44
|
+
Each trusted publisher must match:
|
|
39
45
|
|
|
40
|
-
- Package: `@appsforgood/next-supabase-kit`
|
|
41
46
|
- Provider: GitHub Actions
|
|
42
47
|
- Repository: `lukey662/agentsandskills`
|
|
43
48
|
- Workflow: `release.yml`
|
|
@@ -54,6 +59,7 @@ Enable:
|
|
|
54
59
|
- Dependabot security updates.
|
|
55
60
|
- Code scanning alerts.
|
|
56
61
|
- Secret scanning where available.
|
|
62
|
+
- Push protection for detected secrets where available.
|
|
57
63
|
|
|
58
64
|
## Issues, Discussions, And Labels
|
|
59
65
|
|
package/SECURITY.md
CHANGED
|
@@ -16,6 +16,20 @@ Report vulnerabilities through a private security advisory or by contacting the
|
|
|
16
16
|
- Never overwrite downstream project files unless the user passes an explicit force flag.
|
|
17
17
|
- Redact secrets before writing logs, findings, summaries, or prompts.
|
|
18
18
|
- Do not copy third-party source code from research targets into this package.
|
|
19
|
+
- Keep npm lifecycle scripts deny-by-default where possible; pin reviewed approvals for required native/build packages and deny optional scripts that are not needed.
|
|
20
|
+
|
|
21
|
+
## Optional Runtime Threat Model
|
|
22
|
+
|
|
23
|
+
- Treat model output, repository files, MCP metadata, MCP output, and provider error text as untrusted input.
|
|
24
|
+
- Accept credential references only from environment variables or the OS keychain. Never persist resolved values.
|
|
25
|
+
- Reject provider/MCP redirects, embedded URL credentials, unsafe protocols, non-allowlisted MCP hosts, and private or special-use DNS results unless private access is explicit.
|
|
26
|
+
- Require explicit host opt-in and approval for Cursor and stdio MCP. Use argv spawning with no shell and a minimal environment.
|
|
27
|
+
- Reject path traversal, symlink escapes, Git internals, environment files, private keys, package-manager credentials, and runtime evidence paths from model file tools.
|
|
28
|
+
- Block worktree creation when sensitive filenames are tracked. Run the full audit before enabling runtime execution because filename checks do not replace content secret scanning.
|
|
29
|
+
- Keep Docker network off by default and require approval before configured network access. Resolve reviewed local images to immutable IDs.
|
|
30
|
+
- Never authorize an MCP action solely from server annotations or model intent. Empty tool allowlists expose nothing.
|
|
31
|
+
- Redact run records and event logs recursively. Redaction is defense in depth, not permission to send secrets or customer data to a provider.
|
|
32
|
+
- Never auto-merge, push, open pull requests, deploy, or apply migrations.
|
|
19
33
|
|
|
20
34
|
## Downstream Security Defaults
|
|
21
35
|
|
package/SUPPLY_CHAIN.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# Supply Chain Security
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The root kit and optional runtime are intended for public npm distribution. Release integrity is part of the product, not an optional operations detail.
|
|
4
4
|
|
|
5
5
|
## Publish Identity
|
|
6
6
|
|
|
7
|
-
- Public
|
|
8
|
-
- Publish path: GitHub Actions release workflow through npm Trusted Publishing
|
|
9
|
-
- Authentication:
|
|
7
|
+
- Public packages: `@appsforgood/next-supabase-kit` and `@appsforgood/agent-kit-runtime`.
|
|
8
|
+
- Publish path: GitHub Actions release workflow through npm Trusted Publishing.
|
|
9
|
+
- Authentication: short-lived GitHub OIDC identity only; automated publishing has no npm token fallback.
|
|
10
10
|
- Environment: `npm-publish`.
|
|
11
|
-
-
|
|
11
|
+
- Each npm package must have its own Trusted Publisher scoped to repository `lukey662/agentsandskills`, workflow `release.yml`, environment `npm-publish`, and allowed action `npm publish`.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
The workflow removes inherited npm token variables, supplies a token-free npm configuration, and requires the GitHub OIDC request context before publishing. A missing or incorrect package-level Trusted Publisher fails closed instead of switching authentication modes. Successful publication carries npm provenance tied to that workflow identity.
|
|
14
14
|
|
|
15
|
-
The release workflow
|
|
15
|
+
The release workflow creates separate root/runtime tarballs and package-rooted CycloneDX SBOMs, uploads them as release evidence, and attests each SBOM against its exact tarball. Runtime publishes before root when both are new. Both public packages are verified before the matching GitHub release, so a partial npm publish cannot create an apparently successful source release.
|
|
16
16
|
|
|
17
17
|
## Release Gates
|
|
18
18
|
|
|
@@ -22,16 +22,16 @@ Before publish:
|
|
|
22
22
|
- `npm run release:check`
|
|
23
23
|
- Public release review
|
|
24
24
|
|
|
25
|
-
`npm run release:check` validates JSON assets, typechecks, tests, builds, runs install smoke, runs dependency audit, validates SBOM generation, and performs package dry
|
|
25
|
+
`npm run release:check` validates JSON assets, typechecks both workspaces, tests, builds both packages, runs install smoke, runs dependency audit, validates SBOM generation, and performs root/runtime package dry runs. The install smoke also inspects packaged public files for forbidden private-package text.
|
|
26
26
|
|
|
27
27
|
`npm run sbom:check` validates that the lockfile-derived CycloneDX SBOM can be generated, includes runtime dependencies, and has no unresolved required dependency links. Optional platform-specific dependency links may be skipped when npm records optional package edges that are not present for the current install target.
|
|
28
28
|
|
|
29
29
|
After publish:
|
|
30
30
|
|
|
31
31
|
- `npm view @appsforgood/next-supabase-kit@<version> version`
|
|
32
|
-
- `
|
|
33
|
-
-
|
|
34
|
-
- `
|
|
32
|
+
- `npm view @appsforgood/agent-kit-runtime@<version> version`
|
|
33
|
+
- Clean install and import of `@appsforgood/agent-kit-runtime`
|
|
34
|
+
- Clean install of both packages followed by root `doctor`, `init`, `audit --json` with zero failures, and `orchestrate validate --json`
|
|
35
35
|
|
|
36
36
|
The release workflow and `npm run publish:verify` both use `scripts/post-publish-verify.mjs` for this post-publish verification path.
|
|
37
37
|
|
|
@@ -39,7 +39,7 @@ The release workflow and `npm run publish:verify` both use `scripts/post-publish
|
|
|
39
39
|
|
|
40
40
|
- CI verifies package behavior on push and pull request.
|
|
41
41
|
- Dependency Review blocks pull requests that introduce moderate or worse known vulnerabilities.
|
|
42
|
-
- Dependabot proposes npm and GitHub Actions updates.
|
|
42
|
+
- Dependabot proposes npm and GitHub Actions updates; workflow actions remain pinned to immutable commit SHAs with reviewed version comments.
|
|
43
43
|
- CodeQL scans JavaScript/TypeScript code.
|
|
44
44
|
- OpenSSF Scorecard publishes repository security posture as code-scanning evidence.
|
|
45
45
|
- CODEOWNERS identifies default review ownership for source, templates, schemas, and workflows.
|
|
@@ -47,9 +47,10 @@ The release workflow and `npm run publish:verify` both use `scripts/post-publish
|
|
|
47
47
|
|
|
48
48
|
## Maintainer Rules
|
|
49
49
|
|
|
50
|
-
- Do not use
|
|
50
|
+
- Do not use npm publish tokens for automation. Maintainer-local OTP publishing is an explicit recovery operation, not a workflow fallback.
|
|
51
51
|
- Do not publish from unreviewed branches or untrusted workflow changes.
|
|
52
52
|
- Treat workflow edits as release-risk changes requiring security and maintainer review.
|
|
53
|
-
-
|
|
53
|
+
- Keep package-write token secrets absent from repository and environment configuration.
|
|
54
54
|
- Keep package contents free of secrets, private downstream data, and copied third-party source.
|
|
55
55
|
- Keep SBOM generation and attestation in the shared release path; do not publish an unattested tarball when the workflow is available.
|
|
56
|
+
- Keep `allowScripts` approvals version-pinned to reviewed required native/build packages. Explicitly deny optional package scripts that are not needed.
|
package/UPGRADE.md
CHANGED
|
@@ -13,13 +13,13 @@ This file defines how maintainers and downstream projects should upgrade Agent K
|
|
|
13
13
|
|
|
14
14
|
Before publishing a new package version:
|
|
15
15
|
|
|
16
|
-
1. Update
|
|
16
|
+
1. Update changesets plus root/runtime changelogs with user-visible changes, migration notes, and deprecations.
|
|
17
17
|
2. Update `ROADMAP.md` and `BEST_PRACTICE_EVIDENCE.md` when a research finding becomes enforced behavior.
|
|
18
18
|
3. Run `npm run release:check`.
|
|
19
19
|
4. Run `agent-kit package validate` from the source repository when runtime adapter or package assets changed.
|
|
20
|
-
5. Confirm
|
|
21
|
-
6. Publish through npm Trusted Publishing.
|
|
22
|
-
7. Verify public
|
|
20
|
+
5. Confirm root and runtime pack dry runs include only public-safe files.
|
|
21
|
+
6. Publish runtime then root through npm Trusted Publishing with separate SBOM attestations.
|
|
22
|
+
7. Verify public runtime import plus root `doctor`, `init`, `audit`, and `orchestrate validate`.
|
|
23
23
|
|
|
24
24
|
## Downstream Upgrade Checklist
|
|
25
25
|
|
|
@@ -33,6 +33,16 @@ npx @appsforgood/next-supabase-kit@latest adapter validate antigravity
|
|
|
33
33
|
npx @appsforgood/next-supabase-kit@latest audit --min-readiness baseline-setup
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
Projects using executable orchestration should also upgrade the optional runtime deliberately:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install --save-dev @appsforgood/agent-kit-runtime@latest
|
|
40
|
+
agent-kit orchestrate validate
|
|
41
|
+
agent-kit orchestrate plan "Upgrade verification"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Review `.agent-kit/orchestrator.json` conflict proposals, schema changes, provider capability declarations, MCP/host/private-network exceptions, Docker image availability, native `better-sqlite3` install policy, and checkpoint compatibility before enabling runs. Finish or cancel paused runs before changing runtime versions.
|
|
45
|
+
|
|
36
46
|
The package includes an older-install regression fixture that exercises this path. The fixture proves update preserves customized docs, writes conflict templates, installs new current baseline docs and `.agent-kit/` assets, then audits with zero failures.
|
|
37
47
|
|
|
38
48
|
`agent-kit diff` includes an upgrade preview. Review `preview.wouldCreate`, `preview.wouldWriteConflicts`, `agentRoster`, `modelRouting`, and `libraryFolders.missing` before running update so the branch owner knows which files will be created, which local docs will be preserved through conflicts, and which `.agent-kit/` assets will be refreshed.
|
|
@@ -22,8 +22,11 @@ Adapters should point back to those files. Do not maintain separate policy, secu
|
|
|
22
22
|
- `cursor-agent-kit.mdc`: Cursor project-rule template.
|
|
23
23
|
- `claude-code-subagents.md`: Claude Code project subagent template guidance.
|
|
24
24
|
- `antigravity.md`: Antigravity plugin, command, runtime skill, and validation guidance.
|
|
25
|
+
- `orchestrator-runtime.md`: executable LangGraph runtime, approvals, sandbox, provider, MCP, worktree, and evidence guidance.
|
|
25
26
|
- `model-selection/`: dated setup examples for Codex, Claude Code, Cursor, and GitHub Copilot model routing.
|
|
26
27
|
|
|
27
28
|
## Activation Rule
|
|
28
29
|
|
|
29
30
|
Record active tool surfaces in `ASSISTANT_ADAPTERS.md`. A project is not best-practice ready simply because adapter templates exist; the team must document which tools are active, how model selection is handled, whether enforcement is enforced/partial/advisory/manual, and what evidence proves the canonical council instructions loaded.
|
|
31
|
+
|
|
32
|
+
IDE adapters are not execution evidence. Claim an orchestrated run only when `agent-kit orchestrate status`, runtime JSONL evidence, and the SQLite checkpointed workflow confirm it.
|
|
@@ -19,6 +19,8 @@ This adapter packages Agent Kit as native Antigravity-style plugin assets while
|
|
|
19
19
|
|
|
20
20
|
Runtime command files must wrap those files. Do not fork role definitions, security policy, frontend quality rules, release gates, or session evidence rules into command prompts.
|
|
21
21
|
|
|
22
|
+
Antigravity commands are instruction adapters. They do not replace or prove execution by `@appsforgood/agent-kit-runtime`; use `agent-kit orchestrate status` and exported run evidence for that claim.
|
|
23
|
+
|
|
22
24
|
## Activation
|
|
23
25
|
|
|
24
26
|
```bash
|
|
@@ -35,3 +35,4 @@ Start with the Planner workflow. For core changes, hand off to Lead Architect. F
|
|
|
35
35
|
- Document active subagents and verification evidence in `ASSISTANT_ADAPTERS.md`.
|
|
36
36
|
- Record model-selection evidence and limitations in `ASSISTANT_ADAPTERS.md`.
|
|
37
37
|
- Avoid giving a subagent broader tool access than its role needs.
|
|
38
|
+
- Treat Claude subagents as instruction adapters. Use `agent-kit orchestrate ...` and its run evidence when the task requires the executable checkpointed council.
|
|
@@ -49,3 +49,5 @@ Record in `ASSISTANT_ADAPTERS.md`:
|
|
|
49
49
|
- Any known limitations or manual invocation steps.
|
|
50
50
|
|
|
51
51
|
Run `agent-kit adapter validate codex` after activation.
|
|
52
|
+
|
|
53
|
+
Codex custom agents are instruction adapters. Use `agent-kit orchestrate validate`, `plan`, `run`, and `status` when a task requires the executable checkpointed council; do not infer graph execution from a delegated IDE thread.
|
|
@@ -26,6 +26,8 @@ Use `AGENTS.md`, `AGENT_ROSTER.md`, `.agent-kit/agent-roster.json`, `MODEL_ROUTI
|
|
|
26
26
|
|
|
27
27
|
Run `agent-kit audit --min-readiness baseline-setup` for setup validity. Use `agent-kit audit --min-readiness best-practice-candidate` only when project-specific evidence has replaced starter placeholders.
|
|
28
28
|
|
|
29
|
+
This Cursor rule is an instruction adapter, not proof that the executable council ran. Use `agent-kit orchestrate validate` and `agent-kit orchestrate status` for runtime evidence. A Cursor executor route additionally requires `cursor.enabled`, `sandbox.allowHostMutations`, an isolated worktree, and explicit host-mutation approval.
|
|
30
|
+
|
|
29
31
|
## Model Selection
|
|
30
32
|
|
|
31
33
|
Use Cursor's active model picker or team model policy with the profile in `MODEL_ROUTING.md`. Treat this rule as advisory unless the active Cursor environment provides enforceable model controls.
|
|
@@ -11,4 +11,4 @@ When a request is ambiguous, planning-oriented, roadmap-related, or spans multip
|
|
|
11
11
|
|
|
12
12
|
Delegate to the `@planner` subagent in `.cursor/agents/planner.md` when the task needs isolated planning context.
|
|
13
13
|
|
|
14
|
-
Read project context,
|
|
14
|
+
Read `AGENTS.md`, `.agent-kit/agent-roster.json`, `MODEL_ROUTING.md`, project context, and active corrections before choosing a workflow.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Orchestrator Runtime Adapter
|
|
2
|
+
|
|
3
|
+
`@appsforgood/agent-kit-runtime` is the optional executable layer for the Agent Kit council. IDE rules, subagents, slash commands, and model-routing documents remain instruction adapters; they do not imply that a checkpointed graph ran.
|
|
4
|
+
|
|
5
|
+
## Activation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install --save-dev @appsforgood/agent-kit-runtime
|
|
9
|
+
agent-kit orchestrate validate
|
|
10
|
+
agent-kit orchestrate plan "Describe the goal"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Edit `.agent-kit/orchestrator.json`, add provider credential references such as `env:OPENAI_API_KEY` or `keychain:team-openai`, configure at least one deterministic model alias, and set `enabled` to `true` only after validation passes.
|
|
14
|
+
|
|
15
|
+
## Execution Contract
|
|
16
|
+
|
|
17
|
+
- Roster workflows compile to explicit, bounded LangGraph nodes.
|
|
18
|
+
- Runs pause at plan, network, worktree-write, host-execution, and final-commit gates when applicable.
|
|
19
|
+
- Mutations occur in an isolated Git worktree. Agent Kit may create one scoped commit after approval; it never merges, pushes, or opens a pull request.
|
|
20
|
+
- Docker is the default mutation command boundary. Network access is off unless configured and approved.
|
|
21
|
+
- Provider and remote MCP requests reject redirects, embedded credentials, non-allowlisted hosts, and private or special-use addresses unless private access is explicitly configured.
|
|
22
|
+
- Stdio MCP servers execute on the host only when both `allowHostExecution` and `sandbox.allowHostMutations` are enabled and the host gate is approved.
|
|
23
|
+
- Run checkpoints live in `.agent-kit/runtime/runtime.sqlite`; redacted run records and JSONL evidence live under `.agent-kit/runtime/runs/` and are ignored by Git.
|
|
24
|
+
|
|
25
|
+
## Cursor Executor
|
|
26
|
+
|
|
27
|
+
Set an agent route to `cursor` only when Cursor CLI execution is intentionally required. The runtime invokes argv directly inside the isolated worktree, with no shell, a bounded timeout, minimal inherited environment, and an explicit host-mutation approval. Provider-backed model agents remain the default.
|
|
28
|
+
|
|
29
|
+
## Verification
|
|
30
|
+
|
|
31
|
+
Record:
|
|
32
|
+
|
|
33
|
+
- `agent-kit orchestrate validate --json`
|
|
34
|
+
- the offline `orchestrate plan` output
|
|
35
|
+
- provider and MCP probe results, without credentials
|
|
36
|
+
- run ID, approval decisions, scoped commit, and exported evidence
|
|
37
|
+
- Docker image ID and any private-network or host-execution exception rationale
|
|
38
|
+
|
|
39
|
+
Use `agent-kit studio serve` to inspect and decide paused runs in the local Studio UI.
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
- Frontend product-quality scorecard is at least adequate before release.
|
|
10
10
|
- Visual direction fits the domain.
|
|
11
11
|
- No generic AI-site gradient/card defaults.
|
|
12
|
+
- No accent-border cards, glow rails, neon strokes, gradient borders, oversized glass panels, ornamental icon walls, fake dashboard proof, decorative credibility badges, vague SaaS sayings, or layout filler sections unless documented as a brand-system exception.
|
|
12
13
|
- Navigation is clear and predictable.
|
|
13
14
|
- Loading, empty, error, disabled, and success states exist.
|
|
14
15
|
- Mobile layout is designed, not incidental.
|
|
@@ -60,10 +60,16 @@ Use this deterministic checklist for UI audit, polish, layout cleanup, responsiv
|
|
|
60
60
|
| Detector | Blocker Signal | Major Signal |
|
|
61
61
|
| --- | --- | --- |
|
|
62
62
|
| Generic SaaS styling | First screen could fit another product by changing logo and headline | Visual direction relies on common cards, gradients, fake dashboards, or vague claims |
|
|
63
|
+
| Accent-border card styling | Cards, callouts, alerts, panels, or status messages rely on thick, high-contrast, one-sided colored borders, glow rails, neon strokes, or gradient borders as the main state cue | Accent borders add decoration where restrained 1px full-border surfaces, subtle background tint, clear labels, icons, and semantic state text would communicate better |
|
|
64
|
+
| Gradient-as-design | Gradient hero, gradient text, abstract blobs, or glow backgrounds substitute for a product-specific first screen | Gradients are present without a tokenized role, brand rationale, or product-specific content support |
|
|
65
|
+
| Card soup | The screen is mostly decorative cards and the primary workflow is unclear | Repeated cards could become a table, list, timeline, form, split pane, or workflow-specific grouped section |
|
|
63
66
|
| Missing content fingerprint | UI hides missing product decisions behind placeholders | Real nouns, records, actions, or edge cases are too sparse |
|
|
64
67
|
| Weak visual identity | No product-specific density, typography, imagery, or interaction point of view | Direction is coherent but category-generic |
|
|
65
68
|
| Unsafe reference use | Copy, assets, layout signature, or brand identity appear copied | References are cited without lessons and anti-copy notes |
|
|
66
69
|
| Fake or unsupported proof | Fake metrics or claims imply unavailable capability | Proof exists but is not tied to actual product behavior |
|
|
70
|
+
| Vague SaaS sayings | Copy could apply to any product and hides what the user can actually do | Phrases like "supercharge your workflow", "unlock insights", "seamless collaboration", or "AI-powered productivity" are not grounded in concrete actions, nouns, constraints, or outcomes |
|
|
71
|
+
| Decorative credibility | Badges, pills, stars, awards, or "trusted by" placeholders imply proof that does not exist | Credibility elements are decorative and should be replaced with real proof, integration names, security posture, support details, or removed |
|
|
72
|
+
| Filler sections | Marketing sections replace the requested app or tool workflow on the first screen | "Features", "benefits", or "how it works" sections are generic and should be replaced with the actual usable workflow or domain-specific hierarchy |
|
|
67
73
|
|
|
68
74
|
## Evidence Requirements
|
|
69
75
|
|