@se-studio/skills 1.8.2 → 1.9.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/CHANGELOG.md +6 -0
- package/package.json +1 -1
- package/references/agent-session/cross-project-handoff.md +42 -0
- package/references/agent-session/customer-agents-block.md +22 -3
- package/references/agent-session/customer-architecture.mdc +48 -0
- package/references/agent-session/customer-code-review.md +84 -0
- package/references/agent-session/process-feedback.md +32 -0
- package/references/agent-session/projects.registry.json +11 -0
- package/skills/site-workflows-agent-session/SKILL.md +48 -12
- package/skills/site-workflows-new-project/SKILL.md +17 -28
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @se-studio/skills
|
|
2
2
|
|
|
3
|
+
## 1.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Agent process refresh: replace Bugbot/nick-go label gates with phased Vercel visual review, chat-gated multi-lens code review, and cross-project handoff templates.
|
|
8
|
+
|
|
3
9
|
## 1.8.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Cross-project handoffs
|
|
2
|
+
|
|
3
|
+
When work spans **se-core-product** and a customer site, use these chat/PR blocks. Do not patch `@se-studio/*` in the customer repo while waiting.
|
|
4
|
+
|
|
5
|
+
## Core request (site → core)
|
|
6
|
+
|
|
7
|
+
Emit when placement says **core**, or the site is blocked on missing package behaviour:
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
## Core request
|
|
11
|
+
|
|
12
|
+
**From site:** <project_key> (`<repo>`)
|
|
13
|
+
**Feature:** <feature-slug>
|
|
14
|
+
**Why core:** <one sentence — 2+ sites / CMS infra / bug in @se-studio/*>
|
|
15
|
+
|
|
16
|
+
**Suggested packages:** `@se-studio/<pkg>`, …
|
|
17
|
+
**Suggested core branch:** `feature/core/<slug>` or `cursor/<slug>-…`
|
|
18
|
+
|
|
19
|
+
**Site status:** Parked — waiting on npm `@se-studio/<pkg>@<version>` (TBD until publish).
|
|
20
|
+
**Do not:** implement this behaviour in the customer repo.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Then switch to **core-first** (same multi-root chat or a core session), implement, changeset, publish.
|
|
24
|
+
|
|
25
|
+
## Site request (core → sites)
|
|
26
|
+
|
|
27
|
+
Emit when a core release is ready for consumers:
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
## Site request
|
|
31
|
+
|
|
32
|
+
**Core PR / packages:** `@se-studio/<pkg>@<version>` (confirmed on npm: yes/no)
|
|
33
|
+
**Customers to bump:** <project_key list>
|
|
34
|
+
**Command:** `pnpm update @se-studio/<pkg>@<version> -r`
|
|
35
|
+
**Notes:** <breaking? opt-in? editor-pack regen?>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Wait rules
|
|
39
|
+
|
|
40
|
+
1. Customer must not push `develop` assuming an unpublished package version.
|
|
41
|
+
2. After npm confirm → `pnpm update` → then continue site work / merge chat.
|
|
42
|
+
3. Say the wait loudly in the site PR body, not in a core yaml ledger.
|
|
@@ -13,6 +13,7 @@ Default mode for this repo: **site-first**.
|
|
|
13
13
|
### Branch policy
|
|
14
14
|
|
|
15
15
|
- Agents may commit and push **`develop`** and **`feature/*`**.
|
|
16
|
+
- Merge feature → `develop` only when Nick approves **in chat** (no `nick-go` GitHub label).
|
|
16
17
|
- Customer production (`main`, HSD `production`) **only** after the human-ask + confirm gate (`production-merge.md` in `@se-studio/skills`). The human must ask to merge integration → production in this conversation; the agent must restate site, branches, and that it publishes production; then wait for a second **yes**.
|
|
17
18
|
- **Never** treat “deploy”, “ship it”, or “rollout” as permission. **Never** ship from a production checkout (e.g. HSD `production-hsd-website`). Use the develop checkout only. **Never** merge se-core-product `main`.
|
|
18
19
|
- Prefer **draft PRs** to `develop` over direct pushes when `gh` is available.
|
|
@@ -27,7 +28,7 @@ Before non-trivial code, run the placement checklist (in the skill). Summary:
|
|
|
27
28
|
| **Customer shared package** (if monorepo) | Consent/analytics shared across sites in this customer |
|
|
28
29
|
| **`se-core-product`** (`@se-studio/*`) | Fixes/features needed by 2+ sites, CMS infrastructure |
|
|
29
30
|
|
|
30
|
-
If the checklist says **core**, stop and
|
|
31
|
+
If the checklist says **core**, stop and emit a **Core request** ([`cross-project-handoff.md`](./cross-project-handoff.md)) — do not patch `@se-studio` behaviour in this repo. Shared converters, Visual/video delivery, cms-edit runtime, sitemap helpers, and site-check assertions belong in core, not a one-site fork. Switch to core-first (or a core session); park the site until npm.
|
|
31
32
|
|
|
32
33
|
### Deploy smoke failed?
|
|
33
34
|
|
|
@@ -46,10 +47,24 @@ When work depends on a new `@se-studio/*` npm release:
|
|
|
46
47
|
1. Release from `se-core-product` (`dev` → CI publish)
|
|
47
48
|
2. Confirm version on npm
|
|
48
49
|
3. `pnpm update @se-studio/<package>@<version> -r` in this repo
|
|
49
|
-
4. Then push `develop`
|
|
50
|
+
4. Then push / merge to `develop` after chat approval
|
|
50
51
|
|
|
51
52
|
Never hand-edit `package.json` dependency versions.
|
|
52
53
|
|
|
54
|
+
### UI visual gates (Vercel preview)
|
|
55
|
+
|
|
56
|
+
For visual/UI changes:
|
|
57
|
+
|
|
58
|
+
1. **Early:** draft PR → Vercel preview → mobile (~390) + laptop (~1280) screenshots → **stop** for Nick’s visual review (iterate on feedback).
|
|
59
|
+
2. **Full (after Nick is happy):** re-check tablet (~768), laptop (~1280), **oversize (~1920+)**, and mobile. Then multi-lens **code review** (`CODE_REVIEW.md`).
|
|
60
|
+
3. Do not chase pixel-perfect polish before the early gate.
|
|
61
|
+
|
|
62
|
+
Non-UI changes skip visual gates and go to code review.
|
|
63
|
+
|
|
64
|
+
### Code review
|
|
65
|
+
|
|
66
|
+
Before asking to merge to `develop`, run the multi-lens review in `CODE_REVIEW.md` (architecture, Next/React/Vercel, performance/size, docs consistency, general quality). Findings: **BLOCKER** / **NIT**.
|
|
67
|
+
|
|
53
68
|
### Parallel features
|
|
54
69
|
|
|
55
70
|
- One feature = one `feature/<scope>/<slug>` branch
|
|
@@ -62,6 +77,10 @@ Never hand-edit `package.json` dependency versions.
|
|
|
62
77
|
- CMS edits: `--session <feature-slug>` (isolate cms-edit sessions)
|
|
63
78
|
- In-flight work: open PRs + local `git worktree list`
|
|
64
79
|
|
|
80
|
+
### Process feedback
|
|
81
|
+
|
|
82
|
+
Site-local learnings: `docs/AGENT_PROCESS_NOTES.md`. Say **“promote process note”** to fold into core templates. See [`process-feedback.md`](./process-feedback.md).
|
|
83
|
+
|
|
65
84
|
### Production handoff
|
|
66
85
|
|
|
67
|
-
When **marketing** work is ready, agents **stop** and hand off. Merge `develop` → production only after ask + confirm (`production-merge.md`). One site at a time. No `vercel deploy`. cms-edit host extra gate: `cms-edit-prod-merge.md`.
|
|
86
|
+
When **marketing** work is ready, agents **stop** and hand off. Merge `develop` → production only after ask + confirm (`production-merge.md`). One site at a time. No `vercel deploy`. cms-edit host extra gate: `cms-edit-prod-merge.md`.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: SE Studio customer-site architecture gates
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SE Studio customer site
|
|
7
|
+
|
|
8
|
+
This repo is a thin brand layer on `@se-studio/*`. Follow core; do not copy shared logic here.
|
|
9
|
+
Source of truth: `se-core-product` `docs/PHILOSOPHY.md`. Code review: `CODE_REVIEW.md` (from `@se-studio/skills` `customer-code-review.md`).
|
|
10
|
+
|
|
11
|
+
## Placement
|
|
12
|
+
|
|
13
|
+
- Brand (Figma, copy, colours, one-off layout) → `src/project/*` (T3).
|
|
14
|
+
- Shared behaviour (fetch, cache, forms, analytics, SEO, consent, renderers) → core. If core lacks an option, emit a **Core request** handoff and wait for npm; do not fork here.
|
|
15
|
+
- Workarounds for missing/broken core are review findings, not solutions.
|
|
16
|
+
- Any `@se-studio/*` version change: use `pnpm update` after the version is on npm. No `file:` tarballs or `pnpm patch`. Merge to `develop` only when Nick approves in chat (no `nick-go` label).
|
|
17
|
+
|
|
18
|
+
## Contentful
|
|
19
|
+
|
|
20
|
+
- Do not change content models or run migrations in an app PR. Schema work is numbered migrations (core or `NN-…-<site>.js`), run on Nick's Mac only when Nick asks in chat.
|
|
21
|
+
- Fetch only through core helpers with cache tags. No direct Contentful CDA `fetch`.
|
|
22
|
+
|
|
23
|
+
## Rendering / visual system
|
|
24
|
+
|
|
25
|
+
- Keep T0/T1 skeleton files thin; document deviations in the site README.
|
|
26
|
+
- Use core route handlers (`generatePage`, robots, sitemaps, etc.). Do not reimplement.
|
|
27
|
+
- Mobile-first Tailwind. Preserve heading hierarchy. Size visuals with core helpers. Avoid duplicate mobile/desktop markup for the same content.
|
|
28
|
+
- UI changes: early Vercel preview (mobile + laptop) → Nick visual → full breakpoints including oversize (~1920+) before deep polish/code review.
|
|
29
|
+
|
|
30
|
+
## Caching / performance / images
|
|
31
|
+
|
|
32
|
+
- Keep CMS routes static (`●`). Do not read `headers()`/`cookies()` in a layout that forces the tree dynamic.
|
|
33
|
+
- No uncached CMS fetches. Dynamic (`ƒ`) or cache opt-outs need measured cost/why in the PR.
|
|
34
|
+
- Image and client-bundle weight changes need before/after numbers.
|
|
35
|
+
|
|
36
|
+
## Analytics / forms / secrets
|
|
37
|
+
|
|
38
|
+
- Consent and analytics go through core adapters. No direct `dataLayer` pushes.
|
|
39
|
+
- Never send names, emails, phones, form answers, or raw errors to analytics/URLs.
|
|
40
|
+
- Forms submit server-side via core. Preview/develop must not post to production HubSpot or GTM.
|
|
41
|
+
- No secrets in code/tests/logs. Avoid new `NEXT_PUBLIC_*` unless the browser must see the value.
|
|
42
|
+
|
|
43
|
+
## Tests / ship / review
|
|
44
|
+
|
|
45
|
+
- Keep smoke cases and discovery intact; fix `@se-studio/site-check` in core if smoke is wrong.
|
|
46
|
+
- New behaviour needs a test. Failing typecheck/lint/tests blocks merge.
|
|
47
|
+
- Agent multi-lens code review (`CODE_REVIEW.md`) before asking to merge to `develop`.
|
|
48
|
+
- Production merges need human ask + confirm. Agents do not push production.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Code review: SE Studio customer site
|
|
2
|
+
|
|
3
|
+
Use this prompt when reviewing a **customer marketing site** PR (or when the user asks for a code review). Label every finding **BLOCKER** or **NIT**. Blockers first. Unclear judgement calls → flag to Nick in chat.
|
|
4
|
+
|
|
5
|
+
Do **not** use Bugbot or a `nick-go` GitHub label. Merge to `develop` only when Nick says so in chat. Production still needs ask + confirm (`production-merge.md`).
|
|
6
|
+
|
|
7
|
+
Canonical architecture: `se-core-product` `docs/PHILOSOPHY.md`. Placement and handoffs: skill `site-workflows-agent-session`.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Multi-lens checklist
|
|
12
|
+
|
|
13
|
+
Run all five lenses. Skip a lens only when the diff clearly cannot touch it (say so).
|
|
14
|
+
|
|
15
|
+
### 1. Architecture / placement
|
|
16
|
+
|
|
17
|
+
- [ ] Brand / one-off layout stays in `src/project/*` (or customer-shared package). No fork of `@se-studio/*` behaviour.
|
|
18
|
+
- [ ] If 2+ sites would need this within ~6 months, the change belongs in core — **BLOCKER** if implemented only here.
|
|
19
|
+
- [ ] Server/client boundaries: `'use client'` does not import `cms-server`, `@se-studio/core-ui/server`, or `contentful-rest-api`.
|
|
20
|
+
- [ ] Four-layer components / five-layer collections preserved; registrations match CMS types.
|
|
21
|
+
- [ ] Contentful model/migrations are **not** in this app PR. Schema work is Nick’s Mac only, triggered via chat.
|
|
22
|
+
|
|
23
|
+
### 2. Next.js / React / Vercel
|
|
24
|
+
|
|
25
|
+
- [ ] Read version-matched guides under `node_modules/next/dist/docs/` when the diff touches App Router, caching, or metadata.
|
|
26
|
+
- [ ] Server Components by default; client islands only for interactivity.
|
|
27
|
+
- [ ] CMS routes stay static (`●`). No `headers()`/`cookies()` in a layout that forces the tree dynamic without measured justification.
|
|
28
|
+
- [ ] Fetches go through core helpers with cache tags. No raw CDA `fetch`.
|
|
29
|
+
- [ ] Images/video use core `Visual` + `calculateVisualSizes` (values match layout; mobile vs laptop not reversed).
|
|
30
|
+
- [ ] Preview/develop must not post to production HubSpot or GTM.
|
|
31
|
+
|
|
32
|
+
### 3. Performance and size
|
|
33
|
+
|
|
34
|
+
- [ ] No uncached CMS fetches. New `ƒ` routes or cache opt-outs need cost/why in the PR.
|
|
35
|
+
- [ ] Image, caching, or client-bundle weight changes include before/after notes when material.
|
|
36
|
+
- [ ] No needless duplicate mobile/desktop markup for the same content.
|
|
37
|
+
- [ ] Avoid shipping large client dependencies for presentational CMS blocks.
|
|
38
|
+
|
|
39
|
+
### 4. Docs consistency
|
|
40
|
+
|
|
41
|
+
- [ ] AGENTS.md, `.cursorrules`, `src/project/*` docs, cms-edit packs, and READMEs match the behaviour change.
|
|
42
|
+
- [ ] No leftover Bugbot / `nick-go` instructions contradicting chat-gated merge.
|
|
43
|
+
- [ ] Site `docs/AGENT_PROCESS_NOTES.md` updated only for site-local process learnings (promote to core via “promote process note”).
|
|
44
|
+
|
|
45
|
+
### 5. General quality (BLOCKERs from former Bugbot gates)
|
|
46
|
+
|
|
47
|
+
**BLOCKER**
|
|
48
|
+
|
|
49
|
+
- Copied core logic (render, fetch, cache, forms, analytics, SEO, consent) instead of using or extending core.
|
|
50
|
+
- Secrets, tokens, or `.env` values in code, tests, comments, or logs. Avoid new `NEXT_PUBLIC_*` unless the browser must see the value.
|
|
51
|
+
- Personal data or form field values in events, dataLayer, HubSpot payloads, or URLs.
|
|
52
|
+
- Consent granted by default where a CMP decides, or bypassing site consent gating.
|
|
53
|
+
- Forms: preview posting to production HubSpot/GTM, or bypassing core server-side submit.
|
|
54
|
+
- Hard-coded heading skips, `Visual` without size helpers, or needless duplicate mobile/desktop content.
|
|
55
|
+
- Failing typecheck, lint, or tests; new behaviour with no test where the site already tests that layer.
|
|
56
|
+
- Smoke/discovery/`server-config` hacks to unblock deploy smoke (belongs in `@se-studio/site-check`).
|
|
57
|
+
|
|
58
|
+
**NIT**
|
|
59
|
+
|
|
60
|
+
- Prefer existing core components over one-offs.
|
|
61
|
+
- Don’t rename existing tracking events only to match other sites.
|
|
62
|
+
- Clearer names, smaller functions, docs polish.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Visual gates (UI diffs only)
|
|
67
|
+
|
|
68
|
+
If the PR changes UI, confirm the session followed agent-session visual phases:
|
|
69
|
+
|
|
70
|
+
1. **Early:** Vercel preview, mobile (~390) + laptop (~1280), stopped for Nick’s visual review.
|
|
71
|
+
2. **Full (after Nick is happy):** tablet (~768), laptop (~1280), **oversize (~1920+)**, plus mobile — flag overflow, stretched heroes, broken grids.
|
|
72
|
+
|
|
73
|
+
Do not treat “pixel-perfect vs Figma” as a merge blocker before the early visual gate completes.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Output format
|
|
78
|
+
|
|
79
|
+
1. Summary (1–3 sentences)
|
|
80
|
+
2. **BLOCKER** list (file + issue + fix)
|
|
81
|
+
3. **NIT** list
|
|
82
|
+
4. Open questions for Nick
|
|
83
|
+
|
|
84
|
+
Out of scope: inventing product/design/copy changes; Netlify/Storybook check noise.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Process feedback (continual improvement)
|
|
2
|
+
|
|
3
|
+
Shared agent workflow lives in **se-core-product** (`site-workflows-agent-session`, `customer-agents-block.md`, review templates). Customer sites may record local learnings without editing core immediately.
|
|
4
|
+
|
|
5
|
+
## Per project
|
|
6
|
+
|
|
7
|
+
Keep `docs/AGENT_PROCESS_NOTES.md` at the customer (or core) repo root docs folder.
|
|
8
|
+
|
|
9
|
+
Use it for:
|
|
10
|
+
|
|
11
|
+
- Site-specific gotchas (ports, Vercel project names, CMS quirks)
|
|
12
|
+
- Feedback on the agent process that worked or failed on this site
|
|
13
|
+
- Candidates to promote into the shared skill/templates
|
|
14
|
+
|
|
15
|
+
Do **not** duplicate PHILOSOPHY hard rules here. Link out instead.
|
|
16
|
+
|
|
17
|
+
## Promote to core
|
|
18
|
+
|
|
19
|
+
When the user says **“promote process note”** (or equivalent):
|
|
20
|
+
|
|
21
|
+
1. Read the site’s `docs/AGENT_PROCESS_NOTES.md` (and any notes in chat).
|
|
22
|
+
2. Switch to **core-first** on `se-core-product`.
|
|
23
|
+
3. Fold the learning into the right shared surface (`site-workflows-agent-session`, `customer-agents-block.md`, `customer-code-review.md`, `docs/WORKFLOW.md`).
|
|
24
|
+
4. Refresh customer copies on the next process-refresh pass (or in the same multi-repo change if already open).
|
|
25
|
+
|
|
26
|
+
## Phrases
|
|
27
|
+
|
|
28
|
+
| Phrase | Meaning |
|
|
29
|
+
|--------|---------|
|
|
30
|
+
| process note | Add a bullet to this site’s `AGENT_PROCESS_NOTES.md` |
|
|
31
|
+
| promote process note | Lift a note into core shared templates |
|
|
32
|
+
| refresh process | Re-copy customer-agents-block / architecture / CODE_REVIEW from core templates |
|
|
@@ -114,6 +114,17 @@
|
|
|
114
114
|
"hostedMcp": "cms-edit-highlander",
|
|
115
115
|
"validate": "pnpm check && pnpm type-check && pnpm validate:routes",
|
|
116
116
|
"notes": "2026 stack is live on Vercel (develop preview, main production alias). Public DNS is still Bond/Netlify highlanderhealth.com until cutover. Hosted cms-edit: https://highlander.content.se.studio (Git production branch main)."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"key": "eagle",
|
|
120
|
+
"displayName": "Eagle Website",
|
|
121
|
+
"path": "~/source/customers/eagle/eagle-website",
|
|
122
|
+
"worktreesRoot": "~/source/customers/eagle/worktrees",
|
|
123
|
+
"branch": "main",
|
|
124
|
+
"productionBranch": "main",
|
|
125
|
+
"type": "customer",
|
|
126
|
+
"validate": "pnpm validate",
|
|
127
|
+
"notes": "Currently tracks main (no separate develop yet). Agents use feature/* PRs into main until a develop integration branch exists. Prefer adding develop when the site joins the standard customer train."
|
|
117
128
|
}
|
|
118
129
|
]
|
|
119
130
|
}
|
|
@@ -217,21 +217,52 @@ When editing Contentful in parallel on the same space, use distinct cms-edit ses
|
|
|
217
217
|
- **Do not** edit `se-core-product` unless placement is `core` and user approves mode switch
|
|
218
218
|
- Consume `@se-studio/*` from npm — not monorepo workspace links
|
|
219
219
|
|
|
220
|
-
### Figma
|
|
220
|
+
### Figma direction (new designs) + phased visual gates
|
|
221
221
|
|
|
222
|
-
**Until the user explicitly says otherwise**, when implementing
|
|
222
|
+
**Until the user explicitly says otherwise**, when implementing UI from a Figma file or node, treat Figma as the **direction / source of truth** for structure, spacing, type, colour, radii, alignment, and control patterns. Do not “improve” or normalize away from the comps to match older site patterns. Prefer Figma MCP design context over CMS drafts or live-site memory.
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
|----|--------|
|
|
226
|
-
| Treat the named Figma node as the **source of truth** for structure, spacing, type, colour, radii, alignment, and control patterns | “Improve”, normalize, or restyle away from the comps to match older site patterns |
|
|
227
|
-
| Pull design context / screenshots from the owned Figma file before coding or “fixing” visuals | Prefer CMS draft copy, prior app screenshots, or memory of the live site over the comps |
|
|
228
|
-
| Match **pixel-faithfully** (including pills vs checkboxes/radios, hug vs full-width CTAs, card fills) | Ship “close enough” and wait for the user to notice |
|
|
229
|
-
| If Figma conflicts with an existing component or token, **follow Figma** and note the deviation | Silently keep the old pattern because it is already in the codebase |
|
|
230
|
-
| Verify in the browser against the Figma node (desktop + mobile when both exist) | Declare done from a single screenshot that does not match the node |
|
|
224
|
+
**Do not** chase pixel-perfect polish before the **early visual gate**. Iterate with Nick on a Vercel preview first.
|
|
231
225
|
|
|
232
|
-
|
|
226
|
+
#### Phase 1 — Early visual gate (any UI change)
|
|
233
227
|
|
|
234
|
-
|
|
228
|
+
1. Push the feature branch and open a **draft PR** so Vercel builds a preview.
|
|
229
|
+
2. Capture/share **mobile (~390)** and **laptop (~1280)** screenshots (or open the preview for Nick).
|
|
230
|
+
3. Paste the preview URL and what to look at.
|
|
231
|
+
4. **Stop** and wait for Nick’s visual review / feedback. Apply feedback and repeat Phase 1 as needed.
|
|
232
|
+
|
|
233
|
+
#### Phase 2 — Full visual gate (after Nick is happy **and** the change is visual)
|
|
234
|
+
|
|
235
|
+
Re-check the same Vercel preview at least at:
|
|
236
|
+
|
|
237
|
+
| Width | Approx |
|
|
238
|
+
|-------|--------|
|
|
239
|
+
| Mobile | ~390 |
|
|
240
|
+
| Tablet | ~768 |
|
|
241
|
+
| Laptop | ~1280 |
|
|
242
|
+
| **Oversize / wide desktop** | **~1920+** |
|
|
243
|
+
|
|
244
|
+
Flag layout blowouts, overflow, sparse/stretched heroes, broken grids, and type that does not scale. Attach screenshots to chat/PR, then proceed to **multi-lens code review**.
|
|
245
|
+
|
|
246
|
+
Non-UI changes skip visual phases and go to code review.
|
|
247
|
+
|
|
248
|
+
**Related skills:** `site-workflows-figma-design-snapshot` / `site-workflows-apply-design-snapshot`; Figma MCP `get_design_context`.
|
|
249
|
+
|
|
250
|
+
### Cross-project handoffs
|
|
251
|
+
|
|
252
|
+
When placement says **core** (or the site is blocked on package behaviour): emit a **Core request** per [`cross-project-handoff.md`](../../references/agent-session/cross-project-handoff.md), switch to core-first, and **park** the site until npm. Do not patch `@se-studio/*` in the customer repo. When core publishes, emit a **Site request** listing customers to bump.
|
|
253
|
+
|
|
254
|
+
### Code review (replaces Bugbot)
|
|
255
|
+
|
|
256
|
+
Before asking to merge to `dev` / `develop`:
|
|
257
|
+
|
|
258
|
+
- **Core:** follow root [`CODE_REVIEW_PROMPT.md`](../../../../CODE_REVIEW_PROMPT.md)
|
|
259
|
+
- **Customer:** follow [`customer-code-review.md`](../../references/agent-session/customer-code-review.md) (copied into the site as `CODE_REVIEW.md`)
|
|
260
|
+
|
|
261
|
+
Lenses: architecture/placement, Next/React/Vercel, performance/size, docs consistency, general quality. Findings: **BLOCKER** / **NIT**. No Bugbot; no `nick-go` label — Nick approves merges to integration branches **in chat**.
|
|
262
|
+
|
|
263
|
+
### Process feedback
|
|
264
|
+
|
|
265
|
+
See [`process-feedback.md`](../../references/agent-session/process-feedback.md). Site notes live in `docs/AGENT_PROCESS_NOTES.md`. **“promote process note”** folds them into core templates.
|
|
235
266
|
|
|
236
267
|
### Blocked on npm
|
|
237
268
|
|
|
@@ -254,10 +285,12 @@ Minimum per repo type (see registry `validate` for full command):
|
|
|
254
285
|
|
|
255
286
|
Agents may push to:
|
|
256
287
|
|
|
257
|
-
- `dev` / `develop` (via feature branch merge or direct
|
|
288
|
+
- `dev` / `develop` (via feature branch merge or direct **only when Nick approves in chat**)
|
|
258
289
|
- `feature/*` branches
|
|
259
290
|
- Customer production (`main`, HSD `production`) **only** after [`production-merge.md`](../../references/agent-session/production-merge.md): human **asked** in this conversation, agent **restated** the exact merge (site, branches, publishes production), human **confirmed** with a second yes. cms-edit host diffs also need [`cms-edit-prod-merge.md`](../../references/agent-session/cms-edit-prod-merge.md).
|
|
260
291
|
|
|
292
|
+
Do **not** wait for or require a `nick-go` GitHub label.
|
|
293
|
+
|
|
261
294
|
Agents must **never** push **se-core-product** `main`. Agents must **never** ship from a registry `productionPath` (e.g. HSD `~/source/customers/hopskipdrive/production-hsd-website`). Opening a production PR is not a merge.
|
|
262
295
|
|
|
263
296
|
**Preferred:** open a **draft PR** targeting the integration branch (this is how cloud + other laptops see the work):
|
|
@@ -266,6 +299,8 @@ Agents must **never** push **se-core-product** `main`. Agents must **never** shi
|
|
|
266
299
|
gh pr create --base <integration-branch> --head <branch> --draft --title "<feature>: <summary>"
|
|
267
300
|
```
|
|
268
301
|
|
|
302
|
+
Before asking to merge the draft: complete visual gates (if UI) and multi-lens code review.
|
|
303
|
+
|
|
269
304
|
If `gh` is unavailable or user prefers direct push, push `feature/*` and note the remote URL in handoff.
|
|
270
305
|
|
|
271
306
|
---
|
|
@@ -349,5 +384,6 @@ Agent must load this skill, run placement checklist, create a **local** worktree
|
|
|
349
384
|
| `pedestal` | `develop` | `main` | customer monorepo |
|
|
350
385
|
| `hsd` | `develop` (`develop-hsd-website`) | `production` (`production-hsd-website`) | customer |
|
|
351
386
|
| `highlander` | `develop` | `main` | customer |
|
|
387
|
+
| `eagle` | `main` (until `develop` exists) | `main` | customer |
|
|
352
388
|
|
|
353
389
|
Full paths (`path`, `worktreesRoot`, `productionPath`), MCP keys: `projects.registry.json`.
|
|
@@ -103,7 +103,21 @@ Write `CLAUDE.md` at the project root:
|
|
|
103
103
|
|
|
104
104
|
Write `AGENTS.md` at the project root. Fill in the user's email address (from memory if known, otherwise ask) and today's date.
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
**Paste the full agent session workflow block** from [`packages/skills/references/agent-session/customer-agents-block.md`](../../references/agent-session/customer-agents-block.md) (branch policy, chat-gated develop merges, placement, Core request handoffs, UI visual gates, code review, process feedback, production handoff). Do not invent a shorter substitute that omits visual gates or review.
|
|
107
|
+
|
|
108
|
+
Also copy:
|
|
109
|
+
|
|
110
|
+
| Source | Destination |
|
|
111
|
+
|--------|-------------|
|
|
112
|
+
| [`customer-architecture.mdc`](../../references/agent-session/customer-architecture.mdc) | `.cursor/rules/architecture.mdc` |
|
|
113
|
+
| [`customer-code-review.md`](../../references/agent-session/customer-code-review.md) | `CODE_REVIEW.md` (repo root) |
|
|
114
|
+
| Starter notes | `docs/AGENT_PROCESS_NOTES.md` (see [`process-feedback.md`](../../references/agent-session/process-feedback.md)) |
|
|
115
|
+
|
|
116
|
+
Do **not** create `.cursor/BUGBOT.md`. Do **not** require a `nick-go` label.
|
|
117
|
+
|
|
118
|
+
Wire `.cursorrules` so “when the user asks for a code review” points at `CODE_REVIEW.md`.
|
|
119
|
+
|
|
120
|
+
Skeleton:
|
|
107
121
|
|
|
108
122
|
```markdown
|
|
109
123
|
<!-- BEGIN:nextjs-agent-rules -->
|
|
@@ -132,33 +146,7 @@ The user's email address is [USER_EMAIL].
|
|
|
132
146
|
# currentDate
|
|
133
147
|
Today's date is [CURRENT_DATE].
|
|
134
148
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
**Load skill `site-workflows-agent-session` at the start of every coding session.**
|
|
138
|
-
|
|
139
|
-
Default mode for this repo: **site-first**.
|
|
140
|
-
|
|
141
|
-
### Branch policy
|
|
142
|
-
|
|
143
|
-
- Agents may commit and push **`develop`** and **`feature/*`**.
|
|
144
|
-
- Customer production only after human **ask + confirm** (`production-merge.md`). Never se-core-product `main`.
|
|
145
|
-
- Prefer **draft PRs** to `develop` over direct pushes when `gh` is available.
|
|
146
|
-
|
|
147
|
-
### Core vs customer placement
|
|
148
|
-
|
|
149
|
-
Before non-trivial code, run the placement checklist (skill `site-workflows-agent-session`). If the checklist says **core**, stop — do not patch `@se-studio` behaviour in this repo.
|
|
150
|
-
|
|
151
|
-
### Core release order
|
|
152
|
-
|
|
153
|
-
When work depends on a new `@se-studio/*` npm release: release from `se-core-product` first, confirm npm, then `pnpm update @se-studio/<package>@<version> -r` here, then push `develop`. Never hand-edit dependency versions.
|
|
154
|
-
|
|
155
|
-
### Parallel features
|
|
156
|
-
|
|
157
|
-
One feature = one `feature/<scope>/<slug>` branch. **Local git worktree** for feature work (registry `worktreesRoot`/`<feature-slug>`). Cloud: draft PR. CMS: `--session <feature-slug>`. Do not write `work/active` yaml in se-core-product for this customer.
|
|
158
|
-
|
|
159
|
-
### Production handoff
|
|
160
|
-
|
|
161
|
-
Agents stop at handoff unless the human asks to merge to production **and** confirms (`production-merge.md`).
|
|
149
|
+
<!-- paste customer-agents-block.md here -->
|
|
162
150
|
|
|
163
151
|
## CMS editing (cms-edit)
|
|
164
152
|
|
|
@@ -179,6 +167,7 @@ Read `.cursorrules` and update the **Project Overview** section at the top:
|
|
|
179
167
|
- Replace the previous project name with the new customer/project name
|
|
180
168
|
- Update the "Key technologies" list if anything changed
|
|
181
169
|
- Remove any project-specific notes about the previous customer
|
|
170
|
+
- Ensure code-review instructions point to `CODE_REVIEW.md` (not Bugbot)
|
|
182
171
|
|
|
183
172
|
Do not change the Code Style, Component Architecture, or other generic sections — those apply to all SE Studio projects.
|
|
184
173
|
|