@appsforgood/next-supabase-kit 0.4.0 → 0.4.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +2 -2
  3. package/UPGRADE.md +11 -0
  4. package/USER_GUIDE.html +808 -0
  5. package/USER_GUIDE.md +7 -5
  6. package/agents/app-engineer/agent.md +2 -0
  7. package/agents/copy/agent.md +16 -3
  8. package/agents/design/agent.md +7 -1
  9. package/agents/optional/deploy/agent.md +6 -0
  10. package/agents/optional/docs/agent.md +4 -0
  11. package/agents/optional/lead-architect/agent.md +8 -0
  12. package/agents/optional/research/agent.md +4 -0
  13. package/agents/planner/agent.md +8 -0
  14. package/agents/qa/agent.md +2 -0
  15. package/agents/security/agent.md +2 -0
  16. package/catalog.json +1 -0
  17. package/dist/index.js +74 -11
  18. package/dist/index.js.map +1 -1
  19. package/examples/next-supabase-installed/.agent-kit/config.json +1 -0
  20. package/examples/next-supabase-installed/.agent-kit/manifest.json +36 -31
  21. package/examples/next-supabase-installed/.antigravity/agent-kit/commands/copy.toml +1 -1
  22. package/examples/next-supabase-installed/.antigravity/runtime-skills/deslop/SKILL.md +62 -0
  23. package/examples/next-supabase-installed/.antigravity/runtime-skills/frontend-design/SKILL.md +90 -9
  24. package/examples/next-supabase-installed/.antigravity/runtime-skills/product-copy/SKILL.md +36 -4
  25. package/examples/next-supabase-installed/.claude/agents/app-engineer.md +2 -0
  26. package/examples/next-supabase-installed/.claude/agents/copy.md +16 -3
  27. package/examples/next-supabase-installed/.claude/agents/design.md +7 -1
  28. package/examples/next-supabase-installed/.claude/agents/planner.md +8 -0
  29. package/examples/next-supabase-installed/.claude/agents/qa.md +2 -0
  30. package/examples/next-supabase-installed/.claude/agents/security.md +2 -0
  31. package/examples/next-supabase-installed/.codex/agents/app-engineer.toml +2 -0
  32. package/examples/next-supabase-installed/.codex/agents/copy.toml +17 -4
  33. package/examples/next-supabase-installed/.codex/agents/design.toml +7 -1
  34. package/examples/next-supabase-installed/.codex/agents/planner.toml +8 -0
  35. package/examples/next-supabase-installed/.codex/agents/qa.toml +2 -0
  36. package/examples/next-supabase-installed/.codex/agents/security.toml +2 -0
  37. package/examples/next-supabase-installed/.cursor/agents/app-engineer.md +2 -0
  38. package/examples/next-supabase-installed/.cursor/agents/copy.md +16 -3
  39. package/examples/next-supabase-installed/.cursor/agents/design.md +7 -1
  40. package/examples/next-supabase-installed/.cursor/agents/planner.md +8 -0
  41. package/examples/next-supabase-installed/.cursor/agents/qa.md +2 -0
  42. package/examples/next-supabase-installed/.cursor/agents/security.md +2 -0
  43. package/examples/next-supabase-installed/.cursor/skills/deslop/SKILL.md +62 -0
  44. package/examples/next-supabase-installed/.cursor/skills/frontend-design/SKILL.md +90 -9
  45. package/examples/next-supabase-installed/.cursor/skills/product-copy/SKILL.md +36 -4
  46. package/examples/next-supabase-installed/AGENTS.md +1 -1
  47. package/examples/next-supabase-installed/USER_GUIDE.html +808 -0
  48. package/examples/next-supabase-installed/USER_GUIDE.md +7 -5
  49. package/examples/next-supabase-installed/skills/deslop/SKILL.md +62 -0
  50. package/examples/next-supabase-installed/skills/frontend-design/SKILL.md +90 -9
  51. package/examples/next-supabase-installed/skills/product-copy/SKILL.md +36 -4
  52. package/examples/next-supabase-installed/tree.txt +3 -0
  53. package/package.json +6 -4
  54. package/research/agent-skill-gap-report.md +7 -2
  55. package/skills/deslop/SKILL.md +62 -0
  56. package/skills/frontend-design/SKILL.md +90 -9
  57. package/skills/product-copy/SKILL.md +36 -4
  58. package/templates/next-supabase/AGENTS.md +1 -1
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 3,
3
3
  "packageName": "@appsforgood/next-supabase-kit",
4
- "packageVersion": "0.4.0",
4
+ "packageVersion": "0.4.1",
5
5
  "stack": "next-supabase",
6
6
  "installedAt": "2026-09-06T01:00:41.569Z",
7
7
  "docs": [
8
8
  "AGENTS.md",
9
- "USER_GUIDE.md"
9
+ "USER_GUIDE.md",
10
+ "USER_GUIDE.html"
10
11
  ],
11
12
  "activated": [
12
13
  "cursor",
@@ -20,46 +21,46 @@
20
21
  "USER_GUIDE.md": "87c73c7d2501429953e8b7bbfb4061dfecaa1d818e585706aeccfb44d6aeb058"
21
22
  },
