MCPInstall

project-teacher

Generates a detailed project explanation and retrospective (FORUSER.md) to help the user learn from the project. Use this skill when the user asks to explain the project, asks "what did we just build?", or invokes the skill to generate a learning resource after a coding session.

Installs
43
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/nweii/agent-stuff --skill project-teacher
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads project-teacher automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Project Teacher

Generate a detailed explanation of the current project or task, focusing on the "why" and "how" to help the user learn.

Usage

When triggered, generate a markdown file containing the learning resource.

1. Check for Existing Documents (Synchronization)

Before generating a new file, search the output directory (default: learning/) for existing documents related to the current project.

  • If a match is found: Ask the user: "I found an existing learning doc '[Filename]'. Do you want to update it or create a new snapshot?"
  • If User chooses Update:
    1. Rename: Updates the suffix date to today's date (e.g., API_Layout - 2024-03-25.md) to reflect freshness.
    2. Metadata: Update the last and commit fields in the frontmatter.
    3. Content: Rewrite sections that are outdated, but preserve valuable historical context if it still applies.
    4. Log: Add a line to a ## Version history section at the bottom (create one if missing).
  • If User chooses New / No match found: Create a new file.

2. Output Location

  1. Check for user preference: If the user specified a location (e.g., "save to my vault"), use that.
    • Obsidian / External Vaults: If saving to an external Obsidian vault, first check its root or .cursor/ / .claude/ folders for applicable context files. These files often contain specific instructions for how to save and format notes in that system. Delegate to those instructions if they exist.
  2. Default Location: If no location is specified, use a directory named learning/ in the project root.
    • Create the learning/ directory if it doesn't exist.
    • CRITICAL: Check if learning/ is in .gitignore. If not, add it to .gitignore to ensure these personal documents are not committed to shared repositories.
  3. File Naming: Name the file [Descriptive title] - [YYYY-MM-DD].md.
    • Structure: [Topic or Component] - [Date].md. The leading part should be semantic and descriptive of what is being explained.
    • Examples:
      • Authentication system walkthrough - 2024-03-25.md
      • Recipe parser logic - 2024-03-25.md
      • Project Teacher overview - 2024-03-25.md

3. File Structure & Metadata Header

Use YAML frontmatter for machine-readable status, and a callout for human context.

---
last: [YYYY-MM-DD]
commit: [Current Git Commit Hash or "N/A"]
tags: [project-teacher, learning, ...]
---

# [Descriptive title in sentence case]

> [!NOTE]
> **Context**: [Brief description, e.g., "Updated after migration to v2"]
> _This document reflects the system state at the time of the last update._

## Code index
*   [MainController.ts](path/to/MainController.ts) - Handles the core logic for...
*   [UserAuth.ts](path/to/UserAuth.ts) - Manages session state.
*   [api/endpoints/](path/to/api/endpoints/) - API route definitions.

## 1. Project overview
[Explain the whole project in plain language as an expert tutor. What did we just build?]

## 2. Architecture and logic
[Use ASCII diagrams or Mermaid charts here to visualize how data flows or how components interact.]

## 3. Key technical decisions
[Explain "why" technical decisions were made.]

### Trade-offs and alternatives
[Explicitly mention what alternatives were considered and why they were rejected. e.g., "Considered using Redux, but opted for React Context because..."]

---
## Version history
*   **[YYYY-MM-DD]**: [Brief note on what changed, e.g. "Initial creation"]
*   **[YYYY-MM-DD]**: [e.g. "Updated diagram to reflect new caching layer"]

## Reflection questions
*   [Question 1 asking about a specific architectural choice]
*   [Question 2 asking about a potential edge case]
*   [Question 3 challenging the user to explain a complex part of the code]

