com um clique
documentation-fundamentals
// Guides documentation standards including READMEs, JSDoc, and code comments. Use when writing documentation, adding comments, or explaining code. Enforces "WHY not WHAT" principle.
// Guides documentation standards including READMEs, JSDoc, and code comments. Use when writing documentation, adding comments, or explaining code. Enforces "WHY not WHAT" principle.
Transforms completed work into powerful resume bullet points with action verbs, technical context, and quantified impact. Use when completing tasks, updating portfolio, or preparing job applications.
Transforms completed work into STAR interview stories (Situation, Task, Action, Result). Use when completing tasks, preparing for behavioral interviews, or documenting achievements.
Reviews accessibility including WCAG, ARIA, keyboard navigation. Use when junior builds forms, buttons, modals, interactive elements, or asks "is this accessible", "a11y", "screen reader".
Reviews API design, REST conventions, and backend architecture. Use when junior builds API endpoints, Express routes, middleware, controllers, or asks "is this RESTful", "check my endpoint".
Reviews schema design, SQL queries, ORM patterns. Use when junior creates schema, writes queries, adds migrations, works with Prisma/MongoDB/PostgreSQL, or asks "is this SQL safe", "N+1", "index".
Guides systematic debugging through Protocol D (READ, ISOLATE, DOCS, HYPOTHESIZE, VERIFY). Use when junior says "stuck", "not working", "broken", "bug", "error", "crashed", "failing", "can't figure out", or expresses frustration. Do NOT use for general questions.
| name | documentation-fundamentals |
| description | Guides documentation standards including READMEs, JSDoc, and code comments. Use when writing documentation, adding comments, or explaining code. Enforces "WHY not WHAT" principle. |
"Code tells you HOW, comments tell you WHY. If you only explain what the code does, you're wasting everyone's time."
Activate this skill when:
// ❌ BAD: Explains what (code already says this)
// Increment counter by 1
counter++;
// ✅ GOOD: Explains why (context the code can't provide)
// Counter must be incremented before validation runs
// to account for the edge case where initial value is 0
counter++;
Every README must answer these questions:
"What problem does this solve in one sentence?"
## What
A CLI tool that converts Figma designs to React components.
"What pain point motivated this project?"
## Why
Manually converting designs to code takes hours and introduces inconsistencies.
This tool automates the process, ensuring pixel-perfect components.
"Copy-paste instructions that work."
## Installation
npm install your-package
"The simplest possible example that works."
## Quick Start
npx your-tool --input design.fig --output ./components
"For open source projects."
## Contributing
1. Fork the repo
2. Create your feature branch
3. Submit a pull request
/**
* Validates email format and checks domain against blocklist.
*
* @param email - The email address to validate
* @returns ValidationResult with success status and error message
*
* @example
* const result = validateEmail('user@example.com');
* if (!result.success) {
* showError(result.error);
* }
*
* Note: This uses the RFC 5322 regex pattern, which is intentionally
* strict to prevent disposable email addresses.
*/
function validateEmail(email: string): ValidationResult {
// Implementation
}
// Rate limit is 100/min but we use 80 to leave headroom for retries
const RATE_LIMIT = 80;
// Sort descending because newest items should appear first
// (business requirement from PM - see ticket #1234)
items.sort((a, b) => b.date - a.date);
// HACK: API returns dates as strings, need to parse manually
// TODO: Remove after backend migration (Q2 2026)
const date = new Date(response.dateString);
/*
* Authentication Flow:
* 1. Check local token cache
* 2. If expired, attempt silent refresh
* 3. If refresh fails, redirect to login
*
* We use refresh tokens instead of re-authentication to avoid
* disrupting the user experience during long sessions.
*/
// ❌ BAD: Useless comment
// Set name to "John"
const name = "John";
// Get the user's age
const age = user.age;
// Loop through items
for (const item of items) { ... }
// ✅ GOOD: No comment needed (code is self-explanatory)
const name = "John";
// ❌ BAD: Comment doesn't match code (dangerous!)
// Filter out inactive users
const users = data.filter(u => u.role === 'admin');
// ✅ GOOD: Comment matches reality
// Only show admin users in management view
const users = data.filter(u => u.role === 'admin');
// ❌ BAD: What is 86400?
const expiresIn = 86400;
// ✅ GOOD: Explains the magic
const SECONDS_PER_DAY = 86400;
const expiresIn = SECONDS_PER_DAY; // Tokens expire after 24 hours
// ❌ BAD: Dead code polluting the file
// const oldImplementation = () => { ... };
// function deprecatedHelper() { ... }
// ✅ GOOD: Delete it! Git remembers everything
<!-- ❌ BAD: Auto-generated, never updated -->
# my-project
This project was bootstrapped with Create React App.
Ask these instead of giving answers:
# Project Name
One-sentence description of what this does.
## Why
The problem this solves and why it matters.
## Installation
npm install project-name
## Quick Start
Minimal code example that works.
## API
### functionName(param)
Description of what it does.
**Parameters:**
- `param` (string): What this parameter is for
**Returns:** What gets returned
**Example:**
```js
// Usage example
Available options and their defaults.
How to contribute (if applicable).
MIT (or your license)
---
## JSDoc Essentials
```typescript
/**
* Brief description of what this function does.
*
* @param paramName - Description of parameter
* @returns Description of return value
* @throws {ErrorType} When this error occurs
* @example
* // Show how to use it
* const result = myFunction('input');
*
* @see RelatedFunction for similar functionality
* @deprecated Use newFunction instead (v2.0+)
*/
| Flag | Question |
|---|---|
| Empty README | "Can a new developer run this project right now?" |
// Set x to 5 | "Does this comment add value? The code already says this." |
| Outdated comments | "Does this comment still match what the code does?" |
| No JSDoc on exports | "How would someone know how to use this function?" |
| Commented-out code | "Why is this here? Git has history if you need it back." |
| Magic numbers | "What does 3600 mean? Why this number?" |
"I maintain comprehensive documentation including READMEs, JSDoc comments, and architecture decision records, ensuring code is maintainable by the entire team."
Documentation habits demonstrate:
Fetch: JSDoc documentation
Fetch: Markdown best practices
Search: README.md patterns in popular repos
Search: JSDoc examples in TypeScript projects