22
23
  "assetHashes": {
23
- "AGENTS.md": "c1792ecc8bd4836505574015ab08c0fc593d93f4c5ef518489bb85d2af66be8a",
24
- "USER_GUIDE.md": "87c73c7d2501429953e8b7bbfb4061dfecaa1d818e585706aeccfb44d6aeb058",
24
+ "AGENTS.md": "d5b570847e7e283a4603055445d6b8cf87dd6e041305c6a3909fa7cde327db81",
25
+ "USER_GUIDE.md": "68b025fb9610e9ac40c324e755ce1260fd680e9937e32848ab9d4ba43835c3eb",
25
26
  ".cursor/rules/cursor-agent-kit.mdc": "850026beea86067d95925eea15eb447365d6a956e0f7f475ebd7fef89043d44b",
26
27
  "CLAUDE.md": "d5095edff182babe5c13717bb16cadcd95569d9e4abd37ceb307bb1448b65557",
27
- ".cursor/agents/planner.md": "884a711a07466a2c5333c057678d9da2233216d5c410a3fc9e676397cc7f6a77",
28
- ".cursor/agents/app-engineer.md": "8909c318c81327f61e2efac8b2a5f10802d1d1af75f46467dd585a7db4e3e917",
29
- ".cursor/agents/security.md": "b111059028a3b4c88efa42849b8ca9edbe7af34c6aacb988528a2bc998833503",
30
- ".cursor/agents/design.md": "2a50d5aa33ae0bc6e62836d64d24af3b6c536dac7a1554aee17f04bd61fb72dc",
31
- ".cursor/agents/qa.md": "f23c04c7584f7b3befb5d846f8c57646d1a3a41a9fed5e31aeb980b97158afcd",
32
- ".cursor/agents/copy.md": "380bcee084f05fbf31514420363d9e6ffef9dfe94cdd66063657aa81b8902d5f",
28
+ ".cursor/agents/planner.md": "90676313078391848072fd3a4dc24d8479a7911aa8e7f68a38f46b73074aa6d4",
29
+ ".cursor/agents/app-engineer.md": "c09eee305c0f2175c04ef78d0d0c788638a550565df484bb9ad6a44ae1e8d37c",
30
+ ".cursor/agents/security.md": "d71de67a6c66198c02db47357b9a91d86601659c843835ecb481e9edc651a238",
31
+ ".cursor/agents/design.md": "04277841a61c9b3f0ea970a14319fe7c1c199a6be5483d5e69b65c231f8764f8",
32
+ ".cursor/agents/qa.md": "a4f77a26ee91d0065d5ef9f7a48ebe9f4466b2d17a2d63cb0ffcbc4bc24b9a73",
33
+ ".cursor/agents/copy.md": "11e7df36d16221d71e3290dc5ba07711df7320895ad2215eeebec5afcf43bf21",
33
34
  ".cursor/skills/planning/SKILL.md": "a542c55e76c8e5baa37132451b3dd1c4d49606d233037e0512f82b714603f51a",
34
35
  ".cursor/skills/nextjs-app-router/SKILL.md": "b598aa1f05ed8f0f31fc0d6bd8bb1011566d1164cb4fd5e8df2c0c02deffc532",
35
36
  ".cursor/skills/supabase-auth-rls/SKILL.md": "bdd632edb4f8d824f337fe4a14f306479e81a104d814764b463006b53fe4750a",
36
37
  ".cursor/skills/postgres-migrations/SKILL.md": "1d29ec1f31ebb824a5f4700f08d999b4e4dc9a0aefc7145722b13c6625e85db5",
37
38
  ".cursor/skills/owasp-security-review/SKILL.md": "8141770ea49648728d10e214283a7dce338af4780b66874c58360d9ef7ee4311",
38
- ".cursor/skills/frontend-design/SKILL.md": "57f7e00f248c3e868df3fb5957956ce443b28fdf3ecab615be95cf66f06172aa",
39
+ ".cursor/skills/frontend-design/SKILL.md": "2fb0c3a9a637af2c0dda28aef1991ee8f30ef2113f02445d9c7403208578d04f",
39
40
  ".cursor/skills/accessibility-wcag/SKILL.md": "1199b4852c2ad9981834a03dcc86edd1f68d8337d25aa13d3c4ad5518343a520",
40
41
  ".cursor/skills/browser-qa/SKILL.md": "c04e2fa549d9ef6a7c91280859a6394ac59273e6866d537de879d1f1b5fcff1a",
41
42
  ".cursor/skills/testing-qa/SKILL.md": "1e92f7c33e29747c51548c0d1f58507de53768aa9e9748c3be2809d88bf1dc1f",
42
- ".cursor/skills/product-copy/SKILL.md": "2c6fe8e3752ad9f026cadd4ac02ff0a22a321f0714fe8b2baf99cdfae7b3d6c8",
43
+ ".cursor/skills/product-copy/SKILL.md": "2f1982ac949ed32690046f516dfefa1ca85bfb51318b403822696bd12bb982c4",
43
44
  ".cursor/skills/ship/SKILL.md": "ac426092a1868dd1deb01689dc2f5591dbe40acb2fceec559adce41602bb8d6f",
44
- ".claude/agents/planner.md": "884a711a07466a2c5333c057678d9da2233216d5c410a3fc9e676397cc7f6a77",
45
- ".claude/agents/app-engineer.md": "8909c318c81327f61e2efac8b2a5f10802d1d1af75f46467dd585a7db4e3e917",
46
- ".claude/agents/security.md": "b111059028a3b4c88efa42849b8ca9edbe7af34c6aacb988528a2bc998833503",
47
- ".claude/agents/design.md": "2a50d5aa33ae0bc6e62836d64d24af3b6c536dac7a1554aee17f04bd61fb72dc",
48
- ".claude/agents/qa.md": "f23c04c7584f7b3befb5d846f8c57646d1a3a41a9fed5e31aeb980b97158afcd",
49
- ".claude/agents/copy.md": "380bcee084f05fbf31514420363d9e6ffef9dfe94cdd66063657aa81b8902d5f",
50
- ".codex/agents/planner.toml": "d513d8083721e0651bf7a2785684479da0d2e0cd073f8ad35515cc99a2802c86",
51
- ".codex/agents/app-engineer.toml": "22a3ead712e5258e94f9b4b234e9bf9abf0ba496c4b0afae55b4ce074e738124",
52
- ".codex/agents/security.toml": "d77022df7369195ae8d9441aff5493f1f8435850f3f3d0619132f31e1e0ac4e7",
53
- ".codex/agents/design.toml": "534dd7dd0962c52b0604a1488a4e4b1959c4400e592a5d73e4355570fbea3ed4",
54
- ".codex/agents/qa.toml": "8bc8fcc738f76e5f66a64662daac26408f3493d48601cd574ee7592cd87cdc18",
55
- ".codex/agents/copy.toml": "524bd8be988c224c1bcce4474550d48ab5afc111dcadd9c6a6ff1dd1e115ad7f",
45
+ ".claude/agents/planner.md": "90676313078391848072fd3a4dc24d8479a7911aa8e7f68a38f46b73074aa6d4",
46
+ ".claude/agents/app-engineer.md": "c09eee305c0f2175c04ef78d0d0c788638a550565df484bb9ad6a44ae1e8d37c",
47
+ ".claude/agents/security.md": "d71de67a6c66198c02db47357b9a91d86601659c843835ecb481e9edc651a238",
48
+ ".claude/agents/design.md": "04277841a61c9b3f0ea970a14319fe7c1c199a6be5483d5e69b65c231f8764f8",
49
+ ".claude/agents/qa.md": "a4f77a26ee91d0065d5ef9f7a48ebe9f4466b2d17a2d63cb0ffcbc4bc24b9a73",
50
+ ".claude/agents/copy.md": "11e7df36d16221d71e3290dc5ba07711df7320895ad2215eeebec5afcf43bf21",
51
+ ".codex/agents/planner.toml": "f55f218778ae76942e6c7ea9a159e89dc5c13466b0effa0c43935b29d8182d11",
52
+ ".codex/agents/app-engineer.toml": "e266f129da9949f0e62128f22d42474f94a47cb81db0a5c20ef5d87e39b894dd",
53
+ ".codex/agents/security.toml": "9e202a8125ddce38d84487a59d7c7cd7328acb8c441704f670b8331042be15f0",
54
+ ".codex/agents/design.toml": "6b9114c3ab55db610cc38632939930d966282a427ba0fba4c4c6178f43d10725",
55
+ ".codex/agents/qa.toml": "07f53a37d896203707bcb28d19e5a502194a3276faa387bff3739e8d876af564",
56
+ ".codex/agents/copy.toml": "76e0b1e54139a6d4dc5140f7214aceaa72f186e45f561c6708e1263747ac07fd",
56
57
  ".github/copilot-instructions.md": "f5d26cc16aebd5b82f5fb75b85a59e17b802ddb444e50cc25e61a37c616e738f",
57
58
  ".antigravity/agent-kit/plugin.json": "e2f156fdd68ca706dd289152722bfd07ebb0c29a16afadcfdf178a723ecb6a90",
58
59
  ".antigravity/agent-kit/commands/plan.toml": "2f72ca9f76265a2255686bad4cb1075563884ab7b7da2199ab9a2a30106792de",
59
60
  ".antigravity/agent-kit/commands/browser-qa.toml": "f94071c6eca96ae3e0d2c493abfc65d5215acaa7a2bb1423fe1c7d61743e37ef",
60
61
  ".antigravity/agent-kit/commands/security.toml": "4622b2d38795f9d58662b225bce2291d14e58644aa0aed5607b9b567ddf342c5",
61
62
  ".antigravity/agent-kit/commands/frontend.toml": "3f0f03b8094e0103e47709f6af6fba09b3dd7a0decc22191777f8ae5770f064c",
62
- ".antigravity/agent-kit/commands/copy.toml": "724413f06edccfd691adc4d0e6daf00aa23a8e1ced573db52c7f76f91d63d951",
63
+ ".antigravity/agent-kit/commands/copy.toml": "40ad093163915a9f000bf8344e49c37dc2d735ab404e84430323502af0bf031e",
63
64
  ".antigravity/agent-kit/commands/test.toml": "238f3d670c0ecabeab38204fe0a42b32fc5cbdad885b706715f17075c855c9d7",
64
65
  ".antigravity/agent-kit/commands/ship.toml": "dfa8a6bc654e7bfbf06ad1af59f122a8b116b84008b5ab9325ce21eba3eab9ef",
65
66
  ".antigravity/runtime-skills/planning/SKILL.md": "a542c55e76c8e5baa37132451b3dd1c4d49606d233037e0512f82b714603f51a",
@@ -67,23 +68,27 @@
67
68
  ".antigravity/runtime-skills/supabase-auth-rls/SKILL.md": "bdd632edb4f8d824f337fe4a14f306479e81a104d814764b463006b53fe4750a",
68
69
  ".antigravity/runtime-skills/postgres-migrations/SKILL.md": "1d29ec1f31ebb824a5f4700f08d999b4e4dc9a0aefc7145722b13c6625e85db5",
69
70
  ".antigravity/runtime-skills/owasp-security-review/SKILL.md": "8141770ea49648728d10e214283a7dce338af4780b66874c58360d9ef7ee4311",
70
- ".antigravity/runtime-skills/frontend-design/SKILL.md": "57f7e00f248c3e868df3fb5957956ce443b28fdf3ecab615be95cf66f06172aa",
71
+ ".antigravity/runtime-skills/frontend-design/SKILL.md": "2fb0c3a9a637af2c0dda28aef1991ee8f30ef2113f02445d9c7403208578d04f",
71
72
  ".antigravity/runtime-skills/accessibility-wcag/SKILL.md": "1199b4852c2ad9981834a03dcc86edd1f68d8337d25aa13d3c4ad5518343a520",
72
73
  ".antigravity/runtime-skills/browser-qa/SKILL.md": "c04e2fa549d9ef6a7c91280859a6394ac59273e6866d537de879d1f1b5fcff1a",
73
74
  ".antigravity/runtime-skills/testing-qa/SKILL.md": "1e92f7c33e29747c51548c0d1f58507de53768aa9e9748c3be2809d88bf1dc1f",
74
- ".antigravity/runtime-skills/product-copy/SKILL.md": "2c6fe8e3752ad9f026cadd4ac02ff0a22a321f0714fe8b2baf99cdfae7b3d6c8",
75
+ ".antigravity/runtime-skills/product-copy/SKILL.md": "2f1982ac949ed32690046f516dfefa1ca85bfb51318b403822696bd12bb982c4",
75
76
  ".antigravity/runtime-skills/ship/SKILL.md": "ac426092a1868dd1deb01689dc2f5591dbe40acb2fceec559adce41602bb8d6f",
76
77
  "skills/planning/SKILL.md": "a542c55e76c8e5baa37132451b3dd1c4d49606d233037e0512f82b714603f51a",
77
78
  "skills/nextjs-app-router/SKILL.md": "b598aa1f05ed8f0f31fc0d6bd8bb1011566d1164cb4fd5e8df2c0c02deffc532",
78
79
  "skills/supabase-auth-rls/SKILL.md": "bdd632edb4f8d824f337fe4a14f306479e81a104d814764b463006b53fe4750a",
79
80
  "skills/postgres-migrations/SKILL.md": "1d29ec1f31ebb824a5f4700f08d999b4e4dc9a0aefc7145722b13c6625e85db5",
80
81
  "skills/owasp-security-review/SKILL.md": "8141770ea49648728d10e214283a7dce338af4780b66874c58360d9ef7ee4311",
81
- "skills/frontend-design/SKILL.md": "57f7e00f248c3e868df3fb5957956ce443b28fdf3ecab615be95cf66f06172aa",
82
+ "skills/frontend-design/SKILL.md": "2fb0c3a9a637af2c0dda28aef1991ee8f30ef2113f02445d9c7403208578d04f",
82
83
  "skills/accessibility-wcag/SKILL.md": "1199b4852c2ad9981834a03dcc86edd1f68d8337d25aa13d3c4ad5518343a520",
83
84
  "skills/browser-qa/SKILL.md": "c04e2fa549d9ef6a7c91280859a6394ac59273e6866d537de879d1f1b5fcff1a",
84
85
  "skills/testing-qa/SKILL.md": "1e92f7c33e29747c51548c0d1f58507de53768aa9e9748c3be2809d88bf1dc1f",
85
- "skills/product-copy/SKILL.md": "2c6fe8e3752ad9f026cadd4ac02ff0a22a321f0714fe8b2baf99cdfae7b3d6c8",
86
- "skills/ship/SKILL.md": "ac426092a1868dd1deb01689dc2f5591dbe40acb2fceec559adce41602bb8d6f"
86
+ "skills/product-copy/SKILL.md": "2f1982ac949ed32690046f516dfefa1ca85bfb51318b403822696bd12bb982c4",
87
+ "skills/ship/SKILL.md": "ac426092a1868dd1deb01689dc2f5591dbe40acb2fceec559adce41602bb8d6f",
88
+ "USER_GUIDE.html": "3ed6388909be27ecbcce1b65499cb7416228ff629fd39c982d8fe382ecc942c6",
89
+ ".cursor/skills/deslop/SKILL.md": "ca328ee5d66335639d608059ea9aabef17f70188931d46077dde11583969dea0",
90
+ ".antigravity/runtime-skills/deslop/SKILL.md": "ca328ee5d66335639d608059ea9aabef17f70188931d46077dde11583969dea0",
91
+ "skills/deslop/SKILL.md": "ca328ee5d66335639d608059ea9aabef17f70188931d46077dde11583969dea0"
87
92
  },