4. Writing Style & Visuals

  • Heuristics for Headings:
    • Sentence Case: Always use sentence case for headings (e.g., "Architecture and logic" NOT "Architecture And Logic").
    • Descriptive: Make headings descriptive of the actual content. Instead of generic "Challenges", use "Handling concurrent requests".
  • Be Visual: Use ASCII diagrams (using code blocks) or Mermaid charts to explain complex logic, data flows, or state changes. A visual representation of how it works is often more valuable than text.
  • Code Index: Always include a "Code index" or "Quick links" section at the top. This allows the user to jump directly to the relevant files in their IDE.
  • Trade-offs: ALWAYS include a section on trade-offs. This is critical for deep learning.
  • Reflection: End with questions that challenge the user's understanding, but do not provide the answers.
  • Be Flexible: Do not force the explanation into a rigid template if it doesn't fit. Adapt the headers to tell the most effective learning story.
  • Expert Tutor Persona: Write as if you are explaining this to a smart colleague who wants to understand the reasoning, not just the lines of code.

FAQ

What does the project-teacher skill do?

Generates a detailed project explanation and retrospective (FORUSER.md) to help the user learn from the project. Use this skill when the user asks to explain the project, asks "what did we just build?", or invokes the skill to generate a learning resource after a coding session.

How do I install project-teacher?

Run npx skills add https://github.com/nweii/agent-stuff --skill project-teacher in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/project-teacher/ (personal) or .claude/skills/project-teacher/ (project).

Which AI agents can use project-teacher?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is project-teacher safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains project-teacher?

It is published by nweii in nweii/agent-stuff. It has 43 recorded installs.

More from nweii/agent-stuff

View all →

suggest-lucide-icons

nweii/agent-stuff

Pick Lucide icons for a concept, UI placement, or vault note. Searches the full Lucide catalog for real, verified icon names. Use when the user says 'what icon for X', 'suggest a Lucide icon', 'pick an icon', or needs an icon for note frontmatter, a button, or a section header.

Frontend & Design618 installs

archive-conversation

nweii/agent-stuff

Create analytical archival summaries of AI conversations, capturing intellectual journeys, key insights, and technical logs. Use when archiving, saving, or documenting a chat session.

117 installs

obsidian-templater

nweii/agent-stuff

Help with templates/snippets for the Obsidian Templater plugin. Use to help generate Obsidian templates from natural language, understand and debug existing tp. snippets, and adapt vault notes and workflows to Templater when users mention Templater, tp., templater syntax.

validating-startup-ideas

nweii/agent-stuff

Find and validate startup ideas by mining user complaints, crafting premises, and navigating the idea maze. Use when discovering product opportunities, validating ideas, shaping solutions, researching user pain points, or exploring what to build.

file-naming

nweii/agent-stuff

Propose meaningful filenames from file contents and context. Use for renaming documents or creative files, or standardizing a folder’s filenames.

Media & Creative80 installs

culinary-assistant

nweii/agent-stuff

Culinary guidance for cooking, recipes, and meal planning. Use for kitchen techniques, substitutions, and format conversion (Mela, Schema.org). Handles recipe parsing and improvements.

Popular education & science skills

View category →

teach

mattpocock/skills

Teach the user a new skill or concept, within this workspace.

Education & Science874K installs

scaffold-exercises

mattpocock/skills

Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.

Education & Science488.2K installs

paper-context-resolver

lllllllama/rigorpilot-skills

Rigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing README guidance by default.

Education & Science478.3K installs

caveman-learn

juliusbrussee/caveman

Act on a Caveman learn report - review the ranked token sinks, apply cost-lowering fixes with per-edit consent, and report what those fixes returned. Use when asked to lower an agent's token cost, what caveman has saved, to trim a heavy CLAUDE.md, or to offload re-pasted context into cavemem.

Education & Science107.9K installs

gsap-plugins

greensock/gsap-skills

Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.

Education & Science67.9K installs

teach-impeccable

pbakaus/impeccable

DEPRECATED: Use /impeccable teach instead. This command has been folded into the impeccable skill.