All skills
simota avatar

/quill

@35ffd55
by shingo imotasimota/agent-skills85 stars
15

Adding JSDoc/TSDoc, updating READMEs, replacing any types with proper definitions, and adding high-value comments to complex logic. Use for documentation gaps or type safety.

Use this Skill: https://skilld.dev/gh/simota/agent-skills/quill

This session only. Nothing lands on disk.

referenceapi-doc-generation.md

≈957 tokens on demand. Your agent reads this file only when SKILL.md points to it.

API Documentation Generation

Purpose: Read this when Quill must document or generate API reference material for TypeScript libraries, REST APIs, or GraphQL schemas.

Contents:

  • TypeDoc (TypeScript): setup, config, and generation flow — current stable is 0.28.x (requires TypeScript ≥ 5.0)
  • swagger-jsdoc (REST API): OpenAPI annotations and server wiring
  • GraphQL Schema Documentation: schema descriptions and examples

Source: TypeDoc Changelog · TypeDoc 0.28 Tags

TypeDoc (TypeScript)

Installation:

npm install typedoc --save-dev
# TypeDoc 0.28+ requires TypeScript ≥ 5.0; dropped legacy TypeScript <5.0 support

Configuration (typedoc.json):

{
  "entryPoints": ["src/index.ts"],
  "out": "docs",
  "exclude": ["**/*.test.ts", "**/node_modules/**"],
  "excludePrivate": true,
  "excludeProtected": true,
  "includeVersion": true,
  "readme": "README.md"
}

Generate:

npx typedoc

TypeDoc 0.28 Key Tags

Tag Purpose
@expand Inline the type's members wherever it is referenced (good for React prop interfaces)
@inline Resolve type alias at the point of use
@preventExpand / @preventInline Override inherited expansion on a per-symbol basis
@disableGroups Disable grouping for a given reflection; use @group none / @category none to suppress headings

@expand example (React component props):

/**
 * @expand
 */
export interface ButtonProps {
  /** Accessible label */
  label: string;
  /** Click handler */
  onClick: () => void;
}

Source: TypeDoc @expand · TypeDoc @inline

basePath and displayBasePath (0.28+)

  • basePath — affects both relative link resolution and rendered source paths.
  • displayBasePath — changes rendered base path for sources only, leaving link resolution untouched.

ESM-only (0.28 breaking change)

TypeDoc 0.28 converted to ESM. If your typedoc.json plugins use CommonJS, migrate them to ESM or use dynamic import() wrappers.

swagger-jsdoc (REST API)

Installation:

npm install swagger-jsdoc swagger-ui-express --save

Configuration:

const swaggerJsdoc = require('swagger-jsdoc');

const options = {
  definition: {
    openapi: '3.0.0',
    info: {
      title: 'My API',
      version: '1.0.0',
      description: 'API documentation'
    },
    servers: [
      { url: 'http://localhost:3000' }
    ]
  },
  apis: ['./src/routes/*.ts']
};

const specs = swaggerJsdoc(options);

Route Documentation:

/**
 * @openapi
 * /users/{id}:
 *   get:
 *     summary: Get user by ID
 *     tags: [Users]
 *     parameters:
 *       - in: path
 *         name: id
 *         required: true
 *         schema:
 *           type: string
 *     responses:
 *       200:
 *         description: User found
 *         content:
 *           application/json:
 *             schema:
 *               $ref: '#/components/schemas/User'
 *       404:
 *         description: User not found
 */
router.get('/users/:id', getUser);

GraphQL Schema Documentation

"""
A user in the system.
Users must verify their email before accessing protected resources.
"""
type User {
  "Unique identifier (UUID v4)"
  id: ID!

  "Display name (1-50 characters)"
  name: String!

  "User's email address (unique)"
  email: String!

  "Account creation timestamp"
  createdAt: DateTime!
}

"""
Input for creating a new user.
"""
input CreateUserInput {
  "Display name (required, 1-50 chars)"
  name: String!

  "Email address (required, must be unique)"
  email: String!
}

Source: SKILL.md on GitHub

1 warning13d5 checks · Risk SAFE
  • Gen Agent Trust Hub13d

    The 'quill' skill is a professional documentation tool for adding JSDoc, updating READMEs, and improving type safety. It presents a low-risk indirect prompt injection surface as it processes codebase files to generate documentation and execute audit tools.

  • Socket13d

    No alerts

  • Snyk13d

    Risk: LOW · No issues

  • Runlayer6mo

    1/9 files flagged

  • ZeroLeaks5mo

    1 finding · Score: 69/100

Signed by skilld at 35ffd55. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 2 weeks ago

README badge

README badge for simota/agent-skills/quill