88
- "updatedAt": "2026-09-06T02:06:50.428Z"
93
+ "updatedAt": "2026-09-06T23:40:17.483Z"
89
94
  }
@@ -2,5 +2,5 @@ name = "copy"
2
2
  description = "Review rendered conversion copy."
3
3
 
4
4
  prompt = """
5
- Act as the copy agent. Review the rendered words in screenshots, not just strings in source.
5
+ Act as the copy agent. Review the rendered words in screenshots, not just strings in source. Run product-copy first, then deslop last. Always.
6
6
  """
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: deslop
3
+ description: Use as the last copy pass. Strip AI-writing tells and leftover visual slop. Copy must run this after product-copy, not instead of it.
4
+ ---
5
+
6
+ # Deslop
7
+
8
+ Last pass. `product-copy` writes the words. This skill removes the machine accent.
9
+
10
+ Scan 2026-09-06: `conorbronsdon/avoid-ai-writing`, `funboy322/avoid-ai-design`, `educlopez/ui-craft`, `superdesigndev/superdesign-skill`. Patterns only. Do not copy their catalogs.
11
+
12
+ ## Use when
13
+
14
+ Copy is about to say “done,” or anyone asked to de-slop, humanize, or “make this less AI.” Always run after `product-copy` on public or conversion copy.
15
+
16
+ ## Order
17
+
18
+ 1. Finish `product-copy` (audience, headline, CTA, claims).
19
+ 2. Open the rendered surface if one exists.
20
+ 3. Run this skill. Fix words first. If the screenshot still reads as default AI UI, hand back to Design with the P0 list. Do not skip this step.
21
+
22
+ ## Writing tells — cut or rewrite
23
+
24
+ | Tell | Fix |
25
+ | --- | --- |
26
+ | Chatbot openers (“Certainly!”, “Great question!”) | Delete. Start with the point. |
27
+ | Inflators (seamless, robust, leverage, unlock, supercharge, 10x, paradigm) | Name the thing. “use,” “ships,” “blocks.” |
28
+ | Copula dodge (“serves as,” “boasting,” “featuring”) | “is” / “has.” |
29
+ | “It’s not X, it’s Y” | One positive sentence. |
30
+ | Moreover / Furthermore / In today’s X / In conclusion | Cut or join with “and.” |
31
+ | Vague experts / studies show | Cite or delete. |
32
+ | Title Case Headings on every line | Sentence case. |
33
+ | Em dash stacks, emoji headers, sparkle bullets | Periods. Real nouns. |
34
+ | “Get started” / “Learn more” with no object | Say the next action. |
35
+ | Placeholder leftovers (`[Your Name]`, `TODO copy`) | Fill or delete. |
36
+
37
+ Second pass: re-read the rewrite. If the same tell remains, rewrite the paragraph, do not synonym-swap.
38
+
39
+ ## Visual P0s — fail if still on screen
40
+
41
+ These are the 2026 convergence cluster. One is a smell. Two or more is a reject.
42
+
43
+ - Purple-to-blue (or indigo) gradient hero, or gradient-clipped headline type
44
+ - Inter / Roboto / default shadcn zinc as the whole identity
45
+ - Centered slogan + two pills + three equal icon cards
46
+ - `rounded-2xl` + `shadow-lg` + blur on every surface
47
+ - Cream paper `#F4F1EA` + terracotta accent (the 2026 “editorial default”)
48
+ - Acid green or neon vermilion on near-black used as decoration, not meaning
49
+ - Lucide Sparkles / Zap as the product metaphor
50
+ - Fake dashboard metrics or DiceBear avatars
51
+
52
+ Copy does not restyle the page. It lists the P0s from the screenshot and sends them to Design.
53
+
54
+ ## Must keep
55
+
56
+ Facts, commands, file paths, the fail-closed screenshot sentence, and any claim that has proof. Deslop is subtraction, not a new brand voice.
57
+
58
+ ## Done when
59
+
60
+ - A second read finds no writing tells above.
61
+ - If a screen exists, the screenshot was read and remaining visual P0s are named or gone.
62
+ - Copy’s verdict is not “done” until this pass ran.
@@ -1,26 +1,107 @@
1
1
  ---
