agemon 0.1.0 → 6.3.0
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/README.md +983 -30
- package/assets/skills/architecture/agemon-architecture/LICENSE +21 -0
- package/assets/skills/architecture/agemon-architecture/NOTICE.md +9 -0
- package/assets/skills/architecture/agemon-architecture/SKILL.md +275 -0
- package/assets/skills/code-quality/agemon-clean-code/LICENSE +21 -0
- package/assets/skills/code-quality/agemon-clean-code/NOTICE.md +9 -0
- package/assets/skills/code-quality/agemon-clean-code/SKILL.md +78 -0
- package/assets/skills/code-quality/agemon-house-rules/SKILL.md +103 -0
- package/assets/skills/commit/agemon-commit/SKILL.md +87 -0
- package/assets/skills/design/agemon-design/LICENSE +21 -0
- package/assets/skills/design/agemon-design/NOTICE.md +43 -0
- package/assets/skills/design/agemon-design/SKILL.md +128 -0
- package/assets/skills/design/agemon-design/references/accessibility.md +182 -0
- package/assets/skills/design/agemon-design/references/actions.md +215 -0
- package/assets/skills/design/agemon-design/references/ai-chat.md +158 -0
- package/assets/skills/design/agemon-design/references/brief.md +190 -0
- package/assets/skills/design/agemon-design/references/color.md +216 -0
- package/assets/skills/design/agemon-design/references/components.md +91 -0
- package/assets/skills/design/agemon-design/references/copy.md +300 -0
- package/assets/skills/design/agemon-design/references/core-rules.md +166 -0
- package/assets/skills/design/agemon-design/references/craft-intent.md +162 -0
- package/assets/skills/design/agemon-design/references/dashboard.md +131 -0
- package/assets/skills/design/agemon-design/references/dataviz.md +197 -0
- package/assets/skills/design/agemon-design/references/finish-bar.md +243 -0
- package/assets/skills/design/agemon-design/references/forms.md +192 -0
- package/assets/skills/design/agemon-design/references/heuristics.md +319 -0
- package/assets/skills/design/agemon-design/references/inspiration.md +287 -0
- package/assets/skills/design/agemon-design/references/layout.md +236 -0
- package/assets/skills/design/agemon-design/references/loops.md +155 -0
- package/assets/skills/design/agemon-design/references/metadata.md +98 -0
- package/assets/skills/design/agemon-design/references/modern-css.md +448 -0
- package/assets/skills/design/agemon-design/references/motion.md +434 -0
- package/assets/skills/design/agemon-design/references/personas.md +206 -0
- package/assets/skills/design/agemon-design/references/preset-dashboard.md +109 -0
- package/assets/skills/design/agemon-design/references/preset-editorial.md +94 -0
- package/assets/skills/design/agemon-design/references/preset-minimal.md +93 -0
- package/assets/skills/design/agemon-design/references/principles-catalog.md +299 -0
- package/assets/skills/design/agemon-design/references/recipe-auth.md +88 -0
- package/assets/skills/design/agemon-design/references/recipe-dashboard.md +130 -0
- package/assets/skills/design/agemon-design/references/recipe-landing.md +120 -0
- package/assets/skills/design/agemon-design/references/responsive.md +168 -0
- package/assets/skills/design/agemon-design/references/review.md +340 -0
- package/assets/skills/design/agemon-design/references/routing.md +143 -0
- package/assets/skills/design/agemon-design/references/sound.md +150 -0
- package/assets/skills/design/agemon-design/references/spec.md +123 -0
- package/assets/skills/design/agemon-design/references/stack.md +522 -0
- package/assets/skills/design/agemon-design/references/stage-assets.md +106 -0
- package/assets/skills/design/agemon-design/references/stage-build.md +46 -0
- package/assets/skills/design/agemon-design/references/stage-critique.md +34 -0
- package/assets/skills/design/agemon-design/references/stage-directions.md +44 -0
- package/assets/skills/design/agemon-design/references/stage-intake.md +34 -0
- package/assets/skills/design/agemon-design/references/stage-verify.md +44 -0
- package/assets/skills/design/agemon-design/references/state-design.md +188 -0
- package/assets/skills/design/agemon-design/references/tells-2026-11.md +32 -0
- package/assets/skills/design/agemon-design/references/themes.md +233 -0
- package/assets/skills/design/agemon-design/references/third-party-licenses.md +323 -0
- package/assets/skills/design/agemon-design/references/tokens.md +350 -0
- package/assets/skills/design/agemon-design/references/typography.md +248 -0
- package/assets/skills/design/agemon-design/scripts/audit-page.js +532 -0
- package/assets/skills/design/agemon-design/scripts/check-source.mjs +358 -0
- package/assets/skills/design/agemon-design/scripts/deal.mjs +231 -0
- package/assets/skills/design/agemon-design/scripts/inventory.mjs +676 -0
- package/assets/skills/essentials/web-design-guidelines/LICENSE +21 -0
- package/assets/skills/essentials/web-design-guidelines/NOTICE.md +14 -0
- package/assets/skills/essentials/web-design-guidelines/SKILL.md +18 -0
- package/assets/skills/essentials/web-design-guidelines/references/guidelines.md +184 -0
- package/assets/skills/essentials/writing-guidelines/LICENSE +21 -0
- package/assets/skills/essentials/writing-guidelines/NOTICE.md +14 -0
- package/assets/skills/essentials/writing-guidelines/SKILL.md +18 -0
- package/assets/skills/essentials/writing-guidelines/references/guidelines.md +250 -0
- package/assets/skills/founder/agemon-founder-board/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-board/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-board/SKILL.md +111 -0
- package/assets/skills/founder/agemon-founder-board/lenses.md +84 -0
- package/assets/skills/founder/agemon-founder-brand/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-brand/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-brand/SKILL.md +77 -0
- package/assets/skills/founder/agemon-founder-cfo/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-cfo/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-cfo/SKILL.md +109 -0
- package/assets/skills/founder/agemon-founder-cfo/example.json +27 -0
- package/assets/skills/founder/agemon-founder-cfo/unit_economics.py +270 -0
- package/assets/skills/founder/agemon-founder-competitors/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-competitors/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-competitors/SKILL.md +84 -0
- package/assets/skills/founder/agemon-founder-consumer/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-consumer/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-consumer/SKILL.md +126 -0
- package/assets/skills/founder/agemon-founder-consumer/customer.example.json +34 -0
- package/assets/skills/founder/agemon-founder-consumer/panel.py +424 -0
- package/assets/skills/founder/agemon-founder-consumer/pitch.example.md +3 -0
- package/assets/skills/founder/agemon-founder-launch/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-launch/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-launch/SKILL.md +65 -0
- package/assets/skills/founder/agemon-founder-marketing/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-marketing/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-marketing/SKILL.md +80 -0
- package/assets/skills/founder/agemon-founder-offer/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-offer/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-offer/SKILL.md +75 -0
- package/assets/skills/founder/agemon-founder-ops/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-ops/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-ops/SKILL.md +77 -0
- package/assets/skills/founder/agemon-founder-plan/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-plan/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-plan/SKILL.md +88 -0
- package/assets/skills/founder/agemon-founder-plan/compile.py +178 -0
- package/assets/skills/founder/agemon-founder-pricing/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-pricing/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-pricing/SKILL.md +92 -0
- package/assets/skills/founder/agemon-founder-pricing/van_westendorp.py +172 -0
- package/assets/skills/geo-seo/geo/LICENSE +21 -0
- package/assets/skills/geo-seo/geo/NOTICE.md +18 -0
- package/assets/skills/geo-seo/geo/SKILL.md +145 -0
- package/assets/skills/geo-seo/geo-audit/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-audit/NOTICE.md +17 -0
- package/assets/skills/geo-seo/geo-audit/SKILL.md +371 -0
- package/assets/skills/geo-seo/geo-audit/references/ai-visibility.md +233 -0
- package/assets/skills/geo-seo/geo-audit/references/content.md +329 -0
- package/assets/skills/geo-seo/geo-audit/references/platform-analysis.md +294 -0
- package/assets/skills/geo-seo/geo-audit/references/schema.md +383 -0
- package/assets/skills/geo-seo/geo-audit/references/technical.md +368 -0
- package/assets/skills/geo-seo/geo-brand-mentions/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-brand-mentions/NOTICE.md +15 -0
- package/assets/skills/geo-seo/geo-brand-mentions/SKILL.md +459 -0
- package/assets/skills/geo-seo/geo-citability/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-citability/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-citability/SKILL.md +320 -0
- package/assets/skills/geo-seo/geo-content/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-content/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-content/SKILL.md +352 -0
- package/assets/skills/geo-seo/geo-crawlers/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-crawlers/NOTICE.md +15 -0
- package/assets/skills/geo-seo/geo-crawlers/SKILL.md +388 -0
- package/assets/skills/geo-seo/geo-llmstxt/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-llmstxt/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-llmstxt/SKILL.md +433 -0
- package/assets/skills/geo-seo/geo-platform-optimizer/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-platform-optimizer/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-platform-optimizer/SKILL.md +282 -0
- package/assets/skills/geo-seo/geo-report/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-report/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-report/SKILL.md +406 -0
- package/assets/skills/geo-seo/geo-report-pdf/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-report-pdf/NOTICE.md +20 -0
- package/assets/skills/geo-seo/geo-report-pdf/SKILL.md +153 -0
- package/assets/skills/geo-seo/geo-report-pdf/templates/geo-report-template.html +548 -0
- package/assets/skills/geo-seo/geo-schema/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-schema/NOTICE.md +16 -0
- package/assets/skills/geo-seo/geo-schema/SKILL.md +396 -0
- package/assets/skills/geo-seo/geo-technical/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-technical/NOTICE.md +15 -0
- package/assets/skills/geo-seo/geo-technical/SKILL.md +566 -0
- package/assets/skills/output-style/agemon-adhd/LICENSE +21 -0
- package/assets/skills/output-style/agemon-adhd/NOTICE.md +13 -0
- package/assets/skills/output-style/agemon-adhd/SKILL.md +138 -0
- package/assets/skills/performance/agemon-performance/NOTICE.md +1 -0
- package/assets/skills/performance/agemon-performance/SKILL.md +76 -0
- package/assets/skills/security/agemon-security/LICENSE +21 -0
- package/assets/skills/security/agemon-security/NOTICE.md +8 -0
- package/assets/skills/security/agemon-security/SKILL.md +356 -0
- package/assets/skills/security/agemon-security-audit/AI-AND-LLM.md +83 -0
- package/assets/skills/security/agemon-security-audit/ATTACK-CLASSES.md +130 -0
- package/assets/skills/security/agemon-security-audit/CLIENT-SIDE.md +83 -0
- package/assets/skills/security/agemon-security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
- package/assets/skills/security/agemon-security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
- package/assets/skills/security/agemon-security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
- package/assets/skills/security/agemon-security-audit/HUNTING.md +251 -0
- package/assets/skills/security/agemon-security-audit/LICENSE +21 -0
- package/assets/skills/security/agemon-security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
- package/assets/skills/security/agemon-security-audit/NOTICE.md +12 -0
- package/assets/skills/security/agemon-security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
- package/assets/skills/security/agemon-security-audit/RECONNAISSANCE.md +156 -0
- package/assets/skills/security/agemon-security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
- package/assets/skills/security/agemon-security-audit/SKILL.md +192 -0
- package/assets/skills/security/agemon-security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
- package/assets/skills/security/agemon-security-audit/VALIDATION-AND-REPORTING.md +186 -0
- package/assets/skills/security/agemon-security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
- package/assets/skills/security/agemon-security-audit/report-schema.json +461 -0
- package/assets/skills/security/agemon-security-audit/validate-coverage-ledger.cjs +872 -0
- package/assets/skills/security/agemon-security-audit/validate-findings.cjs +773 -0
- package/assets/skills/self-review/agemon-review-intake/LICENSE +21 -0
- package/assets/skills/self-review/agemon-review-intake/NOTICE.md +9 -0
- package/assets/skills/self-review/agemon-review-intake/SKILL.md +205 -0
- package/assets/skills/self-review/agemon-review-request/LICENSE +21 -0
- package/assets/skills/self-review/agemon-review-request/NOTICE.md +9 -0
- package/assets/skills/self-review/agemon-review-request/SKILL.md +104 -0
- package/assets/skills/self-review/agemon-review-request/code-reviewer.md +188 -0
- package/assets/skills/self-review/agemon-root-cause/LICENSE +21 -0
- package/assets/skills/self-review/agemon-root-cause/NOTICE.md +10 -0
- package/assets/skills/self-review/agemon-root-cause/SKILL.md +283 -0
- package/assets/skills/self-review/agemon-root-cause/condition-based-waiting-example.ts +158 -0
- package/assets/skills/self-review/agemon-root-cause/condition-based-waiting.md +115 -0
- package/assets/skills/self-review/agemon-root-cause/defense-in-depth.md +122 -0
- package/assets/skills/self-review/agemon-root-cause/find-polluter.sh +72 -0
- package/assets/skills/self-review/agemon-root-cause/root-cause-tracing.md +169 -0
- package/assets/skills/self-review/agemon-root-cause/test-academic.md +14 -0
- package/assets/skills/self-review/agemon-root-cause/test-pressure-1.md +58 -0
- package/assets/skills/self-review/agemon-root-cause/test-pressure-2.md +68 -0
- package/assets/skills/self-review/agemon-root-cause/test-pressure-3.md +69 -0
- package/assets/skills/self-review/agemon-verify-before-done/LICENSE +21 -0
- package/assets/skills/self-review/agemon-verify-before-done/NOTICE.md +9 -0
- package/assets/skills/self-review/agemon-verify-before-done/SKILL.md +120 -0
- package/assets/skills/team-lead/agemon-plan-rfc/SKILL.md +317 -0
- package/assets/skills/team-lead/prd-generator/SKILL.md +437 -0
- package/assets/skills/team-lead/skill-headofit-audit/SKILL.md +72 -0
- package/assets/skills/team-lead/skill-incident-rca/SKILL.md +66 -0
- package/assets/skills/team-lead/skill-meeting-lifecycle/SKILL.md +63 -0
- package/assets/skills/team-lead/skill-obsidian-vault-sync/SKILL.md +69 -0
- package/assets/skills/team-lead/skill-prd-decomposer/SKILL.md +71 -0
- package/assets/skills/team-lead/skill-sec-check/SKILL.md +70 -0
- package/assets/skills/team-lead/skill-task-extractor/SKILL.md +79 -0
- package/assets/skills/team-lead/skill-tech-spike/SKILL.md +57 -0
- package/assets/skills/team-lead/skill-techlead-reviewer/SKILL.md +81 -0
- package/assets/skills/workflow/agemon-brainstorming/LICENSE +21 -0
- package/assets/skills/workflow/agemon-brainstorming/NOTICE.md +14 -0
- package/assets/skills/workflow/agemon-brainstorming/SKILL.md +287 -0
- package/assets/skills/workflow/agemon-brainstorming/builder-check-prompt.md +23 -0
- package/assets/skills/workflow/agemon-dispatching-parallel-agents/LICENSE +21 -0
- package/assets/skills/workflow/agemon-dispatching-parallel-agents/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-dispatching-parallel-agents/SKILL.md +167 -0
- package/assets/skills/workflow/agemon-executing-plans/LICENSE +21 -0
- package/assets/skills/workflow/agemon-executing-plans/NOTICE.md +15 -0
- package/assets/skills/workflow/agemon-executing-plans/SKILL.md +322 -0
- package/assets/skills/workflow/agemon-executing-plans/scripts/task-done +55 -0
- package/assets/skills/workflow/agemon-executing-plans/scripts/task-start +32 -0
- package/assets/skills/workflow/agemon-finishing-a-development-branch/LICENSE +21 -0
- package/assets/skills/workflow/agemon-finishing-a-development-branch/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-finishing-a-development-branch/SKILL.md +225 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/LICENSE +21 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/NOTICE.md +15 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/SKILL.md +339 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/code-reviewer.md +198 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/implementer-prompt.md +154 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/re-review-prompt.md +116 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/batching.md +11 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/cannot-verify.md +10 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/final-review.md +49 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/fix-loop.md +77 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/handling-reports.md +15 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/preflight.md +26 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/resuming.md +12 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/role-scout.md +18 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/role-worker.md +19 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/review-package +64 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-repo +54 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-workspace +110 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/task-brief +108 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/task-reviewer-prompt.md +209 -0
- package/assets/skills/workflow/agemon-test-driven-development/LICENSE +21 -0
- package/assets/skills/workflow/agemon-test-driven-development/NOTICE.md +14 -0
- package/assets/skills/workflow/agemon-test-driven-development/SKILL.md +330 -0
- package/assets/skills/workflow/agemon-test-driven-development/writing-good-tests.md +198 -0
- package/assets/skills/workflow/agemon-using-git-worktrees/LICENSE +21 -0
- package/assets/skills/workflow/agemon-using-git-worktrees/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-using-git-worktrees/SKILL.md +167 -0
- package/assets/skills/workflow/agemon-writing-plans/LICENSE +21 -0
- package/assets/skills/workflow/agemon-writing-plans/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-writing-plans/SKILL.md +204 -0
- package/assets/tools/code-review-graph-constraints.txt +1418 -0
- package/assets/tools/package-lock.json +111 -0
- package/assets/tools/package.json +6 -0
- package/dist/chunk-ZZBF3GOV.js +3451 -0
- package/dist/chunk-ZZBF3GOV.js.map +1 -0
- package/dist/fake-subprocess-IV4ML77S.js +636 -0
- package/dist/fake-subprocess-IV4ML77S.js.map +1 -0
- package/dist/index.js +23836 -1945
- package/dist/index.js.map +1 -1
- package/package.json +37 -17
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Vercel Labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Vendored skill
|
|
2
|
+
|
|
3
|
+
- Source: https://github.com/vercel-labs/web-interface-guidelines
|
|
4
|
+
- Path in source: command.md
|
|
5
|
+
- Commit: 434b7f91364665f2f733b310ec54809bf8f37937
|
|
6
|
+
- Retrieved: 2026-11-05
|
|
7
|
+
- License: MIT — see `LICENSE` in this directory.
|
|
8
|
+
|
|
9
|
+
## agemon modifications
|
|
10
|
+
|
|
11
|
+
- `references/guidelines.md` is upstream's `command.md` with its frontmatter and the `$ARGUMENTS` line removed. The rules and output format are unchanged.
|
|
12
|
+
- `SKILL.md` is agemon's own wrapper. Instead of fetching the guidelines from a URL, it reads `references/guidelines.md`.
|
|
13
|
+
- Judgement call: the wrapper keeps the `name` and the short `description` of the skill agemon installed before, so existing installs are recognised and the skill still routes on the same phrases. That text comes from https://github.com/vercel-labs/agent-skills at commit 063bee94c3f4df8453406c830b0a7df0f2860278 (path `skills/web-design-guidelines/SKILL.md`). That repository's README states MIT, but it has no LICENSE file at that commit, so the licence for this carried-over text is stated, not shipped. The rest of the wrapper is written by agemon.
|
|
14
|
+
- Keeps the name `web-design-guidelines` rather than an `agemon-*` name, so existing installs are recognised and can be updated.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-design-guidelines
|
|
3
|
+
description: Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
|
|
4
|
+
argument-hint: <file-or-pattern>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Web Interface Guidelines
|
|
8
|
+
|
|
9
|
+
Review files for compliance with the Web Interface Guidelines.
|
|
10
|
+
|
|
11
|
+
## How it works
|
|
12
|
+
|
|
13
|
+
1. Read the files the user named, or ask which files or pattern to review.
|
|
14
|
+
2. Read `references/guidelines.md` next to this file. It holds every rule and the output format.
|
|
15
|
+
3. Check each file against all of the rules.
|
|
16
|
+
4. Report findings in the terse `file:line` format the guidelines specify.
|
|
17
|
+
|
|
18
|
+
The guidelines ship with this skill at a pinned version. Do not look for newer rules elsewhere.
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Web Interface Guidelines
|
|
2
|
+
|
|
3
|
+
Read files, check against rules below. Output concise but comprehensive—sacrifice grammar for brevity. High signal-to-noise.
|
|
4
|
+
|
|
5
|
+
## Rules
|
|
6
|
+
|
|
7
|
+
### Accessibility
|
|
8
|
+
|
|
9
|
+
- Icon-only buttons need `aria-label`
|
|
10
|
+
- Form controls need `<label>` or `aria-label`
|
|
11
|
+
- Interactive elements need keyboard handlers (`onKeyDown`/`onKeyUp`)
|
|
12
|
+
- `<button>` for actions, `<a>`/`<Link>` for navigation (not `<div onClick>`)
|
|
13
|
+
- Images need `alt` (or `alt=""` if decorative)
|
|
14
|
+
- Decorative icons need `aria-hidden="true"`
|
|
15
|
+
- Async updates (toasts, validation) need `aria-live="polite"`
|
|
16
|
+
- Use semantic HTML (`<button>`, `<a>`, `<label>`, `<table>`) before ARIA
|
|
17
|
+
- Headings hierarchical `<h1>`–`<h6>`; include skip link for main content
|
|
18
|
+
- `scroll-margin-top` on heading anchors
|
|
19
|
+
- Meaningful media needs captions, transcripts, or descriptions as applicable
|
|
20
|
+
- Media controls need keyboard support; decorative media needs assistive-tech hiding
|
|
21
|
+
|
|
22
|
+
### Focus States
|
|
23
|
+
|
|
24
|
+
- Interactive elements need visible focus: `focus-visible:ring-*` or equivalent
|
|
25
|
+
- Never `outline-none` / `outline: none` without focus replacement
|
|
26
|
+
- Use `:focus-visible` over `:focus` (avoid focus ring on click)
|
|
27
|
+
- Group focus with `:focus-within` for compound controls
|
|
28
|
+
- Sticky headers/footers/overlays must not cover the focused element
|
|
29
|
+
|
|
30
|
+
### Forms
|
|
31
|
+
|
|
32
|
+
- Inputs need `autocomplete` and meaningful `name`
|
|
33
|
+
- Use correct `type` (`email`, `tel`, `url`, `number`) and `inputmode`
|
|
34
|
+
- Never block paste (`onPaste` + `preventDefault`)
|
|
35
|
+
- Labels clickable (`htmlFor` or wrapping control)
|
|
36
|
+
- Disable spellcheck on emails, codes, usernames (`spellCheck={false}`)
|
|
37
|
+
- Checkboxes/radios: label + control share single hit target (no dead zones)
|
|
38
|
+
- Submit button stays enabled until request starts; spinner during request
|
|
39
|
+
- Errors inline next to fields; focus first error on submit
|
|
40
|
+
- Placeholders end with `…` and show example pattern
|
|
41
|
+
- `autocomplete="off"` on non-auth fields to avoid password manager triggers
|
|
42
|
+
- Warn before navigation with unsaved changes (`beforeunload` or router guard)
|
|
43
|
+
|
|
44
|
+
### Animation
|
|
45
|
+
|
|
46
|
+
- Honor `prefers-reduced-motion` (provide reduced variant or disable)
|
|
47
|
+
- Animate `transform`/`opacity` only (compositor-friendly)
|
|
48
|
+
- Never `transition: all`—list properties explicitly
|
|
49
|
+
- Set correct `transform-origin`
|
|
50
|
+
- SVG: transforms on `<g>` wrapper with `transform-box: fill-box; transform-origin: center`
|
|
51
|
+
- Animations interruptible—respond to user input mid-animation
|
|
52
|
+
- Autoplay motion >5 seconds alongside other content needs pause, stop, or hide controls
|
|
53
|
+
- Muted decorative loops must stop under `prefers-reduced-motion`
|
|
54
|
+
|
|
55
|
+
### Typography
|
|
56
|
+
|
|
57
|
+
- `…` not `...`
|
|
58
|
+
- Curly quotes `“` `”` not straight `"`
|
|
59
|
+
- Non-breaking spaces: `10 MB`, `⌘ K`, brand names
|
|
60
|
+
- Loading states end with `…`: `"Loading…"`, `"Saving…"`
|
|
61
|
+
- `font-variant-numeric: tabular-nums` for number columns/comparisons
|
|
62
|
+
- Use `text-wrap: balance` or `text-pretty` on headings (prevents widows)
|
|
63
|
+
|
|
64
|
+
### Content Handling
|
|
65
|
+
|
|
66
|
+
- Text containers handle long content: `truncate`, `line-clamp-*`, or `break-words`
|
|
67
|
+
- Flex children need `min-w-0` to allow text truncation
|
|
68
|
+
- Handle empty states—don't render broken UI for empty strings/arrays
|
|
69
|
+
- User-generated content: anticipate short, average, and very long inputs
|
|
70
|
+
|
|
71
|
+
### Images
|
|
72
|
+
|
|
73
|
+
- `<img>` needs explicit `width` and `height` (prevents CLS)
|
|
74
|
+
- Below-fold images: `loading="lazy"`
|
|
75
|
+
- Above-fold critical images: `priority` or `fetchpriority="high"`
|
|
76
|
+
|
|
77
|
+
### Performance
|
|
78
|
+
|
|
79
|
+
- Large lists (>50 items): virtualize (`virtua`, `content-visibility: auto`)
|
|
80
|
+
- No layout reads in render (`getBoundingClientRect`, `offsetHeight`, `offsetWidth`, `scrollTop`)
|
|
81
|
+
- Batch DOM reads/writes; avoid interleaving
|
|
82
|
+
- Prefer uncontrolled inputs; controlled inputs must be cheap per keystroke
|
|
83
|
+
- Add `<link rel="preconnect">` for CDN/asset domains
|
|
84
|
+
- Critical fonts: `<link rel="preload" as="font">` with `font-display: swap`
|
|
85
|
+
- Prefer `<video autoplay muted loop playsinline>` over animated GIF; provide a still alternative
|
|
86
|
+
- Short non-essential loops: Safari H.264 MP4 `<picture>` source, `prefers-reduced-motion` media condition, and still fallback
|
|
87
|
+
|
|
88
|
+
### Navigation & State
|
|
89
|
+
|
|
90
|
+
- URL reflects state—filters, tabs, pagination, expanded panels in query params
|
|
91
|
+
- Links use `<a>`/`<Link>` (Cmd/Ctrl+click, middle-click support)
|
|
92
|
+
- Deep-link all stateful UI (if uses `useState`, consider URL sync via nuqs or similar)
|
|
93
|
+
- Destructive actions need confirmation modal or undo window—never immediate
|
|
94
|
+
|
|
95
|
+
### Touch & Interaction
|
|
96
|
+
|
|
97
|
+
- `touch-action: manipulation` (prevents double-tap zoom delay)
|
|
98
|
+
- `-webkit-tap-highlight-color` set intentionally
|
|
99
|
+
- `overscroll-behavior: contain` in modals/drawers/sheets
|
|
100
|
+
- Page rubber-band suppression: `overscroll-behavior: none` on `<html>` inside `@media (pointer: fine)`; keep coarse-pointer page defaults for pull-to-refresh. Test hybrid touch devices: `pointer` describes the primary input, and `none` also disables scroll chaining and native swipe navigation
|
|
101
|
+
- During drag: disable text selection, `inert` on dragged elements
|
|
102
|
+
- Drag/swipe/pinch/path gestures need tap/click and keyboard alternatives unless essential
|
|
103
|
+
- `autoFocus` sparingly—desktop only, single primary input; avoid on mobile
|
|
104
|
+
|
|
105
|
+
### Safe Areas & Layout
|
|
106
|
+
|
|
107
|
+
- Full-bleed layouts need `env(safe-area-inset-*)` for notches
|
|
108
|
+
- Avoid unwanted scrollbars: `overflow-x-hidden` on containers, fix content overflow
|
|
109
|
+
- Flex/grid over JS measurement for layout
|
|
110
|
+
|
|
111
|
+
### Dark Mode & Theming
|
|
112
|
+
|
|
113
|
+
- `color-scheme: dark` on `<html>` for dark themes (fixes scrollbar, inputs)
|
|
114
|
+
- `<meta name="theme-color">` matches page background
|
|
115
|
+
- Native `<select>`: explicit `background-color` and `color` (Windows dark mode)
|
|
116
|
+
|
|
117
|
+
### Locale & i18n
|
|
118
|
+
|
|
119
|
+
- Dates/times: use `Intl.DateTimeFormat` not hardcoded formats
|
|
120
|
+
- Numbers/currency: use `Intl.NumberFormat` not hardcoded formats
|
|
121
|
+
- Detect language via `Accept-Language` / `navigator.languages`, not IP
|
|
122
|
+
- Brand names, code tokens, identifiers: wrap with `translate="no"` to prevent garbled auto-translation
|
|
123
|
+
|
|
124
|
+
### Hydration Safety
|
|
125
|
+
|
|
126
|
+
- Inputs with `value` need `onChange` (or use `defaultValue` for uncontrolled)
|
|
127
|
+
- Date/time rendering: guard against hydration mismatch (server vs client)
|
|
128
|
+
- `suppressHydrationWarning` only where truly needed
|
|
129
|
+
|
|
130
|
+
### Hover & Interactive States
|
|
131
|
+
|
|
132
|
+
- Buttons/links need `hover:` state (visual feedback)
|
|
133
|
+
- Interactive states increase contrast: hover/active/focus more prominent than rest
|
|
134
|
+
|
|
135
|
+
### Content & Copy
|
|
136
|
+
|
|
137
|
+
- Active voice: "Install the CLI" not "The CLI will be installed"
|
|
138
|
+
- Title Case for headings/buttons (Chicago style)
|
|
139
|
+
- Numerals for counts: "8 deployments" not "eight"
|
|
140
|
+
- Specific button labels: "Save API Key" not "Continue"
|
|
141
|
+
- Error messages include fix/next step, not just problem
|
|
142
|
+
- Second person; avoid first person
|
|
143
|
+
- `&` over "and" where space-constrained
|
|
144
|
+
|
|
145
|
+
### Anti-patterns (flag these)
|
|
146
|
+
|
|
147
|
+
- `user-scalable=no` or `maximum-scale=1` disabling zoom
|
|
148
|
+
- `onPaste` with `preventDefault`
|
|
149
|
+
- `transition: all`
|
|
150
|
+
- `outline-none` without focus-visible replacement
|
|
151
|
+
- Inline `onClick` navigation without `<a>`
|
|
152
|
+
- `<div>` or `<span>` with click handlers (should be `<button>`)
|
|
153
|
+
- Images without dimensions
|
|
154
|
+
- Large arrays `.map()` without virtualization
|
|
155
|
+
- Form inputs without labels
|
|
156
|
+
- Icon buttons without `aria-label`
|
|
157
|
+
- Hardcoded date/number formats (use `Intl.*`)
|
|
158
|
+
- `autoFocus` without clear justification
|
|
159
|
+
- Animated GIF when compressed video is suitable
|
|
160
|
+
- Gesture-only action without tap/click and keyboard alternative
|
|
161
|
+
|
|
162
|
+
## Output Format
|
|
163
|
+
|
|
164
|
+
Group by file. Use `file:line` format (VS Code clickable). Terse findings.
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
## src/Button.tsx
|
|
168
|
+
|
|
169
|
+
src/Button.tsx:42 - icon button missing aria-label
|
|
170
|
+
src/Button.tsx:18 - input lacks label
|
|
171
|
+
src/Button.tsx:55 - animation missing prefers-reduced-motion
|
|
172
|
+
src/Button.tsx:67 - transition: all → list properties
|
|
173
|
+
|
|
174
|
+
## src/Modal.tsx
|
|
175
|
+
|
|
176
|
+
src/Modal.tsx:12 - missing overscroll-behavior: contain
|
|
177
|
+
src/Modal.tsx:34 - "..." → "…"
|
|
178
|
+
|
|
179
|
+
## src/Card.tsx
|
|
180
|
+
|
|
181
|
+
✓ pass
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
State issue + location. Skip explanation unless fix non-obvious. No preamble.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Vercel Labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Vendored skill
|
|
2
|
+
|
|
3
|
+
- Source: https://github.com/vercel-labs/writing-guidelines
|
|
4
|
+
- Path in source: command.md
|
|
5
|
+
- Commit: 83e2316b034cf572400513538e4e4da01c4cc742
|
|
6
|
+
- Retrieved: 2026-11-05
|
|
7
|
+
- License: MIT — see `LICENSE` in this directory.
|
|
8
|
+
|
|
9
|
+
## agemon modifications
|
|
10
|
+
|
|
11
|
+
- `references/guidelines.md` is upstream's `command.md` with its frontmatter and the `$ARGUMENTS` line removed. The rules and output format are unchanged.
|
|
12
|
+
- `SKILL.md` is agemon's own wrapper. Instead of fetching the guidelines from a URL, it reads `references/guidelines.md`.
|
|
13
|
+
- Judgement call: the wrapper keeps the `name` and the short `description` of the skill agemon installed before, so existing installs are recognised and the skill still routes on the same phrases. That text comes from https://github.com/vercel-labs/agent-skills at commit 063bee94c3f4df8453406c830b0a7df0f2860278 (path `skills/writing-guidelines/SKILL.md`). That repository's README states MIT, but it has no LICENSE file at that commit, so the licence for this carried-over text is stated, not shipped. The rest of the wrapper is written by agemon.
|
|
14
|
+
- Keeps the name `writing-guidelines` rather than an `agemon-*` name, so existing installs are recognised and can be updated.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-guidelines
|
|
3
|
+
description: Review docs/prose for Writing Guidelines compliance. Use when asked to "review my docs", "check writing style", "audit prose", "review docs voice and tone", or "check this page against the writing handbook".
|
|
4
|
+
argument-hint: <file-or-pattern>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Writing Guidelines
|
|
8
|
+
|
|
9
|
+
Review files for compliance with the Writing Guidelines.
|
|
10
|
+
|
|
11
|
+
## How it works
|
|
12
|
+
|
|
13
|
+
1. Read the files the user named, or ask which files or pattern to review.
|
|
14
|
+
2. Read `references/guidelines.md` next to this file. It holds every rule and the output format.
|
|
15
|
+
3. Check each file against all of the rules.
|
|
16
|
+
4. Report findings in the terse `file:line` format the guidelines specify.
|
|
17
|
+
|
|
18
|
+
The guidelines ship with this skill at a pinned version. Do not look for newer rules elsewhere.
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# Writing Guidelines
|
|
2
|
+
|
|
3
|
+
Read files, check against rules below. Output concise but comprehensive: sacrifice grammar for brevity. High signal-to-noise.
|
|
4
|
+
|
|
5
|
+
## Rules
|
|
6
|
+
|
|
7
|
+
### Planning & content type
|
|
8
|
+
|
|
9
|
+
- Every page has a plan (overview, goal, audience, content plan, open questions) referenced or linked
|
|
10
|
+
- Content type declared in `meta.contentType`: `Tutorial`, `How-to`, `Reference`, `Conceptual`, `Troubleshooting`, or `Landing`
|
|
11
|
+
- Title is user-shaped (the user's question), not feature-shaped (the engineer's name)
|
|
12
|
+
- Page does one job: tutorial OR how-to OR reference, not three at once
|
|
13
|
+
- Goal is verb-driven (Bloom's taxonomy): "configure", "explain", "debug" (testable)
|
|
14
|
+
- Multi-audience pages: short shared opener, then technical subsections
|
|
15
|
+
|
|
16
|
+
### Voice & tone
|
|
17
|
+
|
|
18
|
+
- Active voice. Mental test: append "by monkeys". If the sentence parses, rewrite
|
|
19
|
+
- Direct address: `you`, never `the user` or `one can`
|
|
20
|
+
- Imperative for steps: "Click **Add Project**", not "You will need to click **Add Project**"
|
|
21
|
+
- Sentences under 20 words target
|
|
22
|
+
- Contractions encouraged (`you'll`, `it's`) for warmth
|
|
23
|
+
- Present tense unless describing future behavior
|
|
24
|
+
- Limit `we`: only for deliberate Vercel actions ("we recommend", "we deprecated"), never as a stand-in for "you"
|
|
25
|
+
- No rhetorical questions (sounds like marketing)
|
|
26
|
+
- Second-read test: read each sentence once at speech pace; if you re-read to parse it, name the subject, the action, and the consequence (kill metaphor verbs and pronouns reaching back several sentences)
|
|
27
|
+
|
|
28
|
+
### Banned words
|
|
29
|
+
|
|
30
|
+
- `easy`, `simple`, `quick`: puts pressure on the reader and reads as marketing; replace with concrete description ("one command", "default settings", "most projects don't need this")
|
|
31
|
+
- `very`, `just`, `really`: filler; cut or rewrite
|
|
32
|
+
|
|
33
|
+
### Concision
|
|
34
|
+
|
|
35
|
+
- Earn every detail: cut a number, name, or implementation detail if a more general phrasing wouldn't change the reader's understanding or action
|
|
36
|
+
- Weasel words: replace vague qualifiers (`significantly`, `many`, `often`, `typically`, `generally`) with a specific number or claim
|
|
37
|
+
- Vague quantifiers: no `near-zero`, `sub-second`, `most requests`; give the figure and cite it (`99.37% of requests see zero cold starts`)
|
|
38
|
+
- Filler/metaphor verbs: name the action instead of reaching for cadence (`moves through`, `lands`, `carries`, `hits` → the literal step)
|
|
39
|
+
|
|
40
|
+
### AI-generated tells (flag these)
|
|
41
|
+
|
|
42
|
+
- Summary-style transitions: never open a paragraph by recapping the last one (`With this setup complete…`, `Now that we've explored…`); pivot straight to the next point (`In practice…`, `The catch is…`)
|
|
43
|
+
- Stop-start sentences: don't split one dependent idea into choppy fragments (`Previously this was manual. Now it's automatic. This saves time.` → one sentence); short sentences for emphasis are fine
|
|
44
|
+
- Spec-sheet voice: rewrite sentences that read like a system reading a datasheet (`provides`, `is configurable`, `is explicitly labeled`)
|
|
45
|
+
- Cold-open paragraphs: a body paragraph whose first sentence works as a standalone heading has no antecedent; carry the prior subject forward (`Because…`, `Once…`)
|
|
46
|
+
- Personified artifacts: machines don't perform human-physical actions (`hand the browser a URL` → `the browser fetches the URL`; `the token holds…` → `the token is stored…`)
|
|
47
|
+
- Reused framing: the angle must come from this page, not a template (`The question most teams face is whether…`)
|
|
48
|
+
|
|
49
|
+
### Tone, by content type
|
|
50
|
+
|
|
51
|
+
- **Tutorial**: warm, encouraging, predictable structure, no traps
|
|
52
|
+
- **How-to**: terse, direct (reader is mid-task)
|
|
53
|
+
- **Reference**: neutral, exhaustive, quotable
|
|
54
|
+
- **Conceptual**: explain like the reader will teach it back; examples and analogies welcome
|
|
55
|
+
- **Troubleshooting**: empathetic but not apologetic; acknowledge then fix
|
|
56
|
+
|
|
57
|
+
### Headings
|
|
58
|
+
|
|
59
|
+
- Sentence case for page headings (`H1` `H2` `H3`): "Configure environment variables", not "Configure Environment Variables"
|
|
60
|
+
- Title case for nav labels: "Configuring Environment Variables"
|
|
61
|
+
- `meta.title` becomes the `H1`; `meta.navLabel` becomes the sidebar entry
|
|
62
|
+
- Subheadings descriptive, not cute: "Caveats when self-hosting on Cloudflare", not "Caveats"
|
|
63
|
+
- Reader should be able to guess section content from the heading alone
|
|
64
|
+
|
|
65
|
+
### Structure
|
|
66
|
+
|
|
67
|
+
- Every page opens with a one-paragraph TL;DR of what the page covers
|
|
68
|
+
- Every major section opens with a summary sentence
|
|
69
|
+
- Acronyms spelled out on first use: "Content Security Policy (CSP) blocks inline scripts"
|
|
70
|
+
- Define every term the first time you use it (link to its conceptual page)
|
|
71
|
+
- Reference docs organized by surface; education docs organized by reader task
|
|
72
|
+
- Keep paragraphs to 2 to 4 sentences; split anything longer or covering two ideas
|
|
73
|
+
|
|
74
|
+
### Lists
|
|
75
|
+
|
|
76
|
+
- Three or more list-shaped items in a paragraph: convert to a list
|
|
77
|
+
- Bulleted for unordered; numbered for ordered (lifecycles, sequential steps)
|
|
78
|
+
- Always introduce a list with a colon
|
|
79
|
+
- No periods at the end of list items unless they are full sentences
|
|
80
|
+
- Bold/description format: `- **Term**: description here` (colon after bold term)
|
|
81
|
+
|
|
82
|
+
### Code
|
|
83
|
+
|
|
84
|
+
- Code blocks need a language tag for syntax highlighting
|
|
85
|
+
- TypeScript is the default for new code unless the surface is genuinely language-agnostic
|
|
86
|
+
- Multi-step flows wrapped in `<Steps/>` so structure is visible
|
|
87
|
+
- Highlight load-bearing lines: `` ```typescript {8-12,23-37} ``
|
|
88
|
+
- ≤80 columns per line in snippets
|
|
89
|
+
- ≤25 lines per snippet; split longer blocks with prose
|
|
90
|
+
- Omit defaults; don't repeat variable definitions, use shared var
|
|
91
|
+
- Minimal comments in code blocks; prefer prose explanation
|
|
92
|
+
- Explain what every code block does in prose (don't drop and run)
|
|
93
|
+
- Don't reference full example files at the end of guides ("See `train.py`"); the guide is the deliverable
|
|
94
|
+
|
|
95
|
+
### Placeholders
|
|
96
|
+
|
|
97
|
+
- Text placeholders: `snake_case`, descriptive: `your_access_token_here` (so reader can double-click to select before pasting)
|
|
98
|
+
- Number placeholders: count up `1234567890123` (recognizable as fake, predictable)
|
|
99
|
+
- Never `<TOKEN>`, `xxx`, `your-token`, or generic ALL_CAPS
|
|
100
|
+
|
|
101
|
+
### Data sizes & units
|
|
102
|
+
|
|
103
|
+
- Space + uppercase unit: `64 KB`, `5 KB`, `200 ms`
|
|
104
|
+
- Exception: seconds is bare: `30s`
|
|
105
|
+
- Consistent across the corpus so readers can develop scanning habits
|
|
106
|
+
|
|
107
|
+
### Money & pricing pages
|
|
108
|
+
|
|
109
|
+
- Uncompromising detail: err on "too much"
|
|
110
|
+
- Use tables for pricing
|
|
111
|
+
- Never assume reader knows the pricing model or whether their workload counts as one invocation or several
|
|
112
|
+
- Clarity and transparency above all else
|
|
113
|
+
|
|
114
|
+
### Emphasis
|
|
115
|
+
|
|
116
|
+
- **Bold** means UI element or critical fact, never emphasis-for-emphasis-sake
|
|
117
|
+
- Reaching for bold for tone: the sentence is weak; rewrite it
|
|
118
|
+
- `Inline code` for paths, file extensions, identifiers, short snippets: `/api`, `.tsx`, `body`, `query`, `req`
|
|
119
|
+
- Rule: if it would look weird without a monospace font, monospace it
|
|
120
|
+
|
|
121
|
+
### Punctuation & typography
|
|
122
|
+
|
|
123
|
+
- Never em dashes (`—`) or dashes (`-`) as punctuation; use colons, commas, periods, or rephrase
|
|
124
|
+
- Curly quotes `"` `"` and `'` `'`, not straight `"` or `'`
|
|
125
|
+
- Ellipsis `…`, not three dots `...`
|
|
126
|
+
- Loading states end with `…`: `Loading…`, `Saving…`
|
|
127
|
+
- Non-breaking spaces in `10 MB`, `⌘ K`, brand names
|
|
128
|
+
- `&` over "and" only where space-constrained (nav labels, buttons)
|
|
129
|
+
|
|
130
|
+
### Source formatting
|
|
131
|
+
|
|
132
|
+
- Don't hard-wrap paragraphs: each paragraph is one line in source, let the editor wrap
|
|
133
|
+
- One blank line before headings; one blank line before and after code blocks
|
|
134
|
+
- No `---` horizontal rules between sections
|
|
135
|
+
- No extra blank lines between elements that aren't paragraph breaks
|
|
136
|
+
|
|
137
|
+
### Links
|
|
138
|
+
|
|
139
|
+
- Define every term the first time it appears, link to its conceptual page
|
|
140
|
+
- Anchor text names the destination; never bare URLs or `here`/`link`
|
|
141
|
+
- Dashboard deep links use the standard format: `https://vercel.com/d?to=%2F%5Bteam%5D%2F~%2Fai-gateway%2Fapi-keys&title=AI+Gateway+API+Keys`
|
|
142
|
+
- Link to canonical product docs where relevant: `https://vercel.com/docs/vercel-sandbox`, `https://vercel.com/docs/ai-gateway`
|
|
143
|
+
- AI Gateway model catalog: `https://vercel.com/ai-gateway/models`
|
|
144
|
+
|
|
145
|
+
### Models in examples
|
|
146
|
+
|
|
147
|
+
- Always use the latest model strings: `anthropic/claude-opus-4-7`, not `anthropic/claude-sonnet-4` or older
|
|
148
|
+
- For image generation default: `google/gemini-3.1-flash-image-preview`
|
|
149
|
+
|
|
150
|
+
### AI workflow
|
|
151
|
+
|
|
152
|
+
- You are accountable for the content you produce, however it is created
|
|
153
|
+
- You are the final arbiter; the model proposes, you dispose
|
|
154
|
+
- Hold technical accuracy to a high standard: docs are also consumed by LLMs, wrong docs train wrong models
|
|
155
|
+
- Use only enterprise models that do not train on your data (especially for unreleased products)
|
|
156
|
+
- Disclose AI use in the PR (model + prompts if useful)
|
|
157
|
+
- Plan first by hand; the plan is the spec the model works against
|
|
158
|
+
- Use plan-mode in your editor (Cursor, Claude) before letting the model write
|
|
159
|
+
- Tell the model to follow `AGENTS.md` and the linting checklist
|
|
160
|
+
- Run a test prompt against the preview: "given this plan's goal, can the model complete the task using only this page?"
|
|
161
|
+
- Final human review always
|
|
162
|
+
|
|
163
|
+
### Quality checklist (required boxes are non-negotiable)
|
|
164
|
+
|
|
165
|
+
- **Findability**: sidebar bucket set via `meta.category`; UI links to docs from any dashboard surface that exposes the feature
|
|
166
|
+
- **Accuracy**: code samples actually run; screenshots map 1:1 to current UI and use the ACME demo account
|
|
167
|
+
- **Relevance**: code samples included where applicable (TypeScript first; `<Steps/>` for multi-step flows)
|
|
168
|
+
- **Clarity**: overview addresses who/what/where/why; high-level use cases laid out; quickstart for new products; prerequisites listed on tutorials; sample repo in `vercel/examples` for multi-step tutorials; steps detailed not vague; visual aids in confusing sections; simplest path recommended when multiple exist
|
|
169
|
+
- **Completeness**: limits documented; all-limits tables updated; content plan followed and goals addressed
|
|
170
|
+
- **Readability**: nav names scannable and use action verbs; content types accurately used; subheadings descriptive; topics start with summaries; code blocks formatted correctly; active voice where warranted
|
|
171
|
+
|
|
172
|
+
### Review
|
|
173
|
+
|
|
174
|
+
- PR description links to the content plan, lists what to review, and links the preview URL
|
|
175
|
+
- Ping the team via the PR link (not the plan or preview directly)
|
|
176
|
+
- Author is accountable, not the reviewer; reviewers are liberal with approvals
|
|
177
|
+
- Suggestion comments for small text fixes; preview comments for anything bigger
|
|
178
|
+
- Disagreement is fine; reject with a one-line reason and move on
|
|
179
|
+
|
|
180
|
+
### Anti-patterns (flag these)
|
|
181
|
+
|
|
182
|
+
- Em dashes (`—`) or dashes (`-`) used as punctuation
|
|
183
|
+
- `easy`, `simple`, `quick` describing reader actions
|
|
184
|
+
- Passive voice (apply "by monkeys" test)
|
|
185
|
+
- Title Case in page headings (only sentence case in `H1` through `H6`)
|
|
186
|
+
- Generic placeholders: `<TOKEN>`, `xxx`, `your-token`, `ABC123`
|
|
187
|
+
- Code blocks without a language tag
|
|
188
|
+
- JS examples where TypeScript is the convention
|
|
189
|
+
- Code blocks over 25 lines without prose between
|
|
190
|
+
- Hard-wrapped prose paragraphs (multiple lines for one paragraph in source)
|
|
191
|
+
- `---` horizontal rules between sections
|
|
192
|
+
- Subheadings that are single generic words: `Overview`, `Caveats`, `Notes`
|
|
193
|
+
- Bold used for emphasis instead of UI element or critical fact
|
|
194
|
+
- Page or section without an opening summary
|
|
195
|
+
- Straight quotes (`"`, `'`) instead of curly (`"`, `'`)
|
|
196
|
+
- Three dots (`...`) instead of ellipsis (`…`)
|
|
197
|
+
- Acronyms used before being spelled out
|
|
198
|
+
- Bare unit numbers (`64KB`, `5kb`, `200MS`) instead of `64 KB`, `5 KB`, `200 ms`
|
|
199
|
+
- "We" standing in for "you"
|
|
200
|
+
- Rhetorical questions
|
|
201
|
+
- Filler words: `very`, `just`, `really`, `simply`
|
|
202
|
+
- References to "the full example file at the end of the guide" rather than inlining the code
|
|
203
|
+
- Outdated model strings in examples (`anthropic/claude-sonnet-4`, `gpt-4o`, DALL-E)
|
|
204
|
+
- Hardcoded date/number formats instead of `Intl.DateTimeFormat` / `Intl.NumberFormat` in code samples
|
|
205
|
+
- "Loading..." instead of "Loading…"
|
|
206
|
+
- Summary-style transitions recapping the previous paragraph (`With this setup complete…`)
|
|
207
|
+
- Stop-start fragments splitting one dependent idea into choppy sentences
|
|
208
|
+
- Spec-sheet voice reading like a datasheet (`provides`, `is configurable`, `is explicitly labeled`)
|
|
209
|
+
- Cold-open body paragraphs whose first sentence has no antecedent
|
|
210
|
+
- Personified artifacts performing human-physical actions (`hand the browser a URL`)
|
|
211
|
+
- Reused/template framing not specific to the page (`The question most teams face is whether…`)
|
|
212
|
+
- Weasel words instead of a specific claim (`significantly`, `many`, `often`, `typically`, `generally`)
|
|
213
|
+
- Vague quantifiers without a cited figure (`near-zero`, `sub-second`, `most requests`)
|
|
214
|
+
- Filler/metaphor verbs instead of the literal step (`moves through`, `lands`, `carries`, `hits`)
|
|
215
|
+
- Sentences that need a second read to parse
|
|
216
|
+
- Paragraphs over 4 sentences or covering two ideas
|
|
217
|
+
- Bare URLs or `here`/`link` as anchor text
|
|
218
|
+
|
|
219
|
+
## Output Format
|
|
220
|
+
|
|
221
|
+
Group by file. Use `file:line` format (VS Code clickable). Terse findings.
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
## content/docs/sandbox.mdx
|
|
225
|
+
|
|
226
|
+
content/docs/sandbox.mdx:1 - missing meta.contentType
|
|
227
|
+
content/docs/sandbox.mdx:12 - title "Vercel Sandbox" is feature-shaped, not user-question
|
|
228
|
+
content/docs/sandbox.mdx:24 - passive voice ("the sandbox is created...")
|
|
229
|
+
content/docs/sandbox.mdx:31 - banned word "easy"
|
|
230
|
+
content/docs/sandbox.mdx:47 - "..." → "…"
|
|
231
|
+
content/docs/sandbox.mdx:58 - code block missing language tag
|
|
232
|
+
content/docs/sandbox.mdx:71 - placeholder <TOKEN> → your_access_token_here
|
|
233
|
+
content/docs/sandbox.mdx:89 - "64KB" → "64 KB"
|
|
234
|
+
content/docs/sandbox.mdx:102 - H2 "Caveats" too generic; add specificity
|
|
235
|
+
content/docs/sandbox.mdx:118 - em dash in prose, replace with colon/comma
|
|
236
|
+
|
|
237
|
+
## content/docs/ai-gateway.mdx
|
|
238
|
+
|
|
239
|
+
content/docs/ai-gateway.mdx:5 - title case in H1; sentence case only
|
|
240
|
+
content/docs/ai-gateway.mdx:18 - acronym AI Gateway used before being spelled out
|
|
241
|
+
content/docs/ai-gateway.mdx:34 - bold for emphasis, not UI element
|
|
242
|
+
content/docs/ai-gateway.mdx:52 - `anthropic/claude-sonnet-4` outdated; use `anthropic/claude-opus-4-7`
|
|
243
|
+
content/docs/ai-gateway.mdx:71 - hard-wrapped paragraph (lines 71-74)
|
|
244
|
+
|
|
245
|
+
## content/docs/cron.mdx
|
|
246
|
+
|
|
247
|
+
✓ pass
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
State issue + location. Skip explanation unless fix is non-obvious. No preamble.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jake Schincariol
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Vendored skill
|
|
2
|
+
|
|
3
|
+
- Source: https://github.com/Jakeschincariol/founder-skill
|
|
4
|
+
- Path in source: skills/founder-board
|
|
5
|
+
- Commit: fd9385b0cfe1b96bebce3898fbd506d73eff5a9d
|
|
6
|
+
- Retrieved: 2026-11-05
|
|
7
|
+
- License: MIT — see `LICENSE` in this directory.
|
|
8
|
+
|
|
9
|
+
## agemon modifications
|
|
10
|
+
|
|
11
|
+
- Renamed from `founder-board` to `agemon-founder-board`, and updated every reference to the pack's other skills to their new names, in the Markdown and in the scripts.
|