From jaan-to
Creates new documentation pages using templates for skills, hooks, configs, guides, concepts, and indexes following STYLE.md standards.
npx claudepluginhub parhumm/jaan-to --plugin jaan-toThis skill is limited to using the following tools:
> Create documentation with standard templates.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
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..."