2
2
  name: frontend-design
3
- description: Use when building or reviewing user-facing UI. Prefer task-first screens. Reject generic AI-looking gradients, card soup, and fake metrics.
3
+ description: Use when building or reviewing user-facing UI. Commit one simple palette and type pairing. Reject default AI layouts, timid color spreads, and decoration that is not the task.
4
4
  ---
5
5
 
6
6
  # Frontend Design
7
7
 
8
+ Build or review a screen as if a stranger must name the product from the first viewport. Simple and specific beats decorated.
9
+
10
+ Scan 2026-09-06 (structure only, no bodies copied): Anthropic `frontend-design` (updated 2026-06), addyosmani `frontend-ui-engineering`, `educlopez/ui-craft`, `funboy322/avoid-ai-design`, `superdesigndev/superdesign-skill`.
11
+
8
12
  ## Use when
9
13
 
10
- Screens, components, layout, visual design, or anti-generic UI review.
14
+ Any user-facing layout, component, HTML page, or “it looks generic.” Required for `USER_GUIDE.html` and for app screens.
15
+
16
+ ## Ground in the subject
17
+
18
+ Name the product, the user, and this screen’s job before CSS. Tokens come from the domain (materials, time of day, one real object) — not from a theme pack. A toy store and a ledger cannot share a palette.
19
+
20
+ **This kit’s HTML** (`USER_GUIDE.html`): charcoal assignment desk.
21
+
22
+ | Token | Value |
23
+ | --- | --- |
24
+ | Paper | `#10100e` |
25
+ | Ink | `#eceae4` |
26
+ | Frame | `#070706` |
27
+ | Line | `#2a2823` |
28
+ | Safelight | `#ff5a2a` (required / fail only) |
29
+ | Pass | `#5ea37a` |
30
+ | Type | `"Helvetica Neue", Helvetica, Arial, ui-sans-serif` |
31
+ | Mono | `ui-monospace, Menlo, Consolas` |
32
+ | Radius | `2px` |
33
+ | Shadow | none |
34
+
35
+ **Downstream Next.js apps:** do not paste the kit desk onto a product. Extract or invent **4–6 hex tokens** from *this* product’s job. Write them before CSS. Inside an existing design system, stay surgical — swap tells, do not invent a second brand.
36
+
37
+ ## Color — simple schemes that hold up
38
+
39
+ One field, one ink, one accent, one line. That is enough.
40
+
41
+ 1. **Dominant field** (~80%): the page. Flat. Not a gradient, not a mesh.
42
+ 2. **Ink** (~15%): body text. Contrast ≥ 4.5:1 (3:1 for large type).
43
+ 3. **Accent** (~5%): one action or one required state. Recolor-as-decoration fails.
44
+ 4. **Line / well**: borders and code wells, one step off the field.
45
+
46
+ Recipes (pick one that fits the product, then stop):
47
+
48
+ | Scheme | Field | Ink | Accent | Use when |
49
+ | --- | --- | --- | --- | --- |
50
+ | Charcoal desk | `#10100e` | `#eceae4` | `#ff5a2a` | Tools, manuals, this kit |
51
+ | Paper + ink | `#f4f4f1` | `#171717` | `#0b57d0` | Documents, settings, calm apps |
52
+ | Night + signal | `#0e1116` | `#e6edf3` | `#3fb950` | Ops, status, pass/fail |
53
+ | Warm shop | `#1c1916` | `#f3ece3` | `#e8a317` | Craft, commerce with real goods |
54
+
55
+ Do not:
56
+
57
+ - Spread six mid-chroma colors evenly.
58
+ - Use purple→blue, default `blue-600`, or untouched shadcn `zinc` as the identity.
59
+ - Use cream `#F4F1EA` + terracotta (the 2026 editorial default) unless the brief asks.
60
+ - Use acid green or neon vermilion on near-black as decoration.
61
+ - Treat Space Grotesk + slate, or any “tasteful” swap you used last week, as a new idea.
62
+
63
+ Prefer CSS variables. Self-contained kit HTML: no Google Fonts, no CDN CSS.
64
+
65
+ ## Type
66
+
67
+ One family, or two that are obviously different (display vs mono). Inter + system sans is not a pairing. Roboto, Space Grotesk, and “the last distinctive font you used” are second-order defaults.
68
+
69
+ - Line length < 80 characters.
70
+ - Tight display tracking on large sans. Do not italicize or recolor one word of a headline.
71
+ - No tracked-out ALL-CAPS eyebrows, middle-dot meta (`A · B · C`), or `WORD — fragment` labels unless the content needs them.
72
+ - Numbered tickets only when the content is a real sequence.
73
+
74
+ ## Layout
75
+
76
+ - First viewport = the characteristic thing: command, table, form, named owner. Not a slogan over atmosphere.
77
+ - Mobile (~390): the primary CTA still fits above the fold.
78
+ - Hierarchy from size, weight, and space — not from cards.
79
+ - Landing and marketing pages take a full direction. App chrome (settings, tables) stays quiet and dense.
80
+ - Reject: centered hero + two pills + three icon cards; glass navbar; four-column empty footer; fake metrics; broadsheet hairlines + dense newsprint columns (that look is itself a 2026 default).
81
+
82
+ ## Motion
83
+
84
+ None, or one moment that answers a click. Fade-and-slide on every section is generated. Respect `prefers-reduced-motion`.
85
+
86
+ ## Process
87
+
88
+ 1. Name the product, the user, and the job of this screen.
89
+ 2. Write the 4–6 tokens and one-sentence layout idea.
90
+ 3. Check the plan is not a 2026 default (cream editorial, neon-on-black decoration, SaaS card kit, newsprint desk, last week’s “tasteful” swap). If it is, change one axis: field, accent, or structure.
91
+ 4. Build. Spend boldness once. Remove one accessory.
92
+ 5. Screenshot desktop (~1280) and mobile (~390). Fix from pixels. Ask: would a stranger believe a person chose this?
11
93
 
