From jaan-to
Creates new documentation pages using standard templates and STYLE.md conventions. Supports skill, hook, config, guide, concept, and index types with smart type detection.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jaan-to:docs-create {type} {name}{type} {name}This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Create documentation with standard templates.
Create documentation with standard templates.
${CLAUDE_PLUGIN_ROOT}/docs/STYLE.md - Documentation standards (read from plugin source)$JAAN_TEMPLATES_DIR/jaan-to-docs.template.md - Shared docs template (shared with docs-update)$JAAN_LEARN_DIR/jaan-to-docs.learn.md - Shared docs lessons (shared with docs-update, loaded in Pre-Execution)${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md - Language resolution protocolNote: Templates are read from the project's $JAAN_TEMPLATES_DIR directory. Pre-execution protocol Step C offers to seed from the plugin on first use.
MANDATORY — Read and execute ALL steps in: ${CLAUDE_PLUGIN_ROOT}/docs/extending/pre-execution-protocol.md
Skill name: docs-create
Execute: Step 0 (Init Guard) → A (Load Lessons) → B (Resolve Template) → C (Offer Template Seeding)
Shared resource override: Template and learn files are shared with docs-update. For Steps A/B/C, resolve using docs as the resource name:
$JAAN_LEARN_DIR/jaan-to-docs.learn.md (fallback: ${CLAUDE_PLUGIN_ROOT}/skills/docs-create/LEARN.md)$JAAN_TEMPLATES_DIR/jaan-to-docs.template.md (fallback: ${CLAUDE_PLUGIN_ROOT}/skills/docs-create/template.md)Read and apply language protocol: ${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md
Override field for this skill: language_docs-create
Arguments: $ARGUMENTS
Expected format: {type} "{name}"
| Type | Description |
|---|---|
| skill | Skill documentation |
| hook | Hook documentation |
| config | Config documentation |
| guide | How-to guide |
| concept | Concept explanation |
| index | Section README |
Analyze user input to understand their actual need:
| User Intent Signal | Recommended Type | Reasoning |
|---|---|---|
Documenting a command, /slash, SKILL.md | skill | Users run it, needs usage guide |
| Documenting automatic behavior, hook, PreToolUse/PostToolUse | hook | Runs on events, needs trigger/behavior docs |
| Explaining settings, options, config | config | Reference for what can be changed |
| Teaching how to do something, steps, tutorial | guide | Step-by-step walkthrough |
| Explaining what something is, overview | concept | Understanding-focused, not action-focused |
| README, table of contents, section overview | index | Navigation and overview |
If input is clear (high confidence):
If input is unclear (ambiguous signals):
Sometimes recommend a better approach:
"Based on your description, I'd recommend {type} because {reason}. However, you might also want a {alt_type} for {alt_reason}. Which would you like to create first?"
After determining type, ask for name if not provided:
"What's the name/title?"
| Type | Path Pattern |
|---|---|
| skill | $JAAN_DOCS_DIR/skills/{role}/{name}.md |
| hook | $JAAN_DOCS_DIR/hooks/{name}.md |
| config | $JAAN_DOCS_DIR/config/{name}.md |
| guide | $JAAN_DOCS_DIR/extending/{name}.md |
| concept | $JAAN_DOCS_DIR/{name}.md |
| index | $JAAN_DOCS_DIR/{section}/README.md |
For skill type, ask: "Which role? [pm/dev/qa/ux/data/core]"
Search for similar docs:
Glob: $JAAN_DOCS_DIR/**/*{name}*.md
Grep: "{name}" in $JAAN_DOCS_DIR/
If potential duplicate found:
"Similar doc exists:
{path}. Options: [proceed/update-existing/cancel]"
Read ${CLAUDE_PLUGIN_ROOT}/docs/STYLE.md for:
Ask up to 5 clarifying questions if needed to gather sufficient content.
Rules:
Question Design:
For each doc type, focus on answering:
| Type | Key Questions to Answer |
|---|---|
| skill | What does it do? How to use it? What to expect? |
| hook | When does it run? What does it check? What happens? |
| config | What options exist? What are defaults? When to change? |
| guide | What's the goal? What are the steps? What can go wrong? |
| concept | What is it? Why does it matter? How does it relate? |
| index | What belongs here? How to organize? What's most important? |
Show preview:
Ready to Create Documentation
**Type:** {type}
**Path:** {output_path}
**Title:** {title}
## Content Preview:
{first 20 lines of content}
Proceed? [y/n/edit]
Do NOT proceed without explicit approval.
Read template for doc type from $JAAN_TEMPLATES_DIR/jaan-to-docs.template.md
Replace placeholders with gathered content:
{title} - Document title{description} - One-line tagline{date} - Current date (YYYY-MM-DD){tags} - Relevant tagsEnsure YAML frontmatter:
---
title: {title}
doc_type: {type}
created_date: {today}
updated_date: {today}
tags: [{tags}]
related: []
---
Check against ${CLAUDE_PLUGIN_ROOT}/docs/STYLE.md:
>)---If validation fails, fix before proceeding.
Show full preview and ask:
"Write to
{path}? [y/n]"
If approved, write file.
After writing the new doc file, update the parent folder's README.md to keep indexes in sync:
Determine parent README path:
$JAAN_DOCS_DIR/skills/{role}/{name}.md → $JAAN_DOCS_DIR/skills/{role}/README.md$JAAN_DOCS_DIR/hooks/{name}.md → $JAAN_DOCS_DIR/hooks/README.mdRead the parent README.md (if it doesn't exist, create one using the index template with frontmatter, H1, tagline, empty Available Skills table, and back-link)
Find the "## Available Skills" section (or equivalent table header)
Check if the new doc is already listed:
New row format:
| [/jaan-to:{skill-name}]({filename}.md) | {description from SKILL.md} |
Also check $JAAN_DOCS_DIR/skills/README.md (root) Available Roles table:
Include the README changes in the commit (Step 11 below)
git add {path}
git commit -m "docs({type}): Add {name} documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>"
Show confirmation:
✅ Documentation created!
**File:** {path}
**Commit:** {hash}
Run `/jaan-to:docs-update` to check related docs? [y/n]
If yes, suggest running /jaan-to:docs-update --quick for related docs.
"Invalid type '{type}'. Valid types: skill, hook, config, guide, concept, index"
"File already exists at
{path}. Options: [overwrite/rename/cancel]"
"Document doesn't meet STYLE.md standards: {issues}. Fixing..."
npx claudepluginhub parhumm/jaan-to --plugin jaan-toGuides creation of README files, API docs, user guides, developer guides, and troubleshooting docs with structured process, templates, and best practices.
Drafts READMEs, API docs, tutorials, release notes, and reviews technical docs for clarity and structure. Activates on docs/ .md files and READMEs.