scc-universal 1.1.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 (271) hide show
  1. package/.claude-plugin/plugin.json +44 -0
  2. package/.cursor/agents/deep-researcher.md +142 -0
  3. package/.cursor/agents/doc-updater.md +219 -0
  4. package/.cursor/agents/eval-runner.md +335 -0
  5. package/.cursor/agents/learning-engine.md +210 -0
  6. package/.cursor/agents/loop-operator.md +245 -0
  7. package/.cursor/agents/refactor-cleaner.md +119 -0
  8. package/.cursor/agents/sf-admin-agent.md +127 -0
  9. package/.cursor/agents/sf-agentforce-agent.md +126 -0
  10. package/.cursor/agents/sf-apex-agent.md +117 -0
  11. package/.cursor/agents/sf-architect.md +426 -0
  12. package/.cursor/agents/sf-aura-reviewer.md +369 -0
  13. package/.cursor/agents/sf-bugfix-agent.md +101 -0
  14. package/.cursor/agents/sf-flow-agent.md +155 -0
  15. package/.cursor/agents/sf-integration-agent.md +141 -0
  16. package/.cursor/agents/sf-lwc-agent.md +123 -0
  17. package/.cursor/agents/sf-review-agent.md +357 -0
  18. package/.cursor/agents/sf-visualforce-reviewer.md +465 -0
  19. package/.cursor/hooks/adapter.js +81 -0
  20. package/.cursor/hooks/after-file-edit.js +26 -0
  21. package/.cursor/hooks/after-mcp-execution.js +12 -0
  22. package/.cursor/hooks/after-shell-execution.js +30 -0
  23. package/.cursor/hooks/after-tab-file-edit.js +12 -0
  24. package/.cursor/hooks/before-mcp-execution.js +11 -0
  25. package/.cursor/hooks/before-read-file.js +13 -0
  26. package/.cursor/hooks/before-shell-execution.js +29 -0
  27. package/.cursor/hooks/before-submit-prompt.js +23 -0
  28. package/.cursor/hooks/pre-compact.js +7 -0
  29. package/.cursor/hooks/session-end.js +10 -0
  30. package/.cursor/hooks/session-start.js +10 -0
  31. package/.cursor/hooks/stop.js +18 -0
  32. package/.cursor/hooks/subagent-start.js +10 -0
  33. package/.cursor/hooks/subagent-stop.js +10 -0
  34. package/.cursor/hooks.json +107 -0
  35. package/.cursor/skills/aside/SKILL.md +115 -0
  36. package/.cursor/skills/checkpoint/SKILL.md +50 -0
  37. package/.cursor/skills/configure-scc/SKILL.md +160 -0
  38. package/.cursor/skills/continuous-agent-loop/SKILL.md +260 -0
  39. package/.cursor/skills/mcp-server-patterns/SKILL.md +142 -0
  40. package/.cursor/skills/model-route/SKILL.md +81 -0
  41. package/.cursor/skills/prompt-optimizer/SKILL.md +366 -0
  42. package/.cursor/skills/refactor-clean/SKILL.md +133 -0
  43. package/.cursor/skills/resume-session/SKILL.md +111 -0
  44. package/.cursor/skills/save-session/SKILL.md +183 -0
  45. package/.cursor/skills/search-first/SKILL.md +140 -0
  46. package/.cursor/skills/security-scan/SKILL.md +142 -0
  47. package/.cursor/skills/sessions/SKILL.md +124 -0
  48. package/.cursor/skills/sf-agentforce-development/SKILL.md +449 -0
  49. package/.cursor/skills/sf-apex-async-patterns/SKILL.md +324 -0
  50. package/.cursor/skills/sf-apex-best-practices/SKILL.md +421 -0
  51. package/.cursor/skills/sf-apex-constraints/SKILL.md +79 -0
  52. package/.cursor/skills/sf-apex-cursor/SKILL.md +336 -0
  53. package/.cursor/skills/sf-apex-enterprise-patterns/SKILL.md +344 -0
  54. package/.cursor/skills/sf-apex-testing/SKILL.md +407 -0
  55. package/.cursor/skills/sf-api-design/SKILL.md +237 -0
  56. package/.cursor/skills/sf-approval-processes/SKILL.md +312 -0
  57. package/.cursor/skills/sf-aura-development/SKILL.md +260 -0
  58. package/.cursor/skills/sf-build-fix/SKILL.md +120 -0
  59. package/.cursor/skills/sf-data-modeling/SKILL.md +274 -0
  60. package/.cursor/skills/sf-debugging/SKILL.md +362 -0
  61. package/.cursor/skills/sf-deployment/SKILL.md +291 -0
  62. package/.cursor/skills/sf-deployment-constraints/SKILL.md +153 -0
  63. package/.cursor/skills/sf-devops-ci-cd/SKILL.md +322 -0
  64. package/.cursor/skills/sf-docs-lookup/SKILL.md +100 -0
  65. package/.cursor/skills/sf-e2e-testing/SKILL.md +321 -0
  66. package/.cursor/skills/sf-experience-cloud/SKILL.md +248 -0
  67. package/.cursor/skills/sf-flow-development/SKILL.md +376 -0
  68. package/.cursor/skills/sf-governor-limits/SKILL.md +319 -0
  69. package/.cursor/skills/sf-harness-audit/SKILL.md +139 -0
  70. package/.cursor/skills/sf-help/SKILL.md +156 -0
  71. package/.cursor/skills/sf-integration/SKILL.md +479 -0
  72. package/.cursor/skills/sf-lwc-constraints/SKILL.md +128 -0
  73. package/.cursor/skills/sf-lwc-development/SKILL.md +302 -0
  74. package/.cursor/skills/sf-lwc-testing/SKILL.md +387 -0
  75. package/.cursor/skills/sf-metadata-management/SKILL.md +285 -0
  76. package/.cursor/skills/sf-platform-events-cdc/SKILL.md +372 -0
  77. package/.cursor/skills/sf-quickstart/SKILL.md +170 -0
  78. package/.cursor/skills/sf-security/SKILL.md +330 -0
  79. package/.cursor/skills/sf-security-constraints/SKILL.md +125 -0
  80. package/.cursor/skills/sf-soql-constraints/SKILL.md +129 -0
  81. package/.cursor/skills/sf-soql-optimization/SKILL.md +353 -0
  82. package/.cursor/skills/sf-tdd-workflow/SKILL.md +332 -0
  83. package/.cursor/skills/sf-testing-constraints/SKILL.md +198 -0
  84. package/.cursor/skills/sf-trigger-constraints/SKILL.md +88 -0
  85. package/.cursor/skills/sf-trigger-frameworks/SKILL.md +343 -0
  86. package/.cursor/skills/sf-visualforce-development/SKILL.md +259 -0
  87. package/.cursor/skills/strategic-compact/SKILL.md +205 -0
  88. package/.cursor/skills/update-docs/SKILL.md +162 -0
  89. package/.cursor/skills/update-platform-docs/SKILL.md +86 -0
  90. package/.cursor-plugin/plugin.json +26 -0
  91. package/LICENSE +21 -0
  92. package/README.md +522 -0
  93. package/agents/deep-researcher.md +145 -0
  94. package/agents/doc-updater.md +222 -0
  95. package/agents/eval-runner.md +340 -0
  96. package/agents/learning-engine.md +211 -0
  97. package/agents/loop-operator.md +247 -0
  98. package/agents/refactor-cleaner.md +122 -0
  99. package/agents/sf-admin-agent.md +131 -0
  100. package/agents/sf-agentforce-agent.md +132 -0
  101. package/agents/sf-apex-agent.md +124 -0
  102. package/agents/sf-architect.md +435 -0
  103. package/agents/sf-aura-reviewer.md +372 -0
  104. package/agents/sf-bugfix-agent.md +105 -0
  105. package/agents/sf-flow-agent.md +159 -0
  106. package/agents/sf-integration-agent.md +146 -0
  107. package/agents/sf-lwc-agent.md +127 -0
  108. package/agents/sf-review-agent.md +366 -0
  109. package/agents/sf-visualforce-reviewer.md +468 -0
  110. package/assets/logo.svg +18 -0
  111. package/docs/ARCHITECTURE.md +133 -0
  112. package/docs/authoring-guide.md +373 -0
  113. package/docs/hook-development.md +578 -0
  114. package/docs/token-optimization.md +139 -0
  115. package/docs/workflow-examples.md +645 -0
  116. package/examples/agentforce-action/README.md +227 -0
  117. package/examples/apex-trigger-handler/README.md +114 -0
  118. package/examples/devops-pipeline/README.md +325 -0
  119. package/examples/flow-automation/README.md +188 -0
  120. package/examples/integration-pattern/README.md +416 -0
  121. package/examples/lwc-component/README.md +180 -0
  122. package/examples/platform-events/README.md +492 -0
  123. package/examples/scratch-org-setup/README.md +138 -0
  124. package/examples/security-audit/README.md +244 -0
  125. package/examples/visualforce-migration/README.md +314 -0
  126. package/hooks/hooks.json +338 -0
  127. package/hooks/memory-persistence/README.md +73 -0
  128. package/manifests/install-modules.json +217 -0
  129. package/manifests/install-profiles.json +17 -0
  130. package/mcp-configs/mcp-servers.json +19 -0
  131. package/package.json +89 -0
  132. package/schemas/hooks.schema.json +123 -0
  133. package/schemas/install-modules.schema.json +76 -0
  134. package/schemas/install-profiles.schema.json +28 -0
  135. package/schemas/install-state.schema.json +73 -0
  136. package/schemas/package-manager.schema.json +18 -0
  137. package/schemas/plugin.schema.json +112 -0
  138. package/schemas/scc-install-config.schema.json +29 -0
  139. package/schemas/state-store.schema.json +111 -0
  140. package/scripts/cli/install-apply.js +170 -0
  141. package/scripts/cli/uninstall.js +193 -0
  142. package/scripts/hooks/check-console-log.js +101 -0
  143. package/scripts/hooks/check-hook-enabled.js +17 -0
  144. package/scripts/hooks/check-platform-docs-age.js +48 -0
  145. package/scripts/hooks/cost-tracker.js +78 -0
  146. package/scripts/hooks/doc-file-warning.js +63 -0
  147. package/scripts/hooks/evaluate-session.js +98 -0
  148. package/scripts/hooks/governor-check.js +220 -0
  149. package/scripts/hooks/learning-observe.sh +206 -0
  150. package/scripts/hooks/mcp-health-check.js +588 -0
  151. package/scripts/hooks/post-bash-build-complete.js +34 -0
  152. package/scripts/hooks/post-bash-pr-created.js +43 -0
  153. package/scripts/hooks/post-edit-console-warn.js +61 -0
  154. package/scripts/hooks/post-edit-format.js +79 -0
  155. package/scripts/hooks/post-edit-typecheck.js +98 -0
  156. package/scripts/hooks/post-write.js +168 -0
  157. package/scripts/hooks/pre-bash-git-push-reminder.js +35 -0
  158. package/scripts/hooks/pre-bash-tmux-reminder.js +47 -0
  159. package/scripts/hooks/pre-compact.js +51 -0
  160. package/scripts/hooks/pre-tool-use.js +163 -0
  161. package/scripts/hooks/pre-write-doc-warn.js +9 -0
  162. package/scripts/hooks/quality-gate.js +251 -0
  163. package/scripts/hooks/run-with-flags-shell.sh +32 -0
  164. package/scripts/hooks/run-with-flags.js +135 -0
  165. package/scripts/hooks/session-end-marker.js +29 -0
  166. package/scripts/hooks/session-end.js +311 -0
  167. package/scripts/hooks/session-start.js +202 -0
  168. package/scripts/hooks/sfdx-scanner-check.js +142 -0
  169. package/scripts/hooks/sfdx-validate.js +119 -0
  170. package/scripts/hooks/stop-hook.js +170 -0
  171. package/scripts/hooks/suggest-compact.js +67 -0
  172. package/scripts/lib/agent-adapter.js +82 -0
  173. package/scripts/lib/apex-analysis.js +194 -0
  174. package/scripts/lib/hook-flags.js +74 -0
  175. package/scripts/lib/install-config.js +73 -0
  176. package/scripts/lib/install-executor.js +363 -0
  177. package/scripts/lib/install-state.js +121 -0
  178. package/scripts/lib/orchestration-session.js +299 -0
  179. package/scripts/lib/package-manager.js +124 -0
  180. package/scripts/lib/project-detect.js +228 -0
  181. package/scripts/lib/schema-validator.js +190 -0
  182. package/scripts/lib/skill-adapter.js +100 -0
  183. package/scripts/lib/state-store.js +376 -0
  184. package/scripts/lib/tmux-worktree-orchestrator.js +598 -0
  185. package/scripts/lib/utils.js +313 -0
  186. package/scripts/scc.js +164 -0
  187. package/skills/_reference/AGENTFORCE_PATTERNS.md +112 -0
  188. package/skills/_reference/APEX_CURSOR.md +159 -0
  189. package/skills/_reference/API_VERSIONS.md +78 -0
  190. package/skills/_reference/APPROVAL_PROCESSES.md +105 -0
  191. package/skills/_reference/ASYNC_PATTERNS.md +163 -0
  192. package/skills/_reference/AURA_COMPONENTS.md +146 -0
  193. package/skills/_reference/DATA_MIGRATION_PATTERNS.md +151 -0
  194. package/skills/_reference/DATA_MODELING.md +124 -0
  195. package/skills/_reference/DEBUGGING_TOOLS.md +140 -0
  196. package/skills/_reference/DEPLOYMENT_CHECKLIST.md +87 -0
  197. package/skills/_reference/DEPRECATIONS.md +79 -0
  198. package/skills/_reference/DOCKER_CI_PATTERNS.md +138 -0
  199. package/skills/_reference/ENTERPRISE_PATTERNS.md +122 -0
  200. package/skills/_reference/EXPERIENCE_CLOUD.md +143 -0
  201. package/skills/_reference/FLOW_PATTERNS.md +113 -0
  202. package/skills/_reference/GOVERNOR_LIMITS.md +77 -0
  203. package/skills/_reference/INTEGRATION_PATTERNS.md +105 -0
  204. package/skills/_reference/LWC_PATTERNS.md +79 -0
  205. package/skills/_reference/METADATA_TYPES.md +115 -0
  206. package/skills/_reference/NAMING_CONVENTIONS.md +84 -0
  207. package/skills/_reference/PACKAGE_DEVELOPMENT.md +150 -0
  208. package/skills/_reference/PLATFORM_EVENTS.md +121 -0
  209. package/skills/_reference/REPORTING_API.md +143 -0
  210. package/skills/_reference/SCRATCH_ORG_PATTERNS.md +126 -0
  211. package/skills/_reference/SECURITY_PATTERNS.md +127 -0
  212. package/skills/_reference/SHARING_MODEL.md +120 -0
  213. package/skills/_reference/SOQL_PATTERNS.md +119 -0
  214. package/skills/_reference/TESTING_STANDARDS.md +96 -0
  215. package/skills/_reference/TRIGGER_PATTERNS.md +114 -0
  216. package/skills/_reference/VISUALFORCE_PATTERNS.md +121 -0
  217. package/skills/aside/SKILL.md +118 -0
  218. package/skills/checkpoint/SKILL.md +53 -0
  219. package/skills/configure-scc/SKILL.md +163 -0
  220. package/skills/continuous-agent-loop/SKILL.md +264 -0
  221. package/skills/mcp-server-patterns/SKILL.md +146 -0
  222. package/skills/model-route/SKILL.md +84 -0
  223. package/skills/prompt-optimizer/SKILL.md +369 -0
  224. package/skills/refactor-clean/SKILL.md +136 -0
  225. package/skills/resume-session/SKILL.md +114 -0
  226. package/skills/save-session/SKILL.md +186 -0
  227. package/skills/search-first/SKILL.md +144 -0
  228. package/skills/security-scan/SKILL.md +146 -0
  229. package/skills/sessions/SKILL.md +127 -0
  230. package/skills/sf-agentforce-development/SKILL.md +450 -0
  231. package/skills/sf-apex-async-patterns/SKILL.md +326 -0
  232. package/skills/sf-apex-best-practices/SKILL.md +425 -0
  233. package/skills/sf-apex-constraints/SKILL.md +81 -0
  234. package/skills/sf-apex-cursor/SKILL.md +338 -0
  235. package/skills/sf-apex-enterprise-patterns/SKILL.md +348 -0
  236. package/skills/sf-apex-testing/SKILL.md +409 -0
  237. package/skills/sf-api-design/SKILL.md +238 -0
  238. package/skills/sf-approval-processes/SKILL.md +315 -0
  239. package/skills/sf-aura-development/SKILL.md +263 -0
  240. package/skills/sf-build-fix/SKILL.md +121 -0
  241. package/skills/sf-data-modeling/SKILL.md +278 -0
  242. package/skills/sf-debugging/SKILL.md +363 -0
  243. package/skills/sf-deployment/SKILL.md +295 -0
  244. package/skills/sf-deployment-constraints/SKILL.md +155 -0
  245. package/skills/sf-devops-ci-cd/SKILL.md +325 -0
  246. package/skills/sf-docs-lookup/SKILL.md +103 -0
  247. package/skills/sf-e2e-testing/SKILL.md +324 -0
  248. package/skills/sf-experience-cloud/SKILL.md +249 -0
  249. package/skills/sf-flow-development/SKILL.md +377 -0
  250. package/skills/sf-governor-limits/SKILL.md +323 -0
  251. package/skills/sf-harness-audit/SKILL.md +142 -0
  252. package/skills/sf-help/SKILL.md +159 -0
  253. package/skills/sf-integration/SKILL.md +483 -0
  254. package/skills/sf-lwc-constraints/SKILL.md +130 -0
  255. package/skills/sf-lwc-development/SKILL.md +303 -0
  256. package/skills/sf-lwc-testing/SKILL.md +388 -0
  257. package/skills/sf-metadata-management/SKILL.md +288 -0
  258. package/skills/sf-platform-events-cdc/SKILL.md +375 -0
  259. package/skills/sf-quickstart/SKILL.md +173 -0
  260. package/skills/sf-security/SKILL.md +334 -0
  261. package/skills/sf-security-constraints/SKILL.md +127 -0
  262. package/skills/sf-soql-constraints/SKILL.md +131 -0
  263. package/skills/sf-soql-optimization/SKILL.md +354 -0
  264. package/skills/sf-tdd-workflow/SKILL.md +336 -0
  265. package/skills/sf-testing-constraints/SKILL.md +200 -0
  266. package/skills/sf-trigger-constraints/SKILL.md +90 -0
  267. package/skills/sf-trigger-frameworks/SKILL.md +347 -0
  268. package/skills/sf-visualforce-development/SKILL.md +260 -0
  269. package/skills/strategic-compact/SKILL.md +208 -0
  270. package/skills/update-docs/SKILL.md +165 -0
  271. package/skills/update-platform-docs/SKILL.md +90 -0
