cfsa-antigravity 2.19.2 → 2.19.4

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 (125) hide show
  1. package/README.md +13 -7
  2. package/package.json +1 -1
  3. package/template/.agent/kit-sync.md +3 -3
  4. package/template/.claude/README.md +4 -8
  5. package/template/.claude/instructions/structure.md +2 -2
  6. package/template/.claude/instructions/workflow.md +7 -7
  7. package/template/.claude/kit-sync.md +6 -0
  8. package/template/.claude/memory/README.md +31 -1
  9. package/template/.claude/memory/blockers.md +10 -0
  10. package/template/.claude/memory/decisions.md +19 -0
  11. package/template/.claude/memory/patterns.md +26 -0
  12. package/template/.claude/memory/sessions/README.md +5 -0
  13. package/template/.claude/progress/.gitkeep +0 -0
  14. package/template/.claude/progress/memory/.gitkeep +0 -0
  15. package/template/.claude/progress/sessions/.gitkeep +0 -0
  16. package/template/.claude/rules/completion-checklist.md +5 -5
  17. package/template/.claude/rules/extensibility.md +1 -1
  18. package/template/.claude/rules/memory-capture.md +14 -1
  19. package/template/.claude/rules/vertical-slices.md +1 -1
  20. package/template/.claude/skill-library/MANIFEST.md +7 -7
  21. package/template/.claude/skill-library/README.md +3 -3
  22. package/template/.claude/skill-library/meta/claude-code/README.md +1 -1
  23. package/template/.claude/skill-library/surface/web/design-reference-data/SKILL.md +4 -4
  24. package/template/.claude/skill-library/surface/web/frontend-design/SKILL.md +1 -1
  25. package/template/.claude/skill-library/surface/web/frontend-verification/SKILL.md +3 -3
  26. package/template/.claude/skills/bootstrap-agents/SKILL.md +13 -13
  27. package/template/.claude/skills/database-schema-design/SKILL.md +3 -3
  28. package/template/.claude/skills/error-handling-patterns/SKILL.md +1 -1
  29. package/template/.claude/skills/find-skills/SKILL.md +1 -1
  30. package/template/.claude/skills/idea-extraction/SKILL.md +5 -5
  31. package/template/.claude/skills/migration-management/SKILL.md +1 -1
  32. package/template/.claude/skills/parallel-agents/SKILL.md +2 -2
  33. package/template/.claude/skills/prd-templates/references/bootstrap-verification-protocol.md +6 -6
  34. package/template/.claude/skills/prd-templates/references/decision-confirmation-protocol.md +1 -1
  35. package/template/.claude/skills/prd-templates/references/decision-propagation.md +3 -3
  36. package/template/.claude/skills/prd-templates/references/engagement-tier-protocol.md +1 -1
  37. package/template/.claude/skills/prd-templates/references/evolution-layer-guidance.md +2 -2
  38. package/template/.claude/skills/prd-templates/references/folder-seeding-protocol.md +5 -5
  39. package/template/.claude/skills/prd-templates/references/input-classification.md +1 -1
  40. package/template/.claude/skills/prd-templates/references/map-guard-protocol.md +2 -2
  41. package/template/.claude/skills/prd-templates/references/persona-completeness-gate.md +1 -1
  42. package/template/.claude/skills/prd-templates/references/placeholder-workflow-mapping.md +1 -1
  43. package/template/.claude/skills/prd-templates/references/shard-boundary-analysis.md +1 -1
  44. package/template/.claude/skills/prd-templates/references/skill-loading-protocol.md +3 -3
  45. package/template/.claude/skills/prd-templates/references/spec-coverage-sweep.md +1 -1
  46. package/template/.claude/skills/prd-templates/references/workflow-checkpoint-protocol.md +1 -1
  47. package/template/.claude/skills/resolve-ambiguity/SKILL.md +4 -4
  48. package/template/.claude/skills/session-continuity/SKILL.md +6 -6
  49. package/template/.claude/skills/session-continuity/protocols/01-session-resumption.md +2 -2
  50. package/template/.claude/skills/session-continuity/protocols/02-progress-generation.md +7 -7
  51. package/template/.claude/skills/session-continuity/protocols/03-progress-update.md +5 -5
  52. package/template/.claude/skills/session-continuity/protocols/04-pattern-extraction.md +1 -1
  53. package/template/.claude/skills/session-continuity/protocols/05-session-close.md +1 -1
  54. package/template/.claude/skills/session-continuity/protocols/06-decision-analysis.md +1 -1
  55. package/template/.claude/skills/session-continuity/protocols/07-spec-pipeline-generation.md +2 -2
  56. package/template/.claude/skills/session-continuity/protocols/08-spec-pipeline-update.md +3 -3
  57. package/template/.claude/skills/session-continuity/protocols/09-parallel-claim.md +1 -1
  58. package/template/.claude/skills/session-continuity/protocols/10-placeholder-verification-gate.md +3 -3
  59. package/template/.claude/skills/session-continuity/protocols/11-parallel-synthesis.md +2 -2
  60. package/template/.claude/skills/session-continuity/protocols/ambiguity-gates.md +1 -1
  61. package/template/.claude/skills/setup/setup-provision-skills.md +1 -1
  62. package/template/.claude/skills/skill-creator/SKILL.md +11 -11
  63. package/template/.claude/skills/tdd-workflow/SKILL.md +1 -1
  64. package/template/.claude/skills/testing-strategist/SKILL.md +1 -1
  65. package/template/.claude/skills/workflows/README.md +2 -2
  66. package/template/.claude/skills/workflows/workflow-audit-ambiguity-execute.md +0 -4
  67. package/template/.claude/skills/workflows/workflow-audit-ambiguity-rubrics.md +0 -4
  68. package/template/.claude/skills/workflows/workflow-audit-ambiguity.md +0 -4
  69. package/template/.claude/skills/workflows/workflow-bootstrap-agents-fill.md +1 -5
  70. package/template/.claude/skills/workflows/workflow-bootstrap-agents-provision.md +1 -5
  71. package/template/.claude/skills/workflows/workflow-bootstrap-agents.md +0 -4
  72. package/template/.claude/skills/workflows/workflow-create-prd-architecture.md +0 -4
  73. package/template/.claude/skills/workflows/workflow-create-prd-compile.md +0 -4
  74. package/template/.claude/skills/workflows/workflow-create-prd-design-system.md +0 -4
  75. package/template/.claude/skills/workflows/workflow-create-prd-security.md +0 -4
  76. package/template/.claude/skills/workflows/workflow-create-prd-stack.md +0 -4
  77. package/template/.claude/skills/workflows/workflow-create-prd.md +0 -7
  78. package/template/.claude/skills/workflows/workflow-decompose-architecture-structure.md +0 -4
  79. package/template/.claude/skills/workflows/workflow-decompose-architecture-validate.md +0 -4
  80. package/template/.claude/skills/workflows/workflow-decompose-architecture.md +0 -4
  81. package/template/.claude/skills/workflows/workflow-evolve-contract.md +0 -4
  82. package/template/.claude/skills/workflows/workflow-evolve-feature-cascade.md +0 -4
  83. package/template/.claude/skills/workflows/workflow-evolve-feature-classify.md +0 -4
  84. package/template/.claude/skills/workflows/workflow-evolve-feature.md +0 -4
  85. package/template/.claude/skills/workflows/workflow-ideate-discover.md +2 -6
  86. package/template/.claude/skills/workflows/workflow-ideate-extract.md +3 -7
  87. package/template/.claude/skills/workflows/workflow-ideate-validate.md +3 -7
  88. package/template/.claude/skills/workflows/workflow-ideate.md +0 -5
  89. package/template/.claude/skills/workflows/workflow-implement-slice-setup.md +0 -4
  90. package/template/.claude/skills/workflows/workflow-implement-slice-tdd.md +0 -4
  91. package/template/.claude/skills/workflows/workflow-implement-slice.md +0 -4
  92. package/template/.claude/skills/workflows/workflow-plan-phase-preflight.md +2 -6
  93. package/template/.claude/skills/workflows/workflow-plan-phase-write.md +0 -4
  94. package/template/.claude/skills/workflows/workflow-plan-phase.md +2 -6
  95. package/template/.claude/skills/workflows/workflow-propagate-decision-apply.md +0 -4
  96. package/template/.claude/skills/workflows/workflow-propagate-decision-scan.md +0 -4
  97. package/template/.claude/skills/workflows/workflow-propagate-decision.md +0 -4
  98. package/template/.claude/skills/workflows/workflow-remediate-pipeline-assess.md +0 -4
  99. package/template/.claude/skills/workflows/workflow-remediate-pipeline-execute.md +0 -4
  100. package/template/.claude/skills/workflows/workflow-remediate-pipeline.md +0 -4
  101. package/template/.claude/skills/workflows/workflow-remediate-shard-split.md +0 -4
  102. package/template/.claude/skills/workflows/workflow-resolve-ambiguity.md +0 -4
  103. package/template/.claude/skills/workflows/workflow-setup-workspace-cicd.md +0 -4
  104. package/template/.claude/skills/workflows/workflow-setup-workspace-data.md +0 -4
  105. package/template/.claude/skills/workflows/workflow-setup-workspace-hosting.md +0 -4
  106. package/template/.claude/skills/workflows/workflow-setup-workspace-scaffold.md +0 -4
  107. package/template/.claude/skills/workflows/workflow-setup-workspace.md +0 -6
  108. package/template/.claude/skills/workflows/workflow-sync-kit.md +2 -6
  109. package/template/.claude/skills/workflows/workflow-update-architecture-map.md +0 -4
  110. package/template/.claude/skills/workflows/workflow-validate-phase-quality.md +0 -4
  111. package/template/.claude/skills/workflows/workflow-validate-phase-readiness.md +0 -4
  112. package/template/.claude/skills/workflows/workflow-validate-phase.md +0 -4
  113. package/template/.claude/skills/workflows/workflow-verify-infrastructure.md +0 -4
  114. package/template/.claude/skills/workflows/workflow-write-architecture-spec-deepen.md +1 -5
  115. package/template/.claude/skills/workflows/workflow-write-architecture-spec-design.md +2 -6
  116. package/template/.claude/skills/workflows/workflow-write-architecture-spec.md +2 -6
  117. package/template/.claude/skills/workflows/workflow-write-be-spec-classify.md +1 -5
  118. package/template/.claude/skills/workflows/workflow-write-be-spec-write.md +1 -5
  119. package/template/.claude/skills/workflows/workflow-write-be-spec.md +3 -7
  120. package/template/.claude/skills/workflows/workflow-write-fe-spec-classify.md +0 -4
  121. package/template/.claude/skills/workflows/workflow-write-fe-spec-write.md +1 -5
  122. package/template/.claude/skills/workflows/workflow-write-fe-spec.md +3 -7
  123. package/template/CLAUDE.md +14 -14
  124. package/template/docs/README.md +9 -9
  125. package/template/docs/kit-architecture.md +64 -22
