Generate a Word document (.docx) technical specification in Moonsite style. Use ONLY when the user explicitly asks to generate a Word/DOCX spec in Moonsite format — e.g. 'create a Moonsite spec', 'generate a Word spec', 'make a DOCX איפיון in Moonsite style'. Do NOT use for general documentation, markdown specs, or HTML docs.
From moonsite-skillsnpx claudepluginhub moonsite/moonsite-claude-extensions --plugin moonsite-skillsThis skill uses the workspace's default tool permissions.
DEV.mdREADME.mdassets/moonsite-template.docxreferences/DOCUMENT_STRUCTURE_V2.mdreferences/SPEC_WRITING_GUIDELINES_V2.mdreferences/template.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Facilitates interactive brainstorming sessions using diverse creative techniques and ideation methods. Activates when users say 'help me brainstorm' or 'help me ideate'.
Generate well-formatted technical specification documents following Moonsite's standard format.
Collect from user:
Follow the detailed guides:
Generate the spec with these sections:
Create Word document using office-skills OOXML editing:
Read office-skills ooxml.md:
Read ~/.claude/skills/office-skills/public/docx/ooxml.md completely
Workflow:
# Copy template as starting point
cp assets/moonsite-template.docx outputs/[spec-name]/spec.docx
# Unpack to XML
~/.claude/skills/office-skills/venv/bin/python \
~/.claude/skills/office-skills/public/docx/ooxml/scripts/unpack.py \
outputs/[spec-name]/spec.docx \
outputs/[spec-name]/unpacked/
# Edit XML using Document library (Python)
# - Add content while preserving template structure
# - RTL paragraphs, LTR code blocks
# - Tables inherit template formatting
# Pack back to DOCX
~/.claude/skills/office-skills/venv/bin/python \
~/.claude/skills/office-skills/public/docx/ooxml/scripts/pack.py \
outputs/[spec-name]/unpacked/ \
outputs/[spec-name]/spec.docx
Why OOXML editing:
Also create Markdown:
For each UI component, document:
| Field | Hebrew | Description |
|---|---|---|
| Purpose | מטרת האלמנט | What the component does |
| Type | סוג תצוגה | screen/component/popup |
| Location | איפה מוצג | Where it appears |
| Description | תיאור | How it works |
| Display States | מצבי תצוגה | Table of states with fields |
| Notes | הערות | Additional info |
| Errors | הודעות שגיאה | Error messages |
| APIs | ממשקי API | Related endpoints |
אם {condition}
אז {action}
אחרת {alternative}
Format: object.field.subfield (e.g., state.line.markets[0].price)
### רכיב LoginButton
| נושא | תיאור |
|------|-------|
| מטרת האלמנט | כפתור להתחברות למערכת |
| סוג תצוגה | רכיב (component) |
| איפה מוצג | Header של כל עמוד |
| תיאור | כפתור שמציג "התחבר" למשתמש לא מחובר ושם המשתמש למשתמש מחובר |
#### מצבי תצוגה
| # | אלמנט | תיאור | הערות |
|---|-------|-------|-------|
| 1 | טקסט כפתור | אם **isLoggedIn**==false אז "התחבר" אחרת **user.displayName** | |
| 2 | אייקון | אייקון משתמש מתוך assets/icons/user.svg | |
#### הערות
לחיצה על כפתור במצב לא מחובר פותחת פופאפ התחברות
#### ממשקי API
- GET /api/user/current