pulumi/docs/.claude/commands/new-doc/SKILL.md
new-doc
Create Pulumi documentation with proper frontmatter and menu structure.
- Source repository stars
- 178
- Declared platforms
- 0
- Static risk flags
- 4
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
Create documentation pages with proper frontmatter, menu structure, and SEO optimization.
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/pulumi/docs --skill ".claude/commands/new-doc"Inspect the Agent Skill "new-doc" from https://github.com/pulumi/docs/blob/c6501a9070af13d99cce54d64afe2e760fa9b040/.claude/commands/new-doc/SKILL.md at commit c6501a9070af13d99cce54d64afe2e760fa9b040. 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 Overview
1. [Step 1/7] Gather context, check existing docs, suggest page type/location 2. [Step 2/7] Confirm suggestions or navigate manually 3. [Step 3/7] Interactive directory navigation (if needed) 4. [Step 4/7] Gather content details (title, metadesc, etc.) 5. [Step 5/7] Calculate me…
[Step 1/7] Gather context, check existing docs, suggest page type/location[Step 2/7] Confirm suggestions or navigate manually[Step 3/7] Interactive directory navigation (if needed) - 02
[Step 1/7] Gather Context and Check Existing Docs
Ask: What are you documenting?
Ask: What are you documenting?Check for existing docs using Grep with key terms from user's description: - 03
[Step 2/7] Confirm or Navigate
Always display this step, even if skipping.
"Use suggested location":Display: "[Step 2/7] Confirmed - using suggested location: /docs/{path}"Display: "[Step 3/7] Skipped - location already determined" - 04
[Step 3/7] Interactive Navigation (if needed)
CRITICAL: Display locations by menu weight (NOT alphabetically) to match left-nav order.
If number selected: Navigate into that subdirectory, repeatIf "Place it here": Stop navigationRegular pages: Create {slug}.md in current directory - 05
[Step 4/7] Gather Content Details
Gather all required metadata using AskUserQuestion with smart suggestions.
Title (with Title Case suggestion)Title tag (with "| Pulumi Docs" format)Meta description (50-160 chars validation)
Permission review
Static risk signals and limitations
Writes files
The documentation asks the agent to create, modify, or delete local files.
**[Step 7/7]** Create file and validateReads files
The documentation asks the agent to read local files, directories, or repositories.
If update: Use Read to open the existing file, present to user, exit workflowWrites files
The documentation asks the agent to create, modify, or delete local files.
If update: Use Read to open the existing file, present to user, exit workflowRuns scripts
The documentation asks the agent to run terminal commands or scripts.
bash .claude/commands/new-doc/scripts/list-directories.sh {path}Network access
The documentation includes network, browsing, or remote request actions.
Preview: http://localhost:1313/docs/{path}/Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 84/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 178 | 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
- pulumi/docs
- Skill path
- .claude/commands/new-doc/SKILL.md
- Commit
- c6501a9070af13d99cce54d64afe2e760fa9b040
- License
- Apache-2.0
- Collected
- 2026-08-04
- Default branch
- master
View the original SKILL.md
new-doc
Create documentation pages with proper frontmatter, menu structure, and SEO optimization.
Core Principles
CRITICAL: Complete all 7 steps in sequence. Display progress as [Step X/7] before each step.
Important:
- Always display all 7 steps: Even when skipping a step, display it with an explanation (e.g., "[Step 2/7] Skipped - using suggested location from Step 1")
- Minimize open-ended questions: Use AskUserQuestion with prepopulated suggestions for nearly all inputs. Always provide smart defaults based on context.
- Store decisions: Track choices to avoid re-asking
- Check for existing docs first: Prevent duplication
Workflow Overview
- [Step 1/7] Gather context, check existing docs, suggest page type/location
- [Step 2/7] Confirm suggestions or navigate manually
- [Step 3/7] Interactive directory navigation (if needed)
- [Step 4/7] Gather content details (title, meta_desc, etc.)
- [Step 5/7] Calculate menu weight
- [Step 6/7] Generate menu metadata (identifier, parent; meta_image optional — generated if omitted)
- [Step 7/7] Create file and validate
Steps
[Step 1/7] Gather Context and Check Existing Docs
Ask: What are you documenting?
Check for existing docs using Grep with key terms from user's description:
# Extract 2-3 key terms from user's description and search
grep -ri "key_terms" /workspaces/src/pulumi/docs/content/docs/ --include="*.md" | head -10
If existing docs found:
Analyze the results and categorize:
- Nearly identical topic: Existing page covers the same concept
- Related but distinct: Existing pages cover adjacent/related topics
Then use AskUserQuestion:
# If nearly identical:
Question: "I found existing documentation on this topic at {path}. What would you like to do?"
Options:
- "Update existing page (Recommended)"
- "Create new page anyway"
# If related but distinct:
Question: "I found related documentation at {path1}, {path2}. What would you like to do?"
Options:
- "Create new page (Recommended)"
- "Update one of the existing pages"
Actions based on response:
- If update: Use Read to open the existing file, present to user, exit workflow
- If create: Continue with new page creation
If not found: Display "No existing documentation found. Proceeding with new page creation." and continue.
Suggest based on keywords - See new-doc:references:directory-hints for complete keyword mapping.
Present suggestions via AskUserQuestion:
Question: "I've analyzed your description. How would you like to proceed?"
Options:
- "Use suggested location (Recommended)"
- "Choose different location"
- "Let me refine my description"
Store choice. If "Use suggested location", skip to Step 4. Don't re-ask page type.
[Step 2/7] Confirm or Navigate
Always display this step, even if skipping.
Based on the user's response to the Step 1 question:
-
"Use suggested location":
- Display: "[Step 2/7] Confirmed - using suggested location: /docs/{path}"
- Display: "[Step 3/7] Skipped - location already determined"
- Store the suggested path and page type
- Skip to Step 4 to gather content details
-
"Choose different location":
- Display: "[Step 2/7] User chose different location, proceeding to interactive navigation"
- Proceed to Step 3 for interactive navigation
-
"Let me refine my description":
- Display: "[Step 2/7] User refining description"
- Ask user for clarification, then re-run Step 1 analysis
Important: Page type (regular vs index) is already determined by this point. Don't ask again.
[Step 3/7] Interactive Navigation (if needed)
CRITICAL: Display locations by menu weight (NOT alphabetically) to match left-nav order.
bash .claude/commands/new-doc/scripts/list-directories.sh {path}
Display format:
Current location: docs > Infrastructure as Code
Available subsections:
1. Get Started (get-started)
2. Guides (guides)
3. Concepts (concepts)
...
Then ask via AskUserQuestion:
Question: "Where should this page be placed?"
Options:
- "1. Get Started (get-started)"
- "2. Guides (guides)"
- "3. Concepts (concepts)"
- "Place it here in current directory"
- "Enter path manually"
- "Go up one level"
Navigation flow:
- If number selected: Navigate into that subdirectory, repeat
- If "Place it here": Stop navigation
- Regular pages: Create
{slug}.mdin current directory - Index pages: Create
_index.mdif it doesn't exist
- Regular pages: Create
- If "Enter path manually": Prompt for full path, validate, and use it
- If "Go up": Move to parent directory, repeat (handle root gracefully)
Continue navigation until placement is determined.
[Step 4/7] Gather Content Details
Gather all required metadata using AskUserQuestion with smart suggestions.
For regular pages, follow all patterns in new-doc:references:questions-regular:
- Title (with Title Case suggestion)
- Title tag (with "| Pulumi Docs" format)
- Meta description (50-160 chars validation)
- Filename (kebab-case validation)
For index pages, follow patterns in new-doc:references:questions-index:
- Part 1: Basic metadata (8 fields with smart suggestions)
- Title, Link title, H1, Meta description, Description HTML
- Primary button (label + link)
- Secondary button (optional)
- Part 2: Sections array (iterative builder with card patterns)
- Section type, heading, cards
- Button cards, logo label cards, or flat text
- Continue loop for multiple sections
Ask about content generation (regular pages only):
Question: "Should I generate a rough draft of the content?"
Options:
- "No, just create a stub with instructions (Recommended)"
- "Yes, generate a rough draft"
Store the choice. If "Yes", prepare to generate content in Step 7. If "No", use default stub template.
Then proceed to Step 4b for index pages, or Step 5 for regular pages.
[Step 4b/7] Build Sections Array (Index Pages)
For index pages only, build the sections array iteratively following the complete patterns in new-doc:references:questions-index (Part 2: sections array builder).
For each section:
- Select section type (button-cards, cards-logo-label-link, or flat)
- Gather section heading
- If button-cards or cards-logo-label-link:
- Determine card count (2-4 typical)
- For each card: gather emoji/icon, heading, description, link
- If flat: gather description paragraph
- Ask if user wants to add another section
Validation: Ensure at least one section exists before proceeding to Step 5.
[Step 5/7] Calculate Menu Weight
Display: "[Step 5/7] Calculating menu weight..."
Find the maximum weight in the target directory:
# Find max weight in target directory
find {path} -name "*.md" -maxdepth 1 -exec grep -h "weight:" {} \; 2>/dev/null | grep -oE '[0-9]+' | sort -n | tail -1
Logic:
- No pages: suggest 10
- Pages exist: max weight rounded up to next multiple of 10
- Index pages: top-level suggest 1, subsection suggest 10+
Display result: "Calculated weight: {weight}"
[Step 6/7] Generate Menu Metadata
Display: "[Step 6/7] Generating menu metadata..."
Identifier: {section}-{subsection}-{slug} or {section}-{subsection}-home for index pages
Check uniqueness:
grep -rh "identifier:" /workspaces/src/pulumi/docs/content/docs/{section}/ | grep "{identifier}"
If conflict, append -2, -3, etc.
Parent:
- Regular pages: identifier of _index.md in same directory
- Top-level index: no parent
- Subsection index: identifier of parent directory's _index.md
Meta image: Optional. Leave meta_image blank and an on-brand social card is generated at build time. Only set it to override with a custom image (e.g. the cloud-specific docs images).
For override options: See new-doc:references:meta-images
Display result: "Menu identifier: {identifier}, Parent: {parent}, Meta image: {meta_image or 'generated'}"
[Step 7/7] Create File and Validate
Display: "[Step 7/7] Creating file and validating..."
Run validation checks from new-doc:references:validation:
- File doesn't exist
- Parent identifier exists
- Menu identifier unique
- Weight reasonable (0 < w < 1000)
- All required frontmatter present
- YAML valid
- Kebab-case filename (regular pages)
- Meta desc 50-160 chars
- Links valid (start with
/docs/or external) - Verify the user is not committing to
masterdirectly (if so, warn them)
Create file using templates from new-doc:references:frontmatter:
-
Regular pages: Use regular page template with title, title_tag, meta_desc, menu structure
-
If rough draft requested: Generate initial content sections based on the user's description and context
-
If stub only (default): Use this template after frontmatter:
## Overview <!-- TODO: Add overview of this topic --> ## Prerequisites <!-- TODO: List any prerequisites or requirements --> ## Next steps <!-- TODO: Add links to related documentation or next steps -->
-
-
Index pages: Use index page template with sections array, link_buttons, docs_home flags (no additional content needed)
Display success output as defined in new-doc:references:validation:
✅ Created at /docs/{path}/{filename}.md
✅ Identifier: {identifier} (unique)
✅ Parent: {parent} (validated)
✅ Weight: {weight}
✅ Meta desc: {length} chars
Preview: http://localhost:1313/docs/{path}/
Next: Write content, run /docs-review, run make lint
Error Handling
For complete error handling strategies, see new-doc:references:validation (Error Handling section).
Common scenarios:
- File exists: Suggest alternatives or ask to overwrite
- Invalid filename: Auto-suggest kebab-case correction
- Missing parent: Warn about navigation issues, offer to create
- Duplicate identifier: Auto-append
-2,-3until unique - Empty sections (index pages): Require at least one section before proceeding
Alternatives
Compare before choosing
alirezarezvani/claude-skills
quality-manager-qms-iso13485
ISO 13485 Quality Management System implementation and maintenance for medical device organizations. Provides QMS design, documentation control, internal auditing, CAPA management, and certification support. Use when working with medical device quality systems, preparing for ISO 13485 audits, managing regulatory compliance documentation, setting up corrective actions, or building audit preparation programs. Useful for quality management, audit preparation, regulatory compliance, medical device d
K-Dense-AI/scientific-agent-skills
biopython
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
mgiovani/cc-arsenal
team-review
Multi-agent review team: architecture, security, performance, testing, style, docs/UX, plus an adversary that cross-examines the other 6, for security-sensitive, architectural, or large PRs (15+ files) where a single-agent pass risks missing cross-cutting issues. Use for auth/payments/PII changes, schema/pattern changes, compliance sign-off, or when asked to 'get the review team on this' / 'multi-agent review' / 'thorough review before merge'. For a standard PR or a quick pre-merge check, use /r
huggingface/skills
huggingface-lora-space-builder
Build and publish a Gradio demo on Hugging Face Spaces for a user-provided LoRA. Use when someone asks to create, generate, ship, or publish a Space, demo, Gradio app, or playground for a LoRA — including LoRAs for Qwen-Image, Qwen-Image-Edit, LTX-Video, Wan, FLUX, SDXL, or other diffusion base models. Also triggers when someone describes a LoRA they trained or hosts on the Hub and wants to share it. Covers picking the right base pipeline and `diffusers` inference recipe, designing a UI tailored