@@ -0,0 +1,208 @@
1
+ ---
2
+ name: strategic-compact
3
+ description: >-
4
+ Use when managing context during long Salesforce Apex development sessions. Suggests manual compaction
5
+ at logical intervals to preserve deploy and org context across phases.
6
+ origin: SCC
7
+ user-invocable: false
8
+ ---
9
+
10
+ # Strategic Compact Skill
11
+
12
+ Suggests manual `/compact` at strategic points in your workflow rather than relying on arbitrary auto-compaction.
13
+
14
+ ## When to Use
15
+
16
+ - When running long Salesforce development sessions that approach context limits (200K+ tokens)
17
+ - When transitioning between distinct development phases (org exploration -> planning -> implementation)
18
+ - When switching between unrelated Salesforce domains (Apex -> LWC -> Flow configuration)
19
+ - After completing a major milestone (feature shipped, deployment succeeded) before starting new work
20
+ - When responses slow down or become less coherent due to context pressure
21
+
22
+ ## Why Strategic Compaction?
23
+
24
+ Auto-compaction triggers at arbitrary points:
25
+
26
+ - Often mid-task, losing important context about org structure or governor limits
27
+ - No awareness of logical task boundaries
28
+ - Can interrupt complex multi-step Salesforce operations (deploy pipeline, test runs)
29
+
30
+ Strategic compaction at logical boundaries:
31
+
32
+ - **After org exploration, before implementation** — Compact metadata/schema context, keep implementation plan
33
+ - **After completing a feature** — Fresh start for next feature
34
+ - **Before switching domains** — Clear Apex context before LWC work
35
+
36
+ ## How It Works
37
+
38
+ The `suggest-compact.js` script runs on PreToolUse (Edit/Write) and:
39
+
40
+ 1. **Tracks tool calls** — Counts tool invocations in session
41
+ 2. **Threshold detection** — Suggests at configurable threshold (default: 50 calls)
42
+ 3. **Periodic reminders** — Reminds every 25 calls after threshold
43
+
44
+ ## Compaction Decision Guide
45
+
46
+ | Phase Transition | Compact? | Why |
47
+ |-----------------|----------|-----|
48
+ | Org exploration -> Planning | Yes | Org metadata is bulky; plan is the distilled output |
49
+ | Planning -> Apex implementation | Yes | Plan is saved to a file; free up context for code |
50
+ | Apex implementation -> LWC work | Yes | Clear Apex context for unrelated frontend work |
51
+ | Apex implementation -> Apex testing | Maybe | Keep if tests reference recent code; compact if switching focus |
52
+ | Debugging -> Next feature | Yes | Debug traces pollute context for unrelated work |
53
+ | Mid-implementation | No | Losing class names, field APIs, and partial state is costly |
54
+ | After a failed deployment | Yes | Clear the dead-end reasoning before trying a new approach |
55
+ | Trigger work -> Flow work | Yes | Different domains with different context needs |
56
+
57
+ ## What Survives Compaction
58
+
59
+ Understanding what persists helps you compact with confidence:
60
+
61
+ | Persists | Lost |
62
+ |----------|------|
63
+ | CLAUDE.md instructions | Intermediate reasoning and analysis |
64
+ | Task list (if saved to a file) | File contents you previously read |
65
+ | Project-level settings and rules | Multi-step conversation context |
66
+ | Git state (commits, branches) | Tool call history and counts |
67
+ | Files on disk | Nuanced user preferences stated verbally |
68
+ | Org metadata on disk | SOQL query results from exploration |
69
+
70
+ ## Best Practices
71
+
72
+ 1. **Compact after planning** — Once plan is finalized and saved to a file, compact to start fresh
73
+ 2. **Compact after debugging** — Clear error-resolution context before continuing
74
+ 3. **Don't compact mid-implementation** — Preserve context for related Apex/LWC changes
75
+ 4. **Read the suggestion** — The hook tells you *when*, you decide *if*
76
+ 5. **Write before compacting** — Save important context (org structure, field APIs) to files or memory before compacting
77
+ 6. **Use `/compact` with a summary** — Add a custom message: `/compact Focus on implementing trigger handler next`
78
+
79
+ ## Salesforce-Specific Tips
80
+
81
+ - **Save org metadata before compacting** — Object/field lists, record type IDs, profile names
82
+ - **Save governor limit findings** — If you discovered limit issues, document them first
83
+ - **Save deployment results** — Deployment errors/warnings should be saved before compacting
84
+ - **Keep test results accessible** — Write failing test details to a file before compacting
85
+
86
+ ## Token Optimization Patterns
87
+
88
+ ### Trigger-Table Lazy Loading
89
+
90
+ > **Note:** This is an aspirational optimization pattern -- SCC currently loads skills based on frontmatter triggers, not a runtime lazy-loading table.
91
+
92
+ Instead of loading full skill content at session start, use a trigger table that maps keywords to skill paths. Skills load only when triggered, reducing baseline context by 50%+:
93
+
94
+ | Trigger Keywords | Skill | Load When |
95
+ |---------|-------|-----------|
96
+ | "test", "tdd", "coverage" | sf-apex-testing | User mentions testing |
97
+ | "security", "sharing", "crud" | sf-security | Security-related work |
98
+ | "deploy", "scratch org", "ci" | sf-deployment | Deployment context |
99
+ | "soql", "query", "selectivity" | sf-soql-optimization | Query optimization |
100
+ | "trigger", "handler", "fflib" | sf-trigger-frameworks | Trigger development |
101
+
102
+ ### Context Composition Awareness
103
+
104
+ Monitor what consumes your context window:
105
+
106
+ - **CLAUDE.md files** — Always loaded, keep lean
107
+ - **Loaded skills** — Each skill adds 1-5K tokens; SCC has 58 skills
108
+ - **Conversation history** — Grows with each exchange
109
+ - **Tool results** — File reads, SOQL results, test output add bulk
110
+ - **Rules** — Always-on guidelines consume baseline context
111
+
112
+ ### Duplicate Instruction Detection
113
+
114
+ Common sources of duplicate context in SCC projects:
115
+
116
+ - Skills that repeat CLAUDE.md instructions
117
+ - Multiple skills covering overlapping domains (e.g., security guidance in both `sf-security` and `sf-governor-limits` skills)
118
+ - Agent descriptions that duplicate skill content
119
+
120
+ ## Save-Before-Compact Examples
121
+
122
+ Before compacting, write critical context to files so it survives:
123
+
124
+ ### Save Org Metadata
125
+
126
+ ```bash
127
+ # Save field list for target object
128
+ sf sobject describe --sobject Account --json > .claude/org-context/account-fields.json
129
+
130
+ # Save record type IDs
131
+ sf data query --query "SELECT Id, Name, DeveloperName FROM RecordType WHERE SobjectType = 'Account'" --json > .claude/org-context/record-types.json
132
+ ```
133
+
134
+ ### Save Investigation Findings
135
+
136
+ ```markdown
137
+ <!-- .claude/session-notes.md — write before compacting -->
138
+ ## Governor Limit Findings (2026-03-24)
139
+ - AccountTriggerHandler.cls line 45: SOQL in loop (CRITICAL)
140
+ - OrderService.cls: 3 DML statements could be combined (MEDIUM)
141
+ - Coverage: AccountService 82%, OrderService 61% (needs work)
142
+
143
+ ## Deployment Blockers
144
+ - Missing field: Account.Risk_Category__c not in target org
145
+ - Flow "Auto Case Assignment" references deleted queue
146
+ ```
147
+
148
+ ### Save Test Results
149
+
150
+ ```markdown
151
+ <!-- .claude/test-results.md -->
152
+ ## Last Test Run
153
+ - 142/145 passing
154
+ - Failed: OrderServiceTest.shouldHandleBulkUpdate (NPE at line 89)
155
+ - Failed: CaseTriggerTest.shouldEscalateHighPriority (assertion at line 34)
156
+ - Failed: IntegrationTest.shouldCallExternalAPI (callout not mocked)
157
+ - Coverage: 78% org-wide
158
+ ```
159
+
160
+ ## Multi-Session Continuity
161
+
162
+ For work spanning multiple sessions, use compact + session commands:
163
+
164
+ ```
165
+ Session 1: Plan feature
166
+ +-- /save-session -> saves plan, org context, findings
167
+ +-- /compact -> clean slate
168
+
169
+ Session 2: Implement Apex
170
+ +-- /resume-session -> restores plan context
171
+ +-- [implement Apex classes]
172
+ +-- /save-session -> saves implementation state
173
+ +-- /compact
174
+
175
+ Session 3: Implement LWC + Deploy
176
+ +-- /resume-session -> restores implementation context
177
+ +-- [build LWC, deploy, verify]
178
+ ```
179
+
180
+ ## Large Project Handling
181
+
182
+ For projects with 100K+ lines of code:
183
+
184
+ - **Don't read entire codebase** — Use Grep/Glob to find specific files
185
+ - **Use codemaps** — `deep-researcher` agent creates navigable index without loading full files
186
+ - **Compact aggressively between features** — Each feature is a fresh context
187
+ - **Save architecture notes to files** — Don't rely on conversation memory for class relationships
188
+ - **Use agents for parallel investigation** — Subagents have their own context windows
189
+
190
+ ## Approximate Token Costs (as of the current API version per @../_reference/API_VERSIONS.md — may vary with model and encoding)
191
+
192
+ | Content Type | Approximate Tokens | Notes |
193
+ |-------------|-------------------|-------|
194
+ | CLAUDE.md | 2-5K | Always loaded |
195
+ | Each rule file | 500-2K | All active rules loaded |
196
+ | Each loaded skill | 1-5K | Loaded on demand |
197
+ | Apex class (500 lines) | 3-5K | When Read tool is used |
198
+ | LWC component (3 files) | 2-4K | HTML + JS + CSS |
199
+ | SOQL query result (100 rows) | 2-8K | Depends on field count |
200
+ | Test output (full suite) | 5-15K | Use `--result-format human` to reduce |
201
+ | Debug log (1000 lines) | 8-15K | Filter with `--log-level WARN` |
202
+
203
+ ## Related
204
+
205
+ - `suggest-compact.js` hook — Automatic compaction suggestions
206
+ - `/save-session` and `/resume-session` — State that survives compaction
207
+ - `sf-debugging` skill — Debug context preservation
208
+ - `learning-engine` agent — Extracts patterns before session ends
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: update-docs
3
+ description: >-
4
+ Use when syncing documentation after Salesforce Apex code changes. Update README, API docs, and
5
+ deploy metadata references to match the current org codebase.
6
+ origin: SCC
7
+ user-invocable: true
8
+ disable-model-invocation: true
9
+ ---
10
+
11
+ # Update Docs — Synchronize Documentation with Codebase
12
+
13
+ Synchronize documentation with the current state of the Salesforce codebase. Scans metadata, extracts project structure, and updates documentation files.
14
+
15
+ ## When to Use
16
+
17
+ - After making code changes that affect the project structure or API surface
18
+ - When new Apex classes, triggers, LWC components, or flows have been added or removed
19
+ - When deployment steps or prerequisites have changed
20
+ - To check for stale documentation that hasn't been updated in 90+ days
21
+ - When regenerating API documentation for `@RestResource`, `@AuraEnabled`, or `@InvocableMethod` classes
22
+
23
+ ## Workflow
24
+
25
+ ### Step 1 — Scan Project Metadata
26
+
27
+ Read project configuration to understand the tech stack:
28
+
29
+ ```bash
30
+ # Core project config
31
+ cat sfdx-project.json
32
+
33
+ # Package dependencies
34
+ cat sfdx-project.json | grep -A5 "packageDirectories"
35
+
36
+ # Node.js tooling
37
+ cat package.json 2>/dev/null | grep -A10 '"scripts"'
38
+ ```
39
+
40
+ ### Step 2 — Inventory Source Components
41
+
42
+ Count and categorize all Salesforce metadata:
43
+
44
+ ```bash
45
+ # Apex classes
46
+ find force-app -name "*.cls" -not -name "*Test.cls" | wc -l
47
+
48
+ # Apex test classes
49
+ find force-app -name "*Test.cls" | wc -l
50
+
51
+ # Apex triggers
52
+ find force-app -name "*.trigger" | wc -l
53
+
54
+ # LWC components
55
+ find force-app -path "*/lwc/*/*.js" | wc -l
56
+
57
+ # Custom objects
58
+ find force-app -name "*.object-meta.xml" | wc -l
59
+
60
+ # Flows
61
+ find force-app -name "*.flow-meta.xml" | wc -l
62
+
63
+ # Permission sets
64
+ find force-app -name "*.permissionset-meta.xml" | wc -l
65
+ ```
66
+
67
+ ### Step 3 — Update README Sections
68
+
69
+ Update these sections with `<!-- AUTO-GENERATED-START -->` / `<!-- AUTO-GENERATED-END -->` markers:
70
+
71
+ **Project Structure:**
72
+
73
+ ```markdown
74
+ ## Project Structure
75
+
76
+ | Component | Count | Location |
77
+ |-----------|-------|----------|
78
+ | Apex Classes | 45 | `force-app/main/default/classes/` |
79
+ | Apex Triggers | 8 | `force-app/main/default/triggers/` |
80
+ | Test Classes | 32 | `force-app/main/default/classes/*Test.cls` |
81
+ | LWC Components | 12 | `force-app/main/default/lwc/` |
82
+ | Custom Objects | 15 | `force-app/main/default/objects/` |
83
+ | Flows | 6 | `force-app/main/default/flows/` |
84
+ ```
85
+
86
+ **Setup Instructions:**
87
+
88
+ - Scratch org creation command from `config/project-scratch-def.json`
89
+ - Data seeding scripts if present
90
+ - Permission set assignments
91
+
92
+ **Available Commands:**
93
+
94
+ - List custom SF CLI commands from `package.json` scripts
95
+ - Document any custom sfdx plugins
96
+
97
+ ### Step 4 — Generate API Documentation
98
+
99
+ For classes with `@RestResource`, `@AuraEnabled`, or `@InvocableMethod`:
100
+
101
+ ```markdown
102
+ ## API Endpoints
103
+
104
+ ### AccountController (@RestResource)
105
+ - `GET /services/apexrest/accounts` — List accounts
106
+ - `POST /services/apexrest/accounts` — Create account
107
+
108
+ ### AccountService (@AuraEnabled methods)
109
+ - `getAccountDetails(Id accountId)` — Returns account with contacts
110
+ - `updateAccountStatus(Id accountId, String status)` — Updates status
111
+ ```
112
+
113
+ ### Step 5 — Generate Deployment Guide
114
+
115
+ Create or update deployment documentation:
116
+
117
+ ```markdown
118
+ ## Deployment Guide
119
+
120
+ ### Prerequisites
121
+ - SF CLI v2.x installed
122
+ - Target org authenticated: `sf org login web --alias <alias>`
123
+
124
+ ### Deploy Steps
125
+ 1. Validate: `sf project deploy validate --target-org <alias> --test-level RunLocalTests`
126
+ 2. Deploy: `sf project deploy start --target-org <alias> --test-level RunLocalTests`
127
+
128
+ ### Metadata Dependencies
129
+ `sf project deploy start` handles dependency resolution automatically — no manual ordering is needed. If a deployment fails due to a missing dependency, verify that all referenced metadata is included in the source being deployed.
130
+ ```
131
+
132
+ ### Step 6 — Check Staleness
133
+
134
+ Flag documentation files not updated in 90+ days:
135
+
136
+ ```bash
137
+ find . -name "README.md" -o -name "CONTRIBUTING.md" -o -name "*.md" -path "*/docs/*" | while read f; do
138
+ last_modified=$(git log -1 --format=%ai -- "$f" 2>/dev/null)
139
+ if [ -n "$last_modified" ]; then
140
+ last_epoch=$(date -d "$last_modified" +%s 2>/dev/null || date -j -f "%Y-%m-%d %H:%M:%S %z" "$last_modified" +%s 2>/dev/null)
141
+ days=$(( ($(date +%s) - $last_epoch) / 86400 ))
142
+ if [ "$days" -gt 90 ]; then echo "STALE ($days days): $f"; fi
143
+ fi
144
+ done
145
+ ```
146
+
147
+ ### Step 7 — Verify Auto-Generated Markers
148
+
149
+ Ensure all auto-generated sections have proper markers so future updates don't clobber manual content. Only modify content between `<!-- AUTO-GENERATED-START -->` and `<!-- AUTO-GENERATED-END -->` markers.
150
+
151
+ ## Rules
152
+
153
+ - Only update sections between auto-generated markers
154
+ - Never overwrite manually-written content
155
+ - Always show a diff before writing changes
156
+ - Preserve existing formatting and style of the document
157
+
158
+ ## Examples
159
+
160
+ ```
161
+ /update-docs
162
+ /update-docs Sync the README with the new Agentforce integration feature
163
+ /update-docs Regenerate API documentation for all @RestResource classes
164
+ /update-docs Check for stale documentation and suggest updates
165
+ ```
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: update-platform-docs
3
+ description: >-
4
+ Update Salesforce platform reference docs with latest release features and
5
+ deprecation announcements. Use when SessionStart hook warns docs are outdated
6
+ or a new Salesforce release has shipped. Do NOT use for Apex or LWC development.
7
+ origin: SCC
8
+ user-invocable: true
9
+ disable-model-invocation: true
10
+ ---
11
+
12
+ # Update Platform Reference Docs
13
+
14
+ ## When to Use
15
+
16
+ - When the SessionStart hook warns that platform docs are outdated (>4 months since last verified)
17
+ - When a new Salesforce release has shipped (Spring, Summer, or Winter)
18
+ - When you hear about new Salesforce feature deprecations or retirements
19
+
20
+ ## Files to Update
21
+
22
+ Two reference files in `skills/_reference/`:
23
+
24
+ 1. **API_VERSIONS.md** — Release feature tracker (24-month rolling window)
25
+ 2. **DEPRECATIONS.md** — Retired features, upcoming retirements, naming changes (cumulative)
26
+
27
+ ## Update Procedure
28
+
29
+ ### Step 1 — Research current release
30
+
31
+ WebSearch for the latest Salesforce release information:
32
+
33
+ ```
34
+ Search: "Salesforce [Season] '[Year] release notes new features developer site:developer.salesforce.com"
35
+ Search: "Salesforce [Season] '[Year] release highlights"
36
+ ```
37
+
38
+ ### Step 2 — Research deprecations
39
+
40
+ WebSearch for deprecation and retirement announcements:
41
+
42
+ ```
43
+ Search: "Salesforce feature retirements [current year] site:help.salesforce.com"
44
+ Search: "Salesforce deprecated features [current year]"
45
+ ```
46
+
47
+ ### Step 3 — Update API_VERSIONS.md
48
+
49
+ 1. Read current `skills/_reference/API_VERSIONS.md`
50
+ 2. Add new release section at TOP with `Added: YYYY-MM` tag
51
+ 3. Include all new GA features, Beta features (marked clearly), and breaking changes
52
+ 4. Remove any sections where `Added:` date is older than 24 months
53
+ 5. Update the "Last verified" date
54
+ 6. Update "Current" label to point to the new release
55
+
56
+ ### Step 4 — Update DEPRECATIONS.md
57
+
58
+ 1. Read current `skills/_reference/DEPRECATIONS.md`
59
+ 2. Append any NEW deprecation entries with `Added: YYYY-MM` tag
60
+ 3. Move "Retiring Soon" entries to "Already Retired" if retirement date has passed
61
+ 4. Remove entries where `Added:` date is older than 24 months (exception: keep "Retiring Soon" entries until retirement date + 24 months)
62
+ 5. Check for new product renames and add them
63
+ 6. Update Beta feature status (promote to GA if applicable, remove if GA'd >24 months ago)
64
+ 7. Update the "Last verified" date
65
+
66
+ ### Step 5 — Verify
67
+
68
+ After updating, confirm changes:
69
+
70
+ ```bash
71
+ # Check no v62.0 or other old version references leaked back
72
+ grep -r "old_version" skills/_reference/API_VERSIONS.md skills/_reference/DEPRECATIONS.md
73
+
74
+ # Run CI validation
75
+ node scripts/ci/validate-skills.js
76
+ ```
77
+
78
+ ## Important Rules
79
+
80
+ - Releases and deprecations are INDEPENDENT — a new release does NOT deprecate the previous one
81
+ - Every entry gets an `Added: YYYY-MM` tag for 24-month retention tracking
82
+ - Beta features must be clearly marked as "Beta" or "Pilot" with "do NOT use in production"
83
+ - Use current product names (see Product Renames table in DEPRECATIONS.md)
84
+ - Only add information verified from official Salesforce sources (developer.salesforce.com, help.salesforce.com)
85
+
86
+ ## Related
87
+
88
+ - **Hook**: `check-platform-docs-age.js` — SessionStart hook that triggers this skill's warning
89
+ - **Reference**: `@../_reference/API_VERSIONS.md` — Feature tracker
90
+ - **Reference**: `@../_reference/DEPRECATIONS.md` — Deprecation guard