Skip to content

Commit c3a428f

Browse files
committed
fix lint
1 parent 7a38567 commit c3a428f

File tree

9 files changed

+75
-33
lines changed

9 files changed

+75
-33
lines changed

.claude/skills/code-review/SKILL.md

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Transform code reviews from gatekeeping to knowledge sharing through constructiv
2323
### 1. The Review Mindset
2424

2525
**Goals of Code Review:**
26+
2627
- Catch bugs and edge cases
2728
- Ensure code maintainability
2829
- Share knowledge across team
@@ -31,6 +32,7 @@ Transform code reviews from gatekeeping to knowledge sharing through constructiv
3132
- Build team culture
3233

3334
**Not the Goals:**
35+
3436
- Show off knowledge
3537
- Nitpick formatting (use linters)
3638
- Block progress unnecessarily
@@ -39,6 +41,7 @@ Transform code reviews from gatekeeping to knowledge sharing through constructiv
3941
### 2. Effective Feedback
4042

4143
**Good Feedback is:**
44+
4245
- Specific and actionable
4346
- Educational, not judgmental
4447
- Focused on the code, not the person
@@ -48,20 +51,21 @@ Transform code reviews from gatekeeping to knowledge sharing through constructiv
4851
```markdown
4952
❌ Bad: "This is wrong."
5053
✅ Good: "This could cause a race condition when multiple users
51-
access simultaneously. Consider using a mutex here."
54+
access simultaneously. Consider using a mutex here."
5255

5356
❌ Bad: "Why didn't you use X pattern?"
5457
✅ Good: "Have you considered the Repository pattern? It would
55-
make this easier to test. Here's an example: [link]"
58+
make this easier to test. Here's an example: [link]"
5659

5760
❌ Bad: "Rename this variable."
5861
✅ Good: "[nit] Consider `userCount` instead of `uc` for
59-
clarity. Not blocking if you prefer to keep it."
62+
clarity. Not blocking if you prefer to keep it."
6063
```
6164

6265
### 3. Review Scope
6366

6467
**What to Review:**
68+
6569
- Logic correctness and edge cases
6670
- Security vulnerabilities
6771
- Performance implications
@@ -72,6 +76,7 @@ Transform code reviews from gatekeeping to knowledge sharing through constructiv
7276
- Architectural fit
7377

7478
**What Not to Review Manually:**
79+
7580
- Code formatting (use Prettier, Black, etc.)
7681
- Import organization
7782
- Linting violations
@@ -159,20 +164,23 @@ For each file:
159164

160165
```markdown
161166
## Security Checklist
167+
162168
- [ ] User input validated and sanitized
163169
- [ ] SQL queries use parameterization
164170
- [ ] Authentication/authorization checked
165171
- [ ] Secrets not hardcoded
166172
- [ ] Error messages don't leak info
167173

168174
## Performance Checklist
175+
169176
- [ ] No N+1 queries
170177
- [ ] Database queries indexed
171178
- [ ] Large lists paginated
172179
- [ ] Expensive operations cached
173180
- [ ] No blocking I/O in hot paths
174181

175182
## Testing Checklist
183+
176184
- [ ] Happy path tested
177185
- [ ] Edge cases covered
178186
- [ ] Error cases tested
@@ -193,28 +201,28 @@ Instead of stating problems, ask questions to encourage thinking:
193201

194202
❌ "This is inefficient."
195203
✅ "I see this loops through all users. Have we considered
196-
the performance impact with 100k users?"
204+
the performance impact with 100k users?"
197205
```
198206

199207
### Technique 3: Suggest, Don't Command
200208

201-
```markdown
209+
````markdown
202210
## Use Collaborative Language
203211

204212
❌ "You must change this to use async/await"
205213
✅ "Suggestion: async/await might make this more readable:
206-
```typescript
214+
`typescript
207215
async function fetchUser(id: string) {
208216
const user = await db.query('SELECT * FROM users WHERE id = ?', id);
209217
return user;
210218
}
211-
```
212-
What do you think?"
219+
`
220+
What do you think?"
213221

214222
❌ "Extract this into a function"
215223
✅ "This logic appears in 3 places. Would it make sense to
216-
extract it into a shared utility function?"
217-
```
224+
extract it into a shared utility function?"
225+
````
218226

219227
### Technique 4: Differentiate Severity
220228

@@ -230,7 +238,7 @@ Use labels to indicate priority:
230238

231239
Example:
232240
"🔴 [blocking] This SQL query is vulnerable to injection.
233-
Please use parameterized queries."
241+
Please use parameterized queries."
234242

235243
"🟢 [nit] Consider renaming `data` to `userData` for clarity."
236244