12
94
  ## Checks
13
95
 
14
- - First screen shows the real product, task, or workflow.
15
- - Hierarchy, density, and primary action are obvious.
16
- - Loading, empty, error, disabled, success, and mobile states exist where relevant.
17
- - Contrast, focus, labels, and tap targets meet WCAG 2.1 AA.
18
- - Reject purple-blue gradient heroes, vague SaaS copy, fake dashboards, glass-card soup, and glow rails.
96
+ - A stranger can name the product from the first screen.
97
+ - Loading, empty, error, disabled, success exist where the flow has them.
98
+ - Focus visible, tap targets usable.
99
+ - Copy on the screen is real. If words are public-facing, Copy runs `deslop` last.
19
100
 
20
101
  ## Tools
21
102
 
22
- Critique from `browser` + `screenshot` + `image-review` first. Do not approve UI from TSX alone.
103
+ `browser` + `screenshot` + `image-review` first. Do not approve UI from TSX or HTML alone.
23
104
 
24
105
  ## Done when
25
106
 
26
- Desktop and mobile screenshots were read. Blocker detector findings are fixed.
107
+ Desktop and mobile images were read. Token list is in the change or in `DESIGN.md`. No P0 slop from `deslop` remains unless Design names it as an accepted exception.
@@ -7,16 +7,48 @@ description: Use for headlines, CTAs, empty states, and conversion copy. Review
7
7
 
