Goals
codewhale-hq/Codewhale
Set, review, and update the user's goals. An agent skill from codewhale-hq/Codewhale.
Expert technical tutorial creation covering tutorial structure (goal, prerequisites, steps, verification), progressive complexity, code sample design, screenshot guidelines, common mistakes section…
$ npx skills add FerroxLabs/wayland --skill tutorial-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland tutorial-writer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer .claude/skills/tutorial-writer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "tutorial-writer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer into .claude/skills/tutorial-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutorial-writer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill tutorial-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland tutorial-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer .agents/skills/tutorial-writer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tutorial-writer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer into .agents/skills/tutorial-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutorial-writer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill tutorial-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland tutorial-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer .cursor/skills/tutorial-writer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tutorial-writer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer into .cursor/skills/tutorial-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutorial-writer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/writing/tutorial-writer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill tutorial-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland tutorial-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer .gemini/skills/tutorial-writer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tutorial-writer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer into .gemini/skills/tutorial-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutorial-writer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland tutorial-writerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill tutorial-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer .github/skills/tutorial-writer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tutorial-writer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer into .github/skills/tutorial-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutorial-writer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill tutorial-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland tutorial-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer .opencode/skills/tutorial-writer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tutorial-writer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/writing/tutorial-writer into .opencode/skills/tutorial-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tutorial-writer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tutorial-writerExpert technical tutorial creation covering tutorial structure (goal, prerequisites, steps, verification), progressive complexity, code sample design, screenshot guidelines, common mistakes section…
Tutorial Writer is an agent skill from FerroxLabs/wayland. Expert technical tutorial creation covering tutorial structure (goal, prerequisites, steps, verification), progressive complexity, code sample design, screenshot guidelines, common mistakes section, prerequisite validation, and hands-on exercises. Use when the user asks about tutorial writer, tutorial writer best practices, or needs guidance on tutorial writer implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tutorial Writer loads about 3.6k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 530 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 530 words, ~3,574 tokens.
.claude/skills/tutorial-writer/SKILL.md (or your agent's skills folder).This skill provides comprehensive expertise in creating technical tutorials that effectively teach developers new skills and concepts. Great tutorials respect the reader's time, build confidence through incremental success, and leave learners with both understanding and working code. This skill covers tutorial structure, progressive complexity design, code sample best practices, visual aids, error anticipation, and exercise design.
Every tutorial must have these four parts:
1. ORIENTATION (10% of tutorial)
├── What will the reader build or learn?
├── Why does this matter? (motivation)
├── What will they have at the end? (outcome preview)
└── Estimated time to complete
2. PREREQUISITES (5% of tutorial)
├── Required knowledge (with links to learn)
├── Required software/tools (with versions)
├── Required accounts/API keys
└── Verification commands to confirm readiness
# ... (condensed) ...
4. WRAP-UP (10% of tutorial)
├── Summary of what was built
├── Key concepts learned
├── Next steps / further reading
└── Link to complete source code# Build a Real-Time Chat App with WebSockets
Learn how to build a full-featured chat application with typing indicators,
message history, and user presence. By the end of this tutorial, you will have
a working chat app that multiple users can connect to simultaneously.
**What you will build:**
[Screenshot or GIF of the finished product]
**Time:** 45 minutes
**Difficulty:** Intermediate
**Prerequisites:** Basic JavaScript, familiarity with Node.js
**Source code:** [github.com/org/tutorial-chat-app]([reference URL])
# ... (condensed) ...
- Using the command line for basic operations
- Understanding HTTP request/response basics
If you are new to Node.js, complete the
[Introduction to Node.js]([reference URL]) first.Progressive Complexity Pattern:
Step 1: Minimal working example (instant gratification)
└── "Hello World" equivalent that proves the setup works
Step 2: Add the core feature (the reason for the tutorial)
└── The single most important capability
Step 3: Handle the real world (data, errors, edge cases)
└── Connect to real data, add error handling
Step 4: Polish (UX, performance, production concerns)
└── Make it production-worthy
# ... (condensed) ...
Step 1: Express server that returns "Hello World" on GET /
Step 2: CRUD endpoints for a single resource (products)
Step 3: Connect to PostgreSQL, add validation, error handling
Step 4: Add authentication, pagination, rate limiting
Step 5: Add WebSocket notifications, caching, testing## Step 3: Connect to the Database
In this step, you will connect the API to a PostgreSQL database so that
products are persisted between server restarts.
### 3.1 Install the database client
\```shell
install via npm: pg drizzle-orm
install via npm: -D drizzle-kit
\```
### 3.2 Configure the database connection
# ... (condensed) ...
server restarts because it is stored in PostgreSQL.
> **Troubleshooting:** If you get a connection error, make sure your
> PostgreSQL server is running and the `DATABASE_URL` environment variable
> is set. See [Common Mistakes](#common-mistakes) at the end of this tutorial.Code Sample Best Practices:
├── Every code block must be complete and runnable
│ ├── GOOD: Full file with imports, shown in context
│ ├── BAD: Isolated snippet that cannot run standalone
│ └── If showing a diff, clearly mark added/removed lines
├── Show the file path above each code block
│ └── // src/routes/products.ts
├── Use syntax highlighting (specify language after backticks)
├── Include comments for non-obvious lines
│ ├── Comment the "why", not the "what"
│ ├── GOOD: // Pool reuses connections for better performance
│ ├── BAD: // Create a new pool
│ └── Limit to 1-2 comments per code block
├── Keep blocks under 40 lines (split longer blocks)
├── Use realistic variable names (not foo, bar, baz)
├── Use realistic data ("Wireless Headphones", not "Test Product 1")
├── Show expected output after every command
└── Provide copy button (most doc tools support this)When modifying existing code, show what changed clearly:
Update `src/routes/products.ts` to add validation:
\```typescript
// src/routes/products.ts
import { z } from 'zod'; // Add this import
// Add this validation schema
const createProductSchema = z.object({
name: z.string().min(1).max(200),
price: z.string().regex(/^\d+\.\d{2}$/, 'Price must have 2 decimal places'),
});
# ... (condensed) ...
const product = await db.insert(products).values(result.data).returning();
res.status(201).json(product[0]);
});
\```Include a screenshot when:
├── The reader needs to interact with a GUI (IDE, dashboard, browser)
├── The output is visual (a rendered web page, a chart, a diagram)
├── Configuration involves a multi-step UI workflow
├── The result is hard to describe in text alone
└── You want to show "you should see this" for verification
Do NOT screenshot:
├── Terminal output (use a code block instead)
├── Code (use a code block instead)
├── Simple text that can be described in one sentence
└── Anything that changes frequently (version numbers, UI details)| Guideline | Details |
|---|---|
| Annotation | Use numbered callouts or arrows to highlight key areas |
| Cropping | Show only the relevant portion, not the entire screen |
| Size | Readable at 100% zoom without scrolling horizontally |
| Alt text | Describe what the screenshot shows for accessibility |
| Format | PNG for UI, GIF/video for multi-step interactions |
| Freshness | Date screenshots; update when UI changes |
| Consistency | Same browser, theme, and window size across all screenshots |
<!-- Screenshot with alt text and caption -->

*Figure 3: After deployment, all three services should show green status.*## Common Mistakes
### "Connection refused" when starting the server
**Symptom:** `Error: connect ECONNREFUSED 127.0.0.1:5432`
**Cause:** PostgreSQL is not running or is listening on a different port.
**Fix:**
\```shell
# Check if PostgreSQL is running
pg_isready
# If not running, start it:
# ... (condensed) ...
netstat -ano | findstr :3000 # Windows
# Kill the process, or use a different port
PORT=3001 npm run dev
\```For each step in the tutorial, ask:
├── What if a required tool is not installed?
├── What if the user is on a different OS?
├── What if a previous step was done incorrectly?
├── What if versions differ from what we tested?
├── What if there is a network/firewall issue?
├── What if permissions are wrong?
└── What if the user copied the code incorrectly?
For each anticipated error:
├── Describe the exact error message they will see
├── Explain what caused it in plain language
├── Provide a specific fix (commands, not just advice)
└── Link to more detailed help if the fix is complex## Verify Your Environment
Run this script to check that all prerequisites are installed:
\```shell
#!shell-interpreter
# check-prerequisites.shell-cmd
echo "Checking prerequisites..."
check() {
local name=$1
local cmd=$2
local min_version=$3
# ... (condensed) ...
[PASS] Git: git version 2.43.0
[PASS] Docker: Docker version 25.0.2
All prerequisites met. You are ready to start the tutorial.
\```Exercise Design Rules:
├── Place exercises AFTER the concept is taught (not before)
├── Start with "modify the code you just wrote" (not "start from scratch")
├── Provide the expected result so learners can self-verify
├── Include hints for common stumbling points
├── Offer a complete solution (collapsed/linked) for self-unblocking
├── Graduate difficulty:
│ ├── Exercise 1: Apply what you just learned (repetition)
│ ├── Exercise 2: Combine two concepts (synthesis)
│ └── Exercise 3: Solve a new problem (transfer)
└── Time each exercise (include time estimates)## Exercises
### Exercise 1: Add a "categories" resource (10 minutes)
Using what you learned about creating CRUD endpoints for products,
add a new resource for product categories.
**Requirements:**
- `GET /categories` - List all categories
- `POST /categories` - Create a category (name is required)
- `GET /categories/:id` - Get a single category
- Categories should have: `id`, `name`, `description` (optional)
**Hints:**
# ... (condensed) ...
**Requirements:**
- Support `?limit=10&cursor=xxx` query parameters
- Return a `next_cursor` field when more results are available
- Default limit is 20, maximum is 100Tutorial Testing Protocol:
├── Fresh Environment Test
│ ├── Start from a clean machine (or fresh Docker container)
│ ├── Follow every step exactly as written
│ ├── Copy-paste every command (do not type from memory)
│ └── Verify every expected output matches actual output
├── Second Person Test
│ ├── Have someone from target audience follow the tutorial
│ ├── Observe without helping (note where they get stuck)
│ ├── Ask them to think aloud (identify confusing sections)
│ └── Time how long each step takes (update estimates)
├── Platform Test
│ ├── Test on macOS, Linux, and Windows (if applicable)
│ ├── Test on minimum supported versions of tools
# ... (condensed) ...
└── Code Repository
├── Final code matches what the tutorial produces
├── Repository has a working CI build
├── Each major step is a tagged commit or branch
└── README in the repo links back to the tutorial| Metric | Target | How to Measure |
|---|---|---|
| Completion rate | >70% | Analytics (reached final step) |
| Time to complete | Within 1.5x estimate | User testing observation |
| Error rate | <10% need troubleshooting | Support tickets / forum posts |
| Satisfaction | >4.0 / 5.0 | End-of-tutorial survey |
| Freshness | Updated within 3 months | Last-modified date check |
Use this skill when:
Do NOT use this skill when:
# Tutorial Writer Analysis
## Context Assessment
[Situation summary and constraints]
## Recommended Approach
[Primary recommendation with rationale]
## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]
## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]
## Next Steps
- [Immediate action item]
- [Follow-up action item]Input: "Help me implement tutorial writer for a medium-scale production application"
Output: A structured analysis covering current state assessment, recommended tutorial writer approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.
© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/process/resources/skills-library/bodies/skills/writing/tutorial-writer of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
Tutorial Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tutorial Writer this skillFerroxLabs/wayland | 608 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Goalscodewhale-hq/Codewhale | 41k | — | ~273 | Automated safety check: Pass | MIT | |
| Goal Prompt Writertrailofbits/skills | 7.4k | — | ~1.5k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| How To Tutorial WriterAffitor/affiliate-skills | 698 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Iep Goal Writermohitagw15856/pm-claude-skills | 1.4k | — | ~777 | Automated safety check: Pass | MIT | |
| Tutorial Creationvivy-yi/xiaohongshu-skills | 471 | — | ~5.6k | Automated safety check: Pass | None |
codewhale-hq/Codewhale
Set, review, and update the user's goals. An agent skill from codewhale-hq/Codewhale.
trailofbits/skills
Drafts a single-line /goal command for Claude Code or Codex goal mode, built around a checkable end state, a stated verification command and a stop condition.
Affitor/affiliate-skills
Write how-to guides and tutorials that naturally integrate affiliate product recommendations.
mohitagw15856/pm-claude-skills
Write measurable IEP goals and matching accommodations for a K-12 student with an IEP or 504 plan.
vivy-yi/xiaohongshu-skills
A skill your agent uses when creating educational tutorial content for Xiaohongshu, teaching skills or processes step-by-step, creating how-to guides, or structuring instructional content for…
affaan-m/ECC
Best practices for Remotion - Video creation in React. An agent skill from affaan-m/ECC.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
FerroxLabs/wayland
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
FerroxLabs/wayland
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
FerroxLabs/wayland
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
FerroxLabs/wayland
Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…
Expert technical tutorial creation covering tutorial structure (goal, prerequisites, steps, verification), progressive complexity, code sample design, screenshot guidelines, common mistakes section…. Tutorial Writer is an agent skill from FerroxLabs/wayland. Expert technical tutorial creation covering tutorial structure (goal, prerequisites, steps, verification), progressive complexity, code sample design, screenshot guidelines, common mistakes section, prerequisite validation, and hands-on exercises.
Tutorial Writer fits situations like: the user asks about tutorial writer; tutorial writer best practices; needs guidance on tutorial writer implementation; the user needs a different specialized skill.
Run `npx skills add FerroxLabs/wayland --skill tutorial-writer -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/writing/tutorial-writer in FerroxLabs/wayland) into .claude/skills/tutorial-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill tutorial-writer -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/writing/tutorial-writer in FerroxLabs/wayland) into .agents/skills/tutorial-writer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill tutorial-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tutorial-writer, .gemini/skills/tutorial-writer, .github/skills/tutorial-writer and .opencode/skills/tutorial-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Tutorial Writer is instructions for the agent only. Our summary lists: Node.js; Docker.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Tutorial Writer is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Tutorial Writer: Goals (codewhale-hq/Codewhale, 41k stars), Goal Prompt Writer (trailofbits/skills, 7.4k stars), How To Tutorial Writer (Affitor/affiliate-skills, 698 stars) and Iep Goal Writer (mohitagw15856/pm-claude-skills, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.