Clear technical writing for documentation and commits. Trigger: When writing documentation, code comments, or communicating technical concepts.
Clear technical writing for documentation, code comments, commit messages, and architecture decisions. Emphasizes conciseness and developer-friendly communication.
Don't use this skill for:
Two formats: Simple (default) and Descriptive
Simple format (default - one line):
// ✅ CORRECT: Simple with ticket ID
[SM-14466] fix: handle API 500 error on service plan creation; add error handling for categoryIds; prevent premature Code Review
// ✅ CORRECT: Simple without ticket ID
feat: add user authentication with JWT; implement refresh tokens; include login and logout endpoints
// ❌ WRONG: Missing semicolons between summaries
[SM-123] feat: add feature update another thing do more stuff
Descriptive format (when requested):
// ✅ CORRECT: Descriptive with ticket ID
[SM-14466] fix: handle API 500 error on service plan creation
- Add error handling for 500 response when sending categoryIds
- Prevents moving ticket to Code Review if plans are not listed
- Adds explanatory comment for backend team
// ✅ CORRECT: Descriptive without ticket ID
feat: add user authentication with JWT
- Implements JWT-based authentication system
- Includes login, logout, and token refresh endpoints
- Adds session management and error handling
Rules:
[TICKET-ID] type: summary; summary2; summary3 (one line, semicolons separate changes)[TICKET-ID] type: summary + bullet list (one summary line + detailed changes)[TICKET-ID] (e.g., [SM-123], [JIRA-456])[TICKET-ID] entirely, start with type[TICKET-ID] without actual ticket number<!-- ✅ CORRECT: Active voice -->
The API validates the request and returns a 200 status.
<!-- ❌ WRONG: Passive voice -->
The request is validated by the API and a 200 status is returned.
<!-- ✅ CORRECT: With example -->
## Authentication
Include your API key in the Authorization header:
\`\`\`
Authorization: Bearer your-api-key
\`\`\`
<!-- ❌ WRONG: No example -->
## Authentication
Use the Authorization header with your API key.
API documentation?
→ Include endpoint, parameters, request/response examples, error codes
Code comment?
→ Explain "why" not "what". Avoid obvious comments
Commit message?
→ Use conventional commits format. Default: simple format ([TICKET-ID] type: summary; summary2). Use descriptive format only when user requests it ([TICKET-ID] type: summary + bullet list). Omit [TICKET-ID] if no ticket provided
README?
→ Include: purpose, installation, usage, examples, contributing guidelines
Technical decision?
→ Document with context, rationale, and impact
Complex concept?
→ Use diagrams, examples, analogies. Break into smaller sections
Error message?
→ State problem, cause, solution. Be specific and actionable
Good commit message (simple format - default):
// With ticket ID
[SM-14466] fix: handle API 500 error on service plan creation; add error handling for categoryIds; prevent premature Code Review
// Without ticket ID
feat: add user authentication with JWT; implement refresh tokens; include login and logout endpoints
Good commit message (descriptive format - when requested):
// With ticket ID
[SM-14466] fix: handle API 500 error on service plan creation
- Add error handling for 500 response when sending categoryIds
- Prevents moving ticket to Code Review if plans are not listed
- Adds explanatory comment for backend team
// Without ticket ID
feat: add user authentication with JWT
- Implements JWT-based authentication system
- Includes login, logout, and token refresh endpoints
- Adds session management and error handling
Good documentation:
## Authentication
The API uses JWT tokens for authentication. Include the token in the Authorization header:
\`\`\`
Authorization: Bearer <token>
\`\`\`
Tokens expire after 1 hour. Use the refresh endpoint to obtain a new token.
Audience knowledge level: Adjust technical depth based on audience. Avoid jargon for general audience.
Outdated documentation: Review and update docs regularly. Use doc tests or CI checks.
Version-specific docs: Clearly indicate which version documentation applies to.
Non-native English speakers: Use simple, clear language. Avoid idioms and complex sentences.
Code examples: Ensure examples are runnable and tested. Include necessary imports and setup.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer