get-shit-done-ios 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +22 -8
  2. package/agents/gsd-codebase-mapper.md +0 -2
  3. package/agents/gsd-debugger.md +83 -2
  4. package/agents/gsd-executor.md +18 -13
  5. package/agents/gsd-integration-checker.md +0 -2
  6. package/agents/gsd-nyquist-auditor.md +0 -2
  7. package/agents/gsd-phase-researcher.md +30 -19
  8. package/agents/gsd-plan-checker.md +13 -8
  9. package/agents/gsd-planner.md +16 -13
  10. package/agents/gsd-project-researcher.md +8 -10
  11. package/agents/gsd-research-synthesizer.md +0 -2
  12. package/agents/gsd-roadmapper.md +0 -2
  13. package/agents/gsd-ui-auditor.md +420 -0
  14. package/agents/gsd-ui-checker.md +311 -0
  15. package/agents/gsd-ui-researcher.md +343 -0
  16. package/agents/gsd-verifier.md +14 -9
  17. package/bin/install.js +1377 -143
  18. package/commands/gsd/autonomous.md +41 -0
  19. package/commands/gsd/discuss-phase.md +3 -2
  20. package/commands/gsd/do.md +30 -0
  21. package/commands/gsd/note.md +34 -0
  22. package/commands/gsd/quick.md +4 -2
  23. package/commands/gsd/set-profile.md +5 -27
  24. package/commands/gsd/stats.md +18 -0
  25. package/commands/gsd/ui-phase.md +34 -0
  26. package/commands/gsd/ui-review.md +32 -0
  27. package/get-shit-done/bin/gsd-tools.cjs +17 -2
  28. package/get-shit-done/bin/lib/commands.cjs +168 -12
  29. package/get-shit-done/bin/lib/config.cjs +164 -19
  30. package/get-shit-done/bin/lib/core.cjs +50 -45
  31. package/get-shit-done/bin/lib/init.cjs +102 -30
  32. package/get-shit-done/bin/lib/model-profiles.cjs +68 -0
  33. package/get-shit-done/bin/lib/phase.cjs +60 -27
  34. package/get-shit-done/bin/lib/roadmap.cjs +20 -12
  35. package/get-shit-done/bin/lib/state.cjs +4 -2
  36. package/get-shit-done/bin/lib/verify.cjs +77 -8
  37. package/get-shit-done/references/ios-conventions.md +82 -0
  38. package/get-shit-done/references/model-profile-resolution.md +2 -0
  39. package/get-shit-done/references/model-profiles.md +24 -16
  40. package/get-shit-done/skills/INDEX.md +30 -0
  41. package/get-shit-done/skills/accessibility/SKILL.md +62 -0
  42. package/get-shit-done/skills/accessibility/references/anti-patterns.md +170 -0
  43. package/get-shit-done/skills/accessibility/references/dynamic-type.md +134 -0
  44. package/get-shit-done/skills/accessibility/references/enforcement.md +126 -0
  45. package/get-shit-done/skills/accessibility/references/testing.md +113 -0
  46. package/get-shit-done/skills/accessibility/references/voiceover.md +169 -0
  47. package/get-shit-done/skills/app-architecture/SKILL.md +62 -0
  48. package/get-shit-done/skills/app-architecture/references/anti-patterns.md +160 -0
  49. package/get-shit-done/skills/app-architecture/references/code-structure.md +256 -0
  50. package/get-shit-done/skills/app-architecture/references/deployment-targets.md +149 -0
  51. package/get-shit-done/skills/app-architecture/references/error-handling.md +214 -0
  52. package/get-shit-done/skills/app-architecture/references/framework-selection.md +152 -0
  53. package/get-shit-done/skills/app-architecture/references/naming-conventions.md +149 -0
  54. package/get-shit-done/skills/mcp-tools/SKILL.md +55 -0
  55. package/get-shit-done/skills/mcp-tools/references/tool-catalog.md +159 -0
  56. package/get-shit-done/skills/mcp-tools/workflows/debug-on-simulator.md +126 -0
  57. package/get-shit-done/skills/networking/SKILL.md +54 -0
  58. package/get-shit-done/skills/networking/references/api-client.md +216 -0
  59. package/get-shit-done/skills/networking/references/error-handling.md +202 -0
  60. package/get-shit-done/skills/networking/references/webview-integration.md +202 -0
  61. package/get-shit-done/skills/performance/SKILL.md +53 -0
  62. package/get-shit-done/skills/performance/references/code-review.md +164 -0
  63. package/get-shit-done/skills/performance/references/instruments.md +91 -0
  64. package/get-shit-done/skills/performance/references/remediation.md +183 -0
  65. package/get-shit-done/skills/swift-concurrency/SKILL.md +67 -0
  66. package/get-shit-done/skills/swift-concurrency/references/actors.md +168 -0
  67. package/get-shit-done/skills/swift-concurrency/references/async-await.md +105 -0
  68. package/get-shit-done/skills/swift-concurrency/references/migration.md +145 -0
  69. package/get-shit-done/skills/swift-concurrency/references/sendable.md +132 -0
  70. package/get-shit-done/skills/swift-concurrency/references/swift-6-2.md +124 -0
  71. package/get-shit-done/skills/swift-concurrency/references/tasks.md +154 -0
  72. package/get-shit-done/skills/swift-concurrency/references/testing.md +163 -0
  73. package/get-shit-done/skills/swift-concurrency/workflows/fix-concurrency-error.md +88 -0
  74. package/get-shit-done/skills/swift-testing/SKILL.md +71 -0
  75. package/get-shit-done/skills/swift-testing/references/async-testing.md +164 -0
  76. package/get-shit-done/skills/swift-testing/references/cli-tools.md +158 -0
  77. package/get-shit-done/skills/swift-testing/references/fundamentals.md +131 -0
  78. package/get-shit-done/skills/swift-testing/references/migration.md +85 -0
  79. package/get-shit-done/skills/swift-testing/references/mocking.md +177 -0
  80. package/get-shit-done/skills/swift-testing/references/parameterized.md +106 -0
  81. package/get-shit-done/skills/swift-testing/references/traits-tags.md +124 -0
  82. package/get-shit-done/skills/swift-testing/references/viewmodel-testing.md +184 -0
  83. package/get-shit-done/skills/swift-testing/workflows/write-tests.md +153 -0
  84. package/get-shit-done/skills/swiftdata/SKILL.md +59 -0
  85. package/get-shit-done/skills/swiftdata/references/advanced.md +200 -0
  86. package/get-shit-done/skills/swiftdata/references/cloudkit.md +132 -0
  87. package/get-shit-done/skills/swiftdata/references/core-rules.md +193 -0
  88. package/get-shit-done/skills/swiftdata/references/predicates.md +134 -0
  89. package/get-shit-done/skills/swiftui/SKILL.md +71 -0
  90. package/get-shit-done/skills/swiftui/references/accessibility-in-views.md +155 -0
  91. package/get-shit-done/skills/swiftui/references/animations.md +195 -0
  92. package/get-shit-done/skills/swiftui/references/components.md +208 -0
  93. package/get-shit-done/skills/swiftui/references/latest-apis.md +144 -0
  94. package/get-shit-done/skills/swiftui/references/navigation.md +166 -0
  95. package/get-shit-done/skills/swiftui/references/performance.md +164 -0
  96. package/get-shit-done/skills/swiftui/references/state-management.md +150 -0
  97. package/get-shit-done/skills/swiftui/references/view-composition.md +203 -0
  98. package/get-shit-done/skills/swiftui/workflows/build-view.md +105 -0
  99. package/get-shit-done/skills/swiftui/workflows/review-view.md +95 -0
  100. package/get-shit-done/skills/ux-writing/SKILL.md +53 -0
  101. package/get-shit-done/skills/ux-writing/references/patterns.md +149 -0
  102. package/get-shit-done/skills/ux-writing/references/voice-tone.md +84 -0
  103. package/get-shit-done/templates/UI-SPEC.md +100 -0
  104. package/get-shit-done/templates/config.json +5 -2
  105. package/get-shit-done/templates/context.md +57 -2
  106. package/get-shit-done/templates/copilot-instructions.md +7 -0
  107. package/get-shit-done/templates/phase-prompt.md +44 -3
  108. package/get-shit-done/workflows/autonomous.md +743 -0
  109. package/get-shit-done/workflows/complete-milestone.md +2 -0
  110. package/get-shit-done/workflows/discuss-phase.md +110 -24
  111. package/get-shit-done/workflows/do.md +104 -0
  112. package/get-shit-done/workflows/execute-phase.md +12 -3
  113. package/get-shit-done/workflows/execute-plan.md +44 -1
  114. package/get-shit-done/workflows/help.md +43 -4
  115. package/get-shit-done/workflows/new-milestone.md +11 -9
  116. package/get-shit-done/workflows/new-project.md +6 -4
  117. package/get-shit-done/workflows/node-repair.md +92 -0
  118. package/get-shit-done/workflows/note.md +156 -0
  119. package/get-shit-done/workflows/plan-phase.md +173 -54
  120. package/get-shit-done/workflows/progress.md +1 -1
  121. package/get-shit-done/workflows/quick.md +161 -45
  122. package/get-shit-done/workflows/settings.md +49 -7
  123. package/get-shit-done/workflows/stats.md +60 -0
  124. package/get-shit-done/workflows/ui-phase.md +290 -0
  125. package/get-shit-done/workflows/ui-review.md +157 -0
  126. package/get-shit-done/workflows/update.md +103 -23
  127. package/get-shit-done/workflows/validate-phase.md +1 -1
  128. package/get-shit-done/workflows/verify-work.md +1 -0
  129. package/hooks/dist/gsd-context-monitor.js +14 -1
  130. package/package.json +4 -3
  131. package/scripts/run-tests.cjs +29 -0
  132. package/get-shit-done/references/ios-app-lifecycle.md +0 -399
  133. package/get-shit-done/references/ios-frameworks.md +0 -358
  134. package/get-shit-done/references/ios-mcp-tools.md +0 -155
  135. package/get-shit-done/references/ios-permissions.md +0 -297
  136. package/get-shit-done/references/ios-swift-guidelines.md +0 -1569
  137. package/get-shit-done/references/ios-testing.md +0 -1505
  138. package/get-shit-done/workflows/set-profile.md +0 -81
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  **Solves context rot — the quality degradation that happens as Claude fills its context window.**
10
10
 
