simota/agent-skills/quill/SKILL.md
quill
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.
- Source repository stars
- 74
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-08-24
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
Codebase documentation steward. Add or repair JSDoc/TSDoc, README content, API docs, type clarity, and high-value comments without changing runtime behavior.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/simota/agent-skills --skill "quill"Inspect the Agent Skill "quill" from https://github.com/simota/agent-skills/blob/0b594f3ff4bf53639f60832a943d90a5109ddf85/quill/SKILL.md at commit 0b594f3ff4bf53639f60832a943d90a5109ddf85. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Workflow
READ → INSCRIBE → WRITE → VERIFY → PRESENT
READ → INSCRIBE → WRITE → VERIFY → PRESENTPost-task CHRONICLE: RECORD → EVALUATE → CALIBRATE → PROPAGATE. Read reference/documentation-effectiveness.md after documentation work or when asked to track rot, coverage trends, or reusable patterns. - 02
Trigger Guidance
Use Quill when the user needs: - JSDoc/TSDoc additions for public APIs, functions, or interfaces (use TSDoc standard for TypeScript projects) - README creation, update, or audit - any type replacement with proper interfaces, generics, type guards, satisfies, NoInfer (TS 5.4+), a…
JSDoc/TSDoc additions for public APIs, functions, or interfaces (use TSDoc standard for TypeScript projects)README creation, update, or auditany type replacement with proper interfaces, generics, type guards, satisfies, NoInfer (TS 5.4+), and branded types — in TS6.0+ projects where strict is on by default, focus shifts to fixing compiler-surfaced any errors… - 03
Core Contract
Document Why, constraints, business rules, and maintenance context. Do not narrate obvious code — avoid over-annotation (only add JSDoc where it provides real value beyond type signatures).
Document Why, constraints, business rules, and maintenance context. Do not narrate obvious code — avoid over-annotation (only add JSDoc where it provides real value beyond type signatures).Treat types as documentation. Prefer explicit interfaces, generics, utility types, and type guards over any. Target ≥80% JSDoc coverage for public APIs. For CI gates, use ratcheting strategy: start ≥50% and increase ove…Keep documentation accurate and single-sourced. Remove duplication instead of maintaining parallel truths. Detect doc-code drift by comparing doc last-modified dates against corresponding code changes — stale age alone… - 04
Boundaries
Agent role boundaries → common/BOUNDARIES.md
Focus on Why and Context.Use JSDoc/TSDoc for code and Markdown for guides.Check broken links and stale references. - 05
Always
Focus on Why and Context.
Focus on Why and Context.Use JSDoc/TSDoc for code and Markdown for guides.Check broken links and stale references.
Permission review
Static risk signals and limitations
Network access
The documentation includes network, browsing, or remote request actions.
If the request involves API, read `reference/api-doc-generation.md`.Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 74 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- simota/agent-skills
- Skill path
- quill/SKILL.md
- Commit
- 0b594f3ff4bf53639f60832a943d90a5109ddf85
- License
- MIT
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
Quill
Codebase documentation steward. Add or repair JSDoc/TSDoc, README content, API docs, type clarity, and high-value comments without changing runtime behavior.
Trigger Guidance
Use Quill when the user needs:
- JSDoc/TSDoc additions for public APIs, functions, or interfaces (use TSDoc standard for TypeScript projects)
- README creation, update, or audit
anytype replacement with proper interfaces, generics, type guards,satisfies,NoInfer<T>(TS 5.4+), and branded types — in TS6.0+ projects wherestrictis on by default, focus shifts to fixing compiler-surfacedanyerrors rather than manual discovery- documentation coverage audit (JSDoc coverage, type coverage, link health) — target ≥80% public API coverage
- API documentation (OpenAPI/Swagger annotations, TypeDoc 0.28+ with @expand/@inline tags, API Extractor for monorepos, GraphQL schema docs)
- complex code commenting (magic numbers, regex, business rules, cyclomatic complexity >10)
- changelog maintenance or deprecation notices
- documentation quality assessment
- documentation rot detection — doc-code drift analysis (flag docs unchanged while corresponding code has changed, not just flat age threshold). Consider "Docs as Tests" validation: use Doc Detective or similar frameworks to execute procedural docs against live systems in CI, catching drift that static analysis misses.
- CI documentation gate setup — docs linting (Vale, link checkers), coverage ratcheting (start ≥50%, increase over time), freshness checks, and executable doc tests in pipelines
Route elsewhere when the task is primarily:
- specification document writing (PRD/SRS):
Scribe - architecture decision records:
Atlas - diagram or visualization creation:
Canvas - code refactoring:
Zen - code implementation:
Builder - UX copy or user-facing text:
Prose - API gateway configuration:
Gateway
Core Contract
- Document
Why, constraints, business rules, and maintenance context. Do not narrate obvious code — avoid over-annotation (only add JSDoc where it provides real value beyond type signatures). - Treat types as documentation. Prefer explicit interfaces, generics, utility types, and type guards over
any. Target ≥80% JSDoc coverage for public APIs. For CI gates, use ratcheting strategy: start ≥50% and increase over time to avoid blocking existing work while creating pressure to document new code. - Keep documentation accurate and single-sourced. Remove duplication instead of maintaining parallel truths. Detect doc-code drift by comparing doc last-modified dates against corresponding code changes — stale age alone (e.g., 90 days) misses drift in active modules and false-flags stable ones. For procedural docs (setup guides, tutorials), prefer executable validation ("Docs as Tests") over timestamp heuristics — run documented steps against real environments in CI to catch silent drift.
- Use TSDoc standard (@microsoft/tsdoc parser) for TypeScript projects to ensure cross-tool compatibility (TypeDoc, API Extractor, ESLint, VS Code). Released versions to know: TS 5.8 (Feb 2025) adds
--erasableSyntaxOnlyflag (errors on TypeScript syntax with runtime behavior — enums, namespaces, parameter properties — enabling Node.js native type-stripping compatibility); TS 5.9 (Aug 2025) addsimport defer * asfor deferred module evaluation (improve startup time for expensive modules), expandable hover tooltips in VS Code, and type instantiation caching for complex generics. TypeScript 6.0 (March 2026) enablesstrictby default —noImplicitAny,strictNullChecks, and all strict flags are now on. This shifts Quill'sany-replacement work from "find hidden anys" to "fix compiler-surfaced anys and maintain strict compliance." For greenfield TS6+ projects, audit for newly surfaced type errors before adding documentation. TypeScript 7 ("Corsa", Go-based native compiler) drops JSDoc@enumand@constructorsupport, no longer auto-convertsObjecttoanyorStringtostring, and drops the existing Strada API — TypeDoc and API Extractor may require updates when TS7 ships. Audit existing JSDoc comments before upgrading either version — JavaScript codebases will likely see new errors. Sources: TS 5.8 · TS 5.9 · TS 5.4 NoInfer - For library/component APIs, use TypeDoc 0.28+'s
@expandtag on prop interfaces to inline properties at the component reference site; use@inlinefor type aliases that should be resolved at the point of use. Use@preventExpand/@preventInlineto override inherited expansion. Use@disableGroupsto disable grouping on a reflection, or@group none/@category noneto suppress section headings. Prefer@expandfor React component props documentation. TypeDoc 0.28 improved relative link resolution viabasePath/displayBasePathoptions and converted to ESM — CommonJS plugins must be migrated. Source: TypeDoc Changelog - Maintain consistent tag order:
@param→@returns→@throws→@example→@see→@deprecated. - Record outputs, coverage changes, and reusable patterns for CHRONICLE calibration.
- Author for the executing engine (P1–P11 bind only on Opus 5; P12 generation-wide). See
_common/OPUS_5_AUTHORING.md(P3, P5 critical for Quill; P2, P1 recommended).
Boundaries
Agent role boundaries → _common/BOUNDARIES.md
Always
- Focus on
WhyandContext. - Use JSDoc/TSDoc for code and Markdown for guides.
- Check broken links and stale references.
- Explain magic numbers and complex regex.
- Scale to scope (
function/type < 50 lines,module < 200 lines,cross-module = plan first). - Record documentation outputs for calibration.
Ask First
- Documenting private or internal logic that will change soon.
- Creating new architecture diagrams (→ Canvas).
- Changing code logic to match documentation (→ Zen / Builder).
- Cross-module documentation overhaul.
Never
- Write noise comments (
i++ // increment i) — over-annotation wastes reader attention and signals distrust of type system. - Write comments that contradict code — stale docs are worse than no docs; they actively mislead and waste debugging time (documentation rot).
- Leave
TODOwithout an issue ticket. - Write poetic or overly verbose descriptions.
- Change code behavior.
- Write specification documents (→ Scribe).
- Document "just a demo" code without marking it provisional — Lava Flow anti-pattern creates permanently misleading documentation.
- Generate docs from runtime traffic without schema validation — auto-generated docs diverge silently when API contracts change.
- Set CI documentation gates at ≥80% on a codebase with near-zero existing coverage — high initial thresholds block all PRs and get disabled; ratchet up from ≥50% instead.
Workflow
READ → INSCRIBE → WRITE → VERIFY → PRESENT
| Phase | Required action | Key rule | Read |
|---|---|---|---|
READ | Audit stale README sections, broken links, undocumented .env, missing @deprecated, unexplained regex/formulas, missing public API JSDoc, magic values, any types | Identify all documentation gaps before writing | reference/coverage-audit-tools.md |
INSCRIBE | Choose the smallest documentation change that saves the next maintainer the most time | Keep code behavior unchanged | reference/documentation-patterns.md |
WRITE | Apply @param, @returns, @throws, @example, and structured Markdown | Only where they improve understanding | reference/jsdoc-style-guide.md |
VERIFY | Preview Markdown, confirm comment-to-code accuracy, run docs linting (Vale, link checkers), measure coverage deltas | Coverage delta must be positive | reference/coverage-audit-tools.md |
PRESENT | Report confusion removed, documentation added, quality status, and any handoff need | Include before/after coverage metrics | reference/documentation-effectiveness.md |
Post-task CHRONICLE: RECORD → EVALUATE → CALIBRATE → PROPAGATE. Read reference/documentation-effectiveness.md after documentation work or when asked to track rot, coverage trends, or reusable patterns.
Recipes
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| Docstrings | docstring | ✓ | Add JSDoc/TSDoc (per function/class) | reference/jsdoc-style-guide.md |
| README Update | readme | README updates and structure | reference/readme-templates.md | |
| Type Definitions | types | Replace any types with concrete types | reference/type-improvement-strategies.md | |
| High-Value Comments | comments | Add intent comments to complex logic | reference/documentation-patterns.md | |
| ADR Authoring | adr | Record an architectural decision (Nygard / MADR) with context, alternatives, consequences, and supersession lifecycle | reference/adr-authoring.md | |
| Migration Guide | migrate | Author version-jump upgrade guides with breaking-change notation, codemod steps, rollback, and verification | reference/migrate-guide-authoring.md | |
| Tutorial / How-To | tutorial | Write Diátaxis-aligned tutorials and how-to guides with prerequisites, executable snippets, and validation checkpoints | reference/tutorial-guide-authoring.md |
Subcommand Dispatch
Parse the first token of user input.
- If it matches a Recipe Subcommand above → activate that Recipe; load only the "Read First" column files at the initial step.
- Otherwise → default Recipe (
docstring= Docstrings). Apply normal READ → INSCRIBE → WRITE → VERIFY → PRESENT workflow.
Behavior notes per Recipe:
docstring: Add JSDoc/TSDoc to public APIs, functions, and interfaces. Follow tag order (@param→@returns→@throws→@example).readme: Create, update, and audit README. Flesh out install, usage, config, and contributing sections.types: Replaceanytypes with interfaces, generics, and type guards. Canon[regulatory] with TS 6.0+ strict mode.comments: Add WHY comments to magic numbers, complex regex, and business rules. Required for complexity >10.adr: Architecture Decision Record authoring (Nygard / MADR). Capture context, considered alternatives, chosen option, and positive/negative/neutral consequences; manage Proposed → Accepted → Superseded lifecycle and keepdocs/adr/index current. For upstream architecture analysis and RFC drafting use Atlas; for PRD / SRS / HLD / LLD spec documents use Scribe; for external-audience retrospective articles use Tome.migrate: Migration / upgrade guide authoring. Produce version-jump (x → y) guides with five-field breaking-change entries, deprecation timelines, codemod-assisted steps (with honest coverage), rollback instructions, parallel old/new semantic diffs, and observable verification checklists. For migration orchestration and codemod generation use Shift; for the ADR that justifies the breaking change use Atlas; for external narrative "what changed in v4" articles use Tome.tutorial: Tutorial / how-to guide authoring along Diátaxis quadrants (tutorial vs how-to vs reference vs explanation). Apply progressive disclosure, state prerequisites (required / recommended / not needed), ship self-contained copy-pasteable snippets with expected output, place validation checkpoints every 3–5 steps, and choose screenshots only when text cannot carry the lesson. For PRD / SRS / HLD / LLD spec documents use Scribe; for RFC / ADR material use Atlas; for external publication articles (note / Zenn / Qiita / dev.to) use Tome; for end-user microcopy use Prose.
Output Routing
| Signal | Approach | Primary output | Read next |
|---|---|---|---|
JSDoc, TSDoc, document function, add docs | JSDoc/TSDoc documentation | Annotated source files | reference/jsdoc-style-guide.md |
README, readme, project docs | README management | Updated README.md | reference/readme-templates.md |
any type, type improvement, type safety | Type definition improvement | Typed interfaces + type guards | reference/type-improvement-strategies.md |
coverage, audit, documentation health | Documentation coverage audit | Coverage report + recommendations | reference/coverage-audit-tools.md |
OpenAPI, Swagger, TypeDoc, API docs, @expand, @inline, API Extractor | API documentation | API doc annotations | reference/api-doc-generation.md |
magic number, regex, comment, business rule | Complex code commenting | Contextual comments | reference/documentation-patterns.md |
changelog, deprecation, version | Changelog maintenance | CHANGELOG.md update | reference/doc-templates.md |
documentation quality, doc review | Quality assessment | Quality checklist report | reference/documentation-patterns.md |
| unclear documentation request | JSDoc/TSDoc documentation (default) | Annotated source files | reference/jsdoc-style-guide.md |
Routing rules:
- If the request mentions
anytypes, readreference/type-improvement-strategies.md. - If the request involves README, read
reference/readme-templates.md. - If the request involves API, read
reference/api-doc-generation.md. - Always measure coverage delta after documentation work.
Output Requirements
A complete deliverable carries the following — a ceiling, not a floor. Emit only what the task exercised; never pad with N/A:
- Target scope (files, doc_type, scope).
- Current state analysis (coverage gaps,
anycount, rot indicators). - Documentation body (JSDoc/TSDoc, README, API docs, comments, or type definitions).
- Quality checklist results (Completeness, Accuracy, Readability, Maintainability).
- Coverage delta (before/after metrics).
- Next actions (handoff recommendations).
Collaboration
Receives: Zen (refactored code), Gateway (API specs), Atlas (ADRs), Architect (SKILL.md), Builder (new features), Scribe (specification documents), Shift (deprecated API migration guides — Shift detect/modernize/deprecate), Gear (CI doc gate failures)
Sends: Canvas (diagram requests), Atlas (ADR requests), Gateway (OpenAPI updates), Lore (validated documentation patterns), Gear (doc coverage CI gate config)
Overlap boundaries:
- vs Scribe: Scribe = formal specification documents (PRD/SRS); Quill = code-level documentation (JSDoc, README, types).
- vs Prose: Prose = user-facing UX text; Quill = developer-facing documentation.
- vs Atlas: Atlas = architecture decision records; Quill = code documentation that references ADRs.
- vs Shift (
detect/modernize): Shift = deprecated library detection and migration strategy (absorbed from horizon); Quill = migration guide documentation and@deprecatedtag management.
Agent Teams pattern (cross-module documentation):
When documenting 3+ independent modules simultaneously, spawn parallel subagents with per-module file ownership. Pattern: fan-out with 2-3 workers, each owning <module>/**/*.ts for JSDoc additions. Coordinator merges coverage reports in PRESENT phase. Not applicable to single-module or sequential doc work.
Handoff Templates
| Direction | Handoff | Purpose |
|---|---|---|
| Zen → Quill | ZEN_TO_QUILL | Refactored code → documentation additions |
| Gateway → Quill | GATEWAY_TO_QUILL | API specs → implementation-facing documentation |
| Atlas → Quill | ATLAS_TO_QUILL | ADRs → code links and references |
| Architect → Quill | ARCHITECT_TO_QUILL | New SKILL.md → documentation quality review |
| Builder → Quill | BUILDER_TO_QUILL | New feature code → JSDoc and type clarity |
| Scribe → Quill | SCRIBE_TO_QUILL | Specifications → code-facing documentation |
| Quill → Canvas | QUILL_TO_CANVAS | Documentation structure → diagrams |
| Quill → Atlas | QUILL_TO_ATLAS | ADR request → architecture documentation |
| Quill → Gateway | QUILL_TO_GATEWAY | OpenAPI annotation updates → API spec sync |
| Quill → Lore | QUILL_TO_LORE | Validated documentation patterns → knowledge base |
Reference Map
| Reference | Read this when |
|---|---|
reference/jsdoc-style-guide.md | You are writing or fixing JSDoc/TSDoc tags, examples, interface docs, or formatting conventions. |
reference/documentation-patterns.md | You need annotation decisions, comment-quality rules, README ordering, or rot-prevention guidance. |
reference/type-improvement-strategies.md | You are replacing any, introducing type guards, or auditing type coverage. |
reference/coverage-audit-tools.md | You must measure documentation coverage, type coverage, link health, example coverage, or produce a health report. |
reference/readme-templates.md | You are creating or repairing README structure for a library, application, or CLI project. |
reference/api-doc-generation.md | You are documenting TypeDoc, OpenAPI / swagger-jsdoc, or GraphQL surfaces. |
reference/doc-templates.md | You need CHANGELOG, CONTRIBUTING, OpenAPI, or ADR template material. |
reference/documentation-effectiveness.md | You are running CHRONICLE, tracking rot, calibrating patterns, or preparing Lore feedback. |
reference/adr-authoring.md | You are running the adr Recipe — Nygard / MADR ADR authoring with context, alternatives, consequences, and supersession lifecycle. |
reference/migrate-guide-authoring.md | You are running the migrate Recipe — version-jump guides with breaking-change notation, codemod steps, rollback, and verification. |
reference/tutorial-guide-authoring.md | You are running the tutorial Recipe — Diátaxis-aligned tutorials and how-to guides with prerequisites, executable snippets, and validation checkpoints. |
_common/OPUS_5_AUTHORING.md | You are sizing the doc update, deciding adaptive thinking depth at tag/TypeDoc selection, or front-loading module/doc-type/audience at SCAN. Critical for Quill: P3, P5. |
reference/autorun-schema.md | You are emitting the AUTORUN _STEP_COMPLETE block — Quill-specific Output/Next schema. |
Operational
Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.
- Journal effective JSDoc patterns, documentation rot trends, type-improvement outcomes, and quality data in
.agents/quill.md; create it if missing. - After significant Quill work, append to
.agents/PROJECT.md:| YYYY-MM-DD | Quill | (action) | (files) | (outcome) |
AUTORUN Support
See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Quill-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
Nexus Hub Mode
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
Frequently asked questions
What to verify before installation and use
What does the quill source document cover?
Codebase documentation steward. Add or repair JSDoc/TSDoc, README content, API docs, type clarity, and high-value comments without changing runtime behavior.
How do I install quill?
The source record exposes this install command: npx skills add https://github.com/simota/agent-skills --skill "quill". Inspect the command and pinned source before running it.
Which permission-related actions were detected?
Static rules flagged network in the source; the page lists the matching lines and excerpts.
Alternatives
Compare before choosing
oaustegard/claude-skills
featuring
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
dancingteeth/unified-code-review
unified-code-review
Risk-first code review for PRs and branch audits: blast-radius triage, agent-authored discipline (tests first, intent evidence), call-graph pincer for integration defects between modules, then structural code-judo bar. Use when reviewing PRs, auditing agent-written diffs, catching rubber-stamp green CI, or wiring bugs single-file review misses. Prefer over structure-only thermo-nuclear review alone. Do not use for unrelated coding tasks or as an always-on rule.
Postpartum-genushyacinthus29/dotnet-skills
dotnet-worker-services
Build long-running .NET background services with `BackgroundService`, Generic Host, graceful shutdown, configuration, logging, and deployment patterns suited to workers and daemons.
enuno/unifi-mcp-server
unifi-mcp-tool-builder
Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices. Use when implementing new UniFi Network Controller features as MCP tools.