package/README.md CHANGED
@@ -10,7 +10,7 @@ A pipeline that turns a raw idea into exhaustively specified, test-driven, produ
10
10
  npx cfsa-antigravity init
11
11
  ```
12
12
 
13
- This installs the `.agent/` folder, `docs/` structure, and agent config files into your project.
13
+ This installs the selected agent runtime (`.agent/` by default, or `.claude/` with `--agent claude`), the `docs/` structure, and agent config files into your project.
14
14
 
15
15
  ## CLI
16
16
 
@@ -22,13 +22,19 @@ This installs the `.agent/` folder, `docs/` structure, and agent config files in
22
22
  | `cfsa-antigravity init --dry-run` | Preview what would be installed |
23
23
  | `cfsa-antigravity init --path ./dir` | Install into specific directory |
24
24
 
25
- ### ⚠️ Important Note on `.gitignore`
26
- If you are using AI-powered editors like **Cursor** or **Windsurf**, adding the `.agent/` folder to your `.gitignore` may prevent the IDE from indexing the workflows. This results in slash commands (like `/ideate`, `/create-prd`) not appearing in the chat suggestion dropdown.
25
+ ### Choosing the runtime directory
26
+ - Antigravity-style installs use `.agent/`
27
+ - Claude Code installs use `.claude/`
28
+
29
+ If you are using an editor that indexes agent files for slash commands, do not hide the runtime directory you actually installed.
27
30
 
28
31
  **Recommended Solution:**
29
- To keep the `.agent/` folder local (not tracked by Git) while maintaining AI functionality:
30
- 1. Ensure `.agent/` is **NOT** in your project's `.gitignore`.
31
- 2. Instead, add it to your local exclude file: `.git/info/exclude`
32
+ Keep the installed runtime directory out of shared `.gitignore` rules when your tool needs to index it. Prefer `.git/info/exclude` for local-only exclusions.
33
+
34
+ Examples:
35
+ 1. Antigravity install → keep `.agent/` out of `.gitignore`
36
+ 2. Claude install → keep `.claude/` out of `.gitignore`
37
+ 3. Use `.git/info/exclude` for local exclusions instead of changing shared ignore rules
32
38
 
33
39
  ## Get Started
34
40
 
@@ -49,7 +55,7 @@ The kit evolves independently of your project. To pull improvements into an exis
49
55
  This performs a **semantic merge** — it applies new workflows, skills, and rules from the upstream kit while preserving your project-specific values (tech stack, validation commands, filled placeholders). It will never overwrite your project decisions.
50
56
 
51
57
  - First sync does a full comparison; subsequent syncs are incremental (commit-scoped)
52
- - Tracks sync state in `.agent/kit-sync.md` so it knows what changed since last update
58
+ - Tracks sync state in the installed agent runtime (`.agent/kit-sync.md` or `.claude/kit-sync.md`) so it knows what changed since last update
53
59
  - Flags any structural migrations needed (e.g., ideation format changes)
54
60
 
55
61
  ## Documentation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cfsa-antigravity",
3
- "version": "2.19.2",
3
+ "version": "2.19.4",
4
4
  "description": "CFSA Pipeline — Constraint-First Specification Architecture for AI agents. Production-grade from line one.",
5
5
  "scripts": {
6
6
  "changeset": "changeset",
@@ -1,6 +1,6 @@
1
1
  # Kit Sync State
2
2
 
3
3
  upstream: https://github.com/RepairYourTech/cfsa-antigravity
4
- last_synced_commit: 15665e628973ef08a1dae1c96a9567c4170f4f66
5
- last_synced_at: 2026-04-06T05:36:53Z
6
- kit_version: 2.19.2
4
+ last_synced_commit: 515f87acc1239e276a85bf46b0d33e8925659a57
5
+ last_synced_at: 2026-04-10T05:15:43Z
6
+ kit_version: 2.19.4
@@ -12,7 +12,7 @@ This directory contains the CFSA (Constraint-First Specification Architecture) p
12
12
  │ └── utilities/ # Helper skills (resolution, templates, etc.)
13
13
  ├── rules/ # Always-active rules that apply to every task
14
14
  ├── instructions/ # Core directives (workflow, tech-stack, patterns)
15
- ├── skill-library/ # Shared skill library (symlinked to ../.agent/skill-library/)
15
+ ├── skill-library/ # Claude-owned skill library
16
16
  └── memory/ # CFSA-specific memory protocols
17
17
  ├── decisions.md # Locked decisions log
18
18
  ├── patterns.md # Reusable patterns with confidence scores
@@ -20,19 +20,15 @@ This directory contains the CFSA (Constraint-First Specification Architecture) p
20
20
  └── sessions/ # Session logs for continuity
21
21
  ```