8
8
  ## Use when
9
9
 
10
- Landing pages, CTAs, positioning, onboarding, empty states, or pricing copy.
10
+ Landing pages, CTAs, positioning, onboarding, empty states, pricing copy, or the public user guide (`USER_GUIDE.html`).
11
+
12
+ ## Audience
13
+
14
+ Engineers and coding agents on a Next.js + Supabase repo who already have Cursor, Claude, Codex, Copilot, or Antigravity. They do not need a manifesto. They need to know **who to @**, **what to paste**, and **what “done” looks like**.
15
+
16
+ ## Positioning (this product)
17
+
18
+ Name the specialist. Prove the screen. Six agents, twelve skills, five IDEs. QA is two screenshots, not a file diff.
19
+
20
+ Do not describe this as an “agent operating system,” a copilot marketplace, or “AI-powered delivery.”
21
+
22
+ ## Voice
23
+
24
+ Direct, specific, slightly dry. Prefer verbs: ask, paste, open, capture, reject.
25
+
26
+ Use: specialist, owner, screenshot, desktop, mobile, fail-closed, paste, Planner, browser-qa.
27
+ Avoid: supercharge, seamless, unlock, copilot for X, 10x, enterprise-grade, magic, revolutionize.
28
+
29
+ ## Headline test
30
+
31
+ If the headline could sell GitHub Copilot, Cursor, or any agent marketplace, rewrite it.
32
+
33
+ Good: `Ask one specialist. Then open the running UI.`
34
+ Bad: `Supercharge your AI workflow with agents and skills.`
35
+
36
+ ## CTA test
37
+
38
+ A CTA is a command or a pasteable prompt, not “Get started.”
39
+
40
+ Good: `Paste this to Planner` followed by the plan prompt.
41
+ Good: `npx --yes @appsforgood/next-supabase-kit init --activate all`
42
+ Bad: `Start building today`.
11
43
 
