antigravity-init 1.0.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 (123) hide show
  1. package/.agent/agents/architect.md +211 -0
  2. package/.agent/agents/build-error-resolver.md +532 -0
  3. package/.agent/agents/code-reviewer.md +104 -0
  4. package/.agent/agents/doc-updater.md +452 -0
  5. package/.agent/agents/e2e-runner.md +708 -0
  6. package/.agent/agents/planner.md +119 -0
  7. package/.agent/agents/refactor-cleaner.md +306 -0
  8. package/.agent/agents/security-reviewer.md +545 -0
  9. package/.agent/agents/tdd-guide.md +280 -0
  10. package/.agent/rules/agents.md +49 -0
  11. package/.agent/rules/coding-style.md +70 -0
  12. package/.agent/rules/git-workflow.md +45 -0
  13. package/.agent/rules/hooks.md +46 -0
  14. package/.agent/rules/patterns.md +55 -0
  15. package/.agent/rules/performance.md +47 -0
  16. package/.agent/rules/security.md +36 -0
  17. package/.agent/rules/testing.md +30 -0
  18. package/.agent/skills/backend-patterns/SKILL.md +582 -0
  19. package/.agent/skills/brainstorming/SKILL.md +54 -0
  20. package/.agent/skills/coding-standards/SKILL.md +520 -0
  21. package/.agent/skills/dispatching-parallel-agents/SKILL.md +180 -0
  22. package/.agent/skills/executing-plans/SKILL.md +76 -0
  23. package/.agent/skills/finishing-a-development-branch/SKILL.md +200 -0
  24. package/.agent/skills/frontend-patterns/SKILL.md +631 -0
  25. package/.agent/skills/receiving-code-review/SKILL.md +213 -0
  26. package/.agent/skills/requesting-code-review/SKILL.md +105 -0
  27. package/.agent/skills/requesting-code-review/code-reviewer.md +48 -0
  28. package/.agent/skills/security-review/SKILL.md +494 -0
  29. package/.agent/skills/subagent-driven-development/SKILL.md +240 -0
  30. package/.agent/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  31. package/.agent/skills/subagent-driven-development/implementer-prompt.md +78 -0
  32. package/.agent/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  33. package/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
  34. package/.agent/skills/systematic-debugging/SKILL.md +296 -0
  35. package/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  36. package/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
  37. package/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
  38. package/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
  39. package/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
  40. package/.agent/skills/systematic-debugging/test-academic.md +14 -0
  41. package/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
  42. package/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
  43. package/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
  44. package/.agent/skills/test-driven-development/SKILL.md +371 -0
  45. package/.agent/skills/test-driven-development/testing-anti-patterns.md +299 -0
  46. package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -0
  47. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  48. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  49. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  50. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  51. package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  52. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  53. package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  54. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  55. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  56. package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  57. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  58. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  59. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  60. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  61. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  62. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  63. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  64. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  65. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  66. package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -0
  67. package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  68. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  69. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  70. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  71. package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  72. package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  73. package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
  74. package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -0
  75. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  76. package/.agent/skills/ui-ux-pro-max/scripts/search.py +106 -0
  77. package/.agent/skills/using-git-worktrees/SKILL.md +217 -0
  78. package/.agent/skills/using-superpowers/SKILL.md +87 -0
  79. package/.agent/skills/verification-before-completion/SKILL.md +139 -0
  80. package/.agent/skills/writing-plans/SKILL.md +116 -0
  81. package/.agent/skills/writing-skills/SKILL.md +655 -0
  82. package/.agent/skills/writing-skills/anthropic-best-practices.md +1150 -0
  83. package/.agent/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  84. package/.agent/skills/writing-skills/graphviz-conventions.dot +172 -0
  85. package/.agent/skills/writing-skills/persuasion-principles.md +187 -0
  86. package/.agent/skills/writing-skills/render-graphs.js +168 -0
  87. package/.agent/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  88. package/.agent/workflows/brainstorm.md +5 -0
  89. package/.agent/workflows/build-fix.md +212 -0
  90. package/.agent/workflows/code-review.md +169 -0
  91. package/.agent/workflows/execute-plan.md +5 -0
  92. package/.agent/workflows/tdd-workflow.md +166 -0
  93. package/.agent/workflows/ui-ux-pro-max.md +292 -0
  94. package/.agent/workflows/write-plan.md +5 -0
  95. package/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  96. package/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  97. package/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  98. package/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  99. package/.shared/ui-ux-pro-max/data/products.csv +97 -0
  100. package/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  101. package/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  102. package/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  103. package/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  104. package/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  105. package/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  106. package/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  107. package/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  108. package/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  109. package/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  110. package/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  111. package/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  112. package/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  113. package/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  114. package/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  115. package/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  116. package/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  117. package/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  118. package/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  119. package/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  120. package/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
  121. package/.shared/ui-ux-pro-max/scripts/search.py +106 -0
  122. package/bin/cli.js +53 -0
  123. package/package.json +30 -0
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ """
4
+ UI/UX Pro Max Search - BM25 search engine for UI/UX style guides
5
+ Usage: python search.py "<query>" [--domain <domain>] [--stack <stack>] [--max-results 3]
6
+ python search.py "<query>" --design-system [-p "Project Name"]
7
+ python search.py "<query>" --design-system --persist [-p "Project Name"] [--page "dashboard"]
8
+
9
+ Domains: style, prompt, color, chart, landing, product, ux, typography
10
+ Stacks: html-tailwind, react, nextjs
11
+
12
+ Persistence (Master + Overrides pattern):
13
+ --persist Save design system to design-system/MASTER.md
14
+ --page Also create a page-specific override file in design-system/pages/
15
+ """
16
+
17
+ import argparse
18
+ from core import CSV_CONFIG, AVAILABLE_STACKS, MAX_RESULTS, search, search_stack
19
+ from design_system import generate_design_system, persist_design_system
20
+
21
+
22
+ def format_output(result):
23
+ """Format results for Claude consumption (token-optimized)"""
24
+ if "error" in result:
25
+ return f"Error: {result['error']}"
26
+
27
+ output = []
28
+ if result.get("stack"):
29
+ output.append(f"## UI Pro Max Stack Guidelines")
30
+ output.append(f"**Stack:** {result['stack']} | **Query:** {result['query']}")
31
+ else:
32
+ output.append(f"## UI Pro Max Search Results")
33
+ output.append(f"**Domain:** {result['domain']} | **Query:** {result['query']}")
34
+ output.append(f"**Source:** {result['file']} | **Found:** {result['count']} results\n")
35
+
36
+ for i, row in enumerate(result['results'], 1):
37
+ output.append(f"### Result {i}")
38
+ for key, value in row.items():
39
+ value_str = str(value)
40
+ if len(value_str) > 300:
41
+ value_str = value_str[:300] + "..."
42
+ output.append(f"- **{key}:** {value_str}")
43
+ output.append("")
44
+
45
+ return "\n".join(output)
46
+
47
+
48
+ if __name__ == "__main__":
49
+ parser = argparse.ArgumentParser(description="UI Pro Max Search")
50
+ parser.add_argument("query", help="Search query")
51
+ parser.add_argument("--domain", "-d", choices=list(CSV_CONFIG.keys()), help="Search domain")
52
+ parser.add_argument("--stack", "-s", choices=AVAILABLE_STACKS, help="Stack-specific search (html-tailwind, react, nextjs)")
53
+ parser.add_argument("--max-results", "-n", type=int, default=MAX_RESULTS, help="Max results (default: 3)")
54
+ parser.add_argument("--json", action="store_true", help="Output as JSON")
55
+ # Design system generation
56
+ parser.add_argument("--design-system", "-ds", action="store_true", help="Generate complete design system recommendation")
57
+ parser.add_argument("--project-name", "-p", type=str, default=None, help="Project name for design system output")
58
+ parser.add_argument("--format", "-f", choices=["ascii", "markdown"], default="ascii", help="Output format for design system")
59
+ # Persistence (Master + Overrides pattern)
60
+ parser.add_argument("--persist", action="store_true", help="Save design system to design-system/MASTER.md (creates hierarchical structure)")
61
+ parser.add_argument("--page", type=str, default=None, help="Create page-specific override file in design-system/pages/")
62
+ parser.add_argument("--output-dir", "-o", type=str, default=None, help="Output directory for persisted files (default: current directory)")
63
+
64
+ args = parser.parse_args()
65
+
66
+ # Design system takes priority
67
+ if args.design_system:
68
+ result = generate_design_system(
69
+ args.query,
70
+ args.project_name,
71
+ args.format,
72
+ persist=args.persist,
73
+ page=args.page,
74
+ output_dir=args.output_dir
75
+ )
76
+ print(result)
77
+
78
+ # Print persistence confirmation
79
+ if args.persist:
80
+ project_slug = args.project_name.lower().replace(' ', '-') if args.project_name else "default"
81
+ print("\n" + "=" * 60)
82
+ print(f"✅ Design system persisted to design-system/{project_slug}/")
83
+ print(f" 📄 design-system/{project_slug}/MASTER.md (Global Source of Truth)")
84
+ if args.page:
85
+ page_filename = args.page.lower().replace(' ', '-')
86
+ print(f" 📄 design-system/{project_slug}/pages/{page_filename}.md (Page Overrides)")
87
+ print("")
88
+ print(f"📖 Usage: When building a page, check design-system/{project_slug}/pages/[page].md first.")
89
+ print(f" If exists, its rules override MASTER.md. Otherwise, use MASTER.md.")
90
+ print("=" * 60)
91
+ # Stack search
92
+ elif args.stack:
93
+ result = search_stack(args.query, args.stack, args.max_results)
94
+ if args.json:
95
+ import json
96
+ print(json.dumps(result, indent=2, ensure_ascii=False))
97
+ else:
98
+ print(format_output(result))
99
+ # Domain search
100
+ else:
101
+ result = search(args.query, args.domain, args.max_results)
102
+ if args.json:
103
+ import json
104
+ print(json.dumps(result, indent=2, ensure_ascii=False))
105
+ else:
106
+ print(format_output(result))
@@ -0,0 +1,217 @@
1
+ ---
2
+ name: using-git-worktrees
3
+ description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
4
+ ---
5
+
6
+ # Using Git Worktrees
7
+
8
+ ## Overview
9
+
10
+ Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
11
+
12
+ **Core principle:** Systematic directory selection + safety verification = reliable isolation.
13
+
14
+ **Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
15
+
16
+ ## Directory Selection Process
17
+
18
+ Follow this priority order:
19
+
20
+ ### 1. Check Existing Directories
21
+
22
+ ```bash
23
+ # Check in priority order
24
+ ls -d .worktrees 2>/dev/null # Preferred (hidden)
25
+ ls -d worktrees 2>/dev/null # Alternative
26
+ ```
27
+
28
+ **If found:** Use that directory. If both exist, `.worktrees` wins.
29
+
30
+ ### 2. Check CLAUDE.md
31
+
32
+ ```bash
33
+ grep -i "worktree.*director" CLAUDE.md 2>/dev/null
34
+ ```
35
+
36
+ **If preference specified:** Use it without asking.
37
+
38
+ ### 3. Ask User
39
+
40
+ If no directory exists and no CLAUDE.md preference:
41
+
42
+ ```
43
+ No worktree directory found. Where should I create worktrees?
44
+
45
+ 1. .worktrees/ (project-local, hidden)
46
+ 2. ~/.config/superpowers/worktrees/<project-name>/ (global location)
47
+
48
+ Which would you prefer?
49
+ ```
50
+
51
+ ## Safety Verification
52
+
53
+ ### For Project-Local Directories (.worktrees or worktrees)
54
+
55
+ **MUST verify directory is ignored before creating worktree:**
56
+
57
+ ```bash
58
+ # Check if directory is ignored (respects local, global, and system gitignore)
59
+ git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
60
+ ```
61
+
62
+ **If NOT ignored:**
63
+
64
+ Per Jesse's rule "Fix broken things immediately":
65
+ 1. Add appropriate line to .gitignore
66
+ 2. Commit the change
67
+ 3. Proceed with worktree creation
68
+
69
+ **Why critical:** Prevents accidentally committing worktree contents to repository.
70
+
71
+ ### For Global Directory (~/.config/superpowers/worktrees)
72
+
73
+ No .gitignore verification needed - outside project entirely.
74
+
75
+ ## Creation Steps
76
+
77
+ ### 1. Detect Project Name
78
+
79
+ ```bash
80
+ project=$(basename "$(git rev-parse --show-toplevel)")
81
+ ```
82
+
83
+ ### 2. Create Worktree
84
+
85
+ ```bash
86
+ # Determine full path
87
+ case $LOCATION in
88
+ .worktrees|worktrees)
89
+ path="$LOCATION/$BRANCH_NAME"
90
+ ;;
91
+ ~/.config/superpowers/worktrees/*)
92
+ path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
93
+ ;;
94
+ esac
95
+
96
+ # Create worktree with new branch
97
+ git worktree add "$path" -b "$BRANCH_NAME"
98
+ cd "$path"
99
+ ```
100
+
101
+ ### 3. Run Project Setup
102
+
103
+ Auto-detect and run appropriate setup:
104
+
105
+ ```bash
106
+ # Node.js
107
+ if [ -f package.json ]; then npm install; fi
108
+
109
+ # Rust
110
+ if [ -f Cargo.toml ]; then cargo build; fi
111
+
112
+ # Python
113
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
114
+ if [ -f pyproject.toml ]; then poetry install; fi
115
+
116
+ # Go
117
+ if [ -f go.mod ]; then go mod download; fi
118
+ ```
119
+
120
+ ### 4. Verify Clean Baseline
121
+
122
+ Run tests to ensure worktree starts clean:
123
+
124
+ ```bash
125
+ # Examples - use project-appropriate command
126
+ npm test
127
+ cargo test
128
+ pytest
129
+ go test ./...
130
+ ```
131
+
132
+ **If tests fail:** Report failures, ask whether to proceed or investigate.
133
+
134
+ **If tests pass:** Report ready.
135
+
136
+ ### 5. Report Location
137
+
138
+ ```
139
+ Worktree ready at <full-path>
140
+ Tests passing (<N> tests, 0 failures)
141
+ Ready to implement <feature-name>
142
+ ```
143
+
144
+ ## Quick Reference
145
+
146
+ | Situation | Action |
147
+ |-----------|--------|
148
+ | `.worktrees/` exists | Use it (verify ignored) |
149
+ | `worktrees/` exists | Use it (verify ignored) |
150
+ | Both exist | Use `.worktrees/` |
151
+ | Neither exists | Check CLAUDE.md → Ask user |
152
+ | Directory not ignored | Add to .gitignore + commit |
153
+ | Tests fail during baseline | Report failures + ask |
154
+ | No package.json/Cargo.toml | Skip dependency install |
155
+
156
+ ## Common Mistakes
157
+
158
+ ### Skipping ignore verification
159
+
160
+ - **Problem:** Worktree contents get tracked, pollute git status
161
+ - **Fix:** Always use `git check-ignore` before creating project-local worktree
162
+
163
+ ### Assuming directory location
164
+
165
+ - **Problem:** Creates inconsistency, violates project conventions
166
+ - **Fix:** Follow priority: existing > CLAUDE.md > ask
167
+
168
+ ### Proceeding with failing tests
169
+
170
+ - **Problem:** Can't distinguish new bugs from pre-existing issues
171
+ - **Fix:** Report failures, get explicit permission to proceed
172
+
173
+ ### Hardcoding setup commands
174
+
175
+ - **Problem:** Breaks on projects using different tools
176
+ - **Fix:** Auto-detect from project files (package.json, etc.)
177
+
178
+ ## Example Workflow
179
+
180
+ ```
181
+ You: I'm using the using-git-worktrees skill to set up an isolated workspace.
182
+
183
+ [Check .worktrees/ - exists]
184
+ [Verify ignored - git check-ignore confirms .worktrees/ is ignored]
185
+ [Create worktree: git worktree add .worktrees/auth -b feature/auth]
186
+ [Run npm install]
187
+ [Run npm test - 47 passing]
188
+
189
+ Worktree ready at /Users/jesse/myproject/.worktrees/auth
190
+ Tests passing (47 tests, 0 failures)
191
+ Ready to implement auth feature
192
+ ```
193
+
194
+ ## Red Flags
195
+
196
+ **Never:**
197
+ - Create worktree without verifying it's ignored (project-local)
198
+ - Skip baseline test verification
199
+ - Proceed with failing tests without asking
200
+ - Assume directory location when ambiguous
201
+ - Skip CLAUDE.md check
202
+
203
+ **Always:**
204
+ - Follow directory priority: existing > CLAUDE.md > ask
205
+ - Verify directory is ignored for project-local
206
+ - Auto-detect and run project setup
207
+ - Verify clean test baseline
208
+
209
+ ## Integration
210
+
211
+ **Called by:**
212
+ - **brainstorming** (Phase 4) - REQUIRED when design is approved and implementation follows
213
+ - Any skill needing isolated workspace
214
+
215
+ **Pairs with:**
216
+ - **finishing-a-development-branch** - REQUIRED for cleanup after work complete
217
+ - **executing-plans** or **subagent-driven-development** - Work happens in this worktree
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: using-superpowers
3
+ description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
4
+ ---
5
+
6
+ <EXTREMELY-IMPORTANT>
7
+ If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
8
+
9
+ IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
10
+
11
+ This is not negotiable. This is not optional. You cannot rationalize your way out of this.
12
+ </EXTREMELY-IMPORTANT>
13
+
14
+ ## How to Access Skills
15
+
16
+ **In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files.
17
+
18
+ **In other environments:** Check your platform's documentation for how skills are loaded.
19
+
20
+ # Using Skills
21
+
22
+ ## The Rule
23
+
24
+ **Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
25
+
26
+ ```dot
27
+ digraph skill_flow {
28
+ "User message received" [shape=doublecircle];
29
+ "Might any skill apply?" [shape=diamond];
30
+ "Invoke Skill tool" [shape=box];
31
+ "Announce: 'Using [skill] to [purpose]'" [shape=box];
32
+ "Has checklist?" [shape=diamond];
33
+ "Create TodoWrite todo per item" [shape=box];
34
+ "Follow skill exactly" [shape=box];
35
+ "Respond (including clarifications)" [shape=doublecircle];
36
+
37
+ "User message received" -> "Might any skill apply?";
38
+ "Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"];
39
+ "Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
40
+ "Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'";
41
+ "Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
42
+ "Has checklist?" -> "Create TodoWrite todo per item" [label="yes"];
43
+ "Has checklist?" -> "Follow skill exactly" [label="no"];
44
+ "Create TodoWrite todo per item" -> "Follow skill exactly";
45
+ }
46
+ ```
47
+
48
+ ## Red Flags
49
+
50
+ These thoughts mean STOP—you're rationalizing:
51
+
52
+ | Thought | Reality |
53
+ |---------|---------|
54
+ | "This is just a simple question" | Questions are tasks. Check for skills. |
55
+ | "I need more context first" | Skill check comes BEFORE clarifying questions. |
56
+ | "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
57
+ | "I can check git/files quickly" | Files lack conversation context. Check for skills. |
58
+ | "Let me gather information first" | Skills tell you HOW to gather information. |
59
+ | "This doesn't need a formal skill" | If a skill exists, use it. |
60
+ | "I remember this skill" | Skills evolve. Read current version. |
61
+ | "This doesn't count as a task" | Action = task. Check for skills. |
62
+ | "The skill is overkill" | Simple things become complex. Use it. |
63
+ | "I'll just do this one thing first" | Check BEFORE doing anything. |
64
+ | "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
65
+ | "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
66
+
67
+ ## Skill Priority
68
+
69
+ When multiple skills could apply, use this order:
70
+
71
+ 1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task
72
+ 2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution
73
+
74
+ "Let's build X" → brainstorming first, then implementation skills.
75
+ "Fix this bug" → debugging first, then domain-specific skills.
76
+
77
+ ## Skill Types
78
+
79
+ **Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline.
80
+
81
+ **Flexible** (patterns): Adapt principles to context.
82
+
83
+ The skill itself tells you which.
84
+
85
+ ## User Instructions
86
+
87
+ Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: verification-before-completion
3
+ description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
4
+ ---
5
+
6
+ # Verification Before Completion
7
+
8
+ ## Overview
9
+
10
+ Claiming work is complete without verification is dishonesty, not efficiency.
11
+
12
+ **Core principle:** Evidence before claims, always.
13
+
14
+ **Violating the letter of this rule is violating the spirit of this rule.**
15
+
16
+ ## The Iron Law
17
+
18
+ ```
19
+ NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
20
+ ```
21
+
22
+ If you haven't run the verification command in this message, you cannot claim it passes.
23
+
24
+ ## The Gate Function
25
+
26
+ ```
27
+ BEFORE claiming any status or expressing satisfaction:
28
+
29
+ 1. IDENTIFY: What command proves this claim?
30
+ 2. RUN: Execute the FULL command (fresh, complete)
31
+ 3. READ: Full output, check exit code, count failures
32
+ 4. VERIFY: Does output confirm the claim?
33
+ - If NO: State actual status with evidence
34
+ - If YES: State claim WITH evidence
35
+ 5. ONLY THEN: Make the claim
36
+
37
+ Skip any step = lying, not verifying
38
+ ```
39
+
40
+ ## Common Failures
41
+
42
+ | Claim | Requires | Not Sufficient |
43
+ |-------|----------|----------------|
44
+ | Tests pass | Test command output: 0 failures | Previous run, "should pass" |
45
+ | Linter clean | Linter output: 0 errors | Partial check, extrapolation |
46
+ | Build succeeds | Build command: exit 0 | Linter passing, logs look good |
47
+ | Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
48
+ | Regression test works | Red-green cycle verified | Test passes once |
49
+ | Agent completed | VCS diff shows changes | Agent reports "success" |
50
+ | Requirements met | Line-by-line checklist | Tests passing |
51
+
52
+ ## Red Flags - STOP
53
+
54
+ - Using "should", "probably", "seems to"
55
+ - Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
56
+ - About to commit/push/PR without verification
57
+ - Trusting agent success reports
58
+ - Relying on partial verification
59
+ - Thinking "just this once"
60
+ - Tired and wanting work over
61
+ - **ANY wording implying success without having run verification**
62
+
63
+ ## Rationalization Prevention
64
+
65
+ | Excuse | Reality |
66
+ |--------|---------|
67
+ | "Should work now" | RUN the verification |
68
+ | "I'm confident" | Confidence ≠ evidence |
69
+ | "Just this once" | No exceptions |
70
+ | "Linter passed" | Linter ≠ compiler |
71
+ | "Agent said success" | Verify independently |
72
+ | "I'm tired" | Exhaustion ≠ excuse |
73
+ | "Partial check is enough" | Partial proves nothing |
74
+ | "Different words so rule doesn't apply" | Spirit over letter |
75
+
76
+ ## Key Patterns
77
+
78
+ **Tests:**
79
+ ```
80
+ ✅ [Run test command] [See: 34/34 pass] "All tests pass"
81
+ ❌ "Should pass now" / "Looks correct"
82
+ ```
83
+
84
+ **Regression tests (TDD Red-Green):**
85
+ ```
86
+ ✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
87
+ ❌ "I've written a regression test" (without red-green verification)
88
+ ```
89
+
90
+ **Build:**
91
+ ```
92
+ ✅ [Run build] [See: exit 0] "Build passes"
93
+ ❌ "Linter passed" (linter doesn't check compilation)
94
+ ```
95
+
96
+ **Requirements:**
97
+ ```
98
+ ✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
99
+ ❌ "Tests pass, phase complete"
100
+ ```
101
+
102
+ **Agent delegation:**
103
+ ```
104
+ ✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
105
+ ❌ Trust agent report
106
+ ```
107
+
108
+ ## Why This Matters
109
+
110
+ From 24 failure memories:
111
+ - your human partner said "I don't believe you" - trust broken
112
+ - Undefined functions shipped - would crash
113
+ - Missing requirements shipped - incomplete features
114
+ - Time wasted on false completion → redirect → rework
115
+ - Violates: "Honesty is a core value. If you lie, you'll be replaced."
116
+
117
+ ## When To Apply
118
+
119
+ **ALWAYS before:**
120
+ - ANY variation of success/completion claims
121
+ - ANY expression of satisfaction
122
+ - ANY positive statement about work state
123
+ - Committing, PR creation, task completion
124
+ - Moving to next task
125
+ - Delegating to agents
126
+
127
+ **Rule applies to:**
128
+ - Exact phrases
129
+ - Paraphrases and synonyms
130
+ - Implications of success
131
+ - ANY communication suggesting completion/correctness
132
+
133
+ ## The Bottom Line
134
+
135
+ **No shortcuts for verification.**
136
+
137
+ Run the command. Read the output. THEN claim the result.
138
+
139
+ This is non-negotiable.
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: writing-plans
3
+ description: Use when you have a spec or requirements for a multi-step task, before touching code
4
+ ---
5
+
6
+ # Writing Plans
7
+
8
+ ## Overview
9
+
10
+ Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
11
+
12
+ Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
13
+
14
+ **Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
15
+
16
+ **Context:** This should be run in a dedicated worktree (created by brainstorming skill).
17
+
18
+ **Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`
19
+
20
+ ## Bite-Sized Task Granularity
21
+
22
+ **Each step is one action (2-5 minutes):**
23
+ - "Write the failing test" - step
24
+ - "Run it to make sure it fails" - step
25
+ - "Implement the minimal code to make the test pass" - step
26
+ - "Run the tests and make sure they pass" - step
27
+ - "Commit" - step
28
+
29
+ ## Plan Document Header
30
+
31
+ **Every plan MUST start with this header:**
32
+
33
+ ```markdown
34
+ # [Feature Name] Implementation Plan
35
+
36
+ > **For Claude:** REQUIRED SUB-SKILL: Use executing-plans to implement this plan task-by-task.
37
+
38
+ **Goal:** [One sentence describing what this builds]
39
+
40
+ **Architecture:** [2-3 sentences about approach]
41
+
42
+ **Tech Stack:** [Key technologies/libraries]
43
+
44
+ ---
45
+ ```
46
+
47
+ ## Task Structure
48
+
49
+ ```markdown
50
+ ### Task N: [Component Name]
51
+
52
+ **Files:**
53
+ - Create: `exact/path/to/file.py`
54
+ - Modify: `exact/path/to/existing.py:123-145`
55
+ - Test: `tests/exact/path/to/test.py`
56
+
57
+ **Step 1: Write the failing test**
58
+
59
+ ```python
60
+ def test_specific_behavior():
61
+ result = function(input)
62
+ assert result == expected
63
+ ```
64
+
65
+ **Step 2: Run test to verify it fails**
66
+
67
+ Run: `pytest tests/path/test.py::test_name -v`
68
+ Expected: FAIL with "function not defined"
69
+
70
+ **Step 3: Write minimal implementation**
71
+
72
+ ```python
73
+ def function(input):
74
+ return expected
75
+ ```
76
+
77
+ **Step 4: Run test to verify it passes**
78
+
79
+ Run: `pytest tests/path/test.py::test_name -v`
80
+ Expected: PASS
81
+
82
+ **Step 5: Commit**
83
+
84
+ ```bash
85
+ git add tests/path/test.py src/path/file.py
86
+ git commit -m "feat: add specific feature"
87
+ ```
88
+ ```
89
+
90
+ ## Remember
91
+ - Exact file paths always
92
+ - Complete code in plan (not "add validation")
93
+ - Exact commands with expected output
94
+ - Reference relevant skills with @ syntax
95
+ - DRY, YAGNI, TDD, frequent commits
96
+
97
+ ## Execution Handoff
98
+
99
+ After saving the plan, offer execution choice:
100
+
101
+ **"Plan complete and saved to `docs/plans/<filename>.md`. Two execution options:**
102
+
103
+ **1. Subagent-Driven (this session)** - I dispatch fresh subagent per task, review between tasks, fast iteration
104
+
105
+ **2. Parallel Session (separate)** - Open new session with executing-plans, batch execution with checkpoints
106
+
107
+ **Which approach?"**
108
+
109
+ **If Subagent-Driven chosen:**
110
+ - **REQUIRED SUB-SKILL:** Use subagent-driven-development
111
+ - Stay in this session
112
+ - Fresh subagent per task + code review
113
+
114
+ **If Parallel Session chosen:**
115
+ - Guide them to open new session in worktree
116
+ - **REQUIRED SUB-SKILL:** New session uses executing-plans