ateschh-kit 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.
- package/.claude/rules/01-identity.md +32 -0
- package/.claude/rules/02-language.md +21 -0
- package/.claude/rules/03-quality.md +39 -0
- package/.claude/rules/04-completion-lock.md +38 -0
- package/.claude/rules/05-state-management.md +48 -0
- package/.claude/rules/06-requirements-lock.md +69 -0
- package/.claude/rules/07-token-management.md +56 -0
- package/.claude/settings.local.json +13 -0
- package/ARCHITECTURE.md +222 -0
- package/CHANGELOG.md +74 -0
- package/CLAUDE.md +154 -0
- package/CONTRIBUTING.md +53 -0
- package/LICENSE +21 -0
- package/README.md +145 -0
- package/README.tr.md +145 -0
- package/agents/_TEMPLATE.md +59 -0
- package/agents/architect.md +117 -0
- package/agents/coder.md +90 -0
- package/agents/debugger.md +96 -0
- package/agents/deployer.md +123 -0
- package/agents/designer.md +154 -0
- package/agents/idea-analyst.md +92 -0
- package/agents/market-researcher.md +88 -0
- package/agents/requirements-expert.md +80 -0
- package/agents/tester.md +102 -0
- package/bin/install.js +142 -0
- package/package.json +46 -0
- package/skills/architecture-design/SKILL.md +92 -0
- package/skills/context-management/SKILL.md +92 -0
- package/skills/fix-bugs/SKILL.md +67 -0
- package/skills/idea-analysis/SKILL.md +71 -0
- package/skills/market-research/SKILL.md +70 -0
- package/skills/publish/SKILL.md +80 -0
- package/skills/requirements-lock/SKILL.md +75 -0
- package/skills/run-tests/SKILL.md +70 -0
- package/skills/write-code/SKILL.md +92 -0
- package/templates/project/DECISIONS.md +24 -0
- package/templates/project/DESIGN.md +141 -0
- package/templates/project/PLAN.md +63 -0
- package/templates/project/REQUIREMENTS.md +46 -0
- package/templates/project/STATE.md +94 -0
- package/templates/project/STRUCTURE.md +89 -0
- package/workflows/_TEMPLATE.md +44 -0
- package/workflows/brainstorm.md +69 -0
- package/workflows/build.md +92 -0
- package/workflows/deploy.md +85 -0
- package/workflows/design.md +84 -0
- package/workflows/finish.md +90 -0
- package/workflows/map-codebase.md +136 -0
- package/workflows/new-project.md +96 -0
- package/workflows/next.md +79 -0
- package/workflows/quick.md +82 -0
- package/workflows/requirements.md +85 -0
- package/workflows/resume.md +55 -0
- package/workflows/save.md +111 -0
- package/workflows/settings.md +92 -0
- package/workflows/status.md +67 -0
- package/workflows/test.md +105 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "requirements-expert"
|
|
3
|
+
description: "Selects and locks the optimal tech stack based on project requirements."
|
|
4
|
+
triggered_by: ["/requirements"]
|
|
5
|
+
skills: ["requirements-lock"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Requirements Expert Agent
|
|
9
|
+
|
|
10
|
+
## Role
|
|
11
|
+
|
|
12
|
+
You are a senior software architect with expertise in modern tech stacks.
|
|
13
|
+
Your job is to select the most appropriate technologies for the project and lock them in REQUIREMENTS.md.
|
|
14
|
+
|
|
15
|
+
**You recommend and lock. You do not implement.**
|
|
16
|
+
|
|
17
|
+
## Decision Framework
|
|
18
|
+
|
|
19
|
+
### Platform First
|
|
20
|
+
|
|
21
|
+
| Target | Default Stack |
|
|
22
|
+
|--------|--------------|
|
|
23
|
+
| Web App (SaaS) | Next.js + Supabase + Vercel |
|
|
24
|
+
| Mobile (iOS/Android) | Expo + Supabase |
|
|
25
|
+
| Mobile (high performance) | React Native (bare) + Supabase |
|
|
26
|
+
| Browser Extension | Plasmo + TypeScript |
|
|
27
|
+
| Desktop | Electron or Tauri |
|
|
28
|
+
| Game | Phaser.js (browser) or Unity (native) |
|
|
29
|
+
| Backend / API only | Hono.js + Cloudflare Workers |
|
|
30
|
+
| CLI tool | Node.js + Commander |
|
|
31
|
+
|
|
32
|
+
### Selection Criteria
|
|
33
|
+
|
|
34
|
+
For each decision, evaluate:
|
|
35
|
+
1. **Ecosystem maturity** — Is it production-ready? Active community?
|
|
36
|
+
2. **Team fit** — Does the user have preference or experience?
|
|
37
|
+
3. **Scale fit** — Right tool for expected scale?
|
|
38
|
+
4. **Cost fit** — Does the pricing model work for the project?
|
|
39
|
+
5. **MCP support** — Can MCPs help with deployment, database, etc.?
|
|
40
|
+
|
|
41
|
+
### Verify with Context7
|
|
42
|
+
|
|
43
|
+
Before finalizing:
|
|
44
|
+
- Check library versions are current and compatible
|
|
45
|
+
- Verify known breaking changes between versions
|
|
46
|
+
- Confirm selected libraries work together (no conflicts)
|
|
47
|
+
|
|
48
|
+
## Output Format
|
|
49
|
+
|
|
50
|
+
Propose the stack clearly:
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Proposed Tech Stack — {project name}
|
|
54
|
+
|
|
55
|
+
### Platform
|
|
56
|
+
{Web / Mobile iOS+Android / Desktop / etc.}
|
|
57
|
+
|
|
58
|
+
### Stack
|
|
59
|
+
|
|
60
|
+
| Category | Technology | Version | Why |
|
|
61
|
+
|----------|-----------|---------|-----|
|
|
62
|
+
| Framework | Next.js | 14.x | Best for SEO + API routes built-in |
|
|
63
|
+
| Database | Supabase | latest | Postgres + auth + realtime + storage |
|
|
64
|
+
| Auth | Supabase Auth | latest | Included in Supabase, full OAuth support |
|
|
65
|
+
| UI Components | shadcn/ui | latest | Headless, fully customizable |
|
|
66
|
+
| Styling | Tailwind CSS | 3.x | Utility-first, pairs with shadcn |
|
|
67
|
+
| State | Zustand | 4.x | Minimal, no boilerplate |
|
|
68
|
+
| Deploy | Vercel | latest | One-click Next.js deploys |
|
|
69
|
+
|
|
70
|
+
### Out of Scope (v1)
|
|
71
|
+
- {feature or technology explicitly excluded}
|
|
72
|
+
- {reason}
|
|
73
|
+
|
|
74
|
+
### Known Constraints
|
|
75
|
+
- {any version pins or compatibility notes}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Ask: "Does this stack work for you? Once confirmed, it goes into REQUIREMENTS.md and is locked."
|
|
79
|
+
|
|
80
|
+
After approval, use the `requirements-lock` skill to write and lock REQUIREMENTS.md.
|
package/agents/tester.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "tester"
|
|
3
|
+
description: "Runs L1-L4 quality checks across the full application before deployment."
|
|
4
|
+
triggered_by: ["/test"]
|
|
5
|
+
skills: ["run-tests"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Tester Agent
|
|
9
|
+
|
|
10
|
+
## Role
|
|
11
|
+
|
|
12
|
+
You are a QA engineer and quality assurance specialist.
|
|
13
|
+
Your job is to find and document every defect before the application goes live.
|
|
14
|
+
|
|
15
|
+
**You test. You do not deploy (unless you're also the deployer).**
|
|
16
|
+
|
|
17
|
+
## Testing Methodology
|
|
18
|
+
|
|
19
|
+
### L1 — Syntax & Build
|
|
20
|
+
Primary check: nothing broken statically.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Run these (adapt to the project's package manager):
|
|
24
|
+
npm run build
|
|
25
|
+
npm run typecheck # or tsc --noEmit
|
|
26
|
+
npm run lint
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Pass criteria:
|
|
30
|
+
- [ ] Build exits with code 0
|
|
31
|
+
- [ ] Zero TypeScript errors
|
|
32
|
+
- [ ] Zero ESLint errors (warnings OK)
|
|
33
|
+
|
|
34
|
+
### L2 — Feature Functionality
|
|
35
|
+
Test each feature in STRUCTURE.md.
|
|
36
|
+
|
|
37
|
+
For each feature:
|
|
38
|
+
1. Describe what "working" means
|
|
39
|
+
2. Try the happy path
|
|
40
|
+
3. Try the failure path (bad input, network error, empty state)
|
|
41
|
+
4. Check edge cases
|
|
42
|
+
|
|
43
|
+
Common failures to look for:
|
|
44
|
+
- Empty state not handled (shows blank or crashes instead of "no data" message)
|
|
45
|
+
- Form submits with invalid data
|
|
46
|
+
- Navigation doesn't update correctly
|
|
47
|
+
- Auth check missing on protected route
|
|
48
|
+
|
|
49
|
+
### L3 — Integration
|
|
50
|
+
Test features working together as a system.
|
|
51
|
+
|
|
52
|
+
Scenarios to test:
|
|
53
|
+
1. **New user flow**: Sign up → verify → first action → see expected result
|
|
54
|
+
2. **Returning user flow**: Sign in → pick up where they left off
|
|
55
|
+
3. **Data flow**: Create → list → update → delete (full CRUD if applicable)
|
|
56
|
+
4. **Auth gates**: Try accessing protected routes without being signed in
|
|
57
|
+
5. **API error handling**: What happens when the server is slow or returns an error?
|
|
58
|
+
|
|
59
|
+
### L4 — Quality
|
|
60
|
+
Final polish checks before deploy.
|
|
61
|
+
|
|
62
|
+
- [ ] Mobile responsive (test at 375px, 768px, 1280px if web)
|
|
63
|
+
- [ ] Loading states visible during async operations
|
|
64
|
+
- [ ] Error messages are user-friendly (not stack traces)
|
|
65
|
+
- [ ] No `console.log` in production code
|
|
66
|
+
- [ ] Environment variables use `.env` (not hardcoded)
|
|
67
|
+
- [ ] No credentials in code
|
|
68
|
+
- [ ] Images have alt text
|
|
69
|
+
- [ ] Buttons have accessible labels
|
|
70
|
+
|
|
71
|
+
## Defect Reporting
|
|
72
|
+
|
|
73
|
+
For each issue found:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
[{Level}] {Short description}
|
|
77
|
+
|
|
78
|
+
File: {file path}:{line number}
|
|
79
|
+
Steps to reproduce:
|
|
80
|
+
1. {step}
|
|
81
|
+
2. {step}
|
|
82
|
+
|
|
83
|
+
Expected: {what should happen}
|
|
84
|
+
Actual: {what happened}
|
|
85
|
+
|
|
86
|
+
Severity: Critical / High / Medium / Low
|
|
87
|
+
Fix: {suggested fix if obvious}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Test Report
|
|
91
|
+
|
|
92
|
+
After all levels complete, generate a full test report (see `/test` workflow for format).
|
|
93
|
+
|
|
94
|
+
## Working with Debugger
|
|
95
|
+
|
|
96
|
+
When a bug needs fixing:
|
|
97
|
+
1. Write the defect report
|
|
98
|
+
2. Spawn the `debugger` agent with the full defect report
|
|
99
|
+
3. Wait for fix
|
|
100
|
+
4. Re-test the specific issue to confirm fix
|
|
101
|
+
|
|
102
|
+
Do not fix bugs yourself — that's the debugger's domain.
|
package/bin/install.js
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ateschh-kit installer
|
|
5
|
+
* Usage: npx ateschh-kit [target-directory]
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const fs = require('fs')
|
|
9
|
+
const path = require('path')
|
|
10
|
+
const { execSync } = require('child_process')
|
|
11
|
+
|
|
12
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
13
|
+
|
|
14
|
+
function log(msg) { console.log(msg) }
|
|
15
|
+
function success(msg) { console.log(`\x1b[32m✅ ${msg}\x1b[0m`) }
|
|
16
|
+
function info(msg) { console.log(`\x1b[36mℹ ${msg}\x1b[0m`) }
|
|
17
|
+
function warn(msg) { console.log(`\x1b[33m⚠ ${msg}\x1b[0m`) }
|
|
18
|
+
function error(msg) { console.error(`\x1b[31m✗ ${msg}\x1b[0m`) }
|
|
19
|
+
|
|
20
|
+
function copyDir(src, dest) {
|
|
21
|
+
if (!fs.existsSync(dest)) {
|
|
22
|
+
fs.mkdirSync(dest, { recursive: true })
|
|
23
|
+
}
|
|
24
|
+
const entries = fs.readdirSync(src, { withFileTypes: true })
|
|
25
|
+
for (const entry of entries) {
|
|
26
|
+
const srcPath = path.join(src, entry.name)
|
|
27
|
+
const destPath = path.join(dest, entry.name)
|
|
28
|
+
if (entry.isDirectory()) {
|
|
29
|
+
copyDir(srcPath, destPath)
|
|
30
|
+
} else {
|
|
31
|
+
fs.copyFileSync(srcPath, destPath)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function copyFile(src, dest) {
|
|
37
|
+
const destDir = path.dirname(dest)
|
|
38
|
+
if (!fs.existsSync(destDir)) {
|
|
39
|
+
fs.mkdirSync(destDir, { recursive: true })
|
|
40
|
+
}
|
|
41
|
+
fs.copyFileSync(src, dest)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// ── Main ─────────────────────────────────────────────────────────────────────
|
|
45
|
+
|
|
46
|
+
async function main() {
|
|
47
|
+
const args = process.argv.slice(2)
|
|
48
|
+
const targetDir = args[0] ? path.resolve(args[0]) : process.cwd()
|
|
49
|
+
const kitDir = path.resolve(__dirname, '..')
|
|
50
|
+
|
|
51
|
+
log('')
|
|
52
|
+
log('\x1b[1m🚀 ateschh-kit installer\x1b[0m')
|
|
53
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━')
|
|
54
|
+
log(`Installing to: ${targetDir}`)
|
|
55
|
+
log('')
|
|
56
|
+
|
|
57
|
+
// Check if already installed
|
|
58
|
+
if (fs.existsSync(path.join(targetDir, 'CLAUDE.md'))) {
|
|
59
|
+
warn('CLAUDE.md already exists in this directory.')
|
|
60
|
+
warn('Use --force to overwrite.')
|
|
61
|
+
if (!args.includes('--force')) {
|
|
62
|
+
process.exit(0)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
// Copy core files
|
|
68
|
+
info('Copying CLAUDE.md...')
|
|
69
|
+
copyFile(path.join(kitDir, 'CLAUDE.md'), path.join(targetDir, 'CLAUDE.md'))
|
|
70
|
+
|
|
71
|
+
info('Copying .claude/rules/ ...')
|
|
72
|
+
copyDir(path.join(kitDir, '.claude'), path.join(targetDir, '.claude'))
|
|
73
|
+
|
|
74
|
+
info('Copying workflows/ ...')
|
|
75
|
+
copyDir(path.join(kitDir, 'workflows'), path.join(targetDir, 'workflows'))
|
|
76
|
+
|
|
77
|
+
info('Copying agents/ ...')
|
|
78
|
+
copyDir(path.join(kitDir, 'agents'), path.join(targetDir, 'agents'))
|
|
79
|
+
|
|
80
|
+
info('Copying skills/ ...')
|
|
81
|
+
copyDir(path.join(kitDir, 'skills'), path.join(targetDir, 'skills'))
|
|
82
|
+
|
|
83
|
+
info('Copying templates/ ...')
|
|
84
|
+
copyDir(path.join(kitDir, 'templates'), path.join(targetDir, 'templates'))
|
|
85
|
+
|
|
86
|
+
// Create runtime directories
|
|
87
|
+
const dirs = ['.state', 'projects', 'archive']
|
|
88
|
+
for (const dir of dirs) {
|
|
89
|
+
const dirPath = path.join(targetDir, dir)
|
|
90
|
+
if (!fs.existsSync(dirPath)) {
|
|
91
|
+
fs.mkdirSync(dirPath, { recursive: true })
|
|
92
|
+
info(`Created ${dir}/`)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Create .gitignore additions
|
|
97
|
+
const gitignorePath = path.join(targetDir, '.gitignore')
|
|
98
|
+
const gitignoreAdditions = `
|
|
99
|
+
# ateschh-kit runtime files
|
|
100
|
+
.state/
|
|
101
|
+
projects/
|
|
102
|
+
archive/
|
|
103
|
+
`
|
|
104
|
+
if (fs.existsSync(gitignorePath)) {
|
|
105
|
+
const existing = fs.readFileSync(gitignorePath, 'utf8')
|
|
106
|
+
if (!existing.includes('.state/')) {
|
|
107
|
+
fs.appendFileSync(gitignorePath, gitignoreAdditions)
|
|
108
|
+
info('Updated .gitignore')
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
fs.writeFileSync(gitignorePath, gitignoreAdditions.trim() + '\n')
|
|
112
|
+
info('Created .gitignore')
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Create initial ACTIVE-PROJECT.md
|
|
116
|
+
const activeProjectPath = path.join(targetDir, '.state', 'ACTIVE-PROJECT.md')
|
|
117
|
+
if (!fs.existsSync(activeProjectPath)) {
|
|
118
|
+
fs.writeFileSync(activeProjectPath, `# Active Project\n\n(No active project)\n\nRun \`/new-project\` to get started.\n`)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
log('')
|
|
122
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━')
|
|
123
|
+
success('ateschh-kit installed!')
|
|
124
|
+
log('')
|
|
125
|
+
log('Next steps:')
|
|
126
|
+
log(' 1. Open this directory in Claude Code or Antigravity')
|
|
127
|
+
log(' 2. Type: /new-project')
|
|
128
|
+
log(' 3. Describe your idea')
|
|
129
|
+
log('')
|
|
130
|
+
log('Available commands:')
|
|
131
|
+
log(' /new-project /brainstorm /requirements')
|
|
132
|
+
log(' /design /build /test /deploy')
|
|
133
|
+
log(' /next /quick /status /map-codebase')
|
|
134
|
+
log('')
|
|
135
|
+
|
|
136
|
+
} catch (err) {
|
|
137
|
+
error(`Installation failed: ${err.message}`)
|
|
138
|
+
process.exit(1)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
main()
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ateschh-kit",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A structured AI development system for Claude Code and Antigravity",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"claude",
|
|
7
|
+
"claude-code",
|
|
8
|
+
"antigravity",
|
|
9
|
+
"ai",
|
|
10
|
+
"development",
|
|
11
|
+
"workflow",
|
|
12
|
+
"agents",
|
|
13
|
+
"cursor",
|
|
14
|
+
"windsurf"
|
|
15
|
+
],
|
|
16
|
+
"homepage": "https://github.com/ateschh/ateschh-kit",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/ateschh/ateschh-kit.git"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"bin": {
|
|
23
|
+
"ateschh-kit": "bin/install.js"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"test": "echo \"No automated tests yet\""
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18.0.0"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"bin/",
|
|
33
|
+
"agents/",
|
|
34
|
+
"skills/",
|
|
35
|
+
"workflows/",
|
|
36
|
+
"templates/",
|
|
37
|
+
".claude/",
|
|
38
|
+
"CLAUDE.md",
|
|
39
|
+
"ARCHITECTURE.md",
|
|
40
|
+
"README.md",
|
|
41
|
+
"README.tr.md",
|
|
42
|
+
"CHANGELOG.md",
|
|
43
|
+
"CONTRIBUTING.md",
|
|
44
|
+
"LICENSE"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "architecture-design"
|
|
3
|
+
description: "Creates STRUCTURE.md (pages/features) and DESIGN.md (visual system), and PLAN.md (task list)"
|
|
4
|
+
used_by: ["architect", "designer"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Architecture & Design
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Produce three locked documents that define what will be built and how it will look.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
1. **STRUCTURE.md** — App structure, pages, features, navigation (architect produces this)
|
|
16
|
+
2. **DESIGN.md** — Colors, typography, spacing, component style (designer produces this)
|
|
17
|
+
3. **PLAN.md** — Ordered task list derived from STRUCTURE.md (architect produces this)
|
|
18
|
+
|
|
19
|
+
## STRUCTURE.md Template
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
# App Structure — {project name}
|
|
23
|
+
|
|
24
|
+
**Status**: APPROVED ✅
|
|
25
|
+
**Approved on**: {date}
|
|
26
|
+
|
|
27
|
+
## Golden Path
|
|
28
|
+
{start screen} → {core action} → {success state}
|
|
29
|
+
|
|
30
|
+
## Auth Boundary
|
|
31
|
+
- **Public**: {list of public pages}
|
|
32
|
+
- **Protected**: {list of protected pages}
|
|
33
|
+
|
|
34
|
+
## Pages
|
|
35
|
+
|
|
36
|
+
### {page-name}
|
|
37
|
+
**Route**: /{route} (or Screen: {name} for mobile)
|
|
38
|
+
**Purpose**: {one sentence}
|
|
39
|
+
|
|
40
|
+
**Must-have (MVP)**:
|
|
41
|
+
- {feature}
|
|
42
|
+
- {feature}
|
|
43
|
+
|
|
44
|
+
**Nice-to-have (v2)**:
|
|
45
|
+
- {feature}
|
|
46
|
+
|
|
47
|
+
**Data**:
|
|
48
|
+
- Reads: {data sources}
|
|
49
|
+
- Writes: {what is created/modified}
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
{repeat for each page}
|
|
53
|
+
|
|
54
|
+
## Navigation
|
|
55
|
+
{Describe how pages connect — list or diagram}
|
|
56
|
+
|
|
57
|
+
## API Routes (if applicable)
|
|
58
|
+
- `GET /api/{resource}` — {purpose}
|
|
59
|
+
- `POST /api/{resource}` — {purpose}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## PLAN.md Template
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
# Build Plan — {project name}
|
|
66
|
+
|
|
67
|
+
**Status**: APPROVED ✅
|
|
68
|
+
**Approved on**: {date}
|
|
69
|
+
|
|
70
|
+
## Phase 4 — Build Tasks
|
|
71
|
+
|
|
72
|
+
### 🛠 Setup
|
|
73
|
+
- [ ] Initialize {framework} project
|
|
74
|
+
- [ ] Install all dependencies from REQUIREMENTS.md
|
|
75
|
+
- [ ] Configure environment variables
|
|
76
|
+
- [ ] Set up database schema
|
|
77
|
+
|
|
78
|
+
### 📄 {Page/Feature Name} — {S/M/L}
|
|
79
|
+
- [ ] {specific task}
|
|
80
|
+
- [ ] {specific task}
|
|
81
|
+
|
|
82
|
+
### 📄 {Page/Feature Name}
|
|
83
|
+
- [ ] {specific task}
|
|
84
|
+
|
|
85
|
+
### 🔗 Integration
|
|
86
|
+
- [ ] End-to-end auth flow
|
|
87
|
+
- [ ] API connections tested
|
|
88
|
+
- [ ] Final responsive pass
|
|
89
|
+
|
|
90
|
+
## Sizing Guide
|
|
91
|
+
S = ~15 min | M = ~30 min | L = ~1 hour
|
|
92
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "context-management"
|
|
3
|
+
description: "Save and restore project context across sessions and platforms"
|
|
4
|
+
used_by: ["orchestrator (main session)"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Context Management
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Prevent context rot and enable seamless continuation across sessions or platforms.
|
|
12
|
+
|
|
13
|
+
## Save Protocol
|
|
14
|
+
|
|
15
|
+
### When to Save
|
|
16
|
+
|
|
17
|
+
- Before ending a session
|
|
18
|
+
- When context > 50% full (DEGRADING zone)
|
|
19
|
+
- Before switching to another AI platform
|
|
20
|
+
|
|
21
|
+
### What to Save
|
|
22
|
+
|
|
23
|
+
1. **Session file** (`projects/{name}/sessions/session-NNN.md`):
|
|
24
|
+
- What was done this session
|
|
25
|
+
- Current phase and task
|
|
26
|
+
- Files changed
|
|
27
|
+
- Decisions made
|
|
28
|
+
- Blockers or open questions
|
|
29
|
+
|
|
30
|
+
2. **Active context** (`.state/ACTIVE_CONTEXT.md`):
|
|
31
|
+
- 1-page summary of current project state
|
|
32
|
+
- Written for a fresh session to pick up immediately
|
|
33
|
+
|
|
34
|
+
3. **Session log** (`.state/SESSION-LOG.md`):
|
|
35
|
+
- One-line entry per session
|
|
36
|
+
- Running history of all work
|
|
37
|
+
|
|
38
|
+
### ACTIVE_CONTEXT.md Format
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Active Context — {date} {time}
|
|
42
|
+
|
|
43
|
+
**Project**: {name}
|
|
44
|
+
**Phase**: {N}/6 — {phase name}
|
|
45
|
+
|
|
46
|
+
## Status in 3 lines
|
|
47
|
+
- Done: {last completed task}
|
|
48
|
+
- Next: {very next task}
|
|
49
|
+
- Blocked: {blocker or "None"}
|
|
50
|
+
|
|
51
|
+
## What's been built
|
|
52
|
+
{bullet list of completed features}
|
|
53
|
+
|
|
54
|
+
## Key decisions (don't re-discuss)
|
|
55
|
+
- {decision}: {why}
|
|
56
|
+
|
|
57
|
+
## Important file locations
|
|
58
|
+
- Requirements: projects/{name}/REQUIREMENTS.md
|
|
59
|
+
- Design: projects/{name}/DESIGN.md
|
|
60
|
+
- Plan: projects/{name}/PLAN.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Restore Protocol
|
|
64
|
+
|
|
65
|
+
### On `/resume`
|
|
66
|
+
|
|
67
|
+
1. Read `.state/ACTIVE_CONTEXT.md` (primary source)
|
|
68
|
+
2. Read `projects/{name}/STATE.md` (current progress)
|
|
69
|
+
3. Read latest session file (recent decisions)
|
|
70
|
+
4. Summarize to user in 3 lines
|
|
71
|
+
5. Ask: "Continue with {next task}?"
|
|
72
|
+
|
|
73
|
+
### Cross-Platform (Claude Code ↔ Antigravity)
|
|
74
|
+
|
|
75
|
+
Both platforms read the same file system.
|
|
76
|
+
The only difference is `MEMORY.md` behavior:
|
|
77
|
+
- **Claude Code**: add `MEMORY.md` path to Claude's memory
|
|
78
|
+
- **Antigravity**: the context-agent handles memory automatically
|
|
79
|
+
|
|
80
|
+
Either way, `/save` + `/resume` handles the transition.
|
|
81
|
+
|
|
82
|
+
## Context Health Monitoring
|
|
83
|
+
|
|
84
|
+
| Zone | Token Usage | Action |
|
|
85
|
+
|------|------------|--------|
|
|
86
|
+
| PEAK | 0–30% | Normal |
|
|
87
|
+
| GOOD | 30–50% | Prefer delegation |
|
|
88
|
+
| DEGRADING | 50–70% | Warn user, checkpoint |
|
|
89
|
+
| POOR | 70%+ | `/save` immediately |
|
|
90
|
+
|
|
91
|
+
At DEGRADING: "Context window is getting full — I recommend running `/save` soon."
|
|
92
|
+
At POOR: Stop, run `/save`, ask user to start new session.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "fix-bugs"
|
|
3
|
+
description: "Root cause diagnosis and minimal targeted fix for reported defects"
|
|
4
|
+
used_by: ["debugger"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Fix Bugs
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
### 1. Reproduce
|
|
12
|
+
|
|
13
|
+
Follow the exact steps from the defect report.
|
|
14
|
+
If you can't reproduce: ask for more context. Never fix what you can't see.
|
|
15
|
+
|
|
16
|
+
### 2. Isolate
|
|
17
|
+
|
|
18
|
+
| Question | Why it matters |
|
|
19
|
+
|----------|---------------|
|
|
20
|
+
| Frontend or backend? | Narrows search space |
|
|
21
|
+
| Every time or sometimes? | Suggests race condition or state issue |
|
|
22
|
+
| After what action? | Points to the trigger |
|
|
23
|
+
| Only for certain users? | Suggests auth/permission problem |
|
|
24
|
+
|
|
25
|
+
### 3. Diagnose
|
|
26
|
+
|
|
27
|
+
Common patterns:
|
|
28
|
+
|
|
29
|
+
| Symptom | Root cause |
|
|
30
|
+
|---------|-----------|
|
|
31
|
+
| `undefined is not an object` | Missing null check or async race |
|
|
32
|
+
| `401 Unauthorized` | Token expired or header wrong |
|
|
33
|
+
| Infinite re-render | `useEffect` dependency instability |
|
|
34
|
+
| Data doesn't update | Cache stale, state not invalidated |
|
|
35
|
+
| CORS error | Server missing CORS header |
|
|
36
|
+
| Build fails | Env var missing, version conflict |
|
|
37
|
+
| Hydration mismatch | Server vs client render difference |
|
|
38
|
+
|
|
39
|
+
### 4. Fix
|
|
40
|
+
|
|
41
|
+
Minimal and targeted:
|
|
42
|
+
- Fix the root cause (not a workaround)
|
|
43
|
+
- Touch as few files as possible
|
|
44
|
+
- Don't add features or refactor while fixing
|
|
45
|
+
|
|
46
|
+
### 5. Verify
|
|
47
|
+
|
|
48
|
+
- Re-run reproduction steps → bug gone
|
|
49
|
+
- Run L1 → build still clean
|
|
50
|
+
- Check adjacent code for same pattern
|
|
51
|
+
|
|
52
|
+
### 6. Escalate if Stuck
|
|
53
|
+
|
|
54
|
+
After 2 attempts with no fix:
|
|
55
|
+
```
|
|
56
|
+
I've tried:
|
|
57
|
+
1. {attempt}: {result}
|
|
58
|
+
2. {attempt}: {result}
|
|
59
|
+
|
|
60
|
+
The issue appears to be: {hypothesis}
|
|
61
|
+
|
|
62
|
+
Options:
|
|
63
|
+
A. {option}: {tradeoff}
|
|
64
|
+
B. {option}: {tradeoff}
|
|
65
|
+
|
|
66
|
+
Which should I try?
|
|
67
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "idea-analysis"
|
|
3
|
+
description: "5-question Socratic analysis to validate an idea before building"
|
|
4
|
+
used_by: ["idea-analyst"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Idea Analysis
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Deeply understand an idea before committing to any technology or design decisions.
|
|
12
|
+
|
|
13
|
+
## The 5 Questions
|
|
14
|
+
|
|
15
|
+
Ask one at a time. Read the answer carefully before asking the next.
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Q1 — PROBLEM
|
|
19
|
+
"What specific problem does this solve? Who experiences this daily?"
|
|
20
|
+
|
|
21
|
+
Q2 — ROOT CAUSE
|
|
22
|
+
"Why does this problem exist? Why hasn't someone already fixed it?"
|
|
23
|
+
|
|
24
|
+
Q3 — SOLUTION
|
|
25
|
+
"Why is your approach better than current alternatives?"
|
|
26
|
+
|
|
27
|
+
Q4 — TARGET USER
|
|
28
|
+
"Who is the exact person who would use this? Describe them specifically."
|
|
29
|
+
|
|
30
|
+
Q5 — SUCCESS
|
|
31
|
+
"What does success look like in 6 months? How would you measure it?"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Evaluation Criteria
|
|
35
|
+
|
|
36
|
+
After all 5 answers:
|
|
37
|
+
|
|
38
|
+
| Signal | Green | Red |
|
|
39
|
+
|--------|-------|-----|
|
|
40
|
+
| Problem clarity | Specific, real pain | Vague, hypothetical |
|
|
41
|
+
| Market | Users exist now | "Everyone would want this" |
|
|
42
|
+
| Differentiation | Clear advantage | "Like X but better" |
|
|
43
|
+
| Success | Measurable metric | "Lots of users" |
|
|
44
|
+
| Scope | Achievable v1 | Requires everything at once |
|
|
45
|
+
|
|
46
|
+
## Output Template
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
## Idea Analysis — {date}
|
|
50
|
+
|
|
51
|
+
**Verdict**: ✅ Strong / ⚠️ Needs clarity / ❌ Fundamental issue
|
|
52
|
+
|
|
53
|
+
### Core Problem
|
|
54
|
+
{1-2 sentences}
|
|
55
|
+
|
|
56
|
+
### Target User
|
|
57
|
+
{specific persona with pain point}
|
|
58
|
+
|
|
59
|
+
### Solution
|
|
60
|
+
{what this does differently}
|
|
61
|
+
|
|
62
|
+
### Value Proposition
|
|
63
|
+
{why users will choose this}
|
|
64
|
+
|
|
65
|
+
### Success Metrics
|
|
66
|
+
{measurable outcomes}
|
|
67
|
+
|
|
68
|
+
### Key Risks
|
|
69
|
+
1. {risk}
|
|
70
|
+
2. {risk}
|
|
71
|
+
```
|