@@ -389,24 +397,28 @@ test('displays incremented count when clicked', () => {
389397
## Security Review Checklist
390398

391399
### Authentication & Authorization
400+
392401
- [ ] Is authentication required where needed?
393402
- [ ] Are authorization checks before every action?
394403
- [ ] Is JWT validation proper (signature, expiry)?
395404
- [ ] Are API keys/secrets properly secured?
396405

397406
### Input Validation
407+
398408
- [ ] All user inputs validated?
399409
- [ ] File uploads restricted (size, type)?
400410
- [ ] SQL queries parameterized?
401411
- [ ] XSS protection (escape output)?
402412

403413
### Data Protection
414+
404415
- [ ] Passwords hashed (bcrypt/argon2)?
405416
- [ ] Sensitive data encrypted at rest?
406417
- [ ] HTTPS enforced for sensitive data?
407418
- [ ] PII handled according to regulations?
408419

409420
### Common Vulnerabilities
421+
410422
- [ ] No eval() or similar dynamic execution?
411423
- [ ] No hardcoded secrets?
412424
- [ ] CSRF protection for state-changing operations?
@@ -444,14 +456,14 @@ When author disagrees with your feedback:
444456

445457
1. **Seek to Understand**
446458
"Help me understand your approach. What led you to
447-
choose this pattern?"
459+
choose this pattern?"
448460

449461
2. **Acknowledge Valid Points**
450462
"That's a good point about X. I hadn't considered that."
451463

452464
3. **Provide Data**
453465
"I'm concerned about performance. Can we add a benchmark
454-
to validate the approach?"
466+
to validate the approach?"
455467

456468
4. **Escalate if Needed**
457469
"Let's get [architect/senior dev] to weigh in on this."
@@ -488,25 +500,31 @@ When author disagrees with your feedback:
488500

489501
```markdown
490502
## Summary
503+
491504
[Brief overview of what was reviewed]
492505

493506
## Strengths
507+
494508
- [What was done well]
495509
- [Good patterns or approaches]
496510

497511
## Required Changes
512+
498513
🔴 [Blocking issue 1]
499514
🔴 [Blocking issue 2]
500515

501516
## Suggestions
517+
502518
💡 [Improvement 1]
503519
💡 [Improvement 2]
504520

505521
## Questions
522+
506523
[Clarification needed on X]
507524
[Alternative approach consideration]
508525

509526
## Verdict
527+
510528
✅ Approve after addressing required changes
511529
```
512530

@@ -517,4 +535,4 @@ When author disagrees with your feedback:
517535
- **references/security-review-guide.md**: Security-focused review checklist
518536
- **assets/pr-review-template.md**: Standard review comment template
519537
- **assets/review-checklist.md**: Quick reference checklist
520-
- **scripts/pr-analyzer.py**: Analyze PR complexity and suggest reviewers
538+
- **scripts/pr-analyzer.py**: Analyze PR complexity and suggest reviewers

.claude/skills/doc-coauthoring/SKILL.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ This skill provides a structured workflow for guiding users through collaborativ
1010
## When to Offer This Workflow
1111

1212
**Trigger conditions:**
13+
1314
- User mentions writing documentation: "write a doc", "draft a proposal", "create a spec", "write up"
1415
- User mentions specific doc types: "PRD", "design doc", "decision doc", "RFC"
1516
- User seems to be starting a substantial writing task
@@ -42,18 +43,21 @@ Start by asking the user for meta-context about the document:
4243
Inform them they can answer in shorthand or dump information however works best for them.
4344

4445
**If user provides a template or mentions a doc type:**
46+
4547
- Ask if they have a template document to share
4648
- If they provide a link to a shared document, use the appropriate integration to fetch it
4749
- If they provide a file, read it
4850

4951
**If user mentions editing an existing shared document:**
52+
5053
- Use the appropriate integration to read the current state
5154
- Check for images without alt-text
5255
- If images exist without alt-text, explain that when others use Claude to understand the doc, Claude won't be able to see them. Ask if they want alt-text generated. If so, request they paste each image into chat for descriptive alt-text generation.
5356

5457
### Info Dumping
5558

5659
Once initial questions are answered, encourage the user to dump all the context they have. Request information such as:
60+
5761
- Background on the project/problem
5862
- Related team discussions or shared documents
5963
- Why alternative solutions aren't being used
@@ -63,6 +67,7 @@ Once initial questions are answered, encourage the user to dump all the context
6367
- Stakeholder concerns
6468

6569
Advise them not to worry about organizing it - just get it all out. Offer multiple ways to provide context:
70+
6671
- Info dump stream-of-consciousness
6772
- Point to team channels or threads to read
6873
- Link to shared documents
@@ -107,6 +112,7 @@ If user wants to add more, let them. When ready, proceed to Stage 2.
107112

108113
**Instructions to user:**
109114
Explain that the document will be built section by section. For each section:
115+
110116
1. Clarifying questions will be asked about what to include
111117
2. 5-20 options will be brainstormed
112118
3. User will indicate what to keep/remove/combine
@@ -162,6 +168,7 @@ Inform them they can answer in shorthand or just indicate what's important to co
162168
### Step 2: Brainstorming
163169

164170
For the [SECTION NAME] section, brainstorm [5-20] things that might be included, depending on the section's complexity. Look for:
171+
165172
- Context shared that might have been forgotten
166173
- Angles or considerations not yet mentioned
167174

@@ -172,6 +179,7 @@ Generate 5-20 numbered options based on section complexity. At the end, offer to
172179
Ask which points should be kept, removed, or combined. Request brief justifications to help learn priorities for the next sections.
173180

174181
Provide examples:
182+
175183
- "Keep 1,4,7,9"
176184
- "Remove 3 (duplicates 1)"
177185
- "Remove 6 (audience already knows this)"
@@ -205,6 +213,7 @@ Provide a note: Instead of editing the doc directly, ask them to indicate what t
205213
### Step 6: Iterative Refinement
206214

207215
As user provides feedback:
216+
208217
- Use `str_replace` to make edits (never reprint the whole doc)
209218
- **If using artifacts:** Provide link to artifact after each edit
210219
- **If using files:** Just confirm edits are complete
@@ -223,6 +232,7 @@ When section is done, confirm [SECTION NAME] is complete. Ask if ready to move t
223232
### Near Completion
224233

225234
As approaching completion (80%+ of sections done), announce intention to re-read the entire document and check for:
235+
226236
- Flow and consistency across sections
227237
- Redundancy or contradictions
228238
- Anything that feels like "slop" or generic filler
@@ -300,11 +310,13 @@ Generate 5-10 questions that readers would realistically ask.
300310
### Step 2: Setup Testing
301311

302312
Provide testing instructions:
313+
303314
1. Open a fresh Claude conversation: https://claude.ai
304315
2. Paste or share the document content (if using a shared doc platform with connectors enabled, provide the link)
305316
3. Ask Reader Claude the generated questions
306317

307318
For each question, instruct Reader Claude to provide:
319+
308320
- The answer
309321
- Whether anything was ambiguous or unclear
310322
- What knowledge/context the doc assumes is already known
@@ -314,6 +326,7 @@ Check if Reader Claude gives correct answers or misinterprets anything.
314326
### Step 3: Additional Checks
315327

316328
Also ask Reader Claude:
329+
317330
- "What in this doc might be ambiguous or unclear to readers?"
318331
- "What knowledge or context does this doc assume readers already have?"
319332
- "Are there any internal contradictions or inconsistencies?"
@@ -343,33 +356,39 @@ Ask if they want one more review, or if the work is done.
343356

344357
**If user wants final review, provide it. Otherwise:**
345358
Announce document completion. Provide a few final tips:
359+
346360
- Consider linking this conversation in an appendix so readers can see how the doc was developed
347361
- Use appendices to provide depth without bloating the main doc
348362
- Update the doc as feedback is received from real readers
349363

350364
## Tips for Effective Guidance
351365

352366
**Tone:**
367+
353368
- Be direct and procedural
354369
- Explain rationale briefly when it affects user behavior
355370
- Don't try to "sell" the approach - just execute it
356371

357372
**Handling Deviations:**
373+
358374
- If user wants to skip a stage: Ask if they want to skip this and write freeform
359375
- If user seems frustrated: Acknowledge this is taking longer than expected. Suggest ways to move faster
360376
- Always give user agency to adjust the process
361377

362378
**Context Management:**
379+
363380
- Throughout, if context is missing on something mentioned, proactively ask
364381
- Don't let gaps accumulate - address them as they come up
365382

366383
**Artifact Management:**
384+
367385
- Use `create_file` for drafting full sections
368386
- Use `str_replace` for all edits
369387
- Provide artifact link after every change
370388
- Never use artifacts for brainstorming lists - that's just conversation
371389

372390
**Quality over Speed:**
391+
373392
- Don't rush through stages
374393
- Each iteration should make meaningful improvements
375394
- The goal is a document that actually works for readers

AGENTS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,17 @@ The project uses `yarn` for dependency management and script execution.
6363
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.
6464

6565
How to use skills:
66+
6667
- Invoke: Bash("openskills read <skill-name>")
6768
- The skill content will load with detailed instructions on how to complete the task
6869
- Base directory provided in output for resolving bundled resources (references/, scripts/, assets/)
6970

7071
Usage notes:
72+
7173
- Only use skills listed in <available_skills> below
7274
- Do not invoke a skill that is already loaded in your context
7375
- Each skill invocation is stateless
74-
</usage>
76+
</usage>
7577

7678
<available_skills>
7779

@@ -88,6 +90,7 @@ Usage notes:
8890
</skill>
8991

9092
</available_skills>
93+
9194
<!-- SKILLS_TABLE_END -->
9295

9396
</skills_system>

website/docs/14.x/cookbook/basics/custom-render.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ interface RenderWithProvidersProps {
1616

1717
export async function renderWithProviders<T>(
1818
ui: React.ReactElement<T>,
19-
options?: RenderWithProvidersProps,
19+
options?: RenderWithProvidersProps
2020
) {
2121
return await render(
2222
<UserProvider.Provider value={options?.user ?? null}>
2323
<ThemeProvider.Provider value={options?.theme ?? 'light'}>{ui}</ThemeProvider.Provider>
24-
</UserProvider.Provider>,
24+
</UserProvider.Provider>
2525
);
2626
}
2727
```

0 commit comments

Comments
 (0)