22
22
 
23
- ## Parallel Structure with .agent/
23
+ ## Parallel Structure
24
24
 
25
- This directory parallels the `.agent/` directory structure used by the Antigravity CLI. Both versions share:
26
-
27
- - The same skill library (`skill-library/`)
28
- - The same documentation (`docs/`)
29
- - The same core philosophy and pipeline stages
25
+ This directory is the standalone Claude Code runtime for the CFSA pipeline. It sits alongside the Antigravity runtime in this repository, but `.claude/` owns its Claude execution assets locally.
30
26
 
31
27
  ## Key Differences from Antigravity Version
32
28
 
33
29
  1. **Skills vs Workflows**: Claude Code uses skills instead of passive workflow markdown files
34
30
  2. **Task System**: Uses Claude Code's built-in Tasks system for progress tracking
35
- 3. **Memory Location**: Uses `.claude/memory/` instead of `.agent/progress/`
31
+ 3. **Progress + Memory**: Uses `.claude/progress/` for pipeline state and `.claude/memory/` for CFSA memory
36
32
  4. **Invocation**: Workflows are invoked as skills rather than slash commands in markdown
37
33
 
38
34
  ## Installation
@@ -20,10 +20,10 @@
20
20
  ## Protected Files (Do Not Modify Without Approval)
21
21
  - `AGENTS.md` — Project agent config
22
22
  - `docs/plans/ENGINEERING-STANDARDS.md` — Quality bar
23
- - `.agent/instructions/*` — Agent rules
23
+ - `.claude/instructions/*` — Agent rules
24
24
  - `package.json` — Dependencies (add carefully)
25
25
  - `tsconfig.json` — TypeScript config
26
26
 
27
27
  ## Notes
28
- - All agent config lives in `.agent/` (canonical for all agents)
28
+ - Claude Code agent config lives in `.claude/`
29
29
  - Frontend and API may be separately deployed depending on architecture
@@ -4,12 +4,12 @@ Before taking any action on a task:
4
4
 
5
5
  ## 1. Understand Context
6
6
  - Read the agent config file at project root (`AGENTS.md` for Antigravity, `GEMINI.md` for Gemini CLI, or equivalent for your agent)
7
- - Read relevant `.agent/instructions/` files for the task type
7
+ - Read relevant `.claude/instructions/` files for the task type
8
8
  - Check [Engineering Standards](../../docs/plans/ENGINEERING-STANDARDS.md) for quality bar — if this file doesn't exist yet, the pipeline hasn't reached /create-prd; run /ideate then /create-prd first
9
- - **Session Resumption**: If `.agent/progress/index.md` exists, read `.agent/skills/session-continuity/protocols/01-session-resumption.md` and follow the **Session Resumption Protocol** to load cross-session context and identify the resumption point
9
+ - **Session Resumption**: If `.claude/progress/index.md` exists, read `.claude/skills/session-continuity/protocols/01-session-resumption.md` and follow the **Session Resumption Protocol** to load cross-session context and identify the resumption point
10
10
 
11
11
  ## 2. Check Skills
12
- - Scan `.agent/skills/` for applicable skills
12
+ - Scan `.claude/skills/` for applicable skills
13
13
  - Load relevant skill SKILL.md before proceeding
14
14
  - Key skills: `brainstorming` (before creative work), `tdd-workflow` (before features), `clean-code` (during review)
15
15
 
