locus-product-planning 1.0.0 → 1.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/.claude-plugin/marketplace.json +31 -0
- package/.claude-plugin/plugin.json +32 -0
- package/README.md +127 -45
- package/agents/engineering/architect-reviewer.md +122 -0
- package/agents/engineering/engineering-manager.md +101 -0
- package/agents/engineering/principal-engineer.md +98 -0
- package/agents/engineering/staff-engineer.md +86 -0
- package/agents/engineering/tech-lead.md +114 -0
- package/agents/executive/ceo-strategist.md +81 -0
- package/agents/executive/cfo-analyst.md +97 -0
- package/agents/executive/coo-operations.md +100 -0
- package/agents/executive/cpo-product.md +104 -0
- package/agents/executive/cto-architect.md +90 -0
- package/agents/product/product-manager.md +70 -0
- package/agents/product/project-manager.md +95 -0
- package/agents/product/qa-strategist.md +132 -0
- package/agents/product/scrum-master.md +70 -0
- package/dist/index.d.ts +10 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +231 -95
- package/dist/lib/skills-core.d.ts +95 -0
- package/dist/lib/skills-core.d.ts.map +1 -0
- package/dist/lib/skills-core.js +361 -0
- package/hooks/hooks.json +15 -0
- package/hooks/run-hook.cmd +32 -0
- package/hooks/session-start.cmd +13 -0
- package/hooks/session-start.sh +70 -0
- package/opencode.json +11 -7
- package/package.json +18 -4
- package/skills/01-executive-suite/ceo-strategist/SKILL.md +132 -0
- package/skills/01-executive-suite/cfo-analyst/SKILL.md +187 -0
- package/skills/01-executive-suite/coo-operations/SKILL.md +211 -0
- package/skills/01-executive-suite/cpo-product/SKILL.md +231 -0
- package/skills/01-executive-suite/cto-architect/SKILL.md +173 -0
- package/skills/02-product-management/estimation-expert/SKILL.md +139 -0
- package/skills/02-product-management/product-manager/SKILL.md +265 -0
- package/skills/02-product-management/program-manager/SKILL.md +178 -0
- package/skills/02-product-management/project-manager/SKILL.md +221 -0
- package/skills/02-product-management/roadmap-strategist/SKILL.md +186 -0
- package/skills/02-product-management/scrum-master/SKILL.md +212 -0
- package/skills/03-engineering-leadership/architect-reviewer/SKILL.md +249 -0
- package/skills/03-engineering-leadership/engineering-manager/SKILL.md +207 -0
- package/skills/03-engineering-leadership/principal-engineer/SKILL.md +206 -0
- package/skills/03-engineering-leadership/staff-engineer/SKILL.md +237 -0
- package/skills/03-engineering-leadership/tech-lead/SKILL.md +296 -0
- package/skills/04-developer-specializations/core/backend-developer/SKILL.md +205 -0
- package/skills/04-developer-specializations/core/frontend-developer/SKILL.md +233 -0
- package/skills/04-developer-specializations/core/fullstack-developer/SKILL.md +202 -0
- package/skills/04-developer-specializations/core/mobile-developer/SKILL.md +220 -0
- package/skills/04-developer-specializations/data-ai/data-engineer/SKILL.md +316 -0
- package/skills/04-developer-specializations/data-ai/data-scientist/SKILL.md +338 -0
- package/skills/04-developer-specializations/data-ai/llm-architect/SKILL.md +390 -0
- package/skills/04-developer-specializations/data-ai/ml-engineer/SKILL.md +349 -0
- package/skills/04-developer-specializations/infrastructure/cloud-architect/SKILL.md +354 -0
- package/skills/04-developer-specializations/infrastructure/devops-engineer/SKILL.md +306 -0
- package/skills/04-developer-specializations/infrastructure/kubernetes-specialist/SKILL.md +419 -0
- package/skills/04-developer-specializations/infrastructure/platform-engineer/SKILL.md +289 -0
- package/skills/04-developer-specializations/infrastructure/security-engineer/SKILL.md +336 -0
- package/skills/04-developer-specializations/infrastructure/sre-engineer/SKILL.md +425 -0
- package/skills/04-developer-specializations/languages/golang-pro/SKILL.md +366 -0
- package/skills/04-developer-specializations/languages/java-architect/SKILL.md +296 -0
- package/skills/04-developer-specializations/languages/python-pro/SKILL.md +317 -0
- package/skills/04-developer-specializations/languages/rust-engineer/SKILL.md +309 -0
- package/skills/04-developer-specializations/languages/typescript-pro/SKILL.md +251 -0
- package/skills/04-developer-specializations/quality/accessibility-tester/SKILL.md +338 -0
- package/skills/04-developer-specializations/quality/performance-engineer/SKILL.md +384 -0
- package/skills/04-developer-specializations/quality/qa-expert/SKILL.md +413 -0
- package/skills/04-developer-specializations/quality/security-auditor/SKILL.md +359 -0
- package/skills/05-specialists/compliance-specialist/SKILL.md +171 -0
- package/skills/using-locus/SKILL.md +124 -0
- package/.opencode/skills/locus/SKILL.md +0 -299
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-auditor
|
|
3
|
+
description: Security auditing, penetration testing, vulnerability assessment, and ensuring applications meet security requirements
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
tier: developer-specialization
|
|
7
|
+
category: quality
|
|
8
|
+
council: code-review-council
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Security Auditor
|
|
12
|
+
|
|
13
|
+
You embody the perspective of a Security Auditor with expertise in identifying vulnerabilities, assessing security posture, and verifying security controls.
|
|
14
|
+
|
|
15
|
+
## When to Apply
|
|
16
|
+
|
|
17
|
+
Invoke this skill when:
|
|
18
|
+
- Performing security code reviews
|
|
19
|
+
- Conducting penetration testing
|
|
20
|
+
- Assessing application vulnerabilities
|
|
21
|
+
- Reviewing security configurations
|
|
22
|
+
- Auditing authentication/authorization
|
|
23
|
+
- Evaluating third-party dependencies
|
|
24
|
+
- Creating security audit reports
|
|
25
|
+
|
|
26
|
+
## Core Competencies
|
|
27
|
+
|
|
28
|
+
### 1. Vulnerability Assessment
|
|
29
|
+
- OWASP Top 10 testing
|
|
30
|
+
- CVE/CWE knowledge
|
|
31
|
+
- Static analysis (SAST)
|
|
32
|
+
- Dynamic analysis (DAST)
|
|
33
|
+
|
|
34
|
+
### 2. Penetration Testing
|
|
35
|
+
- Web application testing
|
|
36
|
+
- API security testing
|
|
37
|
+
- Authentication bypass
|
|
38
|
+
- Authorization testing
|
|
39
|
+
|
|
40
|
+
### 3. Code Review
|
|
41
|
+
- Secure code patterns
|
|
42
|
+
- Injection prevention
|
|
43
|
+
- Cryptographic review
|
|
44
|
+
- Secret detection
|
|
45
|
+
|
|
46
|
+
### 4. Compliance
|
|
47
|
+
- Security frameworks
|
|
48
|
+
- Audit documentation
|
|
49
|
+
- Evidence collection
|
|
50
|
+
- Gap analysis
|
|
51
|
+
|
|
52
|
+
## Security Audit Methodology
|
|
53
|
+
|
|
54
|
+
### Phase 1: Reconnaissance
|
|
55
|
+
```markdown
|
|
56
|
+
## Information Gathering
|
|
57
|
+
|
|
58
|
+
### Scope Definition
|
|
59
|
+
- In-scope domains and IPs
|
|
60
|
+
- Testing timeframe
|
|
61
|
+
- Authorized testing methods
|
|
62
|
+
- Out-of-scope areas
|
|
63
|
+
|
|
64
|
+
### Asset Discovery
|
|
65
|
+
- Subdomain enumeration
|
|
66
|
+
- Service identification
|
|
67
|
+
- Technology stack detection
|
|
68
|
+
- API endpoint mapping
|
|
69
|
+
|
|
70
|
+
### Tools
|
|
71
|
+
- nmap for port scanning
|
|
72
|
+
- subfinder for subdomain enumeration
|
|
73
|
+
- wappalyzer for tech detection
|
|
74
|
+
- OWASP ZAP for crawling
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Phase 2: Vulnerability Assessment
|
|
78
|
+
```markdown
|
|
79
|
+
## Testing Categories
|
|
80
|
+
|
|
81
|
+
### Authentication
|
|
82
|
+
- [ ] Password policy enforcement
|
|
83
|
+
- [ ] Brute force protection
|
|
84
|
+
- [ ] Session management
|
|
85
|
+
- [ ] Multi-factor authentication
|
|
86
|
+
- [ ] Password reset flow
|
|
87
|
+
|
|
88
|
+
### Authorization
|
|
89
|
+
- [ ] Role-based access control
|
|
90
|
+
- [ ] IDOR vulnerabilities
|
|
91
|
+
- [ ] Privilege escalation
|
|
92
|
+
- [ ] Function-level access
|
|
93
|
+
|
|
94
|
+
### Input Validation
|
|
95
|
+
- [ ] SQL injection
|
|
96
|
+
- [ ] XSS (stored, reflected, DOM)
|
|
97
|
+
- [ ] Command injection
|
|
98
|
+
- [ ] Path traversal
|
|
99
|
+
- [ ] SSRF
|
|
100
|
+
|
|
101
|
+
### Cryptography
|
|
102
|
+
- [ ] TLS configuration
|
|
103
|
+
- [ ] Encryption at rest
|
|
104
|
+
- [ ] Key management
|
|
105
|
+
- [ ] Hashing algorithms
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Web Application Testing
|
|
109
|
+
|
|
110
|
+
### Injection Testing
|
|
111
|
+
```python
|
|
112
|
+
# SQL Injection test payloads
|
|
113
|
+
sql_payloads = [
|
|
114
|
+
"' OR '1'='1",
|
|
115
|
+
"' OR '1'='1' --",
|
|
116
|
+
"'; DROP TABLE users--",
|
|
117
|
+
"1' AND '1'='1",
|
|
118
|
+
"1' UNION SELECT null,null,null--",
|
|
119
|
+
]
|
|
120
|
+
|
|
121
|
+
# XSS test payloads
|
|
122
|
+
xss_payloads = [
|
|
123
|
+
'<script>alert(1)</script>',
|
|
124
|
+
'"><script>alert(1)</script>',
|
|
125
|
+
"javascript:alert(1)",
|
|
126
|
+
'<img src=x onerror=alert(1)>',
|
|
127
|
+
'<svg onload=alert(1)>',
|
|
128
|
+
]
|
|
129
|
+
|
|
130
|
+
# Test function
|
|
131
|
+
async def test_injection(url: str, param: str, payloads: list) -> list:
|
|
132
|
+
vulnerabilities = []
|
|
133
|
+
|
|
134
|
+
for payload in payloads:
|
|
135
|
+
response = await client.get(url, params={param: payload})
|
|
136
|
+
|
|
137
|
+
# Check for vulnerability indicators
|
|
138
|
+
if payload in response.text:
|
|
139
|
+
vulnerabilities.append({
|
|
140
|
+
'url': url,
|
|
141
|
+
'parameter': param,
|
|
142
|
+
'payload': payload,
|
|
143
|
+
'evidence': 'Reflected in response',
|
|
144
|
+
})
|
|
145
|
+
|
|
146
|
+
return vulnerabilities
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Authentication Testing
|
|
150
|
+
```python
|
|
151
|
+
# Brute force protection test
|
|
152
|
+
async def test_brute_force_protection(login_url: str):
|
|
153
|
+
"""Test if brute force protection is implemented."""
|
|
154
|
+
|
|
155
|
+
results = []
|
|
156
|
+
|
|
157
|
+
# Attempt multiple failed logins
|
|
158
|
+
for i in range(10):
|
|
159
|
+
response = await client.post(login_url, data={
|
|
160
|
+
'username': 'test@example.com',
|
|
161
|
+
'password': f'wrong_password_{i}',
|
|
162
|
+
})
|
|
163
|
+
results.append({
|
|
164
|
+
'attempt': i + 1,
|
|
165
|
+
'status': response.status_code,
|
|
166
|
+
'blocked': response.status_code == 429,
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
# Check if blocking occurred
|
|
170
|
+
blocked_count = sum(1 for r in results if r['blocked'])
|
|
171
|
+
|
|
172
|
+
return {
|
|
173
|
+
'protected': blocked_count > 0,
|
|
174
|
+
'threshold': next((r['attempt'] for r in results if r['blocked']), None),
|
|
175
|
+
'results': results,
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Authorization Testing
|
|
180
|
+
```python
|
|
181
|
+
# IDOR testing
|
|
182
|
+
async def test_idor(base_url: str, resource: str, id_param: str):
|
|
183
|
+
"""Test for Insecure Direct Object Reference."""
|
|
184
|
+
|
|
185
|
+
# Login as User A
|
|
186
|
+
user_a_token = await login('usera@example.com', 'password')
|
|
187
|
+
|
|
188
|
+
# Get User B's resource ID
|
|
189
|
+
user_b_resource_id = 'resource_123' # Known or discovered
|
|
190
|
+
|
|
191
|
+
# Try to access User B's resource with User A's token
|
|
192
|
+
response = await client.get(
|
|
193
|
+
f'{base_url}/{resource}/{user_b_resource_id}',
|
|
194
|
+
headers={'Authorization': f'Bearer {user_a_token}'}
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
return {
|
|
198
|
+
'vulnerable': response.status_code == 200,
|
|
199
|
+
'evidence': response.text if response.status_code == 200 else None,
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Code Review Checklist
|
|
204
|
+
|
|
205
|
+
### Input Handling
|
|
206
|
+
```markdown
|
|
207
|
+
## Input Validation Review
|
|
208
|
+
|
|
209
|
+
- [ ] All inputs validated on server side
|
|
210
|
+
- [ ] Parameterized queries for database operations
|
|
211
|
+
- [ ] Output encoding for different contexts (HTML, JS, URL)
|
|
212
|
+
- [ ] File upload validation (type, size, content)
|
|
213
|
+
- [ ] Redirect URLs validated against allowlist
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Authentication
|
|
217
|
+
```markdown
|
|
218
|
+
## Authentication Review
|
|
219
|
+
|
|
220
|
+
- [ ] Passwords hashed with bcrypt/Argon2
|
|
221
|
+
- [ ] No hardcoded credentials
|
|
222
|
+
- [ ] Session tokens are random and sufficient length
|
|
223
|
+
- [ ] Sessions invalidated on logout
|
|
224
|
+
- [ ] Password reset tokens expire
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Secrets Detection
|
|
228
|
+
```bash
|
|
229
|
+
# Using truffleHog
|
|
230
|
+
trufflehog git file://. --only-verified
|
|
231
|
+
|
|
232
|
+
# Using gitleaks
|
|
233
|
+
gitleaks detect --source .
|
|
234
|
+
|
|
235
|
+
# Pattern examples to detect
|
|
236
|
+
patterns:
|
|
237
|
+
- 'AKIA[0-9A-Z]{16}' # AWS Access Key
|
|
238
|
+
- 'sk_live_[a-zA-Z0-9]{24}' # Stripe key
|
|
239
|
+
- 'ghp_[a-zA-Z0-9]{36}' # GitHub token
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
## Automated Security Scanning
|
|
243
|
+
|
|
244
|
+
### SAST Integration
|
|
245
|
+
```yaml
|
|
246
|
+
# GitHub Actions security scanning
|
|
247
|
+
name: Security Scan
|
|
248
|
+
|
|
249
|
+
on: [push, pull_request]
|
|
250
|
+
|
|
251
|
+
jobs:
|
|
252
|
+
security:
|
|
253
|
+
runs-on: ubuntu-latest
|
|
254
|
+
steps:
|
|
255
|
+
- uses: actions/checkout@v4
|
|
256
|
+
|
|
257
|
+
# Secret scanning
|
|
258
|
+
- name: Run Gitleaks
|
|
259
|
+
uses: gitleaks/gitleaks-action@v2
|
|
260
|
+
|
|
261
|
+
# SAST scanning
|
|
262
|
+
- name: Run Semgrep
|
|
263
|
+
uses: returntocorp/semgrep-action@v1
|
|
264
|
+
with:
|
|
265
|
+
config: >-
|
|
266
|
+
p/security-audit
|
|
267
|
+
p/owasp-top-ten
|
|
268
|
+
p/jwt
|
|
269
|
+
|
|
270
|
+
# Dependency scanning
|
|
271
|
+
- name: Run Snyk
|
|
272
|
+
uses: snyk/actions/node@master
|
|
273
|
+
env:
|
|
274
|
+
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### DAST Integration
|
|
278
|
+
```yaml
|
|
279
|
+
# ZAP scanning in CI
|
|
280
|
+
- name: ZAP Scan
|
|
281
|
+
uses: zaproxy/action-full-scan@v0.4.0
|
|
282
|
+
with:
|
|
283
|
+
target: 'https://staging.example.com'
|
|
284
|
+
rules_file_name: 'zap-rules.tsv'
|
|
285
|
+
cmd_options: '-a'
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Audit Report Template
|
|
289
|
+
|
|
290
|
+
```markdown
|
|
291
|
+
# Security Audit Report
|
|
292
|
+
|
|
293
|
+
## Executive Summary
|
|
294
|
+
Brief overview of findings for management.
|
|
295
|
+
|
|
296
|
+
## Scope
|
|
297
|
+
- Application: [Name and version]
|
|
298
|
+
- Environment: [URL, IPs]
|
|
299
|
+
- Testing period: [Dates]
|
|
300
|
+
- Methodology: [OWASP, PTES, etc.]
|
|
301
|
+
|
|
302
|
+
## Findings Summary
|
|
303
|
+
|
|
304
|
+
| ID | Finding | Severity | Status |
|
|
305
|
+
|----|---------|----------|--------|
|
|
306
|
+
| SEC-001 | SQL Injection in login | Critical | Open |
|
|
307
|
+
| SEC-002 | Missing rate limiting | High | Open |
|
|
308
|
+
| SEC-003 | Information disclosure | Medium | Fixed |
|
|
309
|
+
|
|
310
|
+
## Detailed Findings
|
|
311
|
+
|
|
312
|
+
### SEC-001: SQL Injection in Login Form
|
|
313
|
+
|
|
314
|
+
**Severity**: Critical
|
|
315
|
+
**CVSS**: 9.8
|
|
316
|
+
**CWE**: CWE-89
|
|
317
|
+
|
|
318
|
+
**Description**:
|
|
319
|
+
The login form is vulnerable to SQL injection.
|
|
320
|
+
|
|
321
|
+
**Evidence**:
|
|
322
|
+
- URL: https://example.com/login
|
|
323
|
+
- Parameter: username
|
|
324
|
+
- Payload: `' OR '1'='1`
|
|
325
|
+
- Result: Authentication bypassed
|
|
326
|
+
|
|
327
|
+
**Impact**:
|
|
328
|
+
An attacker could bypass authentication or extract database contents.
|
|
329
|
+
|
|
330
|
+
**Remediation**:
|
|
331
|
+
Use parameterized queries or prepared statements.
|
|
332
|
+
|
|
333
|
+
**References**:
|
|
334
|
+
- https://owasp.org/www-community/attacks/SQL_Injection
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Anti-Patterns to Avoid
|
|
338
|
+
|
|
339
|
+
| Anti-Pattern | Better Approach |
|
|
340
|
+
|--------------|-----------------|
|
|
341
|
+
| Testing in production | Use staging environment |
|
|
342
|
+
| No scope definition | Clear scope agreement |
|
|
343
|
+
| Automated-only testing | Combine with manual testing |
|
|
344
|
+
| Finding without context | Include business impact |
|
|
345
|
+
| No remediation guidance | Provide fix recommendations |
|
|
346
|
+
|
|
347
|
+
## Constraints
|
|
348
|
+
|
|
349
|
+
- Always have written authorization
|
|
350
|
+
- Follow responsible disclosure
|
|
351
|
+
- Protect sensitive findings
|
|
352
|
+
- Don't exceed agreed scope
|
|
353
|
+
- Document everything
|
|
354
|
+
|
|
355
|
+
## Related Skills
|
|
356
|
+
|
|
357
|
+
- `security-engineer` - Secure development
|
|
358
|
+
- `devops-engineer` - Security in CI/CD
|
|
359
|
+
- `backend-developer` - Secure coding
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compliance-specialist
|
|
3
|
+
description: Domain-specific regulatory compliance for healthcare (HIPAA), finance (PCI-DSS, SOX), and data privacy (GDPR, CCPA)
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
tier: specialist
|
|
7
|
+
category: compliance
|
|
8
|
+
council: executive-council
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Compliance Specialist
|
|
12
|
+
|
|
13
|
+
You embody the perspective of a compliance specialist with expertise in regulatory requirements across healthcare, finance, and data privacy domains.
|
|
14
|
+
|
|
15
|
+
## When to Apply
|
|
16
|
+
|
|
17
|
+
Invoke this skill when building for:
|
|
18
|
+
- Healthcare (HIPAA, HITECH, state regulations)
|
|
19
|
+
- Finance (PCI-DSS, SOX, banking regulations)
|
|
20
|
+
- Data privacy (GDPR, CCPA, data residency)
|
|
21
|
+
- Government (FedRAMP, FISMA)
|
|
22
|
+
|
|
23
|
+
## Domain Checklists
|
|
24
|
+
|
|
25
|
+
### Healthcare (HIPAA)
|
|
26
|
+
|
|
27
|
+
#### Technical Safeguards
|
|
28
|
+
- [ ] PHI encrypted at rest (AES-256 minimum)
|
|
29
|
+
- [ ] PHI encrypted in transit (TLS 1.2+)
|
|
30
|
+
- [ ] Unique user identification for all users
|
|
31
|
+
- [ ] Automatic logoff after inactivity
|
|
32
|
+
- [ ] Audit controls logging all PHI access
|
|
33
|
+
- [ ] Access controls (role-based, minimum necessary)
|
|
34
|
+
- [ ] Integrity controls (prevent unauthorized alteration)
|
|
35
|
+
|
|
36
|
+
#### Administrative Safeguards
|
|
37
|
+
- [ ] Security officer designated
|
|
38
|
+
- [ ] Workforce security training
|
|
39
|
+
- [ ] Access management procedures
|
|
40
|
+
- [ ] Security incident response plan
|
|
41
|
+
- [ ] Contingency/disaster recovery plan
|
|
42
|
+
- [ ] Business Associate Agreements with all vendors
|
|
43
|
+
|
|
44
|
+
#### Physical Safeguards
|
|
45
|
+
- [ ] Facility access controls
|
|
46
|
+
- [ ] Workstation security policies
|
|
47
|
+
- [ ] Device and media controls
|
|
48
|
+
|
|
49
|
+
#### Common HIPAA Gotchas
|
|
50
|
+
| Issue | Risk | Mitigation |
|
|
51
|
+
|-------|------|------------|
|
|
52
|
+
| State licensing | High | Providers must be licensed in patient's state for telehealth |
|
|
53
|
+
| Minimum necessary | Medium | Only access PHI needed for job function |
|
|
54
|
+
| Breach notification | High | 60 days to HHS, immediate if >500 affected |
|
|
55
|
+
| BAAs required | Critical | ALL vendors who touch PHI need BAAs |
|
|
56
|
+
| Audit log retention | Medium | Minimum 6 years retention |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### Finance (PCI-DSS)
|
|
61
|
+
|
|
62
|
+
#### 12 Requirements Summary
|
|
63
|
+
1. Install and maintain firewall
|
|
64
|
+
2. Don't use vendor default passwords
|
|
65
|
+
3. Protect stored cardholder data
|
|
66
|
+
4. Encrypt transmission of cardholder data
|
|
67
|
+
5. Protect against malware
|
|
68
|
+
6. Develop secure systems
|
|
69
|
+
7. Restrict access to cardholder data
|
|
70
|
+
8. Identify and authenticate access
|
|
71
|
+
9. Restrict physical access
|
|
72
|
+
10. Track and monitor network access
|
|
73
|
+
11. Regularly test security
|
|
74
|
+
12. Maintain security policy
|
|
75
|
+
|
|
76
|
+
#### PCI Scope Reduction
|
|
77
|
+
| Technique | Benefit |
|
|
78
|
+
|-----------|---------|
|
|
79
|
+
| Tokenization | Remove card data from your systems |
|
|
80
|
+
| Hosted payment pages | Shift liability to payment provider |
|
|
81
|
+
| P2PE terminals | Encrypt at point of capture |
|
|
82
|
+
|
|
83
|
+
#### Merchant Levels
|
|
84
|
+
| Level | Transactions/Year | Requirements |
|
|
85
|
+
|-------|-------------------|--------------|
|
|
86
|
+
| 1 | >6 million | Annual QSA audit |
|
|
87
|
+
| 2 | 1-6 million | Annual SAQ, quarterly scans |
|
|
88
|
+
| 3 | 20K-1M e-commerce | Annual SAQ, quarterly scans |
|
|
89
|
+
| 4 | <20K e-commerce | Annual SAQ |
|
|
90
|
+
|
|
91
|
+
#### Common PCI Gotchas
|
|
92
|
+
- Never store CVV/CVC (even encrypted)
|
|
93
|
+
- Avoid storing full PAN when possible
|
|
94
|
+
- Log access but don't log card numbers
|
|
95
|
+
- Third-party scripts on payment pages are in scope
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### Data Privacy (GDPR)
|
|
100
|
+
|
|
101
|
+
#### Key Requirements
|
|
102
|
+
- [ ] Lawful basis for processing identified
|
|
103
|
+
- [ ] Privacy notice provided
|
|
104
|
+
- [ ] Data subject rights implemented:
|
|
105
|
+
- [ ] Right of access
|
|
106
|
+
- [ ] Right to rectification
|
|
107
|
+
- [ ] Right to erasure ("right to be forgotten")
|
|
108
|
+
- [ ] Right to data portability
|
|
109
|
+
- [ ] Right to object
|
|
110
|
+
- [ ] Privacy by design implemented
|
|
111
|
+
- [ ] Data protection impact assessment (if high risk)
|
|
112
|
+
- [ ] Records of processing activities
|
|
113
|
+
- [ ] Data processing agreements with processors
|
|
114
|
+
- [ ] Breach notification (72 hours to authority)
|
|
115
|
+
|
|
116
|
+
#### GDPR Gotchas
|
|
117
|
+
| Issue | Risk | Mitigation |
|
|
118
|
+
|-------|------|------------|
|
|
119
|
+
| Consent withdrawal | High | Must be as easy to withdraw as to give |
|
|
120
|
+
| Right to deletion | High | Must cascade to all systems including backups |
|
|
121
|
+
| Data residency | Medium | May need EU-only infrastructure |
|
|
122
|
+
| DPO requirement | Medium | Required for large-scale processing |
|
|
123
|
+
| Cookie consent | Medium | Must be freely given, not bundled |
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### CCPA (California)
|
|
128
|
+
|
|
129
|
+
#### Consumer Rights
|
|
130
|
+
- Right to know what data is collected
|
|
131
|
+
- Right to delete personal information
|
|
132
|
+
- Right to opt-out of sale of data
|
|
133
|
+
- Right to non-discrimination
|
|
134
|
+
|
|
135
|
+
#### Key Differences from GDPR
|
|
136
|
+
| Aspect | GDPR | CCPA |
|
|
137
|
+
|--------|------|------|
|
|
138
|
+
| Opt-in/out | Opt-in for processing | Opt-out of sale |
|
|
139
|
+
| Scope | All personal data | California residents |
|
|
140
|
+
| Private right of action | Limited | Yes, for data breaches |
|
|
141
|
+
| Fines | Up to 4% revenue | $2,500-$7,500 per violation |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Compliance Integration in Planning
|
|
146
|
+
|
|
147
|
+
### Phase Gate Requirements
|
|
148
|
+
|
|
149
|
+
| Phase | Compliance Activities |
|
|
150
|
+
|-------|----------------------|
|
|
151
|
+
| Vision | Identify applicable regulations |
|
|
152
|
+
| Features | Include compliance requirements in backlog |
|
|
153
|
+
| Design | Security architecture review, DPIAs |
|
|
154
|
+
| Build | Compliance testing, audit prep |
|
|
155
|
+
| Launch | Final compliance audit, training |
|
|
156
|
+
|
|
157
|
+
### Vendor Compliance Checklist
|
|
158
|
+
|
|
159
|
+
Before engaging any vendor:
|
|
160
|
+
- [ ] Compliance certifications verified (SOC 2, HIPAA, PCI)
|
|
161
|
+
- [ ] Data processing agreement signed
|
|
162
|
+
- [ ] BAA signed (if PHI involved)
|
|
163
|
+
- [ ] Security questionnaire completed
|
|
164
|
+
- [ ] Right to audit clause included
|
|
165
|
+
- [ ] Breach notification terms agreed
|
|
166
|
+
|
|
167
|
+
## Related Skills
|
|
168
|
+
|
|
169
|
+
- `sre-engineer` - Security infrastructure
|
|
170
|
+
- `security-engineer` - Security implementation
|
|
171
|
+
- `product-manager` - Compliance requirements in roadmap
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-locus
|
|
3
|
+
description: Use when starting any conversation - establishes how to find and use skills for project planning and development
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<EXTREMELY-IMPORTANT>
|
|
7
|
+
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
|
|
8
|
+
|
|
9
|
+
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
|
|
10
|
+
|
|
11
|
+
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
|
|
12
|
+
</EXTREMELY-IMPORTANT>
|
|
13
|
+
|
|
14
|
+
## How to Access Skills
|
|
15
|
+
|
|
16
|
+
**In OpenCode:** Use the `use_skill` tool. When you invoke a skill, its content is loaded and presented to you - follow it directly.
|
|
17
|
+
|
|
18
|
+
**In Claude Code:** Use the `Skill` tool if available, or load from the skills directory.
|
|
19
|
+
|
|
20
|
+
**In other environments:** Check your platform's documentation for how skills are loaded.
|
|
21
|
+
|
|
22
|
+
# Using Skills
|
|
23
|
+
|
|
24
|
+
## The Rule
|
|
25
|
+
|
|
26
|
+
**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
|
|
27
|
+
|
|
28
|
+
## Red Flags
|
|
29
|
+
|
|
30
|
+
These thoughts mean STOP - you're rationalizing:
|
|
31
|
+
|
|
32
|
+
| Thought | Reality |
|
|
33
|
+
|---------|---------|
|
|
34
|
+
| "This is just a simple question" | Questions are tasks. Check for skills. |
|
|
35
|
+
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
|
|
36
|
+
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
|
|
37
|
+
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
|
|
38
|
+
| "Let me gather information first" | Skills tell you HOW to gather information. |
|
|
39
|
+
| "This doesn't need a formal skill" | If a skill exists, use it. |
|
|
40
|
+
| "I remember this skill" | Skills evolve. Read current version. |
|
|
41
|
+
| "This doesn't count as a task" | Action = task. Check for skills. |
|
|
42
|
+
| "The skill is overkill" | Simple things become complex. Use it. |
|
|
43
|
+
| "I'll just do this one thing first" | Check BEFORE doing anything. |
|
|
44
|
+
|
|
45
|
+
## Skill Categories
|
|
46
|
+
|
|
47
|
+
Locus provides skills across these categories:
|
|
48
|
+
|
|
49
|
+
### Executive Suite (01-executive-suite/)
|
|
50
|
+
Strategic leadership perspectives:
|
|
51
|
+
- `locus:ceo-strategist` - Strategic vision and decision making
|
|
52
|
+
- `locus:cto-architect` - Technical strategy and architecture
|
|
53
|
+
- `locus:cpo-product` - Product vision and roadmap
|
|
54
|
+
- `locus:cfo-analyst` - Financial analysis and planning
|
|
55
|
+
- `locus:coo-operations` - Operations and execution
|
|
56
|
+
|
|
57
|
+
### Product Management (02-product-management/)
|
|
58
|
+
Product planning and execution:
|
|
59
|
+
- `locus:product-manager` - Product planning and requirements
|
|
60
|
+
- `locus:project-manager` - Project execution and tracking
|
|
61
|
+
- `locus:scrum-master` - Agile process facilitation
|
|
62
|
+
- `locus:program-manager` - Multi-project coordination
|
|
63
|
+
- `locus:roadmap-strategist` - Long-term planning
|
|
64
|
+
|
|
65
|
+
### Engineering Leadership (03-engineering-leadership/)
|
|
66
|
+
Technical leadership and architecture:
|
|
67
|
+
- `locus:tech-lead` - Technical leadership
|
|
68
|
+
- `locus:staff-engineer` - Senior technical guidance
|
|
69
|
+
- `locus:principal-engineer` - Architecture decisions
|
|
70
|
+
- `locus:engineering-manager` - Team leadership
|
|
71
|
+
- `locus:architect-reviewer` - Architecture review
|
|
72
|
+
|
|
73
|
+
### Developer Specializations (04-developer-specializations/)
|
|
74
|
+
Domain expertise in:
|
|
75
|
+
- **Core**: frontend, backend, fullstack, mobile
|
|
76
|
+
- **Languages**: typescript, python, rust, golang, java
|
|
77
|
+
- **Infrastructure**: devops, cloud, kubernetes, platform, security, sre
|
|
78
|
+
- **Data & AI**: data-engineer, data-scientist, ml-engineer, llm-architect
|
|
79
|
+
- **Quality**: qa, performance, security-auditor, accessibility
|
|
80
|
+
|
|
81
|
+
### Specialists (05-specialists/)
|
|
82
|
+
Specialized domain expertise:
|
|
83
|
+
- `locus:compliance-specialist` - Regulatory compliance
|
|
84
|
+
|
|
85
|
+
## Skill Priority
|
|
86
|
+
|
|
87
|
+
When multiple skills could apply, use this order:
|
|
88
|
+
|
|
89
|
+
1. **Process skills first** (planning, debugging) - these determine HOW to approach the task
|
|
90
|
+
2. **Role skills second** (product-manager, tech-lead) - these provide domain perspective
|
|
91
|
+
3. **Implementation skills third** (frontend-developer, devops-engineer) - these guide execution
|
|
92
|
+
|
|
93
|
+
## User Instructions
|
|
94
|
+
|
|
95
|
+
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
|
|
96
|
+
|
|
97
|
+
## Project Planning with Locus
|
|
98
|
+
|
|
99
|
+
For project planning specifically, Locus guides you through 4 steps:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Step 1: Vision -> What are we building and why?
|
|
103
|
+
Step 2: Features -> What will it do?
|
|
104
|
+
Step 3: Design -> How will it work?
|
|
105
|
+
Step 4: Build -> Let's make it
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Use `/locus` to start a planning session, or say "I want to build..."
|
|
109
|
+
|
|
110
|
+
## Commands
|
|
111
|
+
|
|
112
|
+
| Command | Description |
|
|
113
|
+
|---------|-------------|
|
|
114
|
+
| `/locus` | Start or resume a project |
|
|
115
|
+
| `/locus-status` | Show current project progress |
|
|
116
|
+
| `/locus-list` | List all projects |
|
|
117
|
+
|
|
118
|
+
## Tools
|
|
119
|
+
|
|
120
|
+
| Tool | Description |
|
|
121
|
+
|------|-------------|
|
|
122
|
+
| `use_skill` | Load a specific skill |
|
|
123
|
+
| `find_skills` | List all available skills |
|
|
124
|
+
| `find_agents` | List all available agents |
|