You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/agents/playwright-e2e-monitor.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: playwright-e2e-monitor
3
3
description: Monitor and analyze Playwright E2E test results from GitHub Actions. Use when users ask for playwright analysis on github actions or /analyze-e2e
4
-
model: composer-1
4
+
model: fast
5
5
---
6
6
7
7
Monitor running e2e playwright tests, download artifacts on failure, provide analysis.
Copy file name to clipboardExpand all lines: .claude/skills/effect-best-practices/SKILL.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: effect-best-practices
3
3
description: Enforces Effect-TS patterns for services, errors, layers, and atoms. Use when writing code with Effect.Service, Schema.TaggedError, Layer composition, or effect-atom React components.
| Functions |`Effect.fn` over `Effect.gen`; `.gen` only for shared pipes | Anonymous generators; `.gen` for business logic|
35
35
| Params vs deps | Params = runtime data; dependencies = yield from context | Passing Ref/PubSub/service as params |
36
36
| Naming |`FooCommand` for commands, domain names for helpers |`FooEffect` suffix (redundant; TS/Effect.fn already convey type) |
37
37
| Logging |`Effect.log` with structured data |`console.log`|
@@ -266,9 +266,11 @@ export type CreateUserInput = Schema.Schema.Type<typeof CreateUserInput>;
266
266
267
267
See `references/schema-patterns.md` for transforms and advanced patterns.
268
268
269
-
## Function Pattern with Effect.fn
269
+
## Function Pattern: Prefer Effect.fn over Effect.gen
270
270
271
-
**Always use `Effect.fn`** for service methods. This provides automatic tracing with proper span names. Span name is required; enforced by `local/require-effect-fn-span-name`.
271
+
**Prefer `Effect.fn`** for effectful code. Provides automatic tracing with proper span names. Span name required; enforced by `local/require-effect-fn-span-name`.
272
+
273
+
**Use `Effect.gen` only when** you need a shared effect with common `.pipe` attached so multiple consumers don't each pipe the same things — e.g. provided dependencies, common error handlers, retries. (Less common with Runtimes.) Service definition bodies are a valid use (shared wiring).
-`references/iterating-playwright-tests.md` - Iterating on tests ("Things to ignore" for failure analysis)
17
17
-`references/analyze-e2e.md` - Analyzing E2E test results from CI
18
-
-`references/local-setup.md` - Local scratch org setup for E2E tests
19
18
20
19
# Use playwright-vscode-ext
21
20
22
21
Shared code (helpers, locators, configuration) for tests.
23
22
23
+
**Desktop workspace shapes (pick one per test):**
24
+
25
+
-**No folder open** — fixture opens a Salesforce project, then call `prepareNoFolderOpenForPaletteTests(page)` (runs `Workspaces: Close Workspace` + workbench wait). Or use `closeWorkspaceToEmptyWindow` if UI is already prepared.
26
+
-**Folder open, no `sfdx-project.json`** — `createDesktopTest({ emptyWorkspace: true })`; workspace path comes from `createEmptyTestWorkspace()` (also exported from the package).
27
+
-**Default org in workspace** — pass `orgAlias: '…'` (e.g. `MINIMAL_ORG_ALIAS` / `DREAMHOUSE_ORG_ALIAS`) so `.sfdx/config.json` gets `target-org`. Omit `orgAlias` or use `undefined` for **no**`config.json` (no org).
Copy file name to clipboardExpand all lines: .claude/skills/playwright-e2e/references/iterating-playwright-tests.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,14 +11,12 @@ Scratch org setup: see `references/local-setup.md`.
11
11
1. run `web` locally (use `--retries 0`, follow debugging tips)
12
12
2. run `desktop` locally (use `--retries 0`)
13
13
14
-
**Passing args:** Use `--` to forward params to the underlying command, e.g. `npm run test:web -w <package> -- --retries 0` or `npm run test:desktop -w <package> -- --retries 0`
15
-
3. edit github workflows if needed
16
-
4. CI (windows, gha) - see `analyze-e2e.md` for monitoring and analyzing results
14
+
**Passing args:** Use `--` to forward params to the underlying command, e.g. `npm run test:web -w <package> -- --retries 0` or `npm run test:desktop -w <package> -- --retries 0` 3. edit github workflows if needed 4. CI (windows, gha) - see `analyze-e2e.md` for monitoring and analyzing results
17
15
18
16
After passing, clean up while keeping tests passing:
19
17
20
18
1. remove fallbacks, waits, "try another way"
21
-
2. align with `coding-playwright-tests.mdc` rules
19
+
2. align with `coding-playwright-tests.md` rules
22
20
3. consolidate locators, increase DRY/reuse
23
21
4. ensure playwright-ext exports are used by other extensions
Copy file name to clipboardExpand all lines: .claude/skills/pr-draft/SKILL.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Draft PR titles and bodies per salesforcedx-vscode conventions. Requires a Gus w
16
16
1. If branch name contains `W-XXXXX`, confirm it exists in GUS, resembles the work done on the branch, and use that
17
17
2. Else ask: "Do you have a Gus work item (W-XXXXX) for this PR?"
18
18
3. If yes → try to find it using [gus-cli/SKILL.md](../gus-cli/SKILL.md). Confirm with the user that you got it right, or ask them to choose if several could be right.
19
-
4. If no → offer to create via Gus. Follow [gus-cli/SKILL.md](../gus-cli/SKILL.md). **Before creating:** show user Subject, Epic, Details, assignee. Ask: "Create this work item?" Do not run `sf data create record` until user says yes.
19
+
4. If no → offer to create via Gus. Follow [gus-cli/SKILL.md](../gus-cli/SKILL.md). **Before creating:** show user Subject, Epic, Details, assignee. Ask: "Create this work item?" Do not run `sf data create record` until user says yes. If user declines creation and still wants to proceed with the PR, include `[skip-validate-pr]` in the PR body.
20
20
5. Before creating PR: push current branch to remote if it doesn't already exist (`git push -u origin $(git branch --show-current)` or equivalent). Never push to `develop`/`main`
21
21
6. After PR created: update work item `Details__c` with PR link. Query current `Details__c`, append `"\nPR: <url>"` (or prepend if empty). **Before updating:** show user the new Details\_\_c. Ask: "Update work item with PR link?" Do not run `sf data update record` until user says yes.
22
22
7. After PR created: offer Ready for Review. Ask: "Put WI in Ready for Review? Who should review?" Choices:
@@ -40,9 +40,12 @@ Draft PR titles and bodies per salesforcedx-vscode conventions. Requires a Gus w
40
40
41
41
## Body format
42
42
43
-
- Write body content per [concise/SKILL.md](../concise/SKILL.md)
43
+
- Base body on branch commits only
44
+
- Ignore plans/conversation history (may be stale)
45
+
- Write content per [concise/SKILL.md](../concise/SKILL.md)
44
46
- Include `@W-XXXXX@` in "What issues does this PR fix or reference?" per [.github/PULL_REQUEST_TEMPLATE.md](../../../.github/PULL_REQUEST_TEMPLATE.md):
45
-
- Delete the before/after section if you have nothing to say there
47
+
- Delete before/after section if empty
48
+
-**User declined WI:** If user explicitly declines WI but wants PR, include `[skip-validate-pr]` in body (e.g. at end)
Copy file name to clipboardExpand all lines: .claude/skills/services-extension-consumption/SKILL.md
+63-29Lines changed: 63 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: services-extension-consumption
3
-
description: Guidelines for consuming salesforcedx-vscode-services extension API. Use when working with extensions that have extensionDependency on salesforcedx-vscode-services, registering commands, using Workspace/Connection/Project/Settings/FS/Channel/Media services, or implementing file/config watchers.
3
+
description: Guidelines for consuming salesforcedx-vscode-services extension API. Use when working with extensions that have extensionDependency on salesforcedx-vscode-services, registering commands, using Workspace/Connection/Project/Settings/FS/Channel/Media services, quickpick/quickInput, or implementing file/config watchers.
0 commit comments