write-concept

leonardomso/33-js-concepts · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/leonardomso/33-js-concepts --skill write-concept
0 commentsdiscussion
summary

Use this skill when writing or improving concept documentation pages for the 33 JavaScript Concepts project.

skill.md

Skill: Write JavaScript Concept Documentation

Use this skill when writing or improving concept documentation pages for the 33 JavaScript Concepts project.

When to Use

  • Creating a new concept page in /docs/concepts/
  • Rewriting or significantly improving an existing concept page
  • Reviewing an existing concept page for quality and completeness
  • Adding explanatory content to a concept

Target Audience

Remember: the reader might be someone who has never coded before or is just learning JavaScript. Write with empathy for beginners while still providing depth for intermediate developers. Make complex topics feel approachable and never assume prior knowledge without linking to prerequisites.

Writing Guidelines

Voice and Tone

  • Conversational but authoritative: Write like you're explaining to a smart friend
  • Encouraging: Make complex topics feel approachable
  • Practical: Focus on real-world applications and use cases
  • Concise: Respect the reader's time; avoid unnecessary verbosity
  • Question-driven: Open sections with questions the reader might have

Avoiding AI-Generated Language

Your writing must sound human, not AI-generated. Here are specific patterns to avoid:

Words and Phrases to Avoid

❌ Avoid ✓ Use Instead
"Master [concept]" "Learn [concept]"
"dramatically easier/better" "much easier" or "cleaner"
"one fundamental thing" "one simple thing"
"one of the most important concepts" "This is a big one"
"essential points" "key things to remember"
"understanding X deeply improves" "knowing X well makes Y easier"
"To truly understand" "Let's look at" or "Here's how"
"This is crucial" "This trips people up"
"It's worth noting that" Just state the thing directly
"It's important to remember" "Don't forget:" or "Remember:"
"In order to" "To"
"Due to the fact that" "Because"
"At the end of the day" Remove entirely
"When it comes to" Remove or rephrase
"In this section, we will" Just start explaining
"As mentioned earlier" Remove or link to the section

Repetitive Emphasis Patterns

Don't use the same lead-in pattern repeatedly. Vary your emphasis:

Instead of repeating... Vary with...
"Key insight:" "Don't forget:", "The pattern:", "Here's the thing:"
"Best practice:" "Pro tip:", "Quick check:", "A good habit:"
"Important:" "Watch out:", "Heads up:", "Note:"
"Remember:" "Keep in mind:", "The rule:", "Think of it this way:"

Em Dash (—) Overuse

AI-generated text overuses em dashes. Limit their use and prefer periods, commas, or colons:

❌ Em Dash Overuse ✓ Better Alternative
"async/await — syntactic sugar that..." "async/await. It's syntactic sugar that..."
"understand Promises — async/await is built..." "understand Promises. async/await is built..."
"doesn't throw an error — you just get..." "doesn't throw an error. You just get..."
"outside of async functions — but only in..." "outside of async functions, but only in..."
"Fails fast — if any Promise rejects..." "Fails fast. If any Promise rejects..."
"achieve the same thing — the choice..." "achieve the same thing. The choice..."

When em dashes ARE acceptable:

  • In Key Takeaways section (consistent formatting for the numbered list)
  • In MDN card titles (e.g., "async function — MDN")
  • In interview answer step-by-step explanations (structured formatting)
  • Sparingly when a true parenthetical aside reads naturally

Rule of thumb: If you have more than 10-15 em dashes in a 1500-word document outside of structured sections, you're overusing them. After writing, search for "—" and evaluate each one.

Superlatives and Filler Words

Avoid vague superlatives that add no information:

