opencode-goopspec 0.1.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/LICENSE +21 -0
- package/README.md +650 -0
- package/agents/goop-debugger.md +265 -0
- package/agents/goop-designer.md +244 -0
- package/agents/goop-executor.md +217 -0
- package/agents/goop-explorer.md +252 -0
- package/agents/goop-librarian.md +197 -0
- package/agents/goop-orchestrator.md +224 -0
- package/agents/goop-planner.md +231 -0
- package/agents/goop-researcher.md +246 -0
- package/agents/goop-tester.md +245 -0
- package/agents/goop-verifier.md +266 -0
- package/agents/goop-writer.md +293 -0
- package/agents/memory-distiller.md +226 -0
- package/commands/goop-accept.md +183 -0
- package/commands/goop-amend.md +175 -0
- package/commands/goop-complete.md +206 -0
- package/commands/goop-debug.md +318 -0
- package/commands/goop-discuss.md +138 -0
- package/commands/goop-execute.md +137 -0
- package/commands/goop-help.md +82 -0
- package/commands/goop-map-codebase.md +501 -0
- package/commands/goop-memory.md +66 -0
- package/commands/goop-milestone.md +213 -0
- package/commands/goop-pause.md +61 -0
- package/commands/goop-plan.md +78 -0
- package/commands/goop-quick.md +165 -0
- package/commands/goop-recall.md +48 -0
- package/commands/goop-remember.md +71 -0
- package/commands/goop-research.md +98 -0
- package/commands/goop-resume.md +57 -0
- package/commands/goop-setup.md +208 -0
- package/commands/goop-specify.md +145 -0
- package/commands/goop-status.md +153 -0
- package/dist/index.js +31017 -0
- package/dist/memory/index.js +48752 -0
- package/package.json +73 -0
- package/references/agent-patterns.md +334 -0
- package/references/boundary-system.md +141 -0
- package/references/deviation-rules.md +80 -0
- package/references/dispatch-patterns.md +176 -0
- package/references/model-profiles.md +109 -0
- package/references/orchestrator-philosophy.md +280 -0
- package/references/security-checklist.md +163 -0
- package/references/subagent-protocol.md +393 -0
- package/references/tdd.md +231 -0
- package/references/ui-brand.md +261 -0
- package/references/workflow-accept.md +325 -0
- package/references/workflow-execute.md +315 -0
- package/references/workflow-plan.md +179 -0
- package/references/workflow-research.md +234 -0
- package/references/workflow-specify.md +278 -0
- package/skills/README.md +362 -0
- package/skills/accessibility/skill.md +41 -0
- package/skills/accessibility-testing/skill.md +47 -0
- package/skills/api-docs/skill.md +50 -0
- package/skills/architecture-design/skill.md +168 -0
- package/skills/atomic-commits/skill.md +53 -0
- package/skills/code-review/skill.md +59 -0
- package/skills/codebase-mapping/skill.md +54 -0
- package/skills/convention-detection/skill.md +68 -0
- package/skills/debugging/skill.md +59 -0
- package/skills/deviation-handling/skill.md +187 -0
- package/skills/documentation/skill.md +213 -0
- package/skills/goop-core/skill.md +383 -0
- package/skills/memory-usage/skill.md +208 -0
- package/skills/parallel-planning/skill.md +170 -0
- package/skills/pattern-extraction/skill.md +73 -0
- package/skills/performance-optimization/skill.md +188 -0
- package/skills/playwright/skill.md +69 -0
- package/skills/playwright-testing/skill.md +93 -0
- package/skills/progress-tracking/skill.md +155 -0
- package/skills/readme-generation/skill.md +87 -0
- package/skills/research/skill.md +161 -0
- package/skills/responsive-design/skill.md +76 -0
- package/skills/scientific-method/skill.md +67 -0
- package/skills/security-audit/skill.md +152 -0
- package/skills/task-decomposition/skill.md +153 -0
- package/skills/task-delegation/skill.md +127 -0
- package/skills/technical-writing/skill.md +69 -0
- package/skills/testing/skill.md +202 -0
- package/skills/ui-design/skill.md +73 -0
- package/skills/ux-patterns/skill.md +82 -0
- package/skills/verification/skill.md +178 -0
- package/skills/visual-regression/skill.md +86 -0
- package/templates/blueprint.md +141 -0
- package/templates/chronicle.md +156 -0
- package/templates/milestone.md +131 -0
- package/templates/research.md +117 -0
- package/templates/retrospective.md +188 -0
- package/templates/spec.md +103 -0
- package/templates/summary.md +202 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progress-tracking
|
|
3
|
+
description: Track and report progress across phases and tasks
|
|
4
|
+
category: core
|
|
5
|
+
triggers:
|
|
6
|
+
- progress
|
|
7
|
+
- status
|
|
8
|
+
- track
|
|
9
|
+
- todo
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
requires:
|
|
12
|
+
- goop-core
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Progress Tracking Skill
|
|
16
|
+
|
|
17
|
+
## State Hierarchy
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Project
|
|
21
|
+
└── Milestone
|
|
22
|
+
└── Phase
|
|
23
|
+
└── Plan
|
|
24
|
+
└── Task
|
|
25
|
+
└── Todo
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Tracking Files
|
|
29
|
+
|
|
30
|
+
### STATE.md
|
|
31
|
+
|
|
32
|
+
Central state file at `.goopspec/STATE.md`:
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
# Project State
|
|
36
|
+
|
|
37
|
+
**Status:** Active
|
|
38
|
+
**Current Phase:** 2
|
|
39
|
+
**Current Plan:** feature-auth
|
|
40
|
+
|
|
41
|
+
## Progress
|
|
42
|
+
|
|
43
|
+
| Phase | Status | Tasks | Completion |
|
|
44
|
+
|-------|--------|-------|------------|
|
|
45
|
+
| 1 | Complete | 5/5 | 100% |
|
|
46
|
+
| 2 | In Progress | 2/4 | 50% |
|
|
47
|
+
| 3 | Pending | 0/3 | 0% |
|
|
48
|
+
|
|
49
|
+
## Active Todos
|
|
50
|
+
|
|
51
|
+
- [ ] Implement login endpoint
|
|
52
|
+
- [x] Create user model
|
|
53
|
+
- [ ] Add session management
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Checkpoints
|
|
57
|
+
|
|
58
|
+
Saved at `.goopspec/checkpoints/{id}.json`:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"id": "chk-abc123",
|
|
63
|
+
"timestamp": "2024-01-15T10:30:00Z",
|
|
64
|
+
"phase": "2",
|
|
65
|
+
"spec_file": ".goopspec/phases/phase-2/SPEC.md",
|
|
66
|
+
"todos": [
|
|
67
|
+
{ "id": "1", "content": "Implement login", "status": "in_progress" }
|
|
68
|
+
],
|
|
69
|
+
"modified_files": ["src/auth/login.ts"],
|
|
70
|
+
"context_usage": 45
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Progress Updates
|
|
75
|
+
|
|
76
|
+
### After Each Task
|
|
77
|
+
|
|
78
|
+
1. Update todo status
|
|
79
|
+
2. Record modified files
|
|
80
|
+
3. Update STATE.md completion percentage
|
|
81
|
+
4. Save checkpoint if configured
|
|
82
|
+
|
|
83
|
+
### After Each Plan
|
|
84
|
+
|
|
85
|
+
1. Mark plan as complete in state
|
|
86
|
+
2. Generate SUMMARY.md
|
|
87
|
+
3. Update phase progress
|
|
88
|
+
4. Commit state changes
|
|
89
|
+
|
|
90
|
+
### After Each Phase
|
|
91
|
+
|
|
92
|
+
1. Run verification against must-haves
|
|
93
|
+
2. Generate phase summary
|
|
94
|
+
3. Update milestone progress
|
|
95
|
+
4. Confirm with user before next phase
|
|
96
|
+
|
|
97
|
+
## Using goop_checkpoint Tool
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
// Save checkpoint
|
|
101
|
+
goop_checkpoint({
|
|
102
|
+
action: "save",
|
|
103
|
+
name: "Before auth implementation"
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
// Load checkpoint
|
|
107
|
+
goop_checkpoint({
|
|
108
|
+
action: "load",
|
|
109
|
+
checkpoint_id: "chk-abc123"
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
// List checkpoints
|
|
113
|
+
goop_checkpoint({
|
|
114
|
+
action: "list"
|
|
115
|
+
})
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Progress Visualization
|
|
119
|
+
|
|
120
|
+
### Console Output
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
⬢ GoopSpec · Phase 2 Progress
|
|
124
|
+
──────────────────────────────────────────────────────
|
|
125
|
+
|
|
126
|
+
Plan: feature-auth (2/4 tasks)
|
|
127
|
+
████████████░░░░░░░░░░░░░░░░░ 50%
|
|
128
|
+
|
|
129
|
+
☑ Task 1: Create user model
|
|
130
|
+
◉ Task 2: Implement login
|
|
131
|
+
○ Task 3: Add session management
|
|
132
|
+
○ Task 4: Write auth tests
|
|
133
|
+
|
|
134
|
+
Time elapsed: 15m
|
|
135
|
+
Estimated remaining: 20m
|
|
136
|
+
|
|
137
|
+
──────────────────────────────────────────────────────
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Metrics
|
|
141
|
+
|
|
142
|
+
Track these metrics:
|
|
143
|
+
- Tasks completed per hour
|
|
144
|
+
- Average task duration
|
|
145
|
+
- Deviation frequency
|
|
146
|
+
- Checkpoint frequency
|
|
147
|
+
- Context usage over time
|
|
148
|
+
|
|
149
|
+
## Best Practices
|
|
150
|
+
|
|
151
|
+
1. **Atomic updates:** Update state after each task, not batch
|
|
152
|
+
2. **Checkpoint often:** Before risky operations
|
|
153
|
+
3. **Clear status:** Use unambiguous status values
|
|
154
|
+
4. **Verify completions:** Don't mark done until verified
|
|
155
|
+
5. **Time tracking:** Log start/end for estimates
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: readme-generation
|
|
3
|
+
description: Create comprehensive, user-friendly README files that help users quickly understand and use a project.
|
|
4
|
+
category: docs
|
|
5
|
+
triggers:
|
|
6
|
+
- readme
|
|
7
|
+
- documentation
|
|
8
|
+
- onboarding
|
|
9
|
+
- usage
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# README Generation Skill
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
Create comprehensive, user-friendly README files that help users quickly understand and use a project.
|
|
17
|
+
|
|
18
|
+
## README Structure
|
|
19
|
+
|
|
20
|
+
### 1. Header
|
|
21
|
+
- Project name and logo (if applicable)
|
|
22
|
+
- One-line description
|
|
23
|
+
- Badges (build status, version, license)
|
|
24
|
+
|
|
25
|
+
### 2. Quick Start
|
|
26
|
+
- Installation command
|
|
27
|
+
- Basic usage example
|
|
28
|
+
- Link to documentation
|
|
29
|
+
|
|
30
|
+
### 3. Features
|
|
31
|
+
- Key capabilities (bulleted list)
|
|
32
|
+
- What makes this project useful
|
|
33
|
+
|
|
34
|
+
### 4. Installation
|
|
35
|
+
- Prerequisites
|
|
36
|
+
- Step-by-step installation
|
|
37
|
+
- Configuration options
|
|
38
|
+
|
|
39
|
+
### 5. Usage
|
|
40
|
+
- Common use cases with code examples
|
|
41
|
+
- API overview (if applicable)
|
|
42
|
+
- Configuration reference
|
|
43
|
+
|
|
44
|
+
### 6. Contributing
|
|
45
|
+
- How to contribute
|
|
46
|
+
- Development setup
|
|
47
|
+
- Code style guidelines
|
|
48
|
+
|
|
49
|
+
### 7. License
|
|
50
|
+
- License type
|
|
51
|
+
- Copyright notice
|
|
52
|
+
|
|
53
|
+
## Best Practices
|
|
54
|
+
|
|
55
|
+
1. **Be Concise** - Get to the point quickly
|
|
56
|
+
2. **Show, Don't Tell** - Use code examples
|
|
57
|
+
3. **Update Regularly** - Keep docs current
|
|
58
|
+
4. **Test Examples** - Ensure code snippets work
|
|
59
|
+
5. **Consider Audience** - Write for your users' skill level
|
|
60
|
+
|
|
61
|
+
## Template
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# Project Name
|
|
65
|
+
|
|
66
|
+
Brief description of what this project does.
|
|
67
|
+
|
|
68
|
+
## Quick Start
|
|
69
|
+
|
|
70
|
+
\`\`\`bash
|
|
71
|
+
npm install project-name
|
|
72
|
+
\`\`\`
|
|
73
|
+
|
|
74
|
+
\`\`\`javascript
|
|
75
|
+
import { thing } from 'project-name';
|
|
76
|
+
thing.doSomething();
|
|
77
|
+
\`\`\`
|
|
78
|
+
|
|
79
|
+
## Features
|
|
80
|
+
|
|
81
|
+
- Feature one
|
|
82
|
+
- Feature two
|
|
83
|
+
|
|
84
|
+
## License
|
|
85
|
+
|
|
86
|
+
MIT
|
|
87
|
+
```
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: Research technologies, patterns, and best practices
|
|
4
|
+
category: core
|
|
5
|
+
triggers:
|
|
6
|
+
- research
|
|
7
|
+
- investigate
|
|
8
|
+
- explore
|
|
9
|
+
- learn
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
requires:
|
|
12
|
+
- goop-core
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Research Skill
|
|
16
|
+
|
|
17
|
+
## Research Methodology
|
|
18
|
+
|
|
19
|
+
### 1. Define Scope
|
|
20
|
+
What specific question needs answering?
|
|
21
|
+
|
|
22
|
+
### 2. Identify Sources
|
|
23
|
+
- Official documentation (Context7)
|
|
24
|
+
- Community resources (Exa search)
|
|
25
|
+
- Example repositories
|
|
26
|
+
- Expert articles
|
|
27
|
+
|
|
28
|
+
### 3. Gather Information
|
|
29
|
+
- Use multiple sources
|
|
30
|
+
- Note contradictions
|
|
31
|
+
- Track source reliability
|
|
32
|
+
|
|
33
|
+
### 4. Synthesize Findings
|
|
34
|
+
- Identify patterns
|
|
35
|
+
- Extract actionable recommendations
|
|
36
|
+
- Flag uncertainties
|
|
37
|
+
|
|
38
|
+
### 5. Document Results
|
|
39
|
+
Create RESEARCH.md with findings.
|
|
40
|
+
|
|
41
|
+
## Research Tools
|
|
42
|
+
|
|
43
|
+
### Context7 (Official Docs)
|
|
44
|
+
```typescript
|
|
45
|
+
// Resolve library ID first
|
|
46
|
+
context7_resolve_library_id({
|
|
47
|
+
query: "how to implement auth in Next.js",
|
|
48
|
+
libraryName: "next.js"
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
// Query documentation
|
|
52
|
+
context7_query_docs({
|
|
53
|
+
libraryId: "/vercel/next.js",
|
|
54
|
+
query: "authentication middleware"
|
|
55
|
+
})
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Exa Search (Web)
|
|
59
|
+
```typescript
|
|
60
|
+
web_search_exa({
|
|
61
|
+
query: "Next.js authentication best practices 2024",
|
|
62
|
+
numResults: 5
|
|
63
|
+
})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Web Fetch (Deep Dive)
|
|
67
|
+
```typescript
|
|
68
|
+
webfetch({
|
|
69
|
+
url: "https://example.com/article",
|
|
70
|
+
format: "markdown"
|
|
71
|
+
})
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Research Areas
|
|
75
|
+
|
|
76
|
+
### Stack Discovery
|
|
77
|
+
- Core libraries and frameworks
|
|
78
|
+
- Build tools and bundlers
|
|
79
|
+
- Testing frameworks
|
|
80
|
+
- Development tools
|
|
81
|
+
|
|
82
|
+
### Architecture Patterns
|
|
83
|
+
- Common patterns for domain
|
|
84
|
+
- Best practices
|
|
85
|
+
- Project structure conventions
|
|
86
|
+
|
|
87
|
+
### Pitfalls
|
|
88
|
+
- Common mistakes
|
|
89
|
+
- Performance issues
|
|
90
|
+
- Security vulnerabilities
|
|
91
|
+
- Maintenance traps
|
|
92
|
+
|
|
93
|
+
### Expert Resources
|
|
94
|
+
- Official documentation
|
|
95
|
+
- Community guides
|
|
96
|
+
- Reference implementations
|
|
97
|
+
|
|
98
|
+
## RESEARCH.md Template
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
# Research: {Topic}
|
|
102
|
+
|
|
103
|
+
**Domain:** {Technology area}
|
|
104
|
+
**Date:** {YYYY-MM-DD}
|
|
105
|
+
**Sources:** {Count} analyzed
|
|
106
|
+
|
|
107
|
+
## Executive Summary
|
|
108
|
+
{2-3 sentences on key findings}
|
|
109
|
+
|
|
110
|
+
## Standard Stack
|
|
111
|
+
|
|
112
|
+
| Category | Recommended | Alternatives | Notes |
|
|
113
|
+
|----------|-------------|--------------|-------|
|
|
114
|
+
| Framework | Next.js | Remix, SvelteKit | SSR support |
|
|
115
|
+
| Auth | NextAuth | Clerk, Auth0 | Built-in |
|
|
116
|
+
|
|
117
|
+
## Architecture Patterns
|
|
118
|
+
|
|
119
|
+
### Recommended: {Pattern Name}
|
|
120
|
+
{Description and when to use}
|
|
121
|
+
|
|
122
|
+
## Common Pitfalls
|
|
123
|
+
|
|
124
|
+
1. **{Issue}** - {Description}
|
|
125
|
+
- Prevention: {How to avoid}
|
|
126
|
+
|
|
127
|
+
## Expert Resources
|
|
128
|
+
|
|
129
|
+
- [Official Docs]({url}) - {description}
|
|
130
|
+
- [Guide]({url}) - {description}
|
|
131
|
+
|
|
132
|
+
## Recommendations
|
|
133
|
+
|
|
134
|
+
### Must Use
|
|
135
|
+
- {Technology} - {Rationale}
|
|
136
|
+
|
|
137
|
+
### Avoid
|
|
138
|
+
- {Technology} - {Why}
|
|
139
|
+
|
|
140
|
+
## Uncertainties
|
|
141
|
+
- {Question needing clarification}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Parallel Research
|
|
145
|
+
|
|
146
|
+
Spawn multiple researchers for different aspects:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
Researcher 1: Stack Discovery
|
|
150
|
+
Researcher 2: Architecture Patterns
|
|
151
|
+
Researcher 3: Pitfalls & Gotchas
|
|
152
|
+
Researcher 4: Expert Resources
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Best Practices
|
|
156
|
+
|
|
157
|
+
1. **Cite sources** - Every claim has a source
|
|
158
|
+
2. **Note dates** - Technology changes fast
|
|
159
|
+
3. **Flag uncertainty** - Be honest about gaps
|
|
160
|
+
4. **Actionable findings** - Recommendations, not just facts
|
|
161
|
+
5. **Time-box** - 30-60 minutes typical, 2 hours max
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: responsive-design
|
|
3
|
+
description: Create web interfaces that work well across all device sizes and orientations.
|
|
4
|
+
category: design
|
|
5
|
+
triggers:
|
|
6
|
+
- responsive
|
|
7
|
+
- mobile
|
|
8
|
+
- breakpoints
|
|
9
|
+
- layout
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Responsive Design Skill
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
Create web interfaces that work well across all device sizes and orientations.
|
|
17
|
+
|
|
18
|
+
## Core Principles
|
|
19
|
+
|
|
20
|
+
### 1. Mobile-First
|
|
21
|
+
Design for mobile first, then enhance for larger screens.
|
|
22
|
+
|
|
23
|
+
```css
|
|
24
|
+
/* Mobile styles (default) */
|
|
25
|
+
.container { padding: 1rem; }
|
|
26
|
+
|
|
27
|
+
/* Tablet and up */
|
|
28
|
+
@media (min-width: 768px) {
|
|
29
|
+
.container { padding: 2rem; }
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Desktop and up */
|
|
33
|
+
@media (min-width: 1024px) {
|
|
34
|
+
.container { padding: 3rem; max-width: 1200px; }
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 2. Fluid Layouts
|
|
39
|
+
Use relative units and flexible containers.
|
|
40
|
+
|
|
41
|
+
```css
|
|
42
|
+
.container {
|
|
43
|
+
width: 100%;
|
|
44
|
+
max-width: 1200px;
|
|
45
|
+
margin: 0 auto;
|
|
46
|
+
padding: 0 clamp(1rem, 5vw, 3rem);
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 3. Responsive Images
|
|
51
|
+
|
|
52
|
+
```html
|
|
53
|
+
<picture>
|
|
54
|
+
<source media="(min-width: 1024px)" srcset="large.jpg">
|
|
55
|
+
<source media="(min-width: 768px)" srcset="medium.jpg">
|
|
56
|
+
<img src="small.jpg" alt="Description">
|
|
57
|
+
</picture>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Breakpoints
|
|
61
|
+
|
|
62
|
+
| Name | Min Width | Target |
|
|
63
|
+
|------|-----------|--------|
|
|
64
|
+
| sm | 640px | Large phones |
|
|
65
|
+
| md | 768px | Tablets |
|
|
66
|
+
| lg | 1024px | Laptops |
|
|
67
|
+
| xl | 1280px | Desktops |
|
|
68
|
+
| 2xl | 1536px | Large screens |
|
|
69
|
+
|
|
70
|
+
## Testing Checklist
|
|
71
|
+
|
|
72
|
+
- [ ] Test on actual devices, not just browser resize
|
|
73
|
+
- [ ] Check touch targets (min 44x44px)
|
|
74
|
+
- [ ] Verify text readability at all sizes
|
|
75
|
+
- [ ] Test landscape and portrait orientations
|
|
76
|
+
- [ ] Check for horizontal scroll issues
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scientific-method
|
|
3
|
+
description: Apply scientific reasoning to software development for systematic problem-solving.
|
|
4
|
+
category: core
|
|
5
|
+
triggers:
|
|
6
|
+
- hypothesis
|
|
7
|
+
- experiment
|
|
8
|
+
- evidence
|
|
9
|
+
- method
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Scientific Method Skill
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
Apply scientific reasoning to software development for systematic problem-solving.
|
|
17
|
+
|
|
18
|
+
## The Method
|
|
19
|
+
|
|
20
|
+
### 1. Observation
|
|
21
|
+
Gather facts about the current state.
|
|
22
|
+
- What is actually happening?
|
|
23
|
+
- What are the symptoms?
|
|
24
|
+
- What data do we have?
|
|
25
|
+
|
|
26
|
+
### 2. Question
|
|
27
|
+
Formulate a clear question to answer.
|
|
28
|
+
- What specifically are we trying to understand?
|
|
29
|
+
- What would a solution look like?
|
|
30
|
+
|
|
31
|
+
### 3. Hypothesis
|
|
32
|
+
Propose an explanation or solution.
|
|
33
|
+
- "If we do X, then Y should happen because Z"
|
|
34
|
+
- Make it testable and falsifiable
|
|
35
|
+
|
|
36
|
+
### 4. Prediction
|
|
37
|
+
What specific outcomes would confirm/refute the hypothesis?
|
|
38
|
+
- Define success criteria
|
|
39
|
+
- Identify measurable indicators
|
|
40
|
+
|
|
41
|
+
### 5. Experiment
|
|
42
|
+
Test the hypothesis with minimal changes.
|
|
43
|
+
- Change one variable at a time
|
|
44
|
+
- Document what you're testing
|
|
45
|
+
- Keep controls in place
|
|
46
|
+
|
|
47
|
+
### 6. Analysis
|
|
48
|
+
Interpret the results.
|
|
49
|
+
- Did the prediction hold?
|
|
50
|
+
- What did we learn?
|
|
51
|
+
- Are there alternative explanations?
|
|
52
|
+
|
|
53
|
+
### 7. Conclusion
|
|
54
|
+
Draw conclusions and iterate.
|
|
55
|
+
- Confirm or reject hypothesis
|
|
56
|
+
- Form new hypotheses if needed
|
|
57
|
+
- Document learnings
|
|
58
|
+
|
|
59
|
+
## Application to Debugging
|
|
60
|
+
|
|
61
|
+
1. **Observe** - Note error messages, behavior
|
|
62
|
+
2. **Question** - "Why is X happening?"
|
|
63
|
+
3. **Hypothesize** - "The bug is in module Y because..."
|
|
64
|
+
4. **Predict** - "If I'm right, adding this log will show..."
|
|
65
|
+
5. **Experiment** - Add the log, run the test
|
|
66
|
+
6. **Analyze** - Check the output
|
|
67
|
+
7. **Conclude** - Fix or form new hypothesis
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-audit
|
|
3
|
+
description: Audit code for security vulnerabilities
|
|
4
|
+
category: review
|
|
5
|
+
triggers:
|
|
6
|
+
- security
|
|
7
|
+
- vulnerability
|
|
8
|
+
- audit
|
|
9
|
+
- pentest
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
requires:
|
|
12
|
+
- goop-core
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Security Audit Skill
|
|
16
|
+
|
|
17
|
+
## Audit Scope
|
|
18
|
+
|
|
19
|
+
### Code Review
|
|
20
|
+
- Authentication/authorization logic
|
|
21
|
+
- Input validation
|
|
22
|
+
- Data handling
|
|
23
|
+
- Cryptographic usage
|
|
24
|
+
- Error handling
|
|
25
|
+
|
|
26
|
+
### Configuration
|
|
27
|
+
- Security headers
|
|
28
|
+
- CORS settings
|
|
29
|
+
- Environment variables
|
|
30
|
+
- Dependencies
|
|
31
|
+
|
|
32
|
+
### Infrastructure
|
|
33
|
+
- API security
|
|
34
|
+
- Database security
|
|
35
|
+
- Network security
|
|
36
|
+
|
|
37
|
+
## OWASP Top 10 Checklist
|
|
38
|
+
|
|
39
|
+
### 1. Broken Access Control
|
|
40
|
+
- [ ] Authorization on every endpoint
|
|
41
|
+
- [ ] No privilege escalation paths
|
|
42
|
+
- [ ] CORS properly configured
|
|
43
|
+
|
|
44
|
+
### 2. Cryptographic Failures
|
|
45
|
+
- [ ] TLS for data in transit
|
|
46
|
+
- [ ] Encryption for sensitive data at rest
|
|
47
|
+
- [ ] Strong hashing for passwords
|
|
48
|
+
|
|
49
|
+
### 3. Injection
|
|
50
|
+
- [ ] Parameterized queries
|
|
51
|
+
- [ ] Input validation
|
|
52
|
+
- [ ] Output encoding
|
|
53
|
+
|
|
54
|
+
### 4. Insecure Design
|
|
55
|
+
- [ ] Threat model exists
|
|
56
|
+
- [ ] Security requirements defined
|
|
57
|
+
- [ ] Secure defaults
|
|
58
|
+
|
|
59
|
+
### 5. Security Misconfiguration
|
|
60
|
+
- [ ] Debug disabled in production
|
|
61
|
+
- [ ] Default credentials changed
|
|
62
|
+
- [ ] Security headers set
|
|
63
|
+
|
|
64
|
+
### 6. Vulnerable Components
|
|
65
|
+
- [ ] Dependencies up to date
|
|
66
|
+
- [ ] No known vulnerabilities
|
|
67
|
+
- [ ] License compliance
|
|
68
|
+
|
|
69
|
+
### 7. Auth Failures
|
|
70
|
+
- [ ] Strong password policy
|
|
71
|
+
- [ ] Account lockout
|
|
72
|
+
- [ ] Session management
|
|
73
|
+
|
|
74
|
+
### 8. Data Integrity
|
|
75
|
+
- [ ] Input validation
|
|
76
|
+
- [ ] Signed updates
|
|
77
|
+
- [ ] Integrity checks
|
|
78
|
+
|
|
79
|
+
### 9. Logging Failures
|
|
80
|
+
- [ ] Security events logged
|
|
81
|
+
- [ ] No sensitive data in logs
|
|
82
|
+
- [ ] Log integrity protected
|
|
83
|
+
|
|
84
|
+
### 10. SSRF
|
|
85
|
+
- [ ] URL validation
|
|
86
|
+
- [ ] Restricted outbound requests
|
|
87
|
+
- [ ] Network segmentation
|
|
88
|
+
|
|
89
|
+
## Security Tools
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Dependency audit
|
|
93
|
+
npm audit
|
|
94
|
+
pip-audit
|
|
95
|
+
cargo audit
|
|
96
|
+
|
|
97
|
+
# Static analysis
|
|
98
|
+
semgrep --config auto .
|
|
99
|
+
eslint --plugin security .
|
|
100
|
+
|
|
101
|
+
# Secret scanning
|
|
102
|
+
gitleaks detect
|
|
103
|
+
trufflehog filesystem .
|
|
104
|
+
|
|
105
|
+
# Vulnerability scanning
|
|
106
|
+
snyk test
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Audit Report Template
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
# Security Audit Report
|
|
113
|
+
|
|
114
|
+
**Date:** {YYYY-MM-DD}
|
|
115
|
+
**Scope:** {What was audited}
|
|
116
|
+
**Risk Level:** Critical/High/Medium/Low
|
|
117
|
+
|
|
118
|
+
## Executive Summary
|
|
119
|
+
{Brief overview of findings}
|
|
120
|
+
|
|
121
|
+
## Critical Findings
|
|
122
|
+
{Issues requiring immediate attention}
|
|
123
|
+
|
|
124
|
+
## High Priority
|
|
125
|
+
{Important issues to address soon}
|
|
126
|
+
|
|
127
|
+
## Medium Priority
|
|
128
|
+
{Issues to plan for}
|
|
129
|
+
|
|
130
|
+
## Low Priority
|
|
131
|
+
{Best practice improvements}
|
|
132
|
+
|
|
133
|
+
## Recommendations
|
|
134
|
+
{Prioritized action items}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Risk Ratings
|
|
138
|
+
|
|
139
|
+
| Severity | CVSS | Response |
|
|
140
|
+
|----------|------|----------|
|
|
141
|
+
| Critical | 9.0-10.0 | Immediate |
|
|
142
|
+
| High | 7.0-8.9 | 24 hours |
|
|
143
|
+
| Medium | 4.0-6.9 | 1 week |
|
|
144
|
+
| Low | 0.1-3.9 | Next release |
|
|
145
|
+
|
|
146
|
+
## Best Practices
|
|
147
|
+
|
|
148
|
+
1. **Defense in depth** - Multiple layers
|
|
149
|
+
2. **Least privilege** - Minimal access
|
|
150
|
+
3. **Fail secure** - Safe defaults
|
|
151
|
+
4. **Keep it simple** - Less attack surface
|
|
152
|
+
5. **Audit regularly** - Continuous security
|