locus-product-planning 1.1.0 → 1.2.1
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 +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/LICENSE +21 -21
- package/README.md +11 -7
- package/agents/engineering/architect-reviewer.md +122 -122
- package/agents/engineering/engineering-manager.md +101 -101
- package/agents/engineering/principal-engineer.md +98 -98
- package/agents/engineering/staff-engineer.md +86 -86
- package/agents/engineering/tech-lead.md +114 -114
- package/agents/executive/ceo-strategist.md +81 -81
- package/agents/executive/cfo-analyst.md +97 -97
- package/agents/executive/coo-operations.md +100 -100
- package/agents/executive/cpo-product.md +104 -104
- package/agents/executive/cto-architect.md +90 -90
- package/agents/product/product-manager.md +70 -70
- package/agents/product/project-manager.md +95 -95
- package/agents/product/qa-strategist.md +132 -132
- package/agents/product/scrum-master.md +70 -70
- package/dist/index.cjs +13012 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{lib/skills-core.d.ts → index.d.cts} +46 -12
- package/dist/index.d.ts +113 -5
- package/dist/index.js +12963 -237
- package/dist/index.js.map +1 -0
- package/package.json +88 -82
- package/skills/01-executive-suite/ceo-strategist/SKILL.md +132 -132
- package/skills/01-executive-suite/cfo-analyst/SKILL.md +187 -187
- package/skills/01-executive-suite/coo-operations/SKILL.md +211 -211
- package/skills/01-executive-suite/cpo-product/SKILL.md +231 -231
- package/skills/01-executive-suite/cto-architect/SKILL.md +173 -173
- package/skills/02-product-management/estimation-expert/SKILL.md +139 -139
- package/skills/02-product-management/product-manager/SKILL.md +265 -265
- package/skills/02-product-management/program-manager/SKILL.md +178 -178
- package/skills/02-product-management/project-manager/SKILL.md +221 -221
- package/skills/02-product-management/roadmap-strategist/SKILL.md +186 -186
- package/skills/02-product-management/scrum-master/SKILL.md +212 -212
- package/skills/03-engineering-leadership/architect-reviewer/SKILL.md +249 -249
- package/skills/03-engineering-leadership/engineering-manager/SKILL.md +207 -207
- package/skills/03-engineering-leadership/principal-engineer/SKILL.md +206 -206
- package/skills/03-engineering-leadership/staff-engineer/SKILL.md +237 -237
- package/skills/03-engineering-leadership/tech-lead/SKILL.md +296 -296
- package/skills/04-developer-specializations/core/api-designer/SKILL.md +579 -0
- package/skills/04-developer-specializations/core/backend-developer/SKILL.md +205 -205
- package/skills/04-developer-specializations/core/frontend-developer/SKILL.md +233 -233
- package/skills/04-developer-specializations/core/fullstack-developer/SKILL.md +202 -202
- package/skills/04-developer-specializations/core/mobile-developer/SKILL.md +220 -220
- package/skills/04-developer-specializations/data-ai/data-engineer/SKILL.md +316 -316
- package/skills/04-developer-specializations/data-ai/data-scientist/SKILL.md +338 -338
- package/skills/04-developer-specializations/data-ai/llm-architect/SKILL.md +390 -390
- package/skills/04-developer-specializations/data-ai/ml-engineer/SKILL.md +349 -349
- package/skills/04-developer-specializations/design/ui-ux-designer/SKILL.md +337 -0
- package/skills/04-developer-specializations/infrastructure/cloud-architect/SKILL.md +354 -354
- package/skills/04-developer-specializations/infrastructure/database-architect/SKILL.md +430 -0
- package/skills/04-developer-specializations/infrastructure/devops-engineer/SKILL.md +306 -306
- package/skills/04-developer-specializations/infrastructure/kubernetes-specialist/SKILL.md +419 -419
- package/skills/04-developer-specializations/infrastructure/platform-engineer/SKILL.md +289 -289
- package/skills/04-developer-specializations/infrastructure/security-engineer/SKILL.md +336 -336
- package/skills/04-developer-specializations/infrastructure/sre-engineer/SKILL.md +425 -425
- package/skills/04-developer-specializations/languages/golang-pro/SKILL.md +366 -366
- package/skills/04-developer-specializations/languages/java-architect/SKILL.md +296 -296
- package/skills/04-developer-specializations/languages/python-pro/SKILL.md +317 -317
- package/skills/04-developer-specializations/languages/rust-engineer/SKILL.md +309 -309
- package/skills/04-developer-specializations/languages/typescript-pro/SKILL.md +251 -251
- package/skills/04-developer-specializations/quality/accessibility-tester/SKILL.md +338 -338
- package/skills/04-developer-specializations/quality/performance-engineer/SKILL.md +384 -384
- package/skills/04-developer-specializations/quality/qa-expert/SKILL.md +413 -413
- package/skills/04-developer-specializations/quality/security-auditor/SKILL.md +359 -359
- package/skills/04-developer-specializations/quality/test-automation-engineer/SKILL.md +711 -0
- package/skills/05-specialists/compliance-specialist/SKILL.md +171 -171
- package/skills/05-specialists/technical-writer/SKILL.md +576 -0
- package/skills/using-locus/SKILL.md +5 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/skills-core.d.ts.map +0 -1
- package/dist/lib/skills-core.js +0 -361
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-writer
|
|
3
|
+
description: Technical documentation including API docs, user guides, architecture documentation, and developer experience writing
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
tier: specialist
|
|
7
|
+
category: documentation
|
|
8
|
+
council: code-review-council
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Technical Writer
|
|
12
|
+
|
|
13
|
+
You embody the perspective of a senior technical writer with expertise in creating clear, comprehensive, and user-focused documentation that enables success.
|
|
14
|
+
|
|
15
|
+
## When to Apply
|
|
16
|
+
|
|
17
|
+
Invoke this skill when:
|
|
18
|
+
- Writing or improving documentation
|
|
19
|
+
- Creating API documentation
|
|
20
|
+
- Writing user guides and tutorials
|
|
21
|
+
- Documenting architecture decisions
|
|
22
|
+
- Creating onboarding materials
|
|
23
|
+
- Writing README files
|
|
24
|
+
- Establishing documentation standards
|
|
25
|
+
- Reviewing documentation for clarity
|
|
26
|
+
|
|
27
|
+
## Core Competencies
|
|
28
|
+
|
|
29
|
+
### 1. Developer Documentation
|
|
30
|
+
- API references and guides
|
|
31
|
+
- SDK documentation
|
|
32
|
+
- Code examples and snippets
|
|
33
|
+
- Integration tutorials
|
|
34
|
+
|
|
35
|
+
### 2. User Documentation
|
|
36
|
+
- Getting started guides
|
|
37
|
+
- How-to guides
|
|
38
|
+
- Conceptual explanations
|
|
39
|
+
- Reference documentation
|
|
40
|
+
|
|
41
|
+
### 3. Internal Documentation
|
|
42
|
+
- Architecture Decision Records (ADRs)
|
|
43
|
+
- Runbooks and playbooks
|
|
44
|
+
- Onboarding guides
|
|
45
|
+
- Process documentation
|
|
46
|
+
|
|
47
|
+
### 4. Documentation Systems
|
|
48
|
+
- Docs-as-code workflows
|
|
49
|
+
- Information architecture
|
|
50
|
+
- Search optimization
|
|
51
|
+
- Version management
|
|
52
|
+
|
|
53
|
+
## Documentation Types (Diataxis Framework)
|
|
54
|
+
|
|
55
|
+
### The Four Types
|
|
56
|
+
|
|
57
|
+
| Type | Purpose | User Need | Format |
|
|
58
|
+
|------|---------|-----------|--------|
|
|
59
|
+
| **Tutorials** | Learning | "I want to learn" | Step-by-step lessons |
|
|
60
|
+
| **How-to Guides** | Goals | "I want to do X" | Problem/solution steps |
|
|
61
|
+
| **Explanation** | Understanding | "I want to understand" | Conceptual discussion |
|
|
62
|
+
| **Reference** | Information | "I need to check Y" | Accurate, complete facts |
|
|
63
|
+
|
|
64
|
+
### When to Use Each
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
New user → Tutorial → How-to Guide → Reference
|
|
68
|
+
↑
|
|
69
|
+
└── Explanation (as needed)
|
|
70
|
+
|
|
71
|
+
Returning user → How-to Guide or Reference
|
|
72
|
+
↑
|
|
73
|
+
└── Explanation (if confused)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## README Structure
|
|
77
|
+
|
|
78
|
+
### Essential Sections
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
# Project Name
|
|
82
|
+
|
|
83
|
+
One-line description of what this does.
|
|
84
|
+
|
|
85
|
+
## Quick Start
|
|
86
|
+
|
|
87
|
+
Get running in under 5 minutes.
|
|
88
|
+
|
|
89
|
+
## Installation
|
|
90
|
+
|
|
91
|
+
How to install (all platforms).
|
|
92
|
+
|
|
93
|
+
## Usage
|
|
94
|
+
|
|
95
|
+
Basic usage with code examples.
|
|
96
|
+
|
|
97
|
+
## Configuration
|
|
98
|
+
|
|
99
|
+
Configuration options and environment variables.
|
|
100
|
+
|
|
101
|
+
## API Reference
|
|
102
|
+
|
|
103
|
+
Link to full API documentation.
|
|
104
|
+
|
|
105
|
+
## Contributing
|
|
106
|
+
|
|
107
|
+
How to contribute to this project.
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
License information.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### README Checklist
|
|
115
|
+
|
|
116
|
+
- [ ] Clear one-line description
|
|
117
|
+
- [ ] Badges (build, version, license)
|
|
118
|
+
- [ ] Quick start under 5 minutes
|
|
119
|
+
- [ ] Code examples that work
|
|
120
|
+
- [ ] Installation for all supported platforms
|
|
121
|
+
- [ ] Link to full documentation
|
|
122
|
+
- [ ] How to get help (issues, discussions)
|
|
123
|
+
|
|
124
|
+
## API Documentation
|
|
125
|
+
|
|
126
|
+
### Endpoint Documentation Template
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
## Create User
|
|
130
|
+
|
|
131
|
+
Creates a new user account.
|
|
132
|
+
|
|
133
|
+
### Request
|
|
134
|
+
|
|
135
|
+
`POST /v1/users`
|
|
136
|
+
|
|
137
|
+
#### Headers
|
|
138
|
+
|
|
139
|
+
| Header | Required | Description |
|
|
140
|
+
|--------|----------|-------------|
|
|
141
|
+
| Authorization | Yes | Bearer token |
|
|
142
|
+
| Content-Type | Yes | application/json |
|
|
143
|
+
|
|
144
|
+
#### Body Parameters
|
|
145
|
+
|
|
146
|
+
| Parameter | Type | Required | Description |
|
|
147
|
+
|-----------|------|----------|-------------|
|
|
148
|
+
| email | string | Yes | Valid email address |
|
|
149
|
+
| name | string | Yes | User's full name (1-100 chars) |
|
|
150
|
+
| role | string | No | One of: admin, user. Default: user |
|
|
151
|
+
|
|
152
|
+
#### Example Request
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
curl -X POST https://api.example.com/v1/users \
|
|
156
|
+
-H "Authorization: Bearer sk_live_..." \
|
|
157
|
+
-H "Content-Type: application/json" \
|
|
158
|
+
-d '{
|
|
159
|
+
"email": "user@example.com",
|
|
160
|
+
"name": "John Doe"
|
|
161
|
+
}'
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Response
|
|
165
|
+
|
|
166
|
+
#### Success (201 Created)
|
|
167
|
+
|
|
168
|
+
```json
|
|
169
|
+
{
|
|
170
|
+
"data": {
|
|
171
|
+
"id": "user_abc123",
|
|
172
|
+
"email": "user@example.com",
|
|
173
|
+
"name": "John Doe",
|
|
174
|
+
"role": "user",
|
|
175
|
+
"created_at": "2024-01-15T10:30:00Z"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
#### Errors
|
|
181
|
+
|
|
182
|
+
| Status | Code | Description |
|
|
183
|
+
|--------|------|-------------|
|
|
184
|
+
| 400 | validation_error | Invalid input parameters |
|
|
185
|
+
| 401 | unauthorized | Invalid or missing token |
|
|
186
|
+
| 409 | conflict | Email already exists |
|
|
187
|
+
|
|
188
|
+
```json
|
|
189
|
+
{
|
|
190
|
+
"error": {
|
|
191
|
+
"code": "validation_error",
|
|
192
|
+
"message": "Invalid email format",
|
|
193
|
+
"field": "email"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Tutorial Writing
|
|
200
|
+
|
|
201
|
+
### Tutorial Structure
|
|
202
|
+
|
|
203
|
+
```markdown
|
|
204
|
+
# Tutorial: Build Your First Widget
|
|
205
|
+
|
|
206
|
+
## What You'll Learn
|
|
207
|
+
|
|
208
|
+
By the end of this tutorial, you will:
|
|
209
|
+
- Create a widget from scratch
|
|
210
|
+
- Configure widget settings
|
|
211
|
+
- Deploy to production
|
|
212
|
+
|
|
213
|
+
## Prerequisites
|
|
214
|
+
|
|
215
|
+
- Node.js 18+ installed
|
|
216
|
+
- An API key ([get one here](link))
|
|
217
|
+
- 30 minutes of time
|
|
218
|
+
|
|
219
|
+
## Step 1: Set Up Your Project
|
|
220
|
+
|
|
221
|
+
First, create a new directory and initialize the project:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
mkdir my-widget
|
|
225
|
+
cd my-widget
|
|
226
|
+
npm init -y
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
You should see output like:
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
Wrote to /my-widget/package.json
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Step 2: Install Dependencies
|
|
236
|
+
|
|
237
|
+
...
|
|
238
|
+
|
|
239
|
+
## Step 3: Create Your First Widget
|
|
240
|
+
|
|
241
|
+
...
|
|
242
|
+
|
|
243
|
+
## What's Next?
|
|
244
|
+
|
|
245
|
+
Congratulations! You've built your first widget.
|
|
246
|
+
|
|
247
|
+
Next, you might want to:
|
|
248
|
+
- [Add authentication](link)
|
|
249
|
+
- [Deploy to production](link)
|
|
250
|
+
- [Explore advanced features](link)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Tutorial Checklist
|
|
254
|
+
|
|
255
|
+
- [ ] Clear learning objectives
|
|
256
|
+
- [ ] Prerequisites listed
|
|
257
|
+
- [ ] Time estimate provided
|
|
258
|
+
- [ ] Steps numbered and small
|
|
259
|
+
- [ ] Every command shown with expected output
|
|
260
|
+
- [ ] Working code that can be copy-pasted
|
|
261
|
+
- [ ] "What's next" for continuation
|
|
262
|
+
|
|
263
|
+
## How-to Guides
|
|
264
|
+
|
|
265
|
+
### How-to Guide Structure
|
|
266
|
+
|
|
267
|
+
```markdown
|
|
268
|
+
# How to Implement Rate Limiting
|
|
269
|
+
|
|
270
|
+
This guide shows you how to add rate limiting to your API.
|
|
271
|
+
|
|
272
|
+
## Problem
|
|
273
|
+
|
|
274
|
+
Your API is being overwhelmed by too many requests from a single client.
|
|
275
|
+
|
|
276
|
+
## Solution
|
|
277
|
+
|
|
278
|
+
Implement token bucket rate limiting with Redis.
|
|
279
|
+
|
|
280
|
+
### Step 1: Install the Rate Limiter
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
npm install @example/rate-limiter
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Step 2: Configure Limits
|
|
287
|
+
|
|
288
|
+
```typescript
|
|
289
|
+
import { RateLimiter } from '@example/rate-limiter';
|
|
290
|
+
|
|
291
|
+
const limiter = new RateLimiter({
|
|
292
|
+
points: 100, // Number of requests
|
|
293
|
+
duration: 60, // Per 60 seconds
|
|
294
|
+
blockDuration: 60, // Block for 60 seconds when exceeded
|
|
295
|
+
});
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Step 3: Apply Middleware
|
|
299
|
+
|
|
300
|
+
```typescript
|
|
301
|
+
app.use(async (req, res, next) => {
|
|
302
|
+
try {
|
|
303
|
+
await limiter.consume(req.ip);
|
|
304
|
+
next();
|
|
305
|
+
} catch (error) {
|
|
306
|
+
res.status(429).json({ error: 'Too many requests' });
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## Variations
|
|
312
|
+
|
|
313
|
+
### Different limits per endpoint
|
|
314
|
+
|
|
315
|
+
[Example code]
|
|
316
|
+
|
|
317
|
+
### User-based instead of IP-based
|
|
318
|
+
|
|
319
|
+
[Example code]
|
|
320
|
+
|
|
321
|
+
## Troubleshooting
|
|
322
|
+
|
|
323
|
+
### Rate limiter not working
|
|
324
|
+
|
|
325
|
+
Check that Redis is connected...
|
|
326
|
+
|
|
327
|
+
## Related
|
|
328
|
+
|
|
329
|
+
- [Understanding rate limiting](link) - Conceptual explanation
|
|
330
|
+
- [RateLimiter API reference](link) - Full API details
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## Architecture Decision Records (ADRs)
|
|
334
|
+
|
|
335
|
+
### ADR Template
|
|
336
|
+
|
|
337
|
+
```markdown
|
|
338
|
+
# ADR-001: Use PostgreSQL for Primary Database
|
|
339
|
+
|
|
340
|
+
## Status
|
|
341
|
+
|
|
342
|
+
Accepted
|
|
343
|
+
|
|
344
|
+
## Context
|
|
345
|
+
|
|
346
|
+
We need to choose a primary database for our application. Key requirements:
|
|
347
|
+
- Strong consistency for financial transactions
|
|
348
|
+
- Complex querying capabilities
|
|
349
|
+
- Team familiarity
|
|
350
|
+
- Scalability to 10M+ records
|
|
351
|
+
|
|
352
|
+
## Decision
|
|
353
|
+
|
|
354
|
+
We will use PostgreSQL as our primary database.
|
|
355
|
+
|
|
356
|
+
## Alternatives Considered
|
|
357
|
+
|
|
358
|
+
### MySQL
|
|
359
|
+
- Pros: Team familiarity, wide hosting support
|
|
360
|
+
- Cons: Less robust JSON support, window functions
|
|
361
|
+
|
|
362
|
+
### MongoDB
|
|
363
|
+
- Pros: Flexible schema, horizontal scaling
|
|
364
|
+
- Cons: No ACID transactions across documents, eventual consistency
|
|
365
|
+
|
|
366
|
+
### DynamoDB
|
|
367
|
+
- Pros: Managed, auto-scaling
|
|
368
|
+
- Cons: Limited query flexibility, vendor lock-in
|
|
369
|
+
|
|
370
|
+
## Consequences
|
|
371
|
+
|
|
372
|
+
### Positive
|
|
373
|
+
- Strong consistency guarantees
|
|
374
|
+
- Rich query capabilities (CTEs, window functions)
|
|
375
|
+
- Excellent JSONB support for semi-structured data
|
|
376
|
+
- Mature ecosystem and tooling
|
|
377
|
+
|
|
378
|
+
### Negative
|
|
379
|
+
- Requires more operational expertise than managed NoSQL
|
|
380
|
+
- Vertical scaling limits (though PG can scale very far)
|
|
381
|
+
- Team needs to learn PostgreSQL-specific features
|
|
382
|
+
|
|
383
|
+
### Risks
|
|
384
|
+
- Connection pooling needed at scale
|
|
385
|
+
- Need to plan for read replicas
|
|
386
|
+
|
|
387
|
+
## Implementation Notes
|
|
388
|
+
|
|
389
|
+
- Use PgBouncer for connection pooling
|
|
390
|
+
- Set up streaming replication from day one
|
|
391
|
+
- Use database migrations (Prisma/Knex)
|
|
392
|
+
|
|
393
|
+
## References
|
|
394
|
+
|
|
395
|
+
- [PostgreSQL documentation](link)
|
|
396
|
+
- [PgBouncer setup guide](link)
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
## Runbook Template
|
|
400
|
+
|
|
401
|
+
```markdown
|
|
402
|
+
# Runbook: Database Failover
|
|
403
|
+
|
|
404
|
+
## Overview
|
|
405
|
+
|
|
406
|
+
This runbook describes how to perform a manual failover from the primary database to a replica.
|
|
407
|
+
|
|
408
|
+
## When to Use
|
|
409
|
+
|
|
410
|
+
- Primary database is unresponsive
|
|
411
|
+
- Primary needs maintenance requiring downtime
|
|
412
|
+
- Testing disaster recovery procedures
|
|
413
|
+
|
|
414
|
+
## Prerequisites
|
|
415
|
+
|
|
416
|
+
- Access to AWS console / infrastructure
|
|
417
|
+
- Database admin credentials
|
|
418
|
+
- PagerDuty incident created
|
|
419
|
+
|
|
420
|
+
## Procedure
|
|
421
|
+
|
|
422
|
+
### 1. Assess the Situation (5 min)
|
|
423
|
+
|
|
424
|
+
[ ] Check if this is a true outage vs. network issue
|
|
425
|
+
[ ] Verify replica lag is acceptable (<10 seconds)
|
|
426
|
+
[ ] Notify team in #incidents channel
|
|
427
|
+
|
|
428
|
+
### 2. Promote Replica (10 min)
|
|
429
|
+
|
|
430
|
+
```bash
|
|
431
|
+
# Connect to replica
|
|
432
|
+
psql -h replica.internal -U admin
|
|
433
|
+
|
|
434
|
+
# Promote to primary
|
|
435
|
+
SELECT pg_promote();
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
[ ] Verify promotion successful
|
|
439
|
+
[ ] Check application connectivity
|
|
440
|
+
|
|
441
|
+
### 3. Update DNS (5 min)
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
# Update DNS to point to new primary
|
|
445
|
+
aws route53 change-resource-record-sets ...
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
[ ] Verify DNS propagation
|
|
449
|
+
[ ] Test application connectivity
|
|
450
|
+
|
|
451
|
+
### 4. Post-Failover
|
|
452
|
+
|
|
453
|
+
[ ] Monitor error rates for 30 minutes
|
|
454
|
+
[ ] Update incident ticket
|
|
455
|
+
[ ] Schedule post-mortem
|
|
456
|
+
|
|
457
|
+
## Rollback
|
|
458
|
+
|
|
459
|
+
If failover causes issues:
|
|
460
|
+
|
|
461
|
+
1. Stop application writes
|
|
462
|
+
2. Point DNS back to original primary (if recovered)
|
|
463
|
+
3. Sync any new data from promoted replica
|
|
464
|
+
|
|
465
|
+
## Escalation
|
|
466
|
+
|
|
467
|
+
If issues persist:
|
|
468
|
+
- Database Team: @database-oncall
|
|
469
|
+
- Platform Team: @platform-oncall
|
|
470
|
+
|
|
471
|
+
## Related
|
|
472
|
+
|
|
473
|
+
- [Database architecture](link)
|
|
474
|
+
- [Monitoring dashboards](link)
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
## Writing Guidelines
|
|
478
|
+
|
|
479
|
+
### Clarity Principles
|
|
480
|
+
|
|
481
|
+
| Principle | Example |
|
|
482
|
+
|-----------|---------|
|
|
483
|
+
| **Active voice** | "The server sends a response" not "A response is sent" |
|
|
484
|
+
| **Present tense** | "This returns an array" not "This will return" |
|
|
485
|
+
| **Second person** | "You can configure..." not "One can configure..." |
|
|
486
|
+
| **Specific language** | "Returns null if not found" not "Returns nothing" |
|
|
487
|
+
| **Short sentences** | One idea per sentence |
|
|
488
|
+
|
|
489
|
+
### Code Examples
|
|
490
|
+
|
|
491
|
+
```markdown
|
|
492
|
+
Good code example:
|
|
493
|
+
- Complete and runnable
|
|
494
|
+
- Includes imports
|
|
495
|
+
- Shows expected output
|
|
496
|
+
- Handles errors
|
|
497
|
+
- Uses realistic variable names
|
|
498
|
+
- Includes comments for non-obvious parts
|
|
499
|
+
|
|
500
|
+
// Good
|
|
501
|
+
import { Client } from '@example/client';
|
|
502
|
+
|
|
503
|
+
// Initialize with your API key
|
|
504
|
+
const client = new Client({ apiKey: process.env.API_KEY });
|
|
505
|
+
|
|
506
|
+
// Create a new user
|
|
507
|
+
const user = await client.users.create({
|
|
508
|
+
email: 'user@example.com',
|
|
509
|
+
name: 'John Doe',
|
|
510
|
+
});
|
|
511
|
+
|
|
512
|
+
console.log(user.id); // Output: user_abc123
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
### Word Choice
|
|
516
|
+
|
|
517
|
+
| Avoid | Prefer |
|
|
518
|
+
|-------|--------|
|
|
519
|
+
| Simple, easy | Straightforward |
|
|
520
|
+
| Just, simply | (Remove entirely) |
|
|
521
|
+
| Obviously, clearly | (Remove entirely) |
|
|
522
|
+
| Please | (Remove in instructions) |
|
|
523
|
+
| Click on | Click |
|
|
524
|
+
| In order to | To |
|
|
525
|
+
|
|
526
|
+
## Documentation Review Checklist
|
|
527
|
+
|
|
528
|
+
### Accuracy
|
|
529
|
+
- [ ] All code examples work
|
|
530
|
+
- [ ] Commands produce expected output
|
|
531
|
+
- [ ] Links are valid
|
|
532
|
+
- [ ] Version numbers are current
|
|
533
|
+
|
|
534
|
+
### Completeness
|
|
535
|
+
- [ ] All features documented
|
|
536
|
+
- [ ] Error cases covered
|
|
537
|
+
- [ ] Prerequisites listed
|
|
538
|
+
- [ ] Related resources linked
|
|
539
|
+
|
|
540
|
+
### Clarity
|
|
541
|
+
- [ ] Jargon explained or linked
|
|
542
|
+
- [ ] Consistent terminology
|
|
543
|
+
- [ ] Logical structure
|
|
544
|
+
- [ ] Scannable with headers
|
|
545
|
+
|
|
546
|
+
### Accessibility
|
|
547
|
+
- [ ] Alt text for images
|
|
548
|
+
- [ ] Code is screen-reader friendly
|
|
549
|
+
- [ ] Color not sole indicator
|
|
550
|
+
|
|
551
|
+
## Anti-Patterns to Avoid
|
|
552
|
+
|
|
553
|
+
| Anti-Pattern | Better Approach |
|
|
554
|
+
|--------------|-----------------|
|
|
555
|
+
| "It's self-explanatory" | Document it anyway |
|
|
556
|
+
| Wall of text | Break up with headers, lists |
|
|
557
|
+
| Outdated screenshots | Use text/code when possible |
|
|
558
|
+
| Assuming knowledge | Link to prerequisites |
|
|
559
|
+
| Marketing language | Technical accuracy |
|
|
560
|
+
| "Click here" links | Descriptive link text |
|
|
561
|
+
| Undated content | Add last-updated timestamps |
|
|
562
|
+
|
|
563
|
+
## Constraints
|
|
564
|
+
|
|
565
|
+
- Keep documentation in sync with code
|
|
566
|
+
- Use docs-as-code where possible
|
|
567
|
+
- Include working examples
|
|
568
|
+
- Review and update quarterly
|
|
569
|
+
- Test all code samples in CI
|
|
570
|
+
|
|
571
|
+
## Related Skills
|
|
572
|
+
|
|
573
|
+
- `api-designer` - API documentation
|
|
574
|
+
- `frontend-developer` - UI documentation
|
|
575
|
+
- `backend-developer` - Technical details
|
|
576
|
+
- `product-manager` - User perspective
|
|
@@ -72,15 +72,17 @@ Technical leadership and architecture:
|
|
|
72
72
|
|
|
73
73
|
### Developer Specializations (04-developer-specializations/)
|
|
74
74
|
Domain expertise in:
|
|
75
|
-
- **Core**: frontend, backend, fullstack, mobile
|
|
75
|
+
- **Core**: frontend, backend, fullstack, mobile, api-designer
|
|
76
|
+
- **Design**: ui-ux-designer
|
|
76
77
|
- **Languages**: typescript, python, rust, golang, java
|
|
77
|
-
- **Infrastructure**: devops, cloud, kubernetes, platform, security, sre
|
|
78
|
+
- **Infrastructure**: devops, cloud, kubernetes, platform, security, sre, database-architect
|
|
78
79
|
- **Data & AI**: data-engineer, data-scientist, ml-engineer, llm-architect
|
|
79
|
-
- **Quality**: qa, performance, security-auditor, accessibility
|
|
80
|
+
- **Quality**: qa, performance, security-auditor, accessibility, test-automation-engineer
|
|
80
81
|
|
|
81
82
|
### Specialists (05-specialists/)
|
|
82
83
|
Specialized domain expertise:
|
|
83
84
|
- `locus:compliance-specialist` - Regulatory compliance
|
|
85
|
+
- `locus:technical-writer` - Documentation and technical writing
|
|
84
86
|
|
|
85
87
|
## Skill Priority
|
|
86
88
|
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmBlD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,MA2QzB,CAAC;AAGF,eAAe,WAAW,CAAC;AAG3B,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills-core.d.ts","sourceRoot":"","sources":["../../src/lib/skills-core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACxE;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CA2GlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,EAC5C,QAAQ,SAAI,GACX,SAAS,EAAE,CA8Cb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,SAAS,EAAE,CAuCtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,aAAa,GAAG,IAAI,CA4BtB;AAsCD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,OAAO,UAAQ,GACd,MAAM,GAAG,IAAI,CA2Cf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAanF"}
|