@@ -28,7 +28,7 @@ Before taking any action on a task:
28
28
  ## 4. Validate (MANDATORY)
29
29
  After **every** code change, run:
30
30
  ```bash
31
- See `.agent/instructions/commands.md` for the validation command.
31
+ See `.claude/instructions/commands.md` for the validation command.
32
32
  ```
33
33
 
34
34
  Do NOT mark a task complete until all validations pass.
@@ -37,8 +37,8 @@ Do NOT mark a task complete until all validations pass.
37
37
 
38
38
  After completing a workflow or substantial task:
39
39
 
40
- - **Pattern Extraction**: Read `.agent/skills/session-continuity/protocols/04-pattern-extraction.md` and follow the **Pattern Extraction Protocol**. Reflect on what worked, what didn't, and log reusable patterns to `memory/patterns.md`. Skip only if the task was trivial (routine, nothing new learned).
41
- - **Session Close**: Read `.agent/skills/session-continuity/protocols/05-session-close.md` and follow the **Session Close Protocol**. Write a session log to `.agent/progress/sessions/` so the next session can resume cleanly.
40
+ - **Pattern Extraction**: Read `.claude/skills/session-continuity/protocols/04-pattern-extraction.md` and follow the **Pattern Extraction Protocol**. Reflect on what worked, what didn't, and log reusable patterns to `memory/patterns.md`. Skip only if the task was trivial (routine, nothing new learned).
41
+ - **Session Close**: Read `.claude/skills/session-continuity/protocols/05-session-close.md` and follow the **Session Close Protocol**. Write a session log to `.claude/progress/sessions/` so the next session can resume cleanly.
42
42
 
43
43
  > These steps are **not optional**. They are what differentiate a pipeline that gets
44
44
  > smarter over time from one that repeats the same mistakes.
@@ -46,7 +46,7 @@ After completing a workflow or substantial task:
46
46
  ## 6. Recommend Next Step (MANDATORY)
47
47
 
48
48
  Before reporting completion via `notify_user`:
49
- - Check the pipeline progress state (`.agent/progress/spec-pipeline.md` or equivalent)
49
+ - Check the pipeline progress state (`.claude/progress/spec-pipeline.md` or equivalent)
50
50
  - Propose the next valid pipeline command to the user
51
51
  - If multiple valid next steps exist, list them with brief context
52
52
  - Never end a conversation without telling the user what to do next
@@ -0,0 +1,6 @@
1
+ # Kit Sync State
2
+
3
+ upstream: https://github.com/RepairYourTech/cfsa-antigravity
4
+ last_synced_commit: 515f87acc1239e276a85bf46b0d33e8925659a57
5
+ last_synced_at: 2026-04-10T05:15:43Z
6
+ kit_version: 2.19.4
@@ -93,6 +93,36 @@ This memory system complements Claude Code's built-in features:
93
93
  - **Memory**: Decision/blocker/pattern tracking is CFSA-specific, stored here
94
94
  - **Sessions**: Session logs provide richer context than Claude Code's history
95
95
 
96
+ ## Native Memory Bridge (Required)
97
+
98
+ When running in Claude Code, memory capture is dual-write:
99
+
100
+ 1. Write CFSA operational memory to `.claude/memory/*`
101
+ 2. Also sync durable collaboration memory to Claude native memory store using the native memory types
102
+
103
+ ### Mapping Rules
104
+
105
+ - `patterns.md` entries map to native **feedback** memory when they reflect user corrections/preferences
106
+ - `decisions.md` entries map to native **project** memory for project decisions; map to **user** memory when the decision is actually a user preference
107
+ - `blockers.md` entries map to native **project** memory when they affect ongoing work context
108
+ - External system pointers discovered while logging decisions/blockers map to native **reference** memory
109
+
110
+ ### Source of Truth
111
+
112
+ - `.claude/memory/*` remains the pipeline execution log
113
+ - Native memory remains the long-lived collaboration memory across sessions
114
+ - Do not replace one with the other; keep them synchronized when trigger conditions are met
115
+
116
+ ### What Not To Sync
117
+
118
+ - Trivial implementation details (file names, one-off variable choices)
119
+ - Routine entries with no future value
120
+ - Any codebase facts directly derivable from files or git history
121
+
122
+ ### Trigger
123
+
124
+ On any memory-capture trigger (decision/correction/pattern/blocker), evaluate whether a native memory entry should also be written and sync it in the same conversation.
125
+
96
126
  ## Cleanup
97
127
 
98
128
  Session logs are automatically cleaned during template build, keeping only README.md. Decision, pattern, and blocker logs persist across installations.
@@ -101,4 +131,4 @@ Session logs are automatically cleaned during template build, keeping only READM
101
131
 
102
132
  - `.claude/skills/utilities/memory-protocol.md` — Memory management skill
103
133
  - `.claude/skills/utilities/progress-tracking.md` — Task integration