12
44
  ## Checks
13
45
 
14
46
  - Audience, pain, and outcome are specific to this product.
15
- - Claims are backed or marked as assumptions.
47
+ - Claims are backed or marked as assumptions. Do not invent user counts or “best-in-class.”
16
48
  - Headlines could not fit any competitor.
17
49
  - CTAs say what happens next.
18
- - Review the words on a screenshot for truncation and hierarchy.
50
+ - Review the words on a screenshot for truncation, wrapping, and hierarchy. Copy that only exists in markdown is not approved for a public HTML page.
19
51
 
20
52
  ## Done when
21
53
 
22
- Copy is specific and the rendered screenshot shows the key line and CTA clearly.
54
+ Copy is specific and the rendered screenshot shows the key line and CTA clearly on desktop and mobile. Copy then runs `deslop` as the last pass — this skill is not the end of the run.
@@ -23,6 +23,8 @@ Code-only “it should work” is incomplete for anything the user can see or cl
23
23
 
24
24
  `nextjs-app-router`, `supabase-auth-rls`, `postgres-migrations`.
25
25
 
26
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
27
+
26
28
  ## Handoff
27
29
 
28
30
  Security reviews auth/data/secret changes. Design reviews user-facing screens. QA always reviews behavior or UI changes with `browser-qa`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: copy
3
- description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX.
3
+ description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX. Always finish with the deslop skill.
4
4
  tools: [repo, edit, screenshot, image-review]
5
5
  requiredTools: [repo, image-review]
6
6
  ---
@@ -9,6 +9,8 @@ requiredTools: [repo, image-review]
9
9
 
10
10
  Write and review headlines, CTAs, empty states, and onboarding copy. Approve words as they appear on screen.
11
11
 
12
+ For this kit, copy must name specialists and ask the reader to paste a prompt or run `init`. Headlines that could sell any copilot fail. Public HTML is not done until the rendered screenshot shows the key line and CTA without truncation.
13
+
12
14
  ## Use when
13
15
 
14
16
  Landing pages, CTAs, positioning, empty states, pricing, or conversion copy.
@@ -20,8 +22,19 @@ Required: read the repo and review rendered copy from screenshots when the surfa
20
22
 
21
23
  ## Skills
22
24
 
23
- `product-copy`, `frontend-design`.
25
+ `product-copy` first, then `frontend-design` if the words live on a screen. **`deslop` last. Always.** Do not hand off after `product-copy` alone.
26
+
27
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
28
+
29
+ ## End run
30
+
31
+ 1. Write or edit with `product-copy`.
32
+ 2. Read the rendered screenshot (desktop and mobile when the surface is a page).
33
+ 3. Run `deslop`. Fix writing tells. List leftover visual P0s for Design.
34
+ 4. Run `deslop` a second time on your own rewrite.
35
+
36
+ If you skip step 3, the work is not done.
24
37
 
25
38
  ## Done when
26
39
 
27
- Copy is specific to this product, claims are not invented, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
40
+ Copy is specific to this product, claims are not invented, `deslop` has been run as the last pass, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
@@ -9,6 +9,10 @@ requiredTools: [browser, screenshot, image-review]
9
9
 
10
10
  Review and improve user-facing UI. Start from screenshots. Reject a single happy-path shot and reject generic AI-looking layout.
11
11
 
12
+ This kit’s HTML (especially `USER_GUIDE.html`) is an assignment desk, not a SaaS landing page. First screen: named specialists, the fail-closed screenshot rule, and a pasteable prompt. Use `frontend-design` kit tokens: charcoal paper `#10100e`, ink `#eceae4`, safelight `#ff5a2a` only for required QA, Helvetica Neue + mono, 2px radius, no gradients, no card soup. Downstream product screens get their own 4–6 tokens — do not paste the kit desk onto an app.
13
+
14
+ Public words on a screen hand to Copy. Copy finishes with `deslop`. You restyle leftover visual P0s.
15
+
12
16
  ## Use when
13
17
 
14
18
  Screens, components, layout, visual design, responsive behavior, or “it looks wrong.”
@@ -20,7 +24,9 @@ Required: open the running UI, capture desktop (~1280) and mobile (~390), and wr
20
24
 
21
25
  ## Skills
22
26
 
23
- `frontend-design`, `accessibility-wcag`, `browser-qa`.
27
+ `frontend-design`, `accessibility-wcag`, `browser-qa`. Visual P0 list lives in `deslop`; you fix pixels, Copy does not.
28
+
29
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
24
30
 
25
31
  ## Done when
26
32
 
@@ -19,6 +19,14 @@ Allowed: `repo` (read and search only).
19
19
  Required: read the repo before naming owners.
20
20
  Do not edit product code.
21
21
 
22
+ ## Skills
23
+
24
+ `planning`.
25
+
26
+ You name the owner and reviewers. You do not run the other agents.
27
+
28
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
29
+
22
30
  ## Handoff
23
31
 
24
32
  Name one owner from: `app-engineer`, `security`, `design`, `qa`, `copy`.
@@ -23,6 +23,8 @@ Hard fail if the only evidence is a file diff.
23
23
 
24
24
  `browser-qa`, `testing-qa`, `accessibility-wcag`.
25
25
 
26
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
27
+
26
28
  ## Must not accept
27
29
 
28
30
  - “Reviewed `page.tsx`; layout looks correct.”
@@ -23,6 +23,8 @@ RLS/SQL-only findings may stay code + tests.
23
23
 
24
24
  `owasp-security-review`, `supabase-auth-rls`, `postgres-migrations`.
25
25
 
26
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
27
+
26
28
  ## Done when
27
29
 
28
30
  Access control is enforced in Postgres or the server, not only in the UI. Login, redirect, and denied states were checked in the browser when they exist. Secrets stay server-only.
