Install
$ agentstack add skill-davila7-claude-with-skills-jsdoc-writer ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Instructions
Identify the functions or methods that are missing JSDoc comments. If the user specified a file, focus on that file. Otherwise, focus on whatever code is currently being discussed.
For each undocumented function, write a JSDoc block following these rules:
Content rules
- Read the function signature to determine parameter names and infer types from usage context, TypeScript annotations, or surrounding code.
- Write a concise
@description(one line maximum) that explains what the function does. If the function name already makes this completely obvious (isAuthenticated,formatDate), skip the description line and let the@paramand@returnstags carry the documentation.
- Write one
@paramtag per parameter:
- Include the type in curly braces:
@param {string} name - Add a short description after the parameter name
- Mark optional parameters with a
?suffix or bracket notation:@param {string} [name]
- Write
@returnswith the return type and a brief description of what is returned and under what conditions. If the function returns void or never returns a meaningful value, omit@returns.
- Write
@throwsif the function throws an exception under documented conditions:@throws {TypeError} If name is not a string.
- Do not add
@author,@date,@version, or other lifecycle metadata — these are noisy and go stale quickly.
Style rules
- Explain the why only when the behavior would surprise a reader who knows JavaScript and the domain. Do not describe what the code does — the code already shows that.
- Keep descriptions short. If a description needs more than one sentence, the function probably does too much.
- Use the existing codebase's type vocabulary. If the codebase calls something a
UserId, useUserId, notstring.
Output format
Print the function name as a heading, then the completed JSDoc block. If the function already has a JSDoc block that is incomplete, print the corrected version.
Example output format:
getUserById
/**
* Fetches a user record by its unique identifier.
* Returns null if no user with that ID exists.
*
* @param {string} id - The user's unique identifier.
* @returns {Promise} The user record, or null if not found.
* @throws {DatabaseError} If the database connection fails.
*/
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: davila7
- Source: davila7/claude-with-skills
- License: MIT
- Homepage: https://claude-with-skills.vercel.app
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.