104
- - `.agent/progress/` — Antigravity's equivalent markdown-based tracking
134
+ - `.claude/progress/` — Antigravity's equivalent markdown-based tracking
@@ -0,0 +1,10 @@
1
+ # Blockers
2
+
3
+ Capture active and resolved blockers that affect progress.
4
+
5
+ ## Entry format
6
+
7
+ ### BLOCKER-001: [Description] (YYYY-MM-DD)
8
+ - **Status**: active | resolved
9
+ - **Impact**: What this blocks
10
+ - **Resolution**: How it was resolved (if resolved)
@@ -0,0 +1,19 @@
1
+ # Decisions
2
+
3
+ Capture non-trivial decisions with downstream impact.
4
+
5
+ ## Entry format
6
+
7
+ ### DEC-001: [Decision summary] (YYYY-MM-DD)
8
+ - **Problem**: What needed deciding
9
+ - **Options considered**: At least 2
10
+ - **Decision**: What was chosen and why
11
+ - **Downstream**: What this affects
12
+ - **Reversibility**: High | Medium | Low
13
+
14
+ ### DEC-001: `.claude` owns its own runtime assets and state (2026-04-10)
15
+ - **Problem**: `.claude` was coupled to `.agent` through symlinked skill-library content, `.agent/*` runtime references, and parity enforcement that made Claude non-standalone.
16
+ - **Options considered**: Keep `.agent` as the canonical runtime backing for Claude; make `.claude` fully standalone while preserving build/check safeguards.
17
+ - **Decision**: Make `.claude` self-contained. Runtime assets, progress state, and sync state now live under `.claude/`, while build/integrity scripts enforce standalone Claude invariants instead of `.agent` parity requirements.
18
+ - **Downstream**: Affects `.claude` workflows, instructions, session continuity protocols, skill provisioning, template build behavior, and integrity verification.
19
+ - **Reversibility**: Medium
@@ -0,0 +1,26 @@
1
+ # Patterns
2
+
3
+ Capture repeatable best practices and anti-patterns discovered during execution.
4
+
5
+ ## Entry format
6
+
7
+ ### PAT-001: [Short description] (YYYY-MM-DD)
8
+ - **Type**: best-practice | anti-pattern
9
+ - **Confidence**: 0.5
10
+ - **Context**: Where this applies
11
+ - **Pattern**: What to do (or avoid)
12
+ - **Source**: What triggered this entry
13
+
14
+ ### PAT-001: Make `.claude` standalone, not a `.agent` wrapper (2026-04-10)
15
+ - **Type**: anti-pattern
16
+ - **Confidence**: 0.5
17
+ - **Context**: When porting or mirroring Antigravity functionality into the Claude runtime for this kit
18
+ - **Pattern**: Do not treat `.claude` as a thin adapter over `.agent`. Claude assets, runtime state, and skill library ownership must live under `.claude/`, with parity/build checks handled as maintainer safeguards rather than runtime dependency.
19
+ - **Source**: User correction after `.claude` was implemented as a wrapper that depended on `.agent`
20
+
21
+ ### PAT-002: Verify standalone runtime by build, integrity check, and `.agent` reference scan (2026-04-10)
22
+ - **Type**: best-practice
23
+ - **Confidence**: 0.5
24
+ - **Context**: When changing Claude runtime structure or decoupling Claude assets from Antigravity assets
25
+ - **Pattern**: Validate the standalone Claude runtime with `npm run build`, `./scripts/check-template-integrity.sh`, and a direct search for `.agent/` references under `.claude/`.
26
+ - **Source**: This standalone `.claude` migration work
@@ -0,0 +1,5 @@
1
+ # Session Logs
2
+
3
+ Store session-close notes here for continuity between runs.
4
+
5
+ Recommended file naming: `YYYY-MM-DD.md`.
File without changes
File without changes
File without changes
@@ -31,21 +31,21 @@ A unit of work is only DONE when:
31
31
 
32
32
  1. **The Code**: Implementation meets the contract and acceptance criteria.
33
33
  2. **The Tests**: All tests pass (validation step is green).
34
- 3. **The Tracking**: Progress markdown files in `.agent/progress/` are updated.
34
+ 3. **The Tracking**: Progress markdown files in `.claude/progress/` are updated.
35
35
  - Acceptance criteria marked `[x]`
36
36
  - Slice/Task marked `[x]`
37
37
  - Phase progress fractions updated (e.g., `3/10` → `4/10`)
38
38
  - Overall progress fractions updated
39
39
  4. **The Locks**: All task claims (`[!]` flags and `files:` blocks) are removed.
40
- 5. **The Memory**: All three memory files in `.agent/progress/memory/` are checked:
40
+ 5. **The Memory**: All three memory files in `.claude/memory/` are checked:
41
41
  - `patterns.md` — Any patterns observed (what worked, what failed) logged per Protocol 04. **User corrections are logged as anti-patterns.**
42
42
  - `decisions.md` — Any non-trivial decisions logged per Protocol 06
43
43
  - `blockers.md` — Any blockers hit logged with status and impact
44
44
  - See rule: `memory-capture` for triggers and format
45
- 6. **The Session Log**: A session close log exists in `.agent/progress/sessions/`.
46
- - Follow `.agent/skills/session-continuity/protocols/05-session-close.md` — write what was accomplished, deferred, and where the next session should start
45
+ 6. **The Session Log**: A session close log exists in `.claude/progress/sessions/`.
46
+ - Follow `.claude/skills/session-continuity/protocols/05-session-close.md` — write what was accomplished, deferred, and where the next session should start
47
47
  7. **The Next Step**: The user is told what comes next in the pipeline.
48
- - Read the pipeline progress file (`.agent/progress/spec-pipeline.md` or equivalent)
48
+ - Read the pipeline progress file (`.claude/progress/spec-pipeline.md` or equivalent)
49
49
  - Propose the next valid pipeline command based on current state
50
50
  - If multiple options exist, present them as a numbered list with brief context
51
51
  - If the pipeline stage is complete, say so explicitly
@@ -30,7 +30,7 @@ trigger: always_on
30
30
 
31
31
  ## Naming Conventions
32
32
 
33
- Follow the project's established conventions in `.agent/instructions/patterns.md`. When no convention exists yet, use the stack's community standard.
33
+ Follow the project's established conventions in `.claude/instructions/patterns.md`. When no convention exists yet, use the stack's community standard.
34
34
 
35
35
  ## Anti-Spaghetti Rules
36
36
 
