waypoint-skills 1.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.
Files changed (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +348 -0
  3. package/README.npm.md +56 -0
  4. package/cli/bin/cli.js +127 -0
  5. package/cli/bin/lib/paths.mjs +31 -0
  6. package/cli/bin/postinstall.mjs +25 -0
  7. package/manifest.json +107 -0
  8. package/package.json +44 -0
  9. package/packages/agents/inspiration-scout.md +105 -0
  10. package/packages/agents/orchestrator.md +186 -0
  11. package/packages/agents/scrutiny-validator.md +136 -0
  12. package/packages/agents/user-testing-validator.md +171 -0
  13. package/packages/agents/validator.md +102 -0
  14. package/packages/agents/worker.md +116 -0
  15. package/packages/agents/wp-router.md +69 -0
  16. package/packages/hooks/hooks.json.example +12 -0
  17. package/packages/hooks/templates/mission-worktree-bootstrap.sh +88 -0
  18. package/packages/hooks/templates/run-assertions.sh +48 -0
  19. package/packages/rules/adversarial-context-isolation.mdc +57 -0
  20. package/packages/rules/serial-git-enforcement.mdc +77 -0
  21. package/packages/skills/caveman/SKILL.md +78 -0
  22. package/packages/skills/design-taste-frontend/SKILL.md +1206 -0
  23. package/packages/skills/gpt-taste/SKILL.md +74 -0
  24. package/packages/skills/impeccable/SKILL.md +164 -0
  25. package/packages/skills/impeccable/reference/adapt.md +311 -0
  26. package/packages/skills/impeccable/reference/animate.md +201 -0
  27. package/packages/skills/impeccable/reference/audit.md +133 -0
  28. package/packages/skills/impeccable/reference/bolder.md +120 -0
  29. package/packages/skills/impeccable/reference/brand.md +108 -0
  30. package/packages/skills/impeccable/reference/clarify.md +288 -0
  31. package/packages/skills/impeccable/reference/codex.md +105 -0
  32. package/packages/skills/impeccable/reference/colorize.md +257 -0
  33. package/packages/skills/impeccable/reference/craft.md +123 -0
  34. package/packages/skills/impeccable/reference/critique.md +780 -0
  35. package/packages/skills/impeccable/reference/delight.md +302 -0
  36. package/packages/skills/impeccable/reference/distill.md +111 -0
  37. package/packages/skills/impeccable/reference/document.md +429 -0
  38. package/packages/skills/impeccable/reference/extract.md +69 -0
  39. package/packages/skills/impeccable/reference/harden.md +347 -0
  40. package/packages/skills/impeccable/reference/hooks.md +90 -0
  41. package/packages/skills/impeccable/reference/init.md +172 -0
  42. package/packages/skills/impeccable/reference/interaction-design.md +189 -0
  43. package/packages/skills/impeccable/reference/layout.md +161 -0
  44. package/packages/skills/impeccable/reference/live.md +718 -0
  45. package/packages/skills/impeccable/reference/onboard.md +234 -0
  46. package/packages/skills/impeccable/reference/optimize.md +258 -0
  47. package/packages/skills/impeccable/reference/overdrive.md +130 -0
  48. package/packages/skills/impeccable/reference/polish.md +241 -0
  49. package/packages/skills/impeccable/reference/product.md +60 -0
  50. package/packages/skills/impeccable/reference/quieter.md +99 -0
  51. package/packages/skills/impeccable/reference/shape.md +165 -0
  52. package/packages/skills/impeccable/reference/typeset.md +279 -0
  53. package/packages/skills/impeccable/scripts/command-metadata.json +94 -0
  54. package/packages/skills/impeccable/scripts/context-signals.mjs +225 -0
  55. package/packages/skills/impeccable/scripts/context.mjs +961 -0
  56. package/packages/skills/impeccable/scripts/critique-storage.mjs +242 -0
  57. package/packages/skills/impeccable/scripts/detect-csp.mjs +198 -0
  58. package/packages/skills/impeccable/scripts/detect.mjs +21 -0
  59. package/packages/skills/impeccable/scripts/detector/browser/injected/index.mjs +1937 -0
  60. package/packages/skills/impeccable/scripts/detector/cli/main.mjs +290 -0
  61. package/packages/skills/impeccable/scripts/detector/design-system.mjs +750 -0
  62. package/packages/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +5185 -0
  63. package/packages/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
  64. package/packages/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +277 -0
  65. package/packages/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +568 -0
  66. package/packages/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1015 -0
  67. package/packages/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +234 -0
  68. package/packages/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  69. package/packages/skills/impeccable/scripts/detector/findings.mjs +12 -0
  70. package/packages/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
  71. package/packages/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  72. package/packages/skills/impeccable/scripts/detector/registry/antipatterns.mjs +459 -0
  73. package/packages/skills/impeccable/scripts/detector/rules/checks.mjs +2707 -0
  74. package/packages/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
  75. package/packages/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
  76. package/packages/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
  77. package/packages/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  78. package/packages/skills/impeccable/scripts/hook-admin.mjs +660 -0
  79. package/packages/skills/impeccable/scripts/hook-before-edit.mjs +476 -0
  80. package/packages/skills/impeccable/scripts/hook-lib.mjs +1632 -0
  81. package/packages/skills/impeccable/scripts/hook.mjs +61 -0
  82. package/packages/skills/impeccable/scripts/lib/design-parser.mjs +842 -0
  83. package/packages/skills/impeccable/scripts/lib/impeccable-config.mjs +638 -0
  84. package/packages/skills/impeccable/scripts/lib/impeccable-paths.mjs +128 -0
  85. package/packages/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
  86. package/packages/skills/impeccable/scripts/lib/target-args.mjs +42 -0
  87. package/packages/skills/impeccable/scripts/live/browser-script-parts.mjs +49 -0
  88. package/packages/skills/impeccable/scripts/live/completion.mjs +19 -0
  89. package/packages/skills/impeccable/scripts/live/event-validation.mjs +137 -0
  90. package/packages/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
  91. package/packages/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
  92. package/packages/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
  93. package/packages/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
  94. package/packages/skills/impeccable/scripts/live/session-store.mjs +289 -0
  95. package/packages/skills/impeccable/scripts/live/svelte-component.mjs +826 -0
  96. package/packages/skills/impeccable/scripts/live/sveltekit-adapter.mjs +274 -0
  97. package/packages/skills/impeccable/scripts/live/ui-core.mjs +180 -0
  98. package/packages/skills/impeccable/scripts/live/vocabulary.mjs +36 -0
  99. package/packages/skills/impeccable/scripts/live-accept.mjs +812 -0
  100. package/packages/skills/impeccable/scripts/live-browser-dom.js +146 -0
  101. package/packages/skills/impeccable/scripts/live-browser-session.js +123 -0
  102. package/packages/skills/impeccable/scripts/live-browser.js +11173 -0
  103. package/packages/skills/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
  104. package/packages/skills/impeccable/scripts/live-complete.mjs +75 -0
  105. package/packages/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
  106. package/packages/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
  107. package/packages/skills/impeccable/scripts/live-inject.mjs +583 -0
  108. package/packages/skills/impeccable/scripts/live-insert.mjs +272 -0
  109. package/packages/skills/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
  110. package/packages/skills/impeccable/scripts/live-poll.mjs +384 -0
  111. package/packages/skills/impeccable/scripts/live-resume.mjs +94 -0
  112. package/packages/skills/impeccable/scripts/live-server.mjs +1135 -0
  113. package/packages/skills/impeccable/scripts/live-status.mjs +61 -0
  114. package/packages/skills/impeccable/scripts/live-target.mjs +30 -0
  115. package/packages/skills/impeccable/scripts/live-wrap.mjs +894 -0
  116. package/packages/skills/impeccable/scripts/live.mjs +297 -0
  117. package/packages/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  118. package/packages/skills/impeccable/scripts/palette.mjs +633 -0
  119. package/packages/skills/impeccable/scripts/pin.mjs +214 -0
  120. package/packages/skills/ponytail/SKILL.md +117 -0
  121. package/packages/skills/stitch-design-taste/DESIGN.md +121 -0
  122. package/packages/skills/stitch-design-taste/SKILL.md +184 -0
  123. package/packages/skills/waypoint/SKILL.md +67 -0
  124. package/packages/skills/wp/SKILL.md +330 -0
  125. package/packages/skills/wp/caveman-wire.md +148 -0
  126. package/packages/skills/wp/reference.md +411 -0
  127. package/scripts/detect-platform.sh +32 -0
  128. package/scripts/install.sh +123 -0
  129. package/scripts/lib/common.sh +215 -0
  130. package/scripts/sync-skills.sh +21 -0
  131. package/scripts/uninstall.sh +38 -0
  132. package/scripts/waypoint +281 -0
@@ -0,0 +1,77 @@
1
+ ---
2
+ description: Serial git enforcement for mission workers — one active writer per git worktree, verified clean codebase between sub-tasks. Multi-instance parallelism allowed when each mid has a distinct worktree_root.
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Serial Git Enforcement
7
+
8
+ 1. **No Concurrent Edits per worktree:** Only one Worker or Validator may mutate a given `worktree_root` at any moment. Parallel execution is allowed across **distinct worktrees** (different `mid` values).
9
+ 2. **Clean Slate Principle:** Every worker must inherit a verified codebase from the previous worker **in the same worktree**.
10
+
11
+ ## Instance Context (v1.3)
12
+
13
+ | Field | Role |
14
+ |-------|------|
15
+ | `mid` | Mission instance id |
16
+ | `worktree_root` | Git working tree for code edits |
17
+ | `wp_root` | `.wp/instances/<mid>/` — plan/handoffs (not code) |
18
+
19
+ Workers and validators run `git status` in `worktree_root`, not `project_root`, unless they are the same path (`default` mid).
20
+
21
+ ## Worker Start Checklist
22
+
23
+ Before Execute phase (in `worktree_root`):
24
+
25
+ ```bash
26
+ cd "$worktree_root"
27
+ git status --porcelain # must be empty OR only expected task files
28
+ git stash list # note any stashes — do not inherit hidden state
29
+ ```
30
+
31
+ - **Empty tree required** unless the in-progress task explicitly owns the current diff
32
+ - Stray edits from a prior task in the same worktree → stop, commit/revert/stash with orchestrator approval
33
+ - Stray edits in a **different** worktree → not this worker's concern; do not touch
34
+
35
+ ## Worker End Checklist
36
+
37
+ Before handoff (in `worktree_root`):
38
+
39
+ ```bash
40
+ cd "$worktree_root"
41
+ git status --porcelain # only files in task scope
42
+ git diff --stat # matches handoff "Implemented" section
43
+ ```
44
+
45
+ Handoff must include `git:` and `worktree:` fields. Validator inherits the same worktree + scoped diff.
46
+
47
+ ## Concurrency Matrix
48
+
49
+ | Operation | Parallel OK? |
50
+ |-----------|----------------|
51
+ | Grep, Read, glob, docs, reviews | Yes |
52
+ | Write/Edit in **different** worktrees (different `mid`) | Yes |
53
+ | Write/Edit in the **same** worktree | No — one active editor |
54
+ | Orchestrator plan/contract writes (wp_root only) | Yes — no app code |
55
+ | Two workers, same `worktree_root` | **No** — halt both |
56
+
57
+ ## Multi-Worktree Parallelism
58
+
59
+ When framework v1.3 provisions git worktrees per `mid`:
60
+
61
+ ```
62
+ project_root: /path/HerbalTech
63
+ worktree A: /path/HerbalTech-missions/api-payments (mid: api-payments)
64
+ worktree B: /path/HerbalTech-missions/web-checkout (mid: web-checkout)
65
+ ```
66
+
67
+ Worker A and Worker B may run simultaneously. Each must stay in its own `worktree_root`.
68
+
69
+ Shared `.wp/` state (via symlink in worktree) is updated by orchestrator/bookkeeping sequentially per `mid` — not by workers directly.
70
+
71
+ ## Violations
72
+
73
+ - Two workers editing the **same** worktree → halt both; orchestrator re-serializes plan for that `mid`
74
+ - Worker edits `project_root` when `worktree_root` differs → validator BLOCK
75
+ - Uncommitted stray changes at worker start → worker blocked until tree is clean
76
+ - Handoff with undeclared local changes → validator treats as **fail**
77
+ - Validator reads handoffs from wrong `mid` → BLOCK (cross-instance contamination)
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: caveman
3
+ description: >
4
+ Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman
5
+ while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra,
6
+ wenyan-lite, wenyan-full, wenyan-ultra.
7
+ Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens",
8
+ "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
9
+ ---
10
+
11
+ Respond terse like smart caveman. All technical substance stay. Only fluff die.
12
+
13
+ ## Persistence
14
+
15
+ ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure. Off only: "stop caveman" / "normal mode".
16
+
17
+ Default: **full**. Switch: `/caveman lite|full|ultra`.
18
+
19
+ ## Rules
20
+
21
+ Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). No tool-call narration, no decorative tables/emoji, no dumping long raw error logs unless asked — quote shortest decisive line. Standard well-known tech acronyms OK (DB/API/HTTP); never invent new abbreviations reader can't decode. Technical terms exact. Code blocks unchanged. Errors quoted exact.
22
+
23
+ Preserve user's dominant language. User write Portuguese → reply Portuguese caveman. User write Spanish → reply Spanish caveman. Compress the style, not the language. No forced English openings or status phrases. ALWAYS keep technical terms, code, API names, CLI commands, commit-type keywords (feat/fix/...), and exact error strings verbatim — unless user explicitly ask for translation.
24
+
25
+ No self-reference. Never name or announce the style. No "caveman mode on", "me caveman think", no third-person caveman tags. Output caveman-only — never normal answer plus "Caveman:" recap. Exception: user explicitly ask what the mode is.
26
+
27
+ Pattern: `[thing] [action] [reason]. [next step].`
28
+
29
+ Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
30
+ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"
31
+
32
+ ## Intensity
33
+
34
+ | Level | What change |
35
+ |-------|------------|
36
+ | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight |
37
+ | **full** | Drop articles, fragments OK, short synonyms. Classic caveman. No tool-call narration, no decorative tables/emoji, no long raw error-log dumps unless asked. Standard acronyms OK; no invented abbreviations |
38
+ | **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl) — prose words only, never real code symbols/function names. Strip conjunctions, arrows for causality (X → Y), one word when one word enough. Code symbols, function names, API names, error strings: never abbreviate |
39
+ | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register |
40
+ | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) |
41
+ | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse |
42
+
43
+ Example — "Why React component re-render?"
44
+ - lite: "Your component re-renders because you create a new object reference each render. Wrap it in `useMemo`."
45
+ - full: "New object ref each render. Inline object prop = new ref = re-render. Wrap in `useMemo`."
46
+ - ultra: "Inline obj prop → new ref → re-render. `useMemo`."
47
+ - wenyan-lite: "組件頻重繪,以每繪新生對象參照故。以 useMemo 包之。"
48
+ - wenyan-full: "每繪新生對象參照,故重繪;以 useMemo 包之則免。"
49
+ - wenyan-ultra: "新參照→重繪。useMemo Wrap。"
50
+
51
+ Example — "Explain database connection pooling."
52
+ - lite: "Connection pooling reuses open connections instead of creating new ones per request. Avoids repeated handshake overhead."
53
+ - full: "Pool reuse open DB connections. No new connection per request. Skip handshake overhead."
54
+ - ultra: "Pool = reuse DB conn. Skip handshake → fast under load."
55
+ - wenyan-full: "池reuse open connection。不每req新開。skip handshake overhead。"
56
+ - wenyan-ultra: "池reuse conn。skip handshake → fast。"
57
+
58
+ ## Auto-Clarity
59
+
60
+ Drop caveman when:
61
+ - Security warnings
62
+ - Irreversible action confirmations
63
+ - Multi-step sequences where fragment order or omitted conjunctions risk misread
64
+ - Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions)
65
+ - User asks to clarify or repeats question
66
+
67
+ Resume caveman after clear part done.
68
+
69
+ Example — destructive op:
70
+ > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone.
71
+ > ```sql
72
+ > DROP TABLE users;
73
+ > ```
74
+ > Caveman resume. Verify backup exist first.
75
+
76
+ ## Boundaries
77
+
78
+ Code/commits/PRs: write normal. "stop caveman" or "normal mode": revert. Level persist until changed or session end.