agy-superpowers 5.2.2 → 5.2.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.
- package/README.md +47 -150
- package/package.json +1 -1
- package/template/agent/rules/CLAUDE.md +80 -0
- package/template/agent/rules/code-styles.md +31 -32
- package/template/agent/rules/debug-confirmation-policy.md +2 -0
- package/template/agent/rules/file-length-policy.md +2 -0
- package/template/agent/rules/git-policy.md +7 -0
- package/template/agent/rules/language-matching.md +2 -0
- package/template/agent/rules/scratch-scripts.md +39 -0
- package/template/agent/rules/superpowers.md +8 -51
- package/template/agent/skills/executing-plans/SKILL.md +17 -0
- package/template/agent/skills/systematic-debugging/SKILL.md +16 -0
- package/template/agent/skills/test-driven-development/SKILL.md +16 -0
- package/template/agent/skills/verification-before-completion/SKILL.md +22 -0
- package/template/agent/skills/writing-plans/SKILL.md +16 -0
- package/template/agent/skills/ai-integrated-product/SKILL.md +0 -57
- package/template/agent/skills/analytics-setup/SKILL.md +0 -51
- package/template/agent/skills/api-design/SKILL.md +0 -193
- package/template/agent/skills/app-store-optimizer/SKILL.md +0 -127
- package/template/agent/skills/auth-and-identity/SKILL.md +0 -167
- package/template/agent/skills/backend-developer/SKILL.md +0 -148
- package/template/agent/skills/bootstrapper-finance/SKILL.md +0 -55
- package/template/agent/skills/chrome-extension-developer/SKILL.md +0 -53
- package/template/agent/skills/community-manager/SKILL.md +0 -115
- package/template/agent/skills/content-marketer/SKILL.md +0 -111
- package/template/agent/skills/conversion-optimizer/SKILL.md +0 -142
- package/template/agent/skills/cto-architect/SKILL.md +0 -133
- package/template/agent/skills/customer-success-manager/SKILL.md +0 -126
- package/template/agent/skills/data-analyst/SKILL.md +0 -147
- package/template/agent/skills/devops-engineer/SKILL.md +0 -117
- package/template/agent/skills/email-infrastructure/SKILL.md +0 -164
- package/template/agent/skills/game-design/SKILL.md +0 -194
- package/template/agent/skills/game-developer/SKILL.md +0 -175
- package/template/agent/skills/growth-hacker/SKILL.md +0 -122
- package/template/agent/skills/idea-validator/SKILL.md +0 -55
- package/template/agent/skills/indie-legal/SKILL.md +0 -53
- package/template/agent/skills/influencer-marketer/SKILL.md +0 -141
- package/template/agent/skills/landing-page-builder/SKILL.md +0 -59
- package/template/agent/skills/launch-strategist/SKILL.md +0 -62
- package/template/agent/skills/market-researcher/SKILL.md +0 -53
- package/template/agent/skills/micro-saas-builder/SKILL.md +0 -56
- package/template/agent/skills/monetization-strategist/SKILL.md +0 -119
- package/template/agent/skills/paid-acquisition-specialist/SKILL.md +0 -119
- package/template/agent/skills/pricing-psychologist/SKILL.md +0 -58
- package/template/agent/skills/real-time-features/SKILL.md +0 -194
- package/template/agent/skills/retention-specialist/SKILL.md +0 -123
- package/template/agent/skills/rust-developer/SKILL.md +0 -281
- package/template/agent/skills/rust-developer/references/rust-rules/_sections.md +0 -231
- package/template/agent/skills/rust-developer/references/rust-rules/anti-clone-excessive.md +0 -124
- package/template/agent/skills/rust-developer/references/rust-rules/anti-collect-intermediate.md +0 -131
- package/template/agent/skills/rust-developer/references/rust-rules/anti-empty-catch.md +0 -132
- package/template/agent/skills/rust-developer/references/rust-rules/anti-expect-lazy.md +0 -95
- package/template/agent/skills/rust-developer/references/rust-rules/anti-format-hot-path.md +0 -141
- package/template/agent/skills/rust-developer/references/rust-rules/anti-index-over-iter.md +0 -125
- package/template/agent/skills/rust-developer/references/rust-rules/anti-lock-across-await.md +0 -127
- package/template/agent/skills/rust-developer/references/rust-rules/anti-over-abstraction.md +0 -120
- package/template/agent/skills/rust-developer/references/rust-rules/anti-panic-expected.md +0 -131
- package/template/agent/skills/rust-developer/references/rust-rules/anti-premature-optimize.md +0 -156
- package/template/agent/skills/rust-developer/references/rust-rules/anti-string-for-str.md +0 -122
- package/template/agent/skills/rust-developer/references/rust-rules/anti-stringly-typed.md +0 -167
- package/template/agent/skills/rust-developer/references/rust-rules/anti-type-erasure.md +0 -134
- package/template/agent/skills/rust-developer/references/rust-rules/anti-unwrap-abuse.md +0 -143
- package/template/agent/skills/rust-developer/references/rust-rules/anti-vec-for-slice.md +0 -121
- package/template/agent/skills/rust-developer/references/rust-rules/api-builder-must-use.md +0 -143
- package/template/agent/skills/rust-developer/references/rust-rules/api-builder-pattern.md +0 -187
- package/template/agent/skills/rust-developer/references/rust-rules/api-common-traits.md +0 -165
- package/template/agent/skills/rust-developer/references/rust-rules/api-default-impl.md +0 -177
- package/template/agent/skills/rust-developer/references/rust-rules/api-extension-trait.md +0 -163
- package/template/agent/skills/rust-developer/references/rust-rules/api-from-not-into.md +0 -146
- package/template/agent/skills/rust-developer/references/rust-rules/api-impl-asref.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/api-impl-into.md +0 -160
- package/template/agent/skills/rust-developer/references/rust-rules/api-must-use.md +0 -125
- package/template/agent/skills/rust-developer/references/rust-rules/api-newtype-safety.md +0 -162
- package/template/agent/skills/rust-developer/references/rust-rules/api-non-exhaustive.md +0 -177
- package/template/agent/skills/rust-developer/references/rust-rules/api-parse-dont-validate.md +0 -184
- package/template/agent/skills/rust-developer/references/rust-rules/api-sealed-trait.md +0 -168
- package/template/agent/skills/rust-developer/references/rust-rules/api-serde-optional.md +0 -182
- package/template/agent/skills/rust-developer/references/rust-rules/api-typestate.md +0 -199
- package/template/agent/skills/rust-developer/references/rust-rules/async-bounded-channel.md +0 -175
- package/template/agent/skills/rust-developer/references/rust-rules/async-broadcast-pubsub.md +0 -185
- package/template/agent/skills/rust-developer/references/rust-rules/async-cancellation-token.md +0 -203
- package/template/agent/skills/rust-developer/references/rust-rules/async-clone-before-await.md +0 -171
- package/template/agent/skills/rust-developer/references/rust-rules/async-join-parallel.md +0 -158
- package/template/agent/skills/rust-developer/references/rust-rules/async-joinset-structured.md +0 -195
- package/template/agent/skills/rust-developer/references/rust-rules/async-mpsc-queue.md +0 -171
- package/template/agent/skills/rust-developer/references/rust-rules/async-no-lock-await.md +0 -156
- package/template/agent/skills/rust-developer/references/rust-rules/async-oneshot-response.md +0 -191
- package/template/agent/skills/rust-developer/references/rust-rules/async-select-racing.md +0 -198
- package/template/agent/skills/rust-developer/references/rust-rules/async-spawn-blocking.md +0 -154
- package/template/agent/skills/rust-developer/references/rust-rules/async-tokio-fs.md +0 -167
- package/template/agent/skills/rust-developer/references/rust-rules/async-tokio-runtime.md +0 -169
- package/template/agent/skills/rust-developer/references/rust-rules/async-try-join.md +0 -172
- package/template/agent/skills/rust-developer/references/rust-rules/async-watch-latest.md +0 -189
- package/template/agent/skills/rust-developer/references/rust-rules/doc-all-public.md +0 -113
- package/template/agent/skills/rust-developer/references/rust-rules/doc-cargo-metadata.md +0 -147
- package/template/agent/skills/rust-developer/references/rust-rules/doc-errors-section.md +0 -122
- package/template/agent/skills/rust-developer/references/rust-rules/doc-examples-section.md +0 -161
- package/template/agent/skills/rust-developer/references/rust-rules/doc-hidden-setup.md +0 -149
- package/template/agent/skills/rust-developer/references/rust-rules/doc-intra-links.md +0 -138
- package/template/agent/skills/rust-developer/references/rust-rules/doc-link-types.md +0 -169
- package/template/agent/skills/rust-developer/references/rust-rules/doc-module-inner.md +0 -116
- package/template/agent/skills/rust-developer/references/rust-rules/doc-panics-section.md +0 -128
- package/template/agent/skills/rust-developer/references/rust-rules/doc-question-mark.md +0 -136
- package/template/agent/skills/rust-developer/references/rust-rules/doc-safety-section.md +0 -131
- package/template/agent/skills/rust-developer/references/rust-rules/err-anyhow-app.md +0 -179
- package/template/agent/skills/rust-developer/references/rust-rules/err-context-chain.md +0 -144
- package/template/agent/skills/rust-developer/references/rust-rules/err-custom-type.md +0 -152
- package/template/agent/skills/rust-developer/references/rust-rules/err-doc-errors.md +0 -145
- package/template/agent/skills/rust-developer/references/rust-rules/err-expect-bugs-only.md +0 -133
- package/template/agent/skills/rust-developer/references/rust-rules/err-from-impl.md +0 -152
- package/template/agent/skills/rust-developer/references/rust-rules/err-lowercase-msg.md +0 -124
- package/template/agent/skills/rust-developer/references/rust-rules/err-no-unwrap-prod.md +0 -115
- package/template/agent/skills/rust-developer/references/rust-rules/err-question-mark.md +0 -151
- package/template/agent/skills/rust-developer/references/rust-rules/err-result-over-panic.md +0 -130
- package/template/agent/skills/rust-developer/references/rust-rules/err-source-chain.md +0 -155
- package/template/agent/skills/rust-developer/references/rust-rules/err-thiserror-lib.md +0 -171
- package/template/agent/skills/rust-developer/references/rust-rules/lint-cargo-metadata.md +0 -138
- package/template/agent/skills/rust-developer/references/rust-rules/lint-deny-correctness.md +0 -107
- package/template/agent/skills/rust-developer/references/rust-rules/lint-missing-docs.md +0 -154
- package/template/agent/skills/rust-developer/references/rust-rules/lint-pedantic-selective.md +0 -118
- package/template/agent/skills/rust-developer/references/rust-rules/lint-rustfmt-check.md +0 -157
- package/template/agent/skills/rust-developer/references/rust-rules/lint-unsafe-doc.md +0 -133
- package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-complexity.md +0 -131
- package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-perf.md +0 -136
- package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-style.md +0 -135
- package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-suspicious.md +0 -122
- package/template/agent/skills/rust-developer/references/rust-rules/lint-workspace-lints.md +0 -172
- package/template/agent/skills/rust-developer/references/rust-rules/mem-arena-allocator.md +0 -168
- package/template/agent/skills/rust-developer/references/rust-rules/mem-arrayvec.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/mem-assert-type-size.md +0 -168
- package/template/agent/skills/rust-developer/references/rust-rules/mem-avoid-format.md +0 -147
- package/template/agent/skills/rust-developer/references/rust-rules/mem-box-large-variant.md +0 -158
- package/template/agent/skills/rust-developer/references/rust-rules/mem-boxed-slice.md +0 -139
- package/template/agent/skills/rust-developer/references/rust-rules/mem-clone-from.md +0 -147
- package/template/agent/skills/rust-developer/references/rust-rules/mem-compact-string.md +0 -149
- package/template/agent/skills/rust-developer/references/rust-rules/mem-reuse-collections.md +0 -174
- package/template/agent/skills/rust-developer/references/rust-rules/mem-smaller-integers.md +0 -159
- package/template/agent/skills/rust-developer/references/rust-rules/mem-smallvec.md +0 -138
- package/template/agent/skills/rust-developer/references/rust-rules/mem-thinvec.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/mem-with-capacity.md +0 -156
- package/template/agent/skills/rust-developer/references/rust-rules/mem-write-over-format.md +0 -172
- package/template/agent/skills/rust-developer/references/rust-rules/mem-zero-copy.md +0 -164
- package/template/agent/skills/rust-developer/references/rust-rules/name-acronym-word.md +0 -99
- package/template/agent/skills/rust-developer/references/rust-rules/name-as-free.md +0 -104
- package/template/agent/skills/rust-developer/references/rust-rules/name-consts-screaming.md +0 -94
- package/template/agent/skills/rust-developer/references/rust-rules/name-crate-no-rs.md +0 -78
- package/template/agent/skills/rust-developer/references/rust-rules/name-funcs-snake.md +0 -76
- package/template/agent/skills/rust-developer/references/rust-rules/name-into-ownership.md +0 -123
- package/template/agent/skills/rust-developer/references/rust-rules/name-is-has-bool.md +0 -127
- package/template/agent/skills/rust-developer/references/rust-rules/name-iter-convention.md +0 -129
- package/template/agent/skills/rust-developer/references/rust-rules/name-iter-method.md +0 -131
- package/template/agent/skills/rust-developer/references/rust-rules/name-iter-type-match.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/name-lifetime-short.md +0 -86
- package/template/agent/skills/rust-developer/references/rust-rules/name-no-get-prefix.md +0 -154
- package/template/agent/skills/rust-developer/references/rust-rules/name-to-expensive.md +0 -118
- package/template/agent/skills/rust-developer/references/rust-rules/name-type-param-single.md +0 -92
- package/template/agent/skills/rust-developer/references/rust-rules/name-types-camel.md +0 -65
- package/template/agent/skills/rust-developer/references/rust-rules/name-variants-camel.md +0 -101
- package/template/agent/skills/rust-developer/references/rust-rules/opt-bounds-check.md +0 -161
- package/template/agent/skills/rust-developer/references/rust-rules/opt-cache-friendly.md +0 -187
- package/template/agent/skills/rust-developer/references/rust-rules/opt-codegen-units.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/opt-cold-unlikely.md +0 -152
- package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-always-rare.md +0 -141
- package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-never-cold.md +0 -181
- package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-small.md +0 -160
- package/template/agent/skills/rust-developer/references/rust-rules/opt-likely-hint.md +0 -171
- package/template/agent/skills/rust-developer/references/rust-rules/opt-lto-release.md +0 -130
- package/template/agent/skills/rust-developer/references/rust-rules/opt-pgo-profile.md +0 -167
- package/template/agent/skills/rust-developer/references/rust-rules/opt-simd-portable.md +0 -144
- package/template/agent/skills/rust-developer/references/rust-rules/opt-target-cpu.md +0 -154
- package/template/agent/skills/rust-developer/references/rust-rules/own-arc-shared.md +0 -141
- package/template/agent/skills/rust-developer/references/rust-rules/own-borrow-over-clone.md +0 -95
- package/template/agent/skills/rust-developer/references/rust-rules/own-clone-explicit.md +0 -135
- package/template/agent/skills/rust-developer/references/rust-rules/own-copy-small.md +0 -124
- package/template/agent/skills/rust-developer/references/rust-rules/own-cow-conditional.md +0 -135
- package/template/agent/skills/rust-developer/references/rust-rules/own-lifetime-elision.md +0 -134
- package/template/agent/skills/rust-developer/references/rust-rules/own-move-large.md +0 -134
- package/template/agent/skills/rust-developer/references/rust-rules/own-mutex-interior.md +0 -105
- package/template/agent/skills/rust-developer/references/rust-rules/own-rc-single-thread.md +0 -65
- package/template/agent/skills/rust-developer/references/rust-rules/own-refcell-interior.md +0 -97
- package/template/agent/skills/rust-developer/references/rust-rules/own-rwlock-readers.md +0 -122
- package/template/agent/skills/rust-developer/references/rust-rules/own-slice-over-vec.md +0 -119
- package/template/agent/skills/rust-developer/references/rust-rules/perf-black-box-bench.md +0 -153
- package/template/agent/skills/rust-developer/references/rust-rules/perf-chain-avoid.md +0 -136
- package/template/agent/skills/rust-developer/references/rust-rules/perf-collect-into.md +0 -133
- package/template/agent/skills/rust-developer/references/rust-rules/perf-collect-once.md +0 -120
- package/template/agent/skills/rust-developer/references/rust-rules/perf-drain-reuse.md +0 -137
- package/template/agent/skills/rust-developer/references/rust-rules/perf-entry-api.md +0 -134
- package/template/agent/skills/rust-developer/references/rust-rules/perf-extend-batch.md +0 -150
- package/template/agent/skills/rust-developer/references/rust-rules/perf-iter-lazy.md +0 -123
- package/template/agent/skills/rust-developer/references/rust-rules/perf-iter-over-index.md +0 -113
- package/template/agent/skills/rust-developer/references/rust-rules/perf-profile-first.md +0 -175
- package/template/agent/skills/rust-developer/references/rust-rules/perf-release-profile.md +0 -149
- package/template/agent/skills/rust-developer/references/rust-rules/proj-bin-dir.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/proj-flat-small.md +0 -133
- package/template/agent/skills/rust-developer/references/rust-rules/proj-lib-main-split.md +0 -148
- package/template/agent/skills/rust-developer/references/rust-rules/proj-mod-by-feature.md +0 -130
- package/template/agent/skills/rust-developer/references/rust-rules/proj-mod-rs-dir.md +0 -120
- package/template/agent/skills/rust-developer/references/rust-rules/proj-prelude-module.md +0 -155
- package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-crate-internal.md +0 -139
- package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-super-parent.md +0 -135
- package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-use-reexport.md +0 -162
- package/template/agent/skills/rust-developer/references/rust-rules/proj-workspace-deps.md +0 -186
- package/template/agent/skills/rust-developer/references/rust-rules/proj-workspace-large.md +0 -162
- package/template/agent/skills/rust-developer/references/rust-rules/test-arrange-act-assert.md +0 -160
- package/template/agent/skills/rust-developer/references/rust-rules/test-cfg-test-module.md +0 -151
- package/template/agent/skills/rust-developer/references/rust-rules/test-criterion-bench.md +0 -171
- package/template/agent/skills/rust-developer/references/rust-rules/test-descriptive-names.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/test-doctest-examples.md +0 -168
- package/template/agent/skills/rust-developer/references/rust-rules/test-fixture-raii.md +0 -151
- package/template/agent/skills/rust-developer/references/rust-rules/test-integration-dir.md +0 -144
- package/template/agent/skills/rust-developer/references/rust-rules/test-mock-traits.md +0 -189
- package/template/agent/skills/rust-developer/references/rust-rules/test-mockall-mocking.md +0 -226
- package/template/agent/skills/rust-developer/references/rust-rules/test-proptest-properties.md +0 -161
- package/template/agent/skills/rust-developer/references/rust-rules/test-should-panic.md +0 -130
- package/template/agent/skills/rust-developer/references/rust-rules/test-tokio-async.md +0 -154
- package/template/agent/skills/rust-developer/references/rust-rules/test-use-super.md +0 -127
- package/template/agent/skills/rust-developer/references/rust-rules/type-enum-states.md +0 -154
- package/template/agent/skills/rust-developer/references/rust-rules/type-generic-bounds.md +0 -142
- package/template/agent/skills/rust-developer/references/rust-rules/type-never-diverge.md +0 -146
- package/template/agent/skills/rust-developer/references/rust-rules/type-newtype-ids.md +0 -160
- package/template/agent/skills/rust-developer/references/rust-rules/type-newtype-validated.md +0 -159
- package/template/agent/skills/rust-developer/references/rust-rules/type-no-stringly.md +0 -144
- package/template/agent/skills/rust-developer/references/rust-rules/type-option-nullable.md +0 -137
- package/template/agent/skills/rust-developer/references/rust-rules/type-phantom-marker.md +0 -188
- package/template/agent/skills/rust-developer/references/rust-rules/type-repr-transparent.md +0 -143
- package/template/agent/skills/rust-developer/references/rust-rules/type-result-fallible.md +0 -131
- package/template/agent/skills/saas-architect/SKILL.md +0 -139
- package/template/agent/skills/security-engineer/SKILL.md +0 -133
- package/template/agent/skills/seo-specialist/SKILL.md +0 -130
- package/template/agent/skills/solo-founder-ops/SKILL.md +0 -56
package/README.md
CHANGED
|
@@ -43,16 +43,15 @@ agy-superpowers init
|
|
|
43
43
|
.agent/
|
|
44
44
|
├── rules/
|
|
45
45
|
│ └── superpowers.md # Always-on rule: agent checks skills before acting
|
|
46
|
-
├── skills/ #
|
|
46
|
+
├── skills/ # 23 active skills (14 upstream + 9 expansion skills)
|
|
47
47
|
│ ├── brainstorming/
|
|
48
48
|
│ ├── writing-plans/
|
|
49
49
|
│ ├── executing-plans/
|
|
50
|
-
│ ├── backend-developer/
|
|
51
50
|
│ ├── frontend-developer/
|
|
52
51
|
│ ├── mobile-developer/
|
|
53
|
-
│ ├──
|
|
54
|
-
│ ├──
|
|
55
|
-
│ └── ... # +
|
|
52
|
+
│ ├── subscription-billing/
|
|
53
|
+
│ ├── i18n-localization/
|
|
54
|
+
│ └── ... # + 15 more skills
|
|
56
55
|
├── workflows/
|
|
57
56
|
│ ├── brainstorm.md # /brainstorm
|
|
58
57
|
│ ├── write-plan.md # /write-plan
|
|
@@ -103,7 +102,7 @@ agy-superpowers init
|
|
|
103
102
|
|
|
104
103
|
### Getting Started in 5 Minutes
|
|
105
104
|
|
|
106
|
-
**How it works:** Superpowers gives your agent
|
|
105
|
+
**How it works:** Superpowers gives your agent 23 specialized skills. You don't need to remember or invoke them — the agent **automatically reads and selects the right skill** based on what you ask. Just describe what you need in natural language.
|
|
107
106
|
|
|
108
107
|
#### Your First Feature: A Walkthrough
|
|
109
108
|
|
|
@@ -160,20 +159,12 @@ Activate when you work on specific technical domains:
|
|
|
160
159
|
|
|
161
160
|
| Skill | When it activates |
|
|
162
161
|
| ---------------------------- | ------------------------------------------------------------ |
|
|
163
|
-
| `backend-developer` | Designing APIs, server-side logic, database schemas |
|
|
164
162
|
| `frontend-developer` | Building web UI, component architecture |
|
|
165
163
|
| `mobile-developer` | Mobile app features, React Native / Flutter / iOS / Android |
|
|
166
|
-
| `
|
|
167
|
-
| `
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
| `devops-engineer` | CI/CD, infrastructure, deployment, monitoring |
|
|
171
|
-
| `security-engineer` | App security, user data handling, GDPR/App Store compliance |
|
|
172
|
-
| `email-infrastructure` | Transactional email, deliverability, SPF/DKIM/DMARC |
|
|
173
|
-
| `saas-architect` | Multi-tenant SaaS architecture, tenant isolation |
|
|
174
|
-
| `chrome-extension-developer` | Chrome extensions, browser-based tools |
|
|
175
|
-
|
|
176
|
-
> **Example prompt:** _"Design a REST API for user management with rate limiting and pagination"_ → activates `api-design` + `backend-developer`
|
|
164
|
+
| `frontend-design` | Web components, pages, apps — high design quality |
|
|
165
|
+
| `mobile-uiux-promax` | Mobile app UI for iOS, Android, React Native, Flutter |
|
|
166
|
+
|
|
167
|
+
> **Example prompt:** _"Build a responsive dashboard with dark mode"_ → activates `frontend-developer` + `frontend-design`
|
|
177
168
|
|
|
178
169
|
#### 🎨 Product & Design
|
|
179
170
|
|
|
@@ -181,56 +172,18 @@ Activate when you work on specific technical domains:
|
|
|
181
172
|
| ------------------- | ----------------------------------------------------------------- |
|
|
182
173
|
| `product-manager` | Defining requirements, prioritizing features, planning roadmaps |
|
|
183
174
|
| `ux-designer` | Designing UI, wireframes, user research, information architecture |
|
|
184
|
-
| `
|
|
175
|
+
| `copywriter` | Landing page copy, app store descriptions, email sequences |
|
|
185
176
|
| `i18n-localization` | Internationalization, localizing for new markets |
|
|
186
|
-
| `game-design` | Game mechanics, core loops, progression, difficulty curves |
|
|
187
177
|
|
|
188
178
|
> **Example prompt:** _"Help me prioritize features for the next sprint based on user feedback"_ → activates `product-manager`
|
|
189
179
|
|
|
190
|
-
####
|
|
191
|
-
|
|
192
|
-
| Skill
|
|
193
|
-
|
|
|
194
|
-
| `
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
| `conversion-optimizer` | Landing pages, trial-to-paid funnels, paywall design |
|
|
198
|
-
| `copywriter` | Landing page copy, app store descriptions, email sequences |
|
|
199
|
-
| `community-manager` | Discord, Reddit, Slack communities, engagement strategy |
|
|
200
|
-
| `influencer-marketer` | UGC campaigns, creator partnerships, TikTok/YouTube marketing |
|
|
201
|
-
| `paid-acquisition-specialist` | Meta Ads, Google Ads, Apple Search Ads, ROAS optimization |
|
|
202
|
-
| `launch-strategist` | Product launch, go-to-market, pre-launch campaigns |
|
|
203
|
-
| `landing-page-builder` | Landing pages, waitlist pages, marketing sites |
|
|
204
|
-
| `app-store-optimizer` | App Store / Google Play listing optimization, keyword strategy |
|
|
205
|
-
|
|
206
|
-
> **Example prompt:** _"Write an ASO-optimized App Store description for my meditation app"_ → activates `app-store-optimizer` + `copywriter`
|
|
207
|
-
|
|
208
|
-
#### 💰 Revenue & Operations
|
|
209
|
-
|
|
210
|
-
| Skill | When it activates |
|
|
211
|
-
| -------------------------- | ------------------------------------------------------------------ |
|
|
212
|
-
| `monetization-strategist` | Pricing models, freemium strategy, IAP, unit economics |
|
|
213
|
-
| `pricing-psychologist` | Pricing, paywalls, free-to-paid conversion |
|
|
214
|
-
| `subscription-billing` | Stripe integration, webhooks, trial logic, dunning flows |
|
|
215
|
-
| `bootstrapper-finance` | MRR tracking, runway calculation, financial decisions |
|
|
216
|
-
| `solo-founder-ops` | Time management, feature prioritization, running multiple products |
|
|
217
|
-
| `analytics-setup` | Analytics, tracking tools, metrics dashboards |
|
|
218
|
-
| `customer-success-manager` | User support, feedback loops, NPS/CSAT, churn |
|
|
219
|
-
| `data-analyst` | Metrics frameworks, funnel analysis, cohort analysis, A/B tests |
|
|
220
|
-
| `indie-legal` | Privacy policies, terms of service, GDPR/CCPA |
|
|
221
|
-
|
|
222
|
-
> **Example prompt:** _"Should I charge $9/mo or $29/mo for my SaaS? Here's my target audience..."_ → activates `pricing-psychologist` + `monetization-strategist`
|
|
223
|
-
|
|
224
|
-
#### 🚀 Validate & Scale
|
|
225
|
-
|
|
226
|
-
| Skill | When it activates |
|
|
227
|
-
| ----------------------- | --------------------------------------------------------------- |
|
|
228
|
-
| `idea-validator` | Evaluating a product idea, assessing market fit before building |
|
|
229
|
-
| `market-researcher` | Finding a niche, analyzing market size, customer discovery |
|
|
230
|
-
| `ai-integrated-product` | Integrating AI/LLM capabilities, building AI-powered features |
|
|
231
|
-
| `micro-saas-builder` | Building a micro-SaaS, choosing a niche SaaS idea |
|
|
232
|
-
|
|
233
|
-
> **Example prompt:** _"I have an idea for an AI writing tool — is it worth building?"_ → activates `idea-validator` + `market-researcher`
|
|
180
|
+
#### 💰 Infrastructure & Billing
|
|
181
|
+
|
|
182
|
+
| Skill | When it activates |
|
|
183
|
+
| ---------------------- | ---------------------------------------------------------------- |
|
|
184
|
+
| `subscription-billing` | Stripe integration, webhooks, trial logic, dunning flows |
|
|
185
|
+
|
|
186
|
+
> **Example prompt:** _"Set up subscription billing with Stripe and handle trial-to-paid conversion"_ → activates `subscription-billing`
|
|
234
187
|
|
|
235
188
|
---
|
|
236
189
|
|
|
@@ -251,7 +204,7 @@ Activate when you work on specific technical domains:
|
|
|
251
204
|
|
|
252
205
|
- **Provide context** — mention your tech stack, project name, and constraints: _"In my Next.js app with Supabase auth..."_
|
|
253
206
|
- **State goals, not solutions** — _"Users drop off during signup"_ gives the agent room to find the best fix, vs _"Add a progress bar to the signup form"_
|
|
254
|
-
- **Mention specific domains** to activate the right skills — _"
|
|
207
|
+
- **Mention specific domains** to activate the right skills — _"Design the **UX** for my onboarding flow"_ triggers `ux-designer`, _"Localize my app for Japanese"_ triggers `i18n-localization`
|
|
255
208
|
|
|
256
209
|
#### Combining Workflows for Complex Projects
|
|
257
210
|
|
|
@@ -261,16 +214,8 @@ Activate when you work on specific technical domains:
|
|
|
261
214
|
/brainstorm → /write-plan → /execute-plan → /code-review
|
|
262
215
|
↓ then in separate conversations:
|
|
263
216
|
"Write marketing copy for..." → copywriter skill
|
|
264
|
-
"
|
|
265
|
-
"
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**Idea → Validation → Build:**
|
|
269
|
-
|
|
270
|
-
```
|
|
271
|
-
"I have an idea for X, is it viable?" → idea-validator
|
|
272
|
-
"Research the market for X" → market-researcher
|
|
273
|
-
/brainstorm → /write-plan → /execute-plan → build it
|
|
217
|
+
"Set up billing with Stripe..." → subscription-billing skill
|
|
218
|
+
"Localize for Japanese market..." → i18n-localization skill
|
|
274
219
|
```
|
|
275
220
|
|
|
276
221
|
**Debugging effectively:**
|
|
@@ -293,7 +238,7 @@ Per-project settings (like `auto_commit`) live in `.agent/config.yml` — see [C
|
|
|
293
238
|
| Cram multiple goals into one prompt | One conversation = one clear objective |
|
|
294
239
|
| Jump to `/execute-plan` without reviewing the spec | Review and approve the design spec before execution |
|
|
295
240
|
| Skip `/code-review` before merging | Always review before merge — catch bugs early |
|
|
296
|
-
|
|
|
241
|
+
| Use long conversations for multiple tasks | Start a new conversation for each distinct task (saves tokens) |
|
|
297
242
|
|
|
298
243
|
---
|
|
299
244
|
|
|
@@ -311,80 +256,31 @@ When you run `/update-superpowers`, skills are:
|
|
|
311
256
|
|
|
312
257
|
## Skills Reference
|
|
313
258
|
|
|
314
|
-
| Skill | Triggers automatically when...
|
|
315
|
-
| -------------------------------- |
|
|
316
|
-
| `
|
|
317
|
-
| `
|
|
318
|
-
| `
|
|
319
|
-
| `
|
|
320
|
-
| `
|
|
321
|
-
| `
|
|
322
|
-
| `
|
|
323
|
-
| `
|
|
324
|
-
| `
|
|
325
|
-
| `
|
|
326
|
-
| `
|
|
327
|
-
| `
|
|
328
|
-
| `
|
|
329
|
-
| `
|
|
330
|
-
| `
|
|
331
|
-
| `
|
|
332
|
-
| `
|
|
333
|
-
| `
|
|
334
|
-
| `
|
|
335
|
-
| `
|
|
336
|
-
| `
|
|
337
|
-
| `
|
|
338
|
-
| `
|
|
339
|
-
| `game-design` | Designing game mechanics, core loops, progression, monetization, or difficulty curves |
|
|
340
|
-
| `game-developer` | Working on game app features, reviewing game code, or game architecture decisions |
|
|
341
|
-
| `growth-hacker` | Planning user acquisition, viral loops, activation funnels, or growth experiments |
|
|
342
|
-
| `i18n-localization` | Planning i18n architecture, localizing for new markets, or managing translations |
|
|
343
|
-
| `idea-validator` | Starting a new project, evaluating a product idea, or assessing market fit before building |
|
|
344
|
-
| `indie-legal` | Creating privacy policies, terms of service, handling GDPR/CCPA basics, or understanding legal requirements |
|
|
345
|
-
| `influencer-marketer` | Planning UGC campaigns, creator partnerships, TikTok/YouTube/Instagram marketing |
|
|
346
|
-
| `landing-page-builder` | Creating a landing page, waitlist page, product page, or marketing site |
|
|
347
|
-
| `launch-strategist` | Preparing to launch a product, planning go-to-market, or running a pre-launch campaign |
|
|
348
|
-
| `market-researcher` | Finding a niche, analyzing market size, researching customer segments, or doing customer discovery |
|
|
349
|
-
| `micro-saas-builder` | Building a micro-SaaS product, choosing a niche SaaS idea, or designing a small scalable SaaS |
|
|
350
|
-
| `mobile-developer` | Working on mobile app features, reviewing mobile code, or mobile architecture |
|
|
351
|
-
| `mobile-uiux-promax` | Designing or building mobile app UI for iOS, Android, React Native, Flutter, SwiftUI, or Compose |
|
|
352
|
-
| `monetization-strategist` | Designing pricing models, freemium strategy, IAP, or modeling unit economics |
|
|
353
|
-
| `paid-acquisition-specialist` | Running Meta Ads, Google Ads, Apple Search Ads, or any paid acquisition channel |
|
|
354
|
-
| `pricing-psychologist` | Designing pricing, paywalls, free-to-paid conversion, or optimizing upgrade flows |
|
|
355
|
-
| `product-manager` | Defining requirements, prioritizing features, planning roadmaps, or validating problems |
|
|
356
|
-
| `real-time-features` | Implementing WebSockets, SSE, live collaboration, or real-time notifications |
|
|
357
|
-
| `receiving-code-review` | Receiving code review feedback, before implementing suggestions |
|
|
358
|
-
| `requesting-code-review` | Completing tasks or before merging to verify work meets requirements |
|
|
359
|
-
| `retention-specialist` | Improving user retention, reducing churn, analyzing engagement, or re-engagement |
|
|
360
|
-
| `saas-architect` | Designing multi-tenant SaaS architecture, tenant isolation, or data models |
|
|
361
|
-
| `security-engineer` | Reviewing app security, handling user data, ensuring GDPR/App Store compliance |
|
|
362
|
-
| `seo-specialist` | Working on technical SEO, keyword research, on-page optimization, or backlink strategy |
|
|
363
|
-
| `solo-founder-ops` | Managing time, prioritizing features, or running multiple products as a solo founder |
|
|
364
|
-
| `subagent-driven-development` | Executing implementation plans with independent tasks in the current session |
|
|
365
|
-
| `subscription-billing` | Integrating subscription billing, Stripe webhooks, trial logic, or dunning flows |
|
|
366
|
-
| `systematic-debugging` | Debugging any issue |
|
|
367
|
-
| `test-driven-development` | Implementing any feature or bugfix |
|
|
368
|
-
| `using-git-worktrees` | Starting work on an isolated branch |
|
|
369
|
-
| `using-superpowers` | Starting any conversation — checks for relevant skills |
|
|
370
|
-
| `ux-designer` | Designing UI, wireframes, user research, or information architecture |
|
|
371
|
-
| `verification-before-completion` | Before declaring a fix or task done |
|
|
372
|
-
| `writing-plans` | Design is approved — breaking work into tasks |
|
|
373
|
-
| `writing-skills` | Creating or editing a skill |
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
### The Indie Hacker Journey
|
|
378
|
-
|
|
379
|
-
44 expansion skills cover the full indie hacker lifecycle — from first idea to sustainable business:
|
|
380
|
-
|
|
381
|
-
- **Validate:** `idea-validator`, `market-researcher`
|
|
382
|
-
- **Design:** `product-manager`, `ux-designer`, `cto-architect`
|
|
383
|
-
- **Build:** `backend-developer`, `frontend-developer`, `frontend-design`, `mobile-developer`, `mobile-uiux-promax`, `game-developer`, `game-design`, `chrome-extension-developer`, `api-design`, `real-time-features`, `auth-and-identity`, `email-infrastructure`, `saas-architect`, `devops-engineer`, `security-engineer`, `i18n-localization`, `ai-integrated-product`, `micro-saas-builder`
|
|
384
|
-
- **Launch:** `launch-strategist`, `landing-page-builder`, `app-store-optimizer`, `copywriter`
|
|
385
|
-
- **Grow:** `growth-hacker`, `content-marketer`, `seo-specialist`, `conversion-optimizer`, `community-manager`, `influencer-marketer`, `paid-acquisition-specialist`, `retention-specialist`
|
|
386
|
-
- **Revenue:** `monetization-strategist`, `pricing-psychologist`, `subscription-billing`, `bootstrapper-finance`
|
|
387
|
-
- **Operate:** `solo-founder-ops`, `analytics-setup`, `customer-success-manager`, `data-analyst`, `indie-legal`
|
|
259
|
+
| Skill | Triggers automatically when... |
|
|
260
|
+
| -------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
261
|
+
| `brainstorming` | Adding a feature, building a component, or modifying behavior |
|
|
262
|
+
| `copywriter` | Writing landing page copy, app store descriptions, email sequences, or user-facing text |
|
|
263
|
+
| `dispatching-parallel-agents` | Facing 2+ independent tasks that can run without shared state |
|
|
264
|
+
| `executing-plans` | Running a plan step-by-step with checkpoints |
|
|
265
|
+
| `finishing-a-development-branch` | Implementation is complete and you need to merge / PR / discard |
|
|
266
|
+
| `frontend-design` | Building web components, pages, or apps with high design quality |
|
|
267
|
+
| `frontend-developer` | Building web UI, component architecture, or reviewing frontend code |
|
|
268
|
+
| `i18n-localization` | Planning i18n architecture, localizing for new markets, or managing translations |
|
|
269
|
+
| `mobile-developer` | Working on mobile app features, reviewing mobile code, or mobile architecture |
|
|
270
|
+
| `mobile-uiux-promax` | Designing or building mobile app UI for iOS, Android, React Native, Flutter, SwiftUI, or Compose |
|
|
271
|
+
| `product-manager` | Defining requirements, prioritizing features, planning roadmaps, or validating problems |
|
|
272
|
+
| `receiving-code-review` | Receiving code review feedback, before implementing suggestions |
|
|
273
|
+
| `requesting-code-review` | Completing tasks or before merging to verify work meets requirements |
|
|
274
|
+
| `subagent-driven-development` | Executing implementation plans with independent tasks in the current session |
|
|
275
|
+
| `subscription-billing` | Integrating subscription billing, Stripe webhooks, trial logic, or dunning flows |
|
|
276
|
+
| `systematic-debugging` | Debugging any issue |
|
|
277
|
+
| `test-driven-development` | Implementing any feature or bugfix |
|
|
278
|
+
| `using-git-worktrees` | Starting work on an isolated branch |
|
|
279
|
+
| `using-superpowers` | Starting any conversation — checks for relevant skills |
|
|
280
|
+
| `ux-designer` | Designing UI, wireframes, user research, or information architecture |
|
|
281
|
+
| `verification-before-completion` | Before declaring a fix or task done |
|
|
282
|
+
| `writing-plans` | Design is approved — breaking work into tasks |
|
|
283
|
+
| `writing-skills` | Creating or editing a skill |
|
|
388
284
|
|
|
389
285
|
---
|
|
390
286
|
|
|
@@ -450,6 +346,7 @@ This setup enforces four core principles across every task:
|
|
|
450
346
|
- **YAGNI** — Don't build what isn't needed yet
|
|
451
347
|
- **Systematic over ad-hoc** — Follow the skill process, don't guess
|
|
452
348
|
- **Evidence over claims** — Verify before declaring success
|
|
349
|
+
- **Token efficiency** — 23 focused skills instead of 58, optimized for the workflows you actually use
|
|
453
350
|
|
|
454
351
|
---
|
|
455
352
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: always_on
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# CLAUDE.md
|
|
6
|
+
|
|
7
|
+
Behavioral guidelines to reduce common LLM coding mistakes. Merge with project-specific instructions as needed.
|
|
8
|
+
|
|
9
|
+
**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
|
|
10
|
+
|
|
11
|
+
> **TL;DR — 4 rules to always follow:**
|
|
12
|
+
> 1. **Think first** — State assumptions, ask when unclear, present tradeoffs before acting.
|
|
13
|
+
> 2. **Simplicity** — Minimum code that solves the problem. If it could be 50 lines, don't write 200.
|
|
14
|
+
> 3. **Surgical** — Touch only what the request requires. Don't improve adjacent code.
|
|
15
|
+
> 4. **Verify** — Define success criteria upfront. Don't claim done without running the check.
|
|
16
|
+
|
|
17
|
+
## 1. Think Before Coding
|
|
18
|
+
|
|
19
|
+
**Don't assume. Don't hide confusion. Surface tradeoffs.**
|
|
20
|
+
|
|
21
|
+
Before implementing:
|
|
22
|
+
|
|
23
|
+
- State your assumptions explicitly. If uncertain, ask.
|
|
24
|
+
- If multiple interpretations exist, present them - don't pick silently.
|
|
25
|
+
- If a simpler approach exists, say so. Push back when warranted.
|
|
26
|
+
- If something is unclear, stop. Name what's confusing. Ask.
|
|
27
|
+
|
|
28
|
+
## 2. Simplicity First
|
|
29
|
+
|
|
30
|
+
**Minimum code that solves the problem. Nothing speculative.**
|
|
31
|
+
|
|
32
|
+
- No features beyond what was asked.
|
|
33
|
+
- No abstractions for single-use code.
|
|
34
|
+
- No "flexibility" or "configurability" that wasn't requested.
|
|
35
|
+
- No error handling for impossible scenarios.
|
|
36
|
+
- If you write 200 lines and it could be 50, rewrite it.
|
|
37
|
+
|
|
38
|
+
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
|
|
39
|
+
|
|
40
|
+
## 3. Surgical Changes
|
|
41
|
+
|
|
42
|
+
**Touch only what you must. Clean up only your own mess.**
|
|
43
|
+
|
|
44
|
+
When editing existing code:
|
|
45
|
+
|
|
46
|
+
- Don't "improve" adjacent code, comments, or formatting.
|
|
47
|
+
- Don't refactor things that aren't broken.
|
|
48
|
+
- Match existing style, even if you'd do it differently.
|
|
49
|
+
- If you notice unrelated dead code, mention it - don't delete it.
|
|
50
|
+
|
|
51
|
+
When your changes create orphans:
|
|
52
|
+
|
|
53
|
+
- Remove imports/variables/functions that YOUR changes made unused.
|
|
54
|
+
- Don't remove pre-existing dead code unless asked.
|
|
55
|
+
|
|
56
|
+
The test: Every changed line should trace directly to the user's request.
|
|
57
|
+
|
|
58
|
+
## 4. Goal-Driven Execution
|
|
59
|
+
|
|
60
|
+
**Define success criteria. Loop until verified.**
|
|
61
|
+
|
|
62
|
+
Transform tasks into verifiable goals:
|
|
63
|
+
|
|
64
|
+
- "Add validation" → "Write tests for invalid inputs, then make them pass"
|
|
65
|
+
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
|
|
66
|
+
- "Refactor X" → "Ensure tests pass before and after"
|
|
67
|
+
|
|
68
|
+
For multi-step tasks, state a brief plan:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
1. [Step] → verify: [check]
|
|
72
|
+
2. [Step] → verify: [check]
|
|
73
|
+
3. [Step] → verify: [check]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
**These guidelines are working if:** fewer unnecessary changes in diffs, fewer rewrites due to overcomplication, and clarifying questions come before implementation rather than after mistakes.
|
|
@@ -5,6 +5,8 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# Code Styles
|
|
7
7
|
|
|
8
|
+
> **Core rule:** ESM only (`import`/`export`), single quotes, semicolons always, camelCase vars, 2-space indent, zero npm dependencies, no TypeScript.
|
|
9
|
+
|
|
8
10
|
<HARD-GATE>
|
|
9
11
|
Before writing, modifying, or generating ANY code, you MUST read this file and strictly follow every rule defined below.
|
|
10
12
|
If a section is empty, skip it — but never skip reading this file.
|
|
@@ -19,51 +21,48 @@ Delete the placeholder comments and replace them with your actual conventions.
|
|
|
19
21
|
|
|
20
22
|
## Naming Conventions
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- Constants: UPPER_SNAKE_CASE
|
|
27
|
-
-->
|
|
24
|
+
- Variables & functions: `camelCase`
|
|
25
|
+
- Constants: `UPPER_SNAKE_CASE`
|
|
26
|
+
- Files & folders: `kebab-case`
|
|
27
|
+
- No PascalCase (no classes/components in this project)
|
|
28
28
|
|
|
29
29
|
## File & Folder Structure
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
31
|
+
- `bin/` — CLI entry points only
|
|
32
|
+
- `scripts/` — build/utility scripts, not shipped
|
|
33
|
+
- `template/` — files copied to user's `.agent/` on `init`
|
|
34
|
+
- `.agent/` — agent rules, skills, workflows (not in `files[]`)
|
|
35
|
+
- One responsibility per file; no barrel index files needed
|
|
36
36
|
|
|
37
37
|
## Formatting
|
|
38
38
|
|
|
39
|
-
<!-- Examples:
|
|
40
39
|
- Indentation: 2 spaces
|
|
41
|
-
-
|
|
42
|
-
- Semicolons: always
|
|
43
|
-
-
|
|
44
|
-
|
|
40
|
+
- Quotes: **single quotes** (`'`) everywhere
|
|
41
|
+
- Semicolons: **always**
|
|
42
|
+
- Max line length: 100 characters (soft limit)
|
|
43
|
+
- Trailing commas: yes (ES2017+)
|
|
45
44
|
|
|
46
45
|
## Comments & Documentation
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
- No obvious comments
|
|
51
|
-
-
|
|
52
|
-
-->
|
|
47
|
+
- File path comment on line 2: `// bin/init.js`
|
|
48
|
+
- Usage comment where non-obvious: `// Usage: ...`
|
|
49
|
+
- No obvious comments ("increment i by 1")
|
|
50
|
+
- No JSDoc unless the function is exported as a public API
|
|
53
51
|
|
|
54
52
|
## Patterns & Conventions
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
- Error handling:
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
|
|
54
|
+
- Module system: **ESM** (`import`/`export`) — `"type": "module"` in package.json
|
|
55
|
+
- Async: `async/await` over `.then()`
|
|
56
|
+
- Error handling: `console.error()` + `process.exit(1)` for CLI errors
|
|
57
|
+
- File system: Node.js `fs` (sync preferred for CLI scripts — simple, no callback hell)
|
|
58
|
+
- `__dirname` workaround for ESM: `path.dirname(fileURLToPath(import.meta.url))`
|
|
59
|
+
- Imports order: Node built-ins → npm packages → local files
|
|
62
60
|
|
|
63
61
|
## Anti-Patterns (DO NOT)
|
|
64
62
|
|
|
65
|
-
|
|
66
|
-
- No
|
|
67
|
-
- No console.log in production
|
|
68
|
-
- No
|
|
69
|
-
|
|
63
|
+
- No TypeScript — this project is plain JavaScript
|
|
64
|
+
- No `require()` — ESM only
|
|
65
|
+
- No `console.log` in production paths for errors — use `console.error()`
|
|
66
|
+
- No dependencies in `package.json` — keep the CLI zero-dependency
|
|
67
|
+
- No dynamic `import()` unless absolutely necessary
|
|
68
|
+
- No `any` guesses — if path/logic is unclear, fail loudly with a message
|
|
@@ -5,6 +5,8 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# Debug Confirmation Policy
|
|
7
7
|
|
|
8
|
+
> **Core rule:** NEVER write fix code before presenting Root Cause + Evidence + Proposed Fix and getting explicit user confirmation.
|
|
9
|
+
|
|
8
10
|
<HARD-GATE>
|
|
9
11
|
When you identify a bug, error, test failure, or any code that needs fixing —
|
|
10
12
|
whether the user asked you to fix it, or you discovered it yourself —
|
|
@@ -15,6 +15,8 @@ This gate applies exclusively to `.agent/rules/` files.
|
|
|
15
15
|
|
|
16
16
|
# File Length Policy
|
|
17
17
|
|
|
18
|
+
> **Core rule:** Before writing to any `.agent/rules/` file, check its size. If adding content would exceed 12,000 characters total, create a new file instead.
|
|
19
|
+
|
|
18
20
|
## Hard Limit: 12,000 Characters Per File
|
|
19
21
|
|
|
20
22
|
Every file in `.agent/rules/` has a **hard character limit of 12,000 characters**.
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Git write operations — check auto_commit before any git write command
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Git Policy
|
|
2
7
|
|
|
8
|
+
> **Core rule:** Before ANY git write operation, read `.agent/config.yml` — if `auto_commit: false`, skip the operation and print "Skipping git operation (auto_commit: false)."
|
|
9
|
+
|
|
3
10
|
<HARD-GATE>
|
|
4
11
|
Before running ANY git write operation — git add, git commit, git push,
|
|
5
12
|
git pull, git merge, git tag, git branch -d, git branch -D, git worktree remove,
|
|
@@ -5,6 +5,8 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# Language Matching Policy
|
|
7
7
|
|
|
8
|
+
> **Core rule:** Always respond in the same language the user writes in. Switch immediately when user switches. Code/commits/filenames stay in English.
|
|
9
|
+
|
|
8
10
|
<HARD-GATE>
|
|
9
11
|
You MUST respond in the same language the user is writing in.
|
|
10
12
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: CRITICAL — Scratch scripts must run inside workspace (.agent/tmp/), NEVER in /tmp/
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Scratch Scripts Policy
|
|
7
|
+
|
|
8
|
+
> **Core rule:** NEVER use `/tmp/` — always use `.agent/tmp/` and set `Cwd` to workspace root. `/tmp/` causes `run_command` to hang forever.
|
|
9
|
+
|
|
10
|
+
> **PRIORITY: CRITICAL** — Violating this rule causes commands to hang and freeze the conversation.
|
|
11
|
+
|
|
12
|
+
## The Rule
|
|
13
|
+
|
|
14
|
+
**NEVER create or run scratch scripts in `/tmp/`.** Always use `.agent/tmp/` instead.
|
|
15
|
+
|
|
16
|
+
Running scripts in `/tmp/` causes `run_command` to hang because `/tmp/` is outside the workspace boundary. This freezes the entire conversation with no recovery.
|
|
17
|
+
|
|
18
|
+
## Requirements
|
|
19
|
+
|
|
20
|
+
1. **Path**: All scratch/temporary scripts go in `.agent/tmp/`, NOT `/tmp/`
|
|
21
|
+
2. **Cwd**: When calling `run_command`, set `Cwd` to the **workspace root** — never to `/tmp/` or any path outside the workspace
|
|
22
|
+
3. **Create dir first**: Run `mkdir -p .agent/tmp` before writing scratch files if the directory might not exist
|
|
23
|
+
4. **Cleanup**: Delete scratch files after use when they are no longer needed
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
# ✅ CORRECT
|
|
29
|
+
Cwd: /path/to/project
|
|
30
|
+
CommandLine: node .agent/tmp/test-parser.js
|
|
31
|
+
|
|
32
|
+
# ❌ WRONG — will hang
|
|
33
|
+
Cwd: /tmp
|
|
34
|
+
CommandLine: node /tmp/test-parser.js
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Why This Matters
|
|
38
|
+
|
|
39
|
+
The `run_command` tool requires `Cwd` to be within the workspace. When scripts are placed in `/tmp/` and `Cwd` is set to `/tmp/`, the command hangs indefinitely — the agent goes silent and the user must restart the conversation.
|