@@ -60,12 +60,25 @@ The pipeline has three memory files (`memory/patterns.md`, `memory/decisions.md`
60
60
  - Isolated implementation decisions (variable names, file paths) — skip
61
61
  - Repeating an existing pattern already logged — update confidence instead
62
62
 
63
+ ## Native Memory Sync (Claude Code)
64
+
65
+ When running in Claude Code, memory capture is dual-write:
66
+
67
+ 1. Write the CFSA entry to `.claude/memory/{patterns|decisions|blockers}.md`
68
+ 2. Evaluate native-memory relevance and sync to Claude native memory store:
69
+ - User correction/preference → `feedback`
70
+ - User-specific preference/profile signal → `user`
71
+ - Project decision/blocker context with downstream impact → `project`
72
+ - External system pointer/where-to-look info → `reference`
73
+
74
+ If a trigger requires CFSA logging and native-memory relevance, both writes are required in the same conversation.
75
+
63
76
  ## Pre-Completion Check
64
77
 
65
78
  Before calling `notify_user` to report completion of ANY workflow or substantial task:
66
79
 
67
80
  1. **Scan this conversation** for triggers in the table above
68
- 2. **If triggers found** → write entries to the appropriate memory files
81
+ 2. **If triggers found** → write entries to `.claude/memory/*` and sync relevant items to native memory
69
82
  3. **If no triggers** → explicitly confirm: "No new patterns, decisions, or blockers to log"
70
83
 
71
84
  This check is **not skippable**. It applies to every pipeline stage, every conversation, every session.
@@ -41,7 +41,7 @@ When a multi-surface feature launches on one surface first:
41
41
 
42
42
  ## The Four Implementation Layers
43
43
 
44
- > **Note on terminology**: The layers below describe implementation completeness criteria — what every feature slice requires regardless of surface type. These are not the same as surface types (web/mobile/cli/etc.). For the mapping between surface types and how each implementation layer manifests on that surface, see `.agent/skills/prd-templates/references/surface-model.md`.
44
+ > **Note on terminology**: The layers below describe implementation completeness criteria — what every feature slice requires regardless of surface type. These are not the same as surface types (web/mobile/cli/etc.). For the mapping between surface types and how each implementation layer manifests on that surface, see `.claude/skills/prd-templates/references/surface-model.md`.
45
45
 
46
46
  | Surface | What It Is | Example |
47
47
  |---------|-----------|---------|
@@ -8,7 +8,7 @@
8
8
  1. A pipeline skill (e.g., `/create-prd`, `/iterate-plan`, `/add-feature`) makes a tech decision
9
9
  2. It calls `/bootstrap-agents` with the new stack key=value
10
10
  3. Bootstrap reads this manifest and finds matching skills
11
- 4. Matching skills are copied from `.agent/skill-library/` → `.agent/skills/`
11
+ 4. Matching skills are copied from `.claude/skill-library/` → `.claude/skills/`
12
12
  5. Any `{{PLACEHOLDER}}`s inside the copied skills are filled with current values
13
13
 
14
14
  ## Stack Triggers
@@ -98,10 +98,10 @@ When a stack key matches a value pattern (case-insensitive), install the listed
98
98
  | `UI_LIBRARY` | `*svelte-flow*` OR `*svelteflow*` OR `*xyflow*` | `stack/ui/svelte-flow` | `svelte-flow` |
99
99
  | `FRONTEND_FRAMEWORK` | `*react*` | `stack/ui/react-best-practices` | `react-best-practices` |
100
100
  | `FRONTEND_FRAMEWORK` | `*react*` | `stack/ui/react-composition-patterns` | `react-composition-patterns` |
101
- | `DESIGN_DIRECTION` | `*` (any confirmed value) | Fills `{{PLACEHOLDER}}`s in `.agent/skills/brand-guidelines/SKILL.md` in-place | `brand-guidelines` (in-place fill, not copy) |
101
+ | `DESIGN_DIRECTION` | `*` (any confirmed value) | Fills `{{PLACEHOLDER}}`s in `.claude/skills/brand-guidelines/SKILL.md` in-place | `brand-guidelines` (in-place fill, not copy) |
102
102
  | `DESIGN_DIRECTION` | `*cinematic*` OR `*immersive*` | `stack/3d/threejs-pro` | `threejs-pro` |
103
103
 
104
- Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills placeholders in the pre-placed `.agent/skills/brand-guidelines/SKILL.md` template. Exception: when the direction is `Cinematic/Immersive`, `threejs-pro` is also installed as a standard skill copy, since WebGL and Three.js capabilities will be required.
104
+ Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills placeholders in the pre-placed `.claude/skills/brand-guidelines/SKILL.md` template. Exception: when the direction is `Cinematic/Immersive`, `threejs-pro` is also installed as a standard skill copy, since WebGL and Three.js capabilities will be required.
105
105
 
106
106
  ### Authentication
107
107
 
@@ -168,7 +168,7 @@ Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills pla
168
168
  |-----------|--------------|-------------|-------------|
169
169
  | `OBSERVABILITY` | `*opentelemetry*` OR `*otel*` | `stack/observability/opentelemetry` | `opentelemetry` |
170
170
  | `OBSERVABILITY` | `*distributed-tracing*` OR `*jaeger*` OR `*zipkin*` | `stack/observability/distributed-tracing` | `distributed-tracing` |
171
- | `OBSERVABILITY` | `*structured-logging*` OR `*pino*` OR `*winston*` | Pre-installed: `.agent/skills/logging-best-practices` | `logging-best-practices` (pre-installed) |
171
+ | `OBSERVABILITY` | `*structured-logging*` OR `*pino*` OR `*winston*` | Pre-installed: `.claude/skills/logging-best-practices` | `logging-best-practices` (pre-installed) |
172
172
  | `OBSERVABILITY` | `*python*` | `stack/observability/python-observability` | `python-observability` |
173
173
  | `OBSERVABILITY` | `*datadog*` | `stack/observability/datadog` | `datadog` |
174
174
  | `OBSERVABILITY` | `*prometheus*` OR `*grafana*` | `stack/observability/prometheus-grafana` | `prometheus-grafana` |
@@ -362,7 +362,7 @@ When the project includes a surface type, install the listed skills.
362
362
  | `api` | `surface/api/api-caching` | `api-caching` |
363
363
  | `api` | `surface/api/api-documentation-openapi` | `api-documentation-openapi` |
364
364
  | `api` | `surface/api/webhook-design` | `webhook-design` |
365
- | `api` | Pre-installed: `.agent/skills/api-design-principles` | `api-design-principles` (pre-installed) |
365
+ | `api` | Pre-installed: `.claude/skills/api-design-principles` | `api-design-principles` (pre-installed) |
366
366
  | `api` | `surface/api/api-security-checklist` | `api-security-checklist` |
367
367
  | `api` | `stack/security/input-sanitization` | `input-sanitization` |
368
368
 
@@ -420,7 +420,7 @@ These skills are NOT auto-installed. Install via `/find-skills` or manually copy
420
420
  | `meta/mcp-builder` | Building MCP servers |
421
421
  | `meta/tmux-processes` | Long-lived process management via tmux |
422
422
  | `meta/using-tmux-for-interactive-commands` | Interactive CLI tools via tmux |
423
- | Pre-installed: `.agent/skills/brand-guidelines` | Brand color and typography application (pre-installed) |
423
+ | Pre-installed: `.claude/skills/brand-guidelines` | Brand color and typography application (pre-installed) |
424
424
  | `meta/product-marketing-context` | Marketing context document generator — run first before any SEO or CRO skill |
425
425
 
426
426
  ---
@@ -441,7 +441,7 @@ These skills are specific to Claude Code's plugin and agent system. Not applicab
441
441
 
442
442
  To add a new skill to the library:
443
443
 
444
- 1. Create a directory under the appropriate category: `.agent/skill-library/[category]/[subcategory]/[skill-name]/SKILL.md`
444
+ 1. Create a directory under the appropriate category: `.claude/skill-library/[category]/[subcategory]/[skill-name]/SKILL.md`
445
445
  2. Add a row to the appropriate trigger table above
446
446
  3. Use `{{PLACEHOLDER}}`s for any values that should be filled by bootstrap
447
447
  4. Test by running `/bootstrap-agents` with a matching stack value
@@ -9,8 +9,8 @@
9
9
 
10
10
  1. A pipeline workflow (e.g., `/create-prd`) makes a tech stack decision
11
11
  2. It calls `/bootstrap-agents` with the new stack key=value
12
- 3. Bootstrap reads `.agent/skill-library/MANIFEST.md` and finds matching skills
13
- 4. Matching skills are copied from `.agent/skill-library/` → `.agent/skills/`
12
+ 3. Bootstrap reads `.claude/skill-library/MANIFEST.md` and finds matching skills
13
+ 4. Matching skills are copied from `.claude/skill-library/` → `.claude/skills/`
14
14
  5. Any `{{PLACEHOLDER}}`s inside the copied skills are filled with current values
15
15
 
16
16
  ## Installing Skills
@@ -26,7 +26,7 @@ Use `/find-skills` to search the library and install matching skills interactive
26
26
 
27
27
  ### Direct
28
28
 
29
- Copy a skill directory from `.agent/skill-library/[path]/` to `.agent/skills/[name]/`
29
+ Copy a skill directory from `.claude/skill-library/[path]/` to `.claude/skills/[name]/`
30
30
  and manually replace any `{{PLACEHOLDER}}` values.
31
31
 
32
32
  ## Library Structure
@@ -6,4 +6,4 @@ These skills are specific to Claude Code's plugin and agent system. They are not
6
6
  - **plugin-structure** — Claude Code plugin architecture (.claude-plugin/plugin.json)
7
7
  - **agent-development** — Claude Code agent frontmatter (model, color, triggering examples)
8
8
 
9
- These are manual-install only. Copy the relevant skill to `.agent/skills/` when working in Claude Code.
9
+ These are manual-install only. Copy the relevant skill to `.claude/skills/` when working in Claude Code.
@@ -48,7 +48,7 @@ After the user confirms their design direction, run these searches to get concre
48
48
  #### 1. Find matching design styles
49
49
 
50
50
  ```bash
51
- python .agent/skills/design-reference-data/scripts/search.py \
51
+ python .claude/skills/design-reference-data/scripts/search.py \
52
52
  "<direction + project context>" \
53
53
  --domain style --max-results 5
54
54
  ```
@@ -58,7 +58,7 @@ Example: `"modern dark mode SaaS dashboard"` or `"warm friendly wellness app"`
58
58
  #### 2. Find specific color palettes
59
59
 
60
60
  ```bash
61
- python .agent/skills/design-reference-data/scripts/search.py \
61
+ python .claude/skills/design-reference-data/scripts/search.py \
62
62
  "<mood + industry>" \
63
63
  --domain color --max-results 3
64
64
  ```
@@ -68,7 +68,7 @@ Example: `"professional trust-building fintech"` or `"vibrant playful consumer"`
68
68
  #### 3. Find typography pairings
69
69
 
70
70
  ```bash
71
- python .agent/skills/design-reference-data/scripts/search.py \
71
+ python .claude/skills/design-reference-data/scripts/search.py \
72
72
  "<style + readability needs>" \
73
73
  --domain typography --max-results 3
74
74
  ```
@@ -78,7 +78,7 @@ Example: `"clean serif editorial"` or `"modern sans-serif technical"`
78
78
  #### 4. Generate full design system recommendation
79
79
 
80
80
  ```bash
81
- python .agent/skills/design-reference-data/scripts/search.py \
81
+ python .claude/skills/design-reference-data/scripts/search.py \
82
82
  "<project description>" \
83
83
  --design-system -p "ProjectName"
84
84
  ```
@@ -14,7 +14,7 @@ This skill guides creation of **production-grade frontend interfaces that feel A
14
14
 
15
15
  ## Prerequisite: Read Brand Guidelines First
16
16
 
17
- Before making any aesthetic decisions, read `.agent/skills/brand-guidelines/SKILL.md`.
17
+ Before making any aesthetic decisions, read `.claude/skills/brand-guidelines/SKILL.md`.
18
18
 
19
19
  - If the design direction is confirmed (no `{{PLACEHOLDER}}` values), **execute that direction**. Do not invent a new direction — the user confirmed this one during `/create-prd`.
20
20
  - If `{{DESIGN_DIRECTION}}` is still a literal placeholder, stop and tell the user: "Design direction hasn't been confirmed yet — run `/create-prd` first before building UI."
@@ -36,7 +36,7 @@ A 750-line Python scanner with 75+ automated checks across 11 categories:
36
36
  After implementing a frontend slice, run the audit on **changed files only**:
37
37
 
38
38
  ```bash
39
- python .agent/skills/frontend-verification/scripts/ux_audit.py src/components/NewFeature/ --json
39
+ python .claude/skills/frontend-verification/scripts/ux_audit.py src/components/NewFeature/ --json
40
40
  ```
41
41
 
42
42
  **Exit codes:**
@@ -47,7 +47,7 @@ python .agent/skills/frontend-verification/scripts/ux_audit.py src/components/Ne
47
47
  For slice-level scans, you may skip categories unrelated to the current work:
48
48
 
49
49
  ```bash
50
- python .agent/skills/frontend-verification/scripts/ux_audit.py src/components/Chart/ \
50
+ python .claude/skills/frontend-verification/scripts/ux_audit.py src/components/Chart/ \
51
51
  --skip-psychology --skip-typography
52
52
  ```
53
53
 
@@ -56,7 +56,7 @@ python .agent/skills/frontend-verification/scripts/ux_audit.py src/components/Ch
56
56
  At phase validation, run the audit on the **entire frontend source**:
57
57
 
58
58
  ```bash
59
- python .agent/skills/frontend-verification/scripts/ux_audit.py src/ --json
59
+ python .claude/skills/frontend-verification/scripts/ux_audit.py src/ --json
60
60
  ```
61
61
 
62
62
  **Validation threshold:**
@@ -9,11 +9,11 @@ version: 3.0.0
9
9
  **This is a utility command, not an entry point.** It gets called by other pipeline commands (like `/create-prd`, `/write-be-spec`, `/write-fe-spec`, `/implement-slice`) whenever they make tech stack decisions or introduce new dependencies.
10
10
 
11
11
  Bootstrap does two things:
12
- 1. **Fill the surface stack map** in `.agent/instructions/tech-stack.md` with stack decisions
12
+ 1. **Fill the surface stack map** in `.claude/instructions/tech-stack.md` with stack decisions
13
13
  2. **Provision skills** from `skill-library/` using the 4-tier resolution chain
14
14
 
15
15
  **Input**: Surface-keyed stack values + optional global values
16
- **Output**: Filled map cells + newly installed skills in `.agent/skills/`
16
+ **Output**: Filled map cells + newly installed skills in `.claude/skills/`
17
17
 
18
18
  ---
19
19
 
@@ -100,7 +100,7 @@ If any values are missing, leave those cells empty — they'll be filled on a fu
100
100
 
101
101
  ## 2. Fill the surface stack map
102
102
 
103
- Open `.agent/instructions/tech-stack.md` and update:
103
+ Open `.claude/instructions/tech-stack.md` and update:
104
104
 
105
105
  ### 2a. Per-Surface Skills table
106
106
 
@@ -135,23 +135,23 @@ Replace in **both** `AGENTS.md` and `GEMINI.md`:
135
135
 
136
136
  ## 4. Fill instruction templates
137
137
 
138
- ### `.agent/instructions/commands.md`
138
+ ### `.claude/instructions/commands.md`
139
139
  Write per-surface command sections. For each surface in the map, create a section with its commands (Test Cmd, Validation Cmd, Lint Cmd, Build Cmd, Dev Cmd, Package Mgr).
140
140
 
141
- ### `.agent/instructions/workflow.md`
141
+ ### `.claude/instructions/workflow.md`
142
142
  Fill `{{VALIDATION_COMMAND}}` with the primary surface's validation command.
143
143
 
144
- ### `.agent/instructions/patterns.md`
144
+ ### `.claude/instructions/patterns.md`
145
145
  Replace `{{FRAMEWORK_PATTERNS}}` if provided.
146
146
 
147
- ### `.agent/instructions/structure.md`
147
+ ### `.claude/instructions/structure.md`
148
148
  Replace `{{PROJECT_STRUCTURE}}`, `{{ARCHITECTURE_TABLE}}` if provided.
149
149
 
150
150
  ---
151
151
 
152
152
  ## 5. Fill operational skill and rule templates
153
153
 
154
- Scan `.agent/skills/*/SKILL.md` and `.agent/rules/*.md` for `{{PLACEHOLDER}}` values and fill any that match the provided values. Currently applicable:
154
+ Scan `.claude/skills/*/SKILL.md` and `.claude/rules/*.md` for `{{PLACEHOLDER}}` values and fill any that match the provided values. Currently applicable:
155
155
 
156
156
  - `{{VALIDATION_COMMAND}}` — in `fix-bug`, `main-workflow`, `deploy`, `refactor`
157
157
  - `{{PACKAGE_MANAGER}}` — in `refactor`, `security-audit`
@@ -173,13 +173,13 @@ If `skill-library/MANIFEST.md` does not exist, skip steps 7-8 and go to step 9.
173
173
  For each skill name referenced in ANY cell of the surface stack map, resolve it using this chain:
174
174
 
175
175
  ### Tier 1: Exact Match
176
- Check `.agent/skill-library/{name}/` (or `.agent/skills/{name}/` if already installed).
177
- - **Found in library** AND not yet installed → copy to `.agent/skills/{name}/`, fill any `{{PLACEHOLDER}}`s in the copied SKILL.md
176
+ Check `.claude/skill-library/{name}/` (or `.claude/skills/{name}/` if already installed).
177
+ - **Found in library** AND not yet installed → copy to `.claude/skills/{name}/`, fill any `{{PLACEHOLDER}}`s in the copied SKILL.md
178
178
  - **Already installed** → skip (idempotent)
179
179
  - **Not found** → proceed to Tier 2
180
180
 
181
181
  ### Tier 2: Partial Match + Adequacy Check
182
- Search `.agent/skill-library/` and `.agent/skills/` for skills whose name contains the base term. E.g., for `surrealdb-embedded`, check if `surrealdb` exists.
182
+ Search `.claude/skill-library/` and `.claude/skills/` for skills whose name contains the base term. E.g., for `surrealdb-embedded`, check if `surrealdb` exists.
183
183
 
184
184
  - **Partial match found** → Read its `SKILL.md`. Assess: does it cover the needed variant? Check for keywords related to the specific need (e.g., "embedded", "WASM", "Rust-native" for `surrealdb-embedded`).
185
185
  - **Adequate** — the existing skill covers the variant → use it. Note in the report: `"{name}" resolved by existing "{partial}" skill (covers {variant})`.
@@ -187,7 +187,7 @@ Search `.agent/skill-library/` and `.agent/skills/` for skills whose name contai
187
187
  - **No partial match** → proceed to Tier 3
188
188
 
189
189
  ### Tier 3: External Discovery
190
- Read `.agent/skills/find-skills/SKILL.md` and invoke its discovery methodology to search for the skill externally.
190
+ Read `.claude/skills/find-skills/SKILL.md` and invoke its discovery methodology to search for the skill externally.
191
191
 
192
192
  - **Found** → install → fill map cell with resolved name
193
193
  - **Not found** → proceed to Tier 4
@@ -252,7 +252,7 @@ Present the results to the calling command (not directly to the user — the cal
252
252
  Bootstrap is safe to call multiple times:
253
253
 
254
254
  - **Already-filled map cells**: Cells with values are NOT overwritten unless the calling command explicitly re-provides a value for that surface + column
255
- - **Already-installed skills**: Skills that already exist in `.agent/skills/` are not re-copied from the library
255
+ - **Already-installed skills**: Skills that already exist in `.claude/skills/` are not re-copied from the library
256
256
  - **New surface rows**: New surfaces trigger new row creation without affecting existing rows
257
257
  - **Appending values**: Cross-cutting skills and accumulated columns append to existing comma-separated lists without duplicating
258
258
  - **Partial invocation**: Bootstrap can be called with just one surface or one key — it only fills what's provided