11
11
  [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
12
- [![Based on GSD](https://img.shields.io/badge/Based_on-GSD_1.22.4-orange?style=for-the-badge)](https://github.com/glittercowboy/get-shit-done)
12
+ [![Based on GSD](https://img.shields.io/badge/Based_on-GSD_1.25.1-orange?style=for-the-badge)](https://github.com/gsd-build/get-shit-done)
13
13
 
14
14
  ```bash
15
15
  npx get-shit-done-ios@latest
@@ -19,7 +19,7 @@ npx get-shit-done-ios@latest
19
19
 
20
20
  <br>
21
21
 
22
- > **Built on [Get Shit Done](https://github.com/glittercowboy/get-shit-done) by TÂCHES.**
22
+ > **Built on [Get Shit Done](https://github.com/gsd-build/get-shit-done) by TÂCHES.**
23
23
  > This is an iOS-native fork — all agents, references, templates, and workflows
24
24
  > have been adapted for Swift, SwiftUI, and native iOS development patterns.
25
25
 
@@ -359,7 +359,7 @@ Then `/gsd:new-milestone` starts the next version — same flow as `new-project`
359
359
  Quick mode gives you GSD guarantees (atomic commits, state tracking) with a faster path:
360
360
 
361
361
  - **Same agents** — Planner + executor, same quality
362
- - **Skips optional steps** — No research, no plan checker, no verifier
362
+ - **Skips optional steps** — No research, no plan checker, no verifier (use `--research` to add domain research)
363
363
  - **Separate tracking** — Lives in `.planning/quick/`, not phases
364
364
 
365
365
  Use for: bug fixes, small features, config changes, one-off tasks.
@@ -467,7 +467,7 @@ You're never locked in. The system adapts.
467
467
  | Command | What it does |
468
468
  |---------|--------------|
469
469
  | `/gsd:new-project [--auto]` | Full initialization: questions → research → requirements → roadmap |
470
- | `/gsd:discuss-phase [N] [--auto]` | Capture implementation decisions before planning |
470
+ | `/gsd:discuss-phase [N] [--auto] [--batch]` | Capture implementation decisions before planning |
471
471
  | `/gsd:plan-phase [N] [--auto]` | Research + plan + verify for a phase |
472
472
  | `/gsd:execute-phase <N>` | Execute all plans in parallel waves, verify when complete |
473
473
  | `/gsd:verify-work [N]` | Manual user acceptance testing ¹ |
@@ -482,12 +482,13 @@ You're never locked in. The system adapts.
482
482
  | `/gsd:progress` | Where am I? What's next? |
483
483
  | `/gsd:help` | Show all commands and usage guide |
484
484
  | `/gsd:update` | Update GSD with changelog preview |
485
+ | `/gsd:join-discord` | Join the GSD community Discord |
485
486
 
486
487
  ### Brownfield
487
488
 
488
489
  | Command | What it does |
489
490
  |---------|--------------|
490
- | `/gsd:map-codebase` | Analyze existing codebase before new-project |
491
+ | `/gsd:map-codebase [area]` | Analyze existing codebase before new-project |
491
492
 
492
493
  ### Phase Management
493
494
 
@@ -511,13 +512,23 @@ You're never locked in. The system adapts.
511
512
  | Command | What it does |
512
513
  |---------|--------------|
513
514
  | `/gsd:settings` | Configure model profile and workflow agents |
514
- | `/gsd:set-profile <profile>` | Switch model profile (quality/balanced/budget) |
515
+ | `/gsd:set-profile <profile>` | Switch model profile (quality/balanced/budget/inherit) |
516
+ | `/gsd:do <text>` | Execute a task directly without interactive prompt |
517
+ | `/gsd:note <text>` | Add a note to the current session state |
518
+ | `/gsd:stats` | Show project statistics and metrics |
515
519
  | `/gsd:add-todo [desc]` | Capture idea for later |
516
520
  | `/gsd:check-todos` | List pending todos |
517
521
  | `/gsd:debug [desc]` | Systematic debugging with persistent state |
518
- | `/gsd:quick [--discuss] [--full]` | Execute ad-hoc task with GSD guarantees (`--discuss` for pre-planning context, `--full` adds plan-checking and verification) |
522
+ | `/gsd:quick [--discuss] [--full] [--research]` | Execute ad-hoc task with GSD guarantees (`--discuss` for pre-planning context, `--full` adds plan-checking and verification, `--research` adds domain research) |
519
523
  | `/gsd:health [--repair]` | Validate `.planning/` directory integrity, auto-repair with `--repair` |
520
524
 
525
+ ### UI Design
526
+
527
+ | Command | What it does |
528
+ |---------|--------------|
529
+ | `/gsd:ui-phase [N]` | Create SwiftUI design contract (color assets, typography tokens, accessibility) before planning |
530
+ | `/gsd:ui-review [N]` | Retroactive 6-pillar visual audit of implemented SwiftUI views |
531
+
521
532
  <sup>¹ Contributed by reddit user OracleGreyBeard</sup>
522
533
 
523
534
  ---
@@ -531,7 +542,7 @@ GSD stores project settings in `.planning/config.json`. Configure during `/gsd:n
531
542
  | Setting | Options | Default | What it controls |
532
543
  |---------|---------|---------|------------------|
533
544
  | `mode` | `yolo`, `interactive` | `interactive` | Auto-approve vs confirm at each step |
534
- | `granularity` | `coarse`, `standard`, `fine` | `standard` | Planning thoroughness (phases × plans) |
545
+ | `granularity` | `coarse`, `standard`, `fine` | `standard` | Phase granularity how finely scope is sliced |
535
546
 
536
547
  ### Model Profiles
537
548
 
@@ -542,6 +553,9 @@ Control which Claude model each agent uses. Balance quality vs token spend.
542
553
  | `quality` | Opus | Opus | Sonnet |
543
554
  | `balanced` (default) | Opus | Sonnet | Sonnet |
544
555
  | `budget` | Sonnet | Sonnet | Haiku |
556
+ | `inherit` | Inherit | Inherit | Inherit |
557
+
558
+ Use `inherit` to follow the current session model selection.
545
559
 
546
560
  Switch profiles:
547
561
  ```
@@ -3,8 +3,6 @@ name: gsd-codebase-mapper
3
3
  description: Explores codebase and writes structured analysis documents. Spawned by map-codebase with a focus area (tech, arch, quality, concerns). Writes documents directly to reduce orchestrator context load.
4
4
  tools: Read, Bash, Grep, Glob, Write
5
5
  color: cyan
6
- skills:
7
- - gsd-mapper-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -3,8 +3,6 @@ name: gsd-debugger
3
3
  description: Investigates iOS/Swift/SwiftUI bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /gsd:debug orchestrator.
4
4
  tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch
5
5
  color: orange
6
- skills:
7
- - gsd-debugger-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -887,6 +885,48 @@ Can I observe the behavior directly?
887
885
 
888
886
  </research_vs_reasoning>
889
887
 
888
+ <knowledge_base_protocol>
889
+
890
+ ## Purpose
891
+
892
+ The knowledge base is a persistent, append-only record of resolved debug sessions. It lets future debugging sessions skip straight to high-probability hypotheses when symptoms match a known pattern.
893
+
894
+ ## File Location
895
+
896
+ ```
897
+ .planning/debug/knowledge-base.md
898
+ ```
899
+
900
+ ## Entry Format
901
+
902
+ Each resolved session appends one entry:
903
+
904
+ ```markdown
905
+ ## {slug} — {one-line description}
906
+ - **Date:** {ISO date}
907
+ - **Error patterns:** {comma-separated keywords extracted from symptoms.errors and symptoms.actual}
908
+ - **Root cause:** {from Resolution.root_cause}
909
+ - **Fix:** {from Resolution.fix}
910
+ - **Files changed:** {from Resolution.files_changed}
911
+ ---
912
+ ```
913
+
914
+ ## When to Read
915
+
916
+ At the **start of `investigation_loop` Phase 0**, before any file reading or hypothesis formation.
917
+
918
+ ## When to Write
919
+
920
+ At the **end of `archive_session`**, after the session file is moved to `resolved/` and the fix is confirmed by the user.
921
+
922
+ ## Matching Logic
923
+
924
+ Matching is keyword overlap, not semantic similarity. Extract nouns and error substrings from `Symptoms.errors` and `Symptoms.actual`. Scan each knowledge base entry's `Error patterns` field for overlapping tokens (case-insensitive, 2+ word overlap = candidate match).
925
+
926
+ **Important:** A match is a **hypothesis candidate**, not a confirmed diagnosis. Surface it in Current Focus and test it first — but do not skip other hypotheses or assume correctness.
927
+
928
+ </knowledge_base_protocol>
929
+
890
930
  <debug_file_protocol>
891
931
 
892
932
  ## File Location
@@ -1037,6 +1077,16 @@ Gather symptoms through questioning. Update file after EACH answer.
1037
1077
  <step name="investigation_loop">
1038
1078
  **Autonomous investigation. Update file continuously.**
1039
1079
 
1080
+ **Phase 0: Check knowledge base**
1081
+ - If `.planning/debug/knowledge-base.md` exists, read it
1082
+ - Extract keywords from `Symptoms.errors` and `Symptoms.actual` (nouns, error substrings, identifiers)
1083
+ - Scan knowledge base entries for 2+ keyword overlap (case-insensitive)
1084
+ - If match found:
1085
+ - Note in Current Focus: `known_pattern_candidate: "{matched slug} — {description}"`
1086
+ - Add to Evidence: `found: Knowledge base match on [{keywords}] → Root cause was: {root_cause}. Fix was: {fix}.`
1087
+ - Test this hypothesis FIRST in Phase 2 — but treat it as one hypothesis, not a certainty
1088
+ - If no match: proceed normally
1089
+
1040
1090
  **Phase 1: Initial evidence gathering**
1041
1091
  - Update Current Focus with "gathering initial evidence"
1042
1092
  - If errors exist, search codebase for error text
@@ -1210,6 +1260,37 @@ Then commit planning docs via CLI (respects `commit_docs` config automatically):
1210
1260
  node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" commit "docs: resolve debug {slug}" --files .planning/debug/resolved/{slug}.md
1211
1261
  ```
1212
1262
 
1263
+ **Append to knowledge base:**
1264
+
1265
+ Read `.planning/debug/resolved/{slug}.md` to extract final `Resolution` values. Then append to `.planning/debug/knowledge-base.md` (create file with header if it doesn't exist):
1266
+
1267
+ If creating for the first time, write this header first:
1268
+ ```markdown
1269
+ # GSD Debug Knowledge Base
1270
+
1271
+ Resolved debug sessions. Used by `gsd-debugger` to surface known-pattern hypotheses at the start of new investigations.
1272
+
1273
+ ---
1274
+
1275
+ ```
1276
+
1277
+ Then append the entry:
1278
+ ```markdown
1279
+ ## {slug} — {one-line description of the bug}
1280
+ - **Date:** {ISO date}
1281
+ - **Error patterns:** {comma-separated keywords from Symptoms.errors + Symptoms.actual}
1282
+ - **Root cause:** {Resolution.root_cause}
1283
+ - **Fix:** {Resolution.fix}
1284
+ - **Files changed:** {Resolution.files_changed joined as comma list}
1285
+ ---
1286
+
1287
+ ```
1288
+
1289
+ Commit the knowledge base update alongside the resolved session:
1290
+ ```bash
1291
+ node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" commit "docs: update debug knowledge base with {slug}" --files .planning/debug/knowledge-base.md
1292
+ ```
1293
+
1213
1294
  Report completion and offer next steps.
1214
1295
  </step>
1215
1296
 
@@ -3,8 +3,6 @@ name: gsd-executor
3
3
  description: Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
4
4
  tools: Read, Write, Edit, Bash, Grep, Glob
5
5
  color: yellow
6
- skills:
7
- - gsd-executor-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -14,9 +12,7 @@ skills:
14
12
  ---
15
13
 
16
14
  **iOS References:**
17
- - @~/.claude/get-shit-done/references/ios-swift-guidelines.md — Swift coding standards, SwiftUI patterns, architecture
18
- - @~/.claude/get-shit-done/references/ios-frameworks.md — Framework preference hierarchy (native > third-party)
19
- - @~/.claude/get-shit-done/references/ios-testing.md — Testing patterns (Swift Testing primary, XCTest for UI)
15
+ - @~/.claude/get-shit-done/references/ios-conventions.md — Mandatory enforcement rules (anti-patterns, validation checklist, localization, accessibility minimums)
20
16
 
21
17
  <role>
22
18
  You are a GSD plan executor **for iOS native projects (Swift / SwiftUI)**. You execute PLAN.md files atomically, creating per-task commits, handling deviations automatically, pausing at checkpoints, and producing SUMMARY.md files.
@@ -36,14 +32,21 @@ Before executing, discover project context:
36
32
 
37
33
  **Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
38
34
 
39
- **Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
35
+ **iOS skills (built-in):** Read `~/.claude/get-shit-done/skills/INDEX.md` to identify relevant skills for the current task.
36
+ 1. Read INDEX.md — maps task keywords to skill domains
37
+ 2. Read `SKILL.md` for 1-3 relevant skills (lightweight routers, ~5KB each)
38
+ 3. Follow SKILL.md routing to load specific `references/*.md` as needed
39
+ 4. If skill has `workflows/`, follow the applicable workflow for the task type
40
+ 5. Do NOT load all skills — load only those relevant to the current task
41
+
42
+ **Project skills (override):** Check `.claude/skills/` or `.agents/skills/` if either exists:
40
43
  1. List available skills (subdirectories)
41
- 2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
42
- 3. Load specific `rules/*.md` files as needed during implementation
43
- 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
44
- 5. Follow skill rules relevant to your current task
44
+ 2. Read `SKILL.md` for each skill
45
+ 3. Load specific `references/*.md` or `rules/*.md` files as needed
46
+ 4. Project-level skills override built-in skills for the same domain
47
+ 5. Do NOT load full `AGENTS.md` files (100KB+ context cost)
45
48
 
46
- This ensures project-specific patterns, conventions, and best practices are applied during execution.
49
+ This ensures both built-in iOS intelligence and project-specific patterns are applied.
47
50
  </project_context>
48
51
 
49
52
  ## iOS Validation Ladder
@@ -198,7 +201,7 @@ For each task:
198
201
  - Service/repository returning hardcoded data or empty `async` functions
199
202
  - `fatalError("Not implemented")` or `TODO:` / `FIXME:` markers
200
203
  - `print("debug")` — leftover debug statements
201
- - `Text("Settings")` or any `Text("literal string")` — hardcoded user-facing strings not using `String(localized:)` or `LocalizedStringKey` (see ios-swift-guidelines.md § Localization)
204
+ - `Text("Settings")` or any `Text("literal string")` — hardcoded user-facing strings not using `String(localized:)` or `LocalizedStringKey` (see ios-conventions.md § Localization Enforcement)
202
205
 
203
206
  If stubs are found, implement real functionality before proceeding.
204
207
  </step>
@@ -226,7 +229,7 @@ No user permission needed for Rules 1-3.
226
229
 
227
230
  **Trigger:** Code missing essential features for correctness, security, or basic operation
228
231
 
229
- **Examples:** Missing error handling, no input validation, missing nil checks, missing accessibility labels/traits on interactive elements, hardcoded user-facing strings without `String(localized:)` (localization is mandatory per ios-swift-guidelines.md), missing privacy usage descriptions in Info.plist (NSCameraUsageDescription, etc.), no Keychain usage for sensitive data (storing secrets in UserDefaults), missing `@MainActor` annotations on ViewModels, no error handling in async calls (missing do/catch or Task error handling), no loading/error states in views, missing permission checks before accessing protected resources (camera, location, photos), no rate limiting on network calls, no error logging
232
+ **Examples:** Missing error handling, no input validation, missing nil checks, missing accessibility labels/traits on interactive elements, hardcoded user-facing strings without `String(localized:)` (localization is mandatory per ios-conventions.md), missing privacy usage descriptions in Info.plist (NSCameraUsageDescription, etc.), no Keychain usage for sensitive data (storing secrets in UserDefaults), missing `@MainActor` annotations on ViewModels, no error handling in async calls (missing do/catch or Task error handling), no loading/error states in views, missing permission checks before accessing protected resources (camera, location, photos), no rate limiting on network calls, no error logging
230
233
 
231
234
  **Critical = required for correct/secure/performant operation.** These aren't "features" — they're correctness requirements.
232
235
 
@@ -459,6 +462,8 @@ git commit -m "{type}({phase}-{plan}): {concise task description}
459
462
  ```
460
463
 
461
464
  **5. Record hash:** `TASK_COMMIT=$(git rev-parse --short HEAD)` — track for SUMMARY.
465
+
466
+ **6. Check for untracked files:** After running scripts or tools, check `git status --short | grep '^??'`. For any new untracked files: commit if intentional, add to `.gitignore` if generated/runtime output. Never leave generated files untracked.
462
467
  </task_commit_protocol>
463
468
 
464
469
  <summary_creation>
@@ -3,8 +3,6 @@ name: gsd-integration-checker
3
3
  description: Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end.
4
4
  tools: Read, Bash, Grep, Glob
5
5
  color: blue
6
- skills:
7
- - gsd-integration-workflow
8
6
  ---
9
7
 
10
8
  <role>
@@ -9,8 +9,6 @@ tools:
9
9
  - Glob
10
10
  - Grep
11
11
  color: "#8B5CF6"
12
- skills:
13
- - gsd-nyquist-auditor-workflow
14
12
  ---
15
13
 
16
14
  <role>
@@ -3,8 +3,6 @@ name: gsd-phase-researcher
3
3
  description: Researches how to implement a phase before planning for iOS native apps (Swift/SwiftUI). Produces RESEARCH.md consumed by gsd-planner. Spawned by /gsd:plan-phase orchestrator.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
- skills:
7
- - gsd-researcher-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -34,14 +32,21 @@ Before researching, discover project context:
34
32
 
35
33
  **Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
36
34
 
37
- **Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
35
+ **iOS skills (built-in):** Read `~/.claude/get-shit-done/skills/INDEX.md` to identify relevant skills for the current task.
36
+ 1. Read INDEX.md — maps task keywords to skill domains
37
+ 2. Read `SKILL.md` for 1-3 relevant skills (lightweight routers, ~5KB each)
38
+ 3. Follow SKILL.md routing to load specific `references/*.md` as needed
39
+ 4. If skill has `workflows/`, follow the applicable workflow for the task type
40
+ 5. Do NOT load all skills — load only those relevant to the current task
41
+
42
+ **Project skills (override):** Check `.claude/skills/` or `.agents/skills/` if either exists:
38
43
  1. List available skills (subdirectories)
39
- 2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
40
- 3. Load specific `rules/*.md` files as needed during implementation
41
- 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
42
- 5. Follow skill rules relevant to your current task
44
+ 2. Read `SKILL.md` for each skill
45
+ 3. Load specific `references/*.md` or `rules/*.md` files as needed
46
+ 4. Project-level skills override built-in skills for the same domain
47
+ 5. Do NOT load full `AGENTS.md` files (100KB+ context cost)
43
48
 
44
- This ensures project-specific patterns, conventions, and best practices are applied during research.
49
+ This ensures both built-in iOS intelligence and project-specific patterns are applied during research.
45
50
  </project_context>
46
51
 
47
52
  <upstream_input>
@@ -113,17 +118,17 @@ When researching "best library for X": find what the ecosystem actually uses, do
113
118
 
114
119
  | Priority | Tool | Use For | Trust Level |
115
120
  |----------|------|---------|-------------|
116
- | 0th | GSD References | Framework preferences, coding conventions, testing patterns — read `ios-swift-guidelines.md`, `ios-frameworks.md`, and `ios-testing.md` BEFORE external research to ensure consistency | AUTHORITATIVE |
121
+ | 0th | GSD Skills | iOS built-in skills — read `skills/INDEX.md` to identify relevant skills, then load SKILL.md + references as needed BEFORE external research | AUTHORITATIVE |
117
122
  | 1st | Apple Developer Docs | Official framework APIs, HIG, App Store Review Guidelines | HIGH |
118
123
  | 2nd | Context7 | Third-party SPM library APIs, features, configuration, versions | HIGH |
119
124
  | 3rd | WebFetch | Official docs/READMEs not in Context7, WWDC session notes, changelogs | HIGH-MEDIUM |
120
125
  | 4th | WebSearch | Ecosystem discovery, community patterns, pitfalls | Needs verification |
121
126
 
122
- **GSD References flow:**
123
- 1. Read `get-shit-done/references/ios-frameworks.md` to check if the phase domain has a recommended native framework (preference levels: primary/secondary/legacy/conditional)
124
- 2. Read `get-shit-done/references/ios-testing.md` to identify the correct testing approach for the phase (Swift Testing for unit, XCUITest for UI)
125
- 3. Read `get-shit-done/references/ios-swift-guidelines.md` for coding conventions and patterns the planner must follow
126
- 4. Only THEN proceed to external sources for details not covered by GSD references
127
+ **GSD Skills flow:**
128
+ 1. Read `get-shit-done/skills/INDEX.md` to identify 1-3 relevant skills for the phase domain
129
+ 2. Read each relevant `SKILL.md` (~5KB) and follow routing to load specific `references/*.md`
130
+ 3. Read `get-shit-done/references/ios-conventions.md` for mandatory enforcement rules (anti-patterns, localization, accessibility)
131
+ 4. Only THEN proceed to external sources for details not covered by built-in skills
127
132
 
128
133
  **Apple Docs flow:**
129
134
  1. WebFetch `https://developer.apple.com/documentation/[framework]` for official API reference
@@ -283,7 +288,7 @@ Priority: Apple Developer Docs > WWDC Sessions > Context7 (3rd-party libs) > Off
283
288
  |------------|-----------|----------|
284
289
  | [standard] | [alternative] | [when alternative makes sense] |
285
290
 
286
- **Native-first principle:** Always prefer Apple-native frameworks over third-party. Consult `get-shit-done/references/ios-frameworks.md` for the authoritative preference hierarchy (primary/secondary/legacy/conditional) before recommending any third-party SPM package.
291
+ **Native-first principle:** Always prefer Apple-native frameworks over third-party. Consult `get-shit-done/skills/app-architecture/references/framework-selection.md` for the authoritative preference hierarchy (primary/secondary/legacy/conditional) before recommending any third-party SPM package.
287
292
 
288
293
  **Dependencies (Package.swift / Xcode SPM):**
289
294
  \`\`\`swift
@@ -293,6 +298,12 @@ dependencies: [
293
298
  ]
294
299
  \`\`\`
295
300
 
301
+ **Version verification:** Before writing the Standard Stack table, verify each recommended package version is current:
302
+ \`\`\`bash
303
+ npm view [package] version
304
+ \`\`\`
305
+ Document the verified version and publish date. Training data versions may be months stale — always confirm against the registry.
306
+
296
307
  ## Architecture Patterns
297
308
 
298
309
  ### Recommended Project Structure
@@ -633,11 +644,11 @@ Quality indicators:
633
644
 
634
645
  ## iOS Development References
635
646
 
636
- Always consult these GSD references for iOS-specific guidance before external research:
647
+ Always consult GSD built-in skills for iOS-specific guidance before external research:
637
648
 
638
- - `get-shit-done/references/ios-swift-guidelines.md` — Swift coding standards, SwiftUI patterns, architecture, and best practices
639
- - `get-shit-done/references/ios-frameworks.md` — Apple framework preference hierarchy (native > third-party), framework recommendations by domain
640
- - `get-shit-done/references/ios-testing.md` Testing patterns (Swift Testing primary, XCTest for UI), TDD workflow, what to test vs skip
649
+ - `get-shit-done/skills/INDEX.md` — Keyword→skill routing table (identify 1-3 relevant skills for the current research domain)
650
+ - `get-shit-done/references/ios-conventions.md` — Mandatory enforcement rules (anti-patterns, validation checklist, localization, accessibility)
651
+ - Load relevant `SKILL.md` + `references/*.md` as needed for the specific domain (app-architecture, swiftui, swift-concurrency, swiftdata, networking, etc.)
641
652
 
642
653
  External authoritative sources:
643
654
 
@@ -3,8 +3,6 @@ name: gsd-plan-checker
3
3
  description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by /gsd:plan-phase orchestrator.
4
4
  tools: Read, Bash, Glob, Grep
5
5
  color: green
6
- skills:
7
- - gsd-plan-checker-workflow
8
6
  ---
9
7
 
10
8
  <role>
@@ -33,14 +31,21 @@ Before verifying, discover project context:
33
31
 
34
32
  **Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
35
33
 
36
- **Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
34
+ **iOS skills (built-in):** Read `~/.claude/get-shit-done/skills/INDEX.md` to identify relevant skills for the current task.
35
+ 1. Read INDEX.md — maps task keywords to skill domains
36
+ 2. Read `SKILL.md` for 1-3 relevant skills (lightweight routers, ~5KB each)
37
+ 3. Follow SKILL.md routing to load specific `references/*.md` as needed
38
+ 4. If skill has `workflows/`, follow the applicable workflow for the task type
39
+ 5. Do NOT load all skills — load only those relevant to the current task
40
+
41
+ **Project skills (override):** Check `.claude/skills/` or `.agents/skills/` if either exists:
37
42
  1. List available skills (subdirectories)
38
- 2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
39
- 3. Load specific `rules/*.md` files as needed during implementation
40
- 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
41
- 5. Follow skill rules relevant to your current task
43
+ 2. Read `SKILL.md` for each skill
44
+ 3. Load specific `references/*.md` or `rules/*.md` files as needed
45
+ 4. Project-level skills override built-in skills for the same domain
46
+ 5. Do NOT load full `AGENTS.md` files (100KB+ context cost)
42
47
 
43
- This ensures project-specific patterns, conventions, and best practices are applied during verification.
48
+ This ensures both built-in iOS intelligence and project-specific patterns are applied during verification.
44
49
  </project_context>
45
50
 
46
51
  <upstream_input>
@@ -3,8 +3,6 @@ name: gsd-planner
3
3
  description: Creates executable phase plans with task breakdown, dependency analysis, and goal-backward verification. Spawned by /gsd:plan-phase orchestrator.
4
4
  tools: Read, Write, Bash, Glob, Grep, WebFetch, mcp__context7__*
5
5
  color: green
6
- skills:
7
- - gsd-planner-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -41,14 +39,21 @@ Before planning, discover project context:
41
39
 
42
40
  **Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
43
41
 
44
- **Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
42
+ **iOS skills (built-in):** Read `~/.claude/get-shit-done/skills/INDEX.md` to identify relevant skills for the current task.
43
+ 1. Read INDEX.md — maps task keywords to skill domains
44
+ 2. Read `SKILL.md` for 1-3 relevant skills (lightweight routers, ~5KB each)
45
+ 3. Follow SKILL.md routing to load specific `references/*.md` as needed
46
+ 4. If skill has `workflows/`, follow the applicable workflow for the task type
47
+ 5. Do NOT load all skills — load only those relevant to the current task
48
+
49
+ **Project skills (override):** Check `.claude/skills/` or `.agents/skills/` if either exists:
45
50
  1. List available skills (subdirectories)
46
- 2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
47
- 3. Load specific `rules/*.md` files as needed during implementation
48
- 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
49
- 5. Follow skill rules relevant to your current task
51
+ 2. Read `SKILL.md` for each skill
52
+ 3. Load specific `references/*.md` or `rules/*.md` files as needed
53
+ 4. Project-level skills override built-in skills for the same domain
54
+ 5. Do NOT load full `AGENTS.md` files (100KB+ context cost)
50
55
 
51
- This ensures project-specific patterns, conventions, and best practices are applied during planning.
56
+ This ensures both built-in iOS intelligence and project-specific patterns are applied.
52
57
  </project_context>
53
58
 
54
59
  <context_fidelity>
@@ -218,7 +223,7 @@ Every task that creates or modifies a SwiftUI View with user-facing text MUST in
218
223
 
219
224
  If a task's `<action>` creates a View with user-facing text and does NOT use `String(localized:)` or `LocalizedStringKey`, the plan is incomplete. Add it.
220
225
 
221
- See `ios-swift-guidelines.md` § Localization for mandatory patterns.
226
+ See `ios-conventions.md` § Localization Enforcement for mandatory patterns.
222
227
 
223
228
  ## Task Sizing
224
229
 
@@ -485,9 +490,7 @@ Output: [Artifacts created]
485
490
  <execution_context>
486
491
  @~/.claude/get-shit-done/workflows/execute-plan.md
487
492
  @~/.claude/get-shit-done/templates/summary.md
488
- @~/.claude/get-shit-done/references/ios-swift-guidelines.md
489
- @~/.claude/get-shit-done/references/ios-frameworks.md
490
- @~/.claude/get-shit-done/references/ios-testing.md
493
+ @~/.claude/get-shit-done/references/ios-conventions.md
491
494
  </execution_context>
492
495
 
493
496
  <context>
@@ -552,7 +555,7 @@ After determining `files_modified`, extract the key protocols/types/exports from
552
555
 
553
556
  ```bash
554
557
  # Extract type definitions, protocols, and public APIs from relevant files
555
- grep -n "protocol\|struct\|class\|enum\|func\|public" {relevant_source_files} 2>/dev/null | head -50
558
+ grep -n "protocol\\|struct\\|class\\|enum\\|func\\|public" {relevant_source_files} 2>/dev/null | head -50
556
559
  ```
557
560
 
558
561
  Embed these in the plan's `<context>` section as an `<interfaces>` block:
@@ -3,8 +3,6 @@ name: gsd-project-researcher
3
3
  description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd:new-project or /gsd:new-milestone orchestrators.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
- skills:
7
- - gsd-researcher-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -16,7 +14,7 @@ skills:
16
14
  <role>
17
15
  You are a GSD project researcher spawned by `/gsd:new-project` or `/gsd:new-milestone` (Phase 6: Research), specialized in **iOS native development** with Swift and SwiftUI.
18
16
 
19
- Answer "What does this domain ecosystem look like for iOS?" Write research files in `.planning/research/` that inform roadmap creation. Always prioritize Apple-native frameworks and patterns. Consult `get-shit-done/references/ios-swift-guidelines.md` and `get-shit-done/references/ios-frameworks.md` as authoritative references.
17
+ Answer "What does this domain ecosystem look like for iOS?" Write research files in `.planning/research/` that inform roadmap creation. Always prioritize Apple-native frameworks and patterns. Consult `get-shit-done/skills/INDEX.md` to discover relevant built-in skills and `get-shit-done/references/ios-conventions.md` for mandatory enforcement rules.
20
18
 
21
19
  **CRITICAL: Mandatory Initial Read**
22
20
  If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
@@ -98,7 +96,7 @@ For Apple frameworks, APIs, platform capabilities, and Human Interface Guideline
98
96
  - **Swift Documentation:** `https://docs.swift.org/swift-book/`
99
97
  - **WWDC Sessions:** `https://developer.apple.com/videos/`
100
98
 
101
- Use WebFetch with exact Apple URLs. Always check iOS version availability for APIs. Prefer Apple-native frameworks over third-party (see `get-shit-done/references/ios-frameworks.md`).
99
+ Use WebFetch with exact Apple URLs. Always check iOS version availability for APIs. Prefer Apple-native frameworks over third-party (see `get-shit-done/skills/app-architecture/references/framework-selection.md`).
102
100
 
103
101
  ### 3. Official Docs via WebFetch — Third-Party Sources
104
102
  For SPM packages not in Context7, changelogs, release notes, official announcements.
@@ -296,7 +294,7 @@ Based on research, suggested phase structure:
296
294
  |---------|---------|---------|-------------|
297
295
  | [package] | [ver] | [what] | [conditions] |
298
296
 
299
- **Guideline:** Prefer Apple-native frameworks over third-party. See `get-shit-done/references/ios-frameworks.md` for framework preference levels.
297
+ **Guideline:** Prefer Apple-native frameworks over third-party. See `get-shit-done/skills/app-architecture/references/framework-selection.md` for framework preference levels.
300
298
 
301
299
  ## Alternatives Considered
302
300
 
@@ -472,7 +470,7 @@ struct ProfileView: View {
472
470
  }
473
471
  \`\`\`
474
472
 
475
- **When to use which:** Use `@State` for ViewModels created locally with no shared dependencies. Use `@Environment` when the ViewModel has dependencies that should be injectable (preferred for testability — see `ios-swift-guidelines.md`).
473
+ **When to use which:** Use `@State` for ViewModels created locally with no shared dependencies. Use `@Environment` when the ViewModel has dependencies that should be injectable (preferred for testability — see `ios-conventions.md`).
476
474
 
477
475
  ## Anti-Patterns to Avoid
478
476
 
@@ -499,7 +497,7 @@ struct ProfileView: View {
499
497
  ## Sources
500
498
 
501
499
  - [Architecture references, Apple documentation, HIG]
502
- - See: `get-shit-done/references/ios-swift-guidelines.md`
500
+ - See: `get-shit-done/references/ios-conventions.md` and `get-shit-done/skills/app-architecture/`
503
501
  ```
504
502
 
505
503
  ## PITFALLS.md
@@ -761,10 +759,10 @@ Research is complete when:
761
759
  - [ ] Files written (DO NOT commit — orchestrator handles this)
762
760
  - [ ] Structured return provided to orchestrator
763
761
 
764
- **Quality:** Comprehensive not shallow. Opinionated not wishy-washy. Verified not assumed. Honest about gaps. Actionable for roadmap. Current (year in searches). Native-first (prefer Apple frameworks per ios-frameworks.md).
762
+ **Quality:** Comprehensive not shallow. Opinionated not wishy-washy. Verified not assumed. Honest about gaps. Actionable for roadmap. Current (year in searches). Native-first (prefer Apple frameworks per skills/app-architecture framework-selection.md).
765
763
 
766
764
  **iOS-Specific References:**
767
- - `get-shit-done/references/ios-swift-guidelines.md` — Swift coding conventions and patterns
768
- - `get-shit-done/references/ios-frameworks.md` — Apple framework preference levels and recommendations
765
+ - `get-shit-done/skills/INDEX.md` — Keyword→skill routing for all iOS domains
766
+ - `get-shit-done/references/ios-conventions.md` — Mandatory enforcement rules (anti-patterns, localization, accessibility)
769
767
 
770
768
  </success_criteria>
@@ -3,8 +3,6 @@ name: gsd-research-synthesizer
3
3
  description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /gsd:new-project after 4 researcher agents complete.
4
4
  tools: Read, Write, Bash
5
5
  color: purple
6
- skills:
7
- - gsd-synthesizer-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"
@@ -3,8 +3,6 @@ name: gsd-roadmapper
3
3
  description: Creates iOS project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /gsd:new-project orchestrator. Specialized for native iOS development with Swift/SwiftUI.
4
4
  tools: Read, Write, Bash, Glob, Grep
5
5
  color: purple
6
- skills:
7
- - gsd-roadmapper-workflow
8
6
  # hooks:
9
7
  # PostToolUse:
10
8
  # - matcher: "Write|Edit"