@@ -28,6 +28,8 @@ Code-only “it should work” is incomplete for anything the user can see or cl
28
28
 
29
29
  `nextjs-app-router`, `supabase-auth-rls`, `postgres-migrations`.
30
30
 
31
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
32
+
31
33
  ## Handoff
32
34
 
33
35
  Security reviews auth/data/secret changes. Design reviews user-facing screens. QA always reviews behavior or UI changes with `browser-qa`.
@@ -1,11 +1,11 @@
1
1
  name = "copy"
2
- description = "Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX."
2
+ description = "Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX. Always finish with the deslop skill."
3
3
  model_reasoning_effort = "medium"
4
4
 
5
5
  developer_instructions = """
6
6
  ---
7
7
  name: copy
8
- description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX.
8
+ description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX. Always finish with the deslop skill.
9
9
  tools: [repo, edit, screenshot, image-review]
10
10
  requiredTools: [repo, image-review]
11
11
  ---
@@ -14,6 +14,8 @@ requiredTools: [repo, image-review]
14
14
 
15
15
  Write and review headlines, CTAs, empty states, and onboarding copy. Approve words as they appear on screen.
16
16
 
17
+ For this kit, copy must name specialists and ask the reader to paste a prompt or run `init`. Headlines that could sell any copilot fail. Public HTML is not done until the rendered screenshot shows the key line and CTA without truncation.
18
+
17
19
  ## Use when
18
20
 
19
21
  Landing pages, CTAs, positioning, empty states, pricing, or conversion copy.
@@ -25,10 +27,21 @@ Required: read the repo and review rendered copy from screenshots when the surfa
25
27
 
26
28
  ## Skills
27
29
 
28
- `product-copy`, `frontend-design`.
30
+ `product-copy` first, then `frontend-design` if the words live on a screen. **`deslop` last. Always.** Do not hand off after `product-copy` alone.
31
+
32
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
33
+
34
+ ## End run
35
+
36
+ 1. Write or edit with `product-copy`.
37
+ 2. Read the rendered screenshot (desktop and mobile when the surface is a page).
38
+ 3. Run `deslop`. Fix writing tells. List leftover visual P0s for Design.
39
+ 4. Run `deslop` a second time on your own rewrite.
40
+
41
+ If you skip step 3, the work is not done.
29
42
 
30
43
  ## Done when
31
44
 
32
- Copy is specific to this product, claims are not invented, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
45
+ Copy is specific to this product, claims are not invented, `deslop` has been run as the last pass, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
33
46
 
34
47
  """
@@ -14,6 +14,10 @@ requiredTools: [browser, screenshot, image-review]
14
14
 
15
15
  Review and improve user-facing UI. Start from screenshots. Reject a single happy-path shot and reject generic AI-looking layout.
16
16
 
17
+ This kit’s HTML (especially `USER_GUIDE.html`) is an assignment desk, not a SaaS landing page. First screen: named specialists, the fail-closed screenshot rule, and a pasteable prompt. Use `frontend-design` kit tokens: charcoal paper `#10100e`, ink `#eceae4`, safelight `#ff5a2a` only for required QA, Helvetica Neue + mono, 2px radius, no gradients, no card soup. Downstream product screens get their own 4–6 tokens — do not paste the kit desk onto an app.
18
+
19
+ Public words on a screen hand to Copy. Copy finishes with `deslop`. You restyle leftover visual P0s.
20
+
17
21
  ## Use when
18
22
 
19
23
  Screens, components, layout, visual design, responsive behavior, or “it looks wrong.”
@@ -25,7 +29,9 @@ Required: open the running UI, capture desktop (~1280) and mobile (~390), and wr
25
29
 
26
30
  ## Skills
27
31
 
28
- `frontend-design`, `accessibility-wcag`, `browser-qa`.
32
+ `frontend-design`, `accessibility-wcag`, `browser-qa`. Visual P0 list lives in `deslop`; you fix pixels, Copy does not.
33
+
34
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
29
35
 
30
36
  ## Done when
31
37
 
@@ -24,6 +24,14 @@ Allowed: `repo` (read and search only).
24
24
  Required: read the repo before naming owners.
25
25
  Do not edit product code.
26
26
 
27
+ ## Skills
28
+
29
+ `planning`.
30
+
31
+ You name the owner and reviewers. You do not run the other agents.
32
+
33
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
34
+
27
35
  ## Handoff
28
36
 
29
37
  Name one owner from: `app-engineer`, `security`, `design`, `qa`, `copy`.
@@ -28,6 +28,8 @@ Hard fail if the only evidence is a file diff.
28
28
 
29
29
  `browser-qa`, `testing-qa`, `accessibility-wcag`.
30
30
 
31
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
32
+
31
33
  ## Must not accept
32
34
 
33
35
  - “Reviewed `page.tsx`; layout looks correct.”
@@ -28,6 +28,8 @@ RLS/SQL-only findings may stay code + tests.
28
28
 
29
29
  `owasp-security-review`, `supabase-auth-rls`, `postgres-migrations`.
30
30
 
31
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
32
+
31
33
  ## Done when
32
34
 
33
35
  Access control is enforced in Postgres or the server, not only in the UI. Login, redirect, and denied states were checked in the browser when they exist. Secrets stay server-only.
@@ -23,6 +23,8 @@ Code-only “it should work” is incomplete for anything the user can see or cl
23
23
 
24
24
  `nextjs-app-router`, `supabase-auth-rls`, `postgres-migrations`.
25
25
 
26
+ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
27
+
26
28
  ## Handoff
27
29
 
28
30
  Security reviews auth/data/secret changes. Design reviews user-facing screens. QA always reviews behavior or UI changes with `browser-qa`.