❌ Avoid ✓ Use Instead
"dramatically" "much" or remove entirely
"fundamentally" "simply" or be specific about what's fundamental
"incredibly" remove or be specific
"extremely" remove or be specific
"absolutely" remove
"basically" remove (if you need it, you're not explaining clearly)
"essentially" remove or just explain directly
"very" remove or use a stronger word
"really" remove
"actually" remove (unless correcting a misconception)
"In fact" remove (just state the fact)
"Interestingly" remove (let the reader decide if it's interesting)

Stiff/Formal Phrases

Replace formal academic-style phrases with conversational alternatives:

❌ Stiff ✓ Conversational
"It should be noted that" "Note that" or just state it
"One might wonder" "You might wonder"
"This enables developers to" "This lets you"
"The aforementioned" "this" or name it again
"Subsequently" "Then" or "Next"
"Utilize" "Use"
"Commence" "Start"
"Prior to" "Before"
"In the event that" "If"
"A considerable amount of" "A lot of" or "Many"

Playful Touches (Use Sparingly)

Add occasional human touches to make the content feel less robotic, but don't overdo it:

// ✓ Good: One playful comment per section
// Callback hell - nested so deep you need a flashlight

// ✓ Good: Conversational aside  
// forEach and async don't play well together — it just fires and forgets:

// ✓ Good: Relatable frustration
// Finally, error handling that doesn't make you want to flip a table.

// ❌ Bad: Trying too hard
// Callback hell - it's like a Russian nesting doll had a baby with a spaghetti monster! 🍝

// ❌ Bad: Forced humor
// Let's dive into the AMAZING world of Promises! 🎉🚀

Guidelines:

  • One or two playful touches per major section is enough
  • Humor should arise naturally from the content
  • Avoid emojis in body text (they're fine in comments occasionally)
  • Don't explain your jokes
  • If a playful line doesn't work, just be direct instead

Page Structure (Follow This Exactly)

Every concept page MUST follow this structure in this exact order:

---
title: "Concept Name: [Hook] in JavaScript"
sidebarTitle: "Concept Name: [Hook]"
description: "SEO-friendly description in 150-160 characters starting with action word"
---

[Opening hook - Start with engaging questions that make the reader curious]
[Example: "How does JavaScript get data from a server? How do you load user profiles, submit forms, or fetch the latest posts from an API?"]

[Immediately show a simple code example demonstrating the concept]

```javascript
// This is how you [do the thing] in JavaScript
const example = doSomething()
console.log(example)  // Expected output

[Brief explanation connecting to what they'll learn, with inline MDN links for key terms]


[First Major Section - e.g., "What is X?"]

[Core explanation with inline MDN links for any new terms/APIs introduced]

[Optional: CardGroup with MDN reference links for this section]


[Analogy Section - e.g., "The Restaurant Analogy"]

[Relatable real-world analogy that makes the concept click]

[ASCII art diagram visualizing the concept]

┌─────────────────────────────────────────────────────────────────────────┐
│                          DIAGRAM TITLE                                   │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│    [Visual representation of the concept]                                │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

[Core Concepts Section]

[Deep dive with code examples, tables, and Mintlify components]


[The API/Implementation Section]

[How to actually use the concept in code]

Basic Usage

// Basic example with step-by-step comments
// Step 1: Do this
const step1 = something()

// Step 2: Then this
const step2 = somethingElse(step1)

// Step 3: Finally
console.log(step2)  // Expected output

[Advanced Pattern]

// More complex real-world example

[Common Mistakes Section - e.g., "The #1 Fetch Mistake"]

[Highlight the most common mistake developers make]

┌─────────────────────────────────────────────────────────────────────────┐
│                         VISUAL COMPARISON                                │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  WRONG WAY                           RIGHT WAY                           │
│  ─────────                           ─────────                           │
│  • Problem 1                         • Solution 1                        │
│  • Problem 2                         • Solution 2                        │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
// ❌ WRONG - Explanation of why this is wrong
const bad = wrongApproach()

// ✓ CORRECT - Explanation of the right way
const good = correctApproach()

[Advanced Patterns Section]

[Real-world patterns and best practices]

Pattern Name

// Reusable pattern with practical application
async function realWorldExample() {
  // Implementation
}

// Usage
const result = await realWorldExample()

Key Takeaways

  1. First key point — Brief explanation

  2. Second key point — Brief explanation

  3. Third key point — Brief explanation

  4. Fourth key point — Brief explanation

  5. Fifth key point — Brief explanation

[Aim for 8-10 key takeaways that summarize everything]


Test Your Knowledge

[Clear explanation]

```javascript
// Code example demonstrating the answer
```
[Clear explanation with code if needed]

[Aim for 5-6 questions covering the main topics]


Related Concepts


Reference

Articles

Videos


SEO Guidelines

SEO (Search Engine Optimization) is critical for this project. Each concept page should rank for the various ways developers search for that concept. Our goal is to appear in search results for queries like:

  • "what is [concept] in JavaScript"
  • "how does [concept] work in JavaScript"
  • "[concept] JavaScript explained"
  • "[concept] JavaScript tutorial"
  • "JavaScript [concept] example"

Every writing decision — from title to structure to word choice — should consider search intent.


Target Keywords for Each Concept

Each concept page targets a keyword cluster — the family of related search queries. Before writing, identify these for your concept:

Keyword Type Pattern Example (DOM)
Primary [concept] + JavaScript "DOM JavaScript", "JavaScript DOM"
What is what is [concept] in JavaScript "what is the DOM in JavaScript"
How does how does [concept] work "how does the DOM work in JavaScript"
How to how to [action] with [concept] "how to manipulate the DOM"
Tutorial [concept] tutorial/guide/explained "DOM tutorial JavaScript"
Comparison [concept] vs [related] "DOM vs virtual DOM"

More Keyword Cluster Examples:


Title Tag Optimization

The frontmatter has two title fields:

  • title — The page's <title> tag (SEO, appears in search results)
  • sidebarTitle — The sidebar navigation text (cleaner, no "JavaScript" since we're on a JS site)

The Two-Title Pattern:

---
title: "Closures: How Functions Remember Their Scope in JavaScript"
sidebarTitle: "Closures: How Functions Remember Their Scope"
---
  • title ends with "in JavaScript" for SEO keyword placement
  • sidebarTitle omits "JavaScript" for cleaner navigation

Rules:

  1. 50-60 characters ideal length for title (Google truncates longer titles)
  2. Concept name first — lead with the topic, "JavaScript" comes at the end
  3. Add a hook — what will the reader understand or be able to do?
  4. Be specific — generic titles don't rank

Title Formulas That Work:

title: "[Concept]: [What You'll Understand] in JavaScript"
sidebarTitle: "[Concept]: [What You'll Understand]"

title: "[Concept]: [Benefit or Outcome] in JavaScript"
sidebarTitle: "[Concept]: [Benefit or Outcome]"

Title Examples:

❌ Bad ✓ title (SEO) ✓ sidebarTitle (Navigation)
"Closures" "Closures: How Functions Remember Their Scope in JavaScript" "Closures: How Functions Remember Their Scope"
"DOM" "DOM: How Browsers Represent Web Pages in JavaScript" "DOM: How Browsers Represent Web Pages"
"Promises" "Promises: Handling Async Operations in JavaScript" "Promises: Handling Async Operations"
"Call Stack" "Call Stack: How Function Execution Works in JavaScript" "Call Stack: How Function Execution Works"
"Event Loop" "Event Loop: How Async Code Actually Runs in JavaScript" "Event Loop: How Async Code Actually Runs"
"Scope" "Scope and Closures: Variable Visibility in JavaScript" "Scope and Closures: Variable Visibility"
"this" "this: How Context Binding Works in JavaScript" "this: How Context Binding Works"
"Prototype" "Prototype Chain: Understanding Inheritance in JavaScript" "Prototype Chain: Understanding Inheritance"

Character Count Check: Before finalizing, verify your title length:

  • Under 50 chars: Consider adding more descriptive context
  • 50-60 chars: Perfect length
  • Over 60 chars: Will be truncated in search results — shorten it

Meta Description Optimization

The description field becomes the meta description — the snippet users see in search results. A compelling description increases click-through rate.

Rules:

  1. 150-160 characters maximum (Google truncates longer descriptions)
  2. Include primary keyword in the first half
  3. Include secondary keywords naturally if space allows
  4. Start with an action word — "Learn", "Understand", "Discover" (avoid "Master" — sounds AI-generated)
  5. Promise specific value — what will they learn?
  6. End with a hook — give them a reason to click

Description Formula:

[Action word] [what the concept is] in JavaScri
how to use write-concept

How to use write-concept on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add write-concept
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/leonardomso/33-js-concepts --skill write-concept

The skills CLI fetches write-concept from GitHub repository leonardomso/33-js-concepts and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/write-concept

Reload or restart Cursor to activate write-concept. Access the skill through slash commands (e.g., /write-concept) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.733 reviews
  • Isabella Chawla· Dec 24, 2024

    write-concept fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Layla Diallo· Dec 12, 2024

    We added write-concept from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Dhruvi Jain· Dec 4, 2024

    Keeps context tight: write-concept is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Ira Harris· Dec 4, 2024

    Useful defaults in write-concept — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Oshnikdeep· Nov 23, 2024

    write-concept has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • William Choi· Nov 15, 2024

    Registry listing for write-concept matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Yusuf Bhatia· Nov 3, 2024

    write-concept reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Yusuf Jain· Oct 22, 2024

    Registry listing for write-concept matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Ganesh Mohane· Oct 14, 2024

    Solid pick for teams standardizing on skills: write-concept is focused, and the summary matches what you get after install.

  • Aanya Jain· Oct 6, 2024

    write-concept reduced setup friction for our internal harness; good balance of opinion and flexibility.

showing 1-10 of 33

1 / 4