# Content Writer

> Write technical content for the Physical AI textbook including chapters, examples, code snippets, and exercises. Use when creating new chapters, writing module content, adding code examples, or creating assessments.

- Skill: `majiayu000/content-writer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/content-writer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/content-writer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/content-writer

---


# Content Writer Skill

## Instructions

1. **Chapter Structure**
   - Start with learning objectives (3-5 bullet points)
   - Include "Prerequisites" section linking to prior chapters
   - Use h2 for major topics, h3 for subtopics
   - End with "Key Takeaways" and "Next Steps"

2. **Code Examples**
   - Always include working, tested code
   - Add comments explaining key lines
   - Provide both minimal and full examples
   - Include expected output in comments

3. **Technical Accuracy**
   - Verify all commands with Context7 before writing
   - Check version compatibility (ROS 2, Python 3.11+, etc.)
   - Link to official documentation
   - Include troubleshooting tips

4. **Exercises & Assessments**
   - Progressive difficulty (beginner → advanced)
   - Include hints and solutions (collapsible)
   - Tie to real-world robotics scenarios
   - Provide rubrics for self-assessment

5. **RAG-Friendly Formatting**
   - Use descriptive headings (not "Introduction" alone)
   - Include frontmatter: title, description, module, week, tags
   - Avoid excessive nesting (max 3 levels)
   - Keep paragraphs focused (1 idea per paragraph)

## Examples

```mdx
---
title: "ROS 2 Nodes and Topics"
description: "Learn to create ROS 2 nodes that communicate via topics"
module: 1
week: 3
tags: [ros2, nodes, topics, python, rclpy]
---

# ROS 2 Nodes and Topics

## Learning Objectives

By the end of this chapter, you will be able to:
- Create a ROS 2 node using Python and rclpy
- Publish messages to a topic
- Subscribe to topics and process incoming messages
- Understand the ROS 2 communication graph

## Prerequisites

- [Week 1-2: Introduction to Physical AI](/docs/module-1/week-1-2/intro)
- Python 3.10+ installed
- ROS 2 Humble or later

## Creating Your First Node

A ROS 2 node is the fundamental building block...

```python
import rclpy
from rclpy.node import Node

class MinimalPublisher(Node):
    def __init__(self):
        super().__init__('minimal_publisher')
        self.publisher_ = self.create_publisher(String, 'topic', 10)
        # Timer fires every 0.5 seconds
        self.timer = self.create_timer(0.5, self.timer_callback)
    
    def timer_callback(self):
        msg = String()
        msg.data = 'Hello, Physical AI!'
        self.publisher_.publish(msg)
        self.get_logger().info(f'Publishing: {msg.data}')
```

## Key Takeaways

- Nodes are independent processes in ROS 2
- Topics enable publish-subscribe communication
- `rclpy` is the Python client library for ROS 2

## Next Steps

Continue to [Week 4: ROS 2 Services](/docs/module-1/week-4/services)
```

## Definition of Done

- Chapter follows structure template
- All code examples are tested and working
- Frontmatter complete with proper tags
- Links to prerequisites and next chapters included
- At least one exercise with solution

