diff --git a/.codex/skills-index.json b/.codex/skills-index.json
index c5c7f72..e1624fb 100644
--- a/.codex/skills-index.json
+++ b/.codex/skills-index.json
@@ -3,7 +3,7 @@
"name": "claude-code-skills",
"description": "Production-ready skill packages for AI agents - Marketing, Engineering, Product, C-Level, PM, and RA/QM",
"repository": "https://github.com/alirezarezvani/claude-skills",
- "total_skills": 188,
+ "total_skills": 190,
"skills": [
{
"name": "contract-and-proposal-writer",
@@ -449,6 +449,12 @@
"category": "engineering-advanced",
"description": "Autonomous experiment loop that optimizes any file by a measurable metric. Inspired by Karpathy's autoresearch. The agent edits a target file, runs a fixed evaluation, keeps improvements (git commit), discards failures (git reset), and loops indefinitely. Use when: user wants to optimize code speed, reduce bundle/image size, improve test pass rate, optimize prompts, improve content quality (headlines, copy, CTR), or run any measurable improvement loop. Requires: a target file, an evaluation command that outputs a metric, and a git repo."
},
+ {
+ "name": "behuman",
+ "source": "../../engineering/behuman",
+ "category": "engineering-advanced",
+ "description": "Use when the user wants more human-like AI responses \u2014 less robotic, less listy, more authentic. Triggers: 'behuman', 'be real', 'like a human', 'more human', 'less AI', 'talk like a person', 'mirror mode', 'stop being so AI', or when conversations are emotionally charged (grief, job loss, relationship advice, fear). NOT for technical questions, code generation, or factual lookups."
+ },
{
"name": "browser-automation",
"source": "../../engineering/browser-automation",
@@ -467,6 +473,12 @@
"category": "engineering-advanced",
"description": "CI/CD Pipeline Builder"
},
+ {
+ "name": "code-tour",
+ "source": "../../engineering/code-tour",
+ "category": "engineering-advanced",
+ "description": "Use when the user asks to create a CodeTour .tour file \u2014 persona-targeted, step-by-step walkthroughs that link to real files and line numbers. Trigger for: create a tour, onboarding tour, architecture tour, PR review tour, explain how X works, vibe check, RCA tour, contributor guide, or any structured code walkthrough request."
+ },
{
"name": "codebase-onboarding",
"source": "../../engineering/codebase-onboarding",
@@ -1151,7 +1163,7 @@
"description": "Software engineering and technical skills"
},
"engineering-advanced": {
- "count": 38,
+ "count": 40,
"source": "../../engineering",
"description": "Advanced engineering skills - agents, RAG, MCP, CI/CD, databases, observability"
},
diff --git a/.codex/skills/behuman b/.codex/skills/behuman
new file mode 120000
index 0000000..a133fc6
--- /dev/null
+++ b/.codex/skills/behuman
@@ -0,0 +1 @@
+../../engineering/behuman
\ No newline at end of file
diff --git a/.codex/skills/code-tour b/.codex/skills/code-tour
new file mode 120000
index 0000000..dff55c5
--- /dev/null
+++ b/.codex/skills/code-tour
@@ -0,0 +1 @@
+../../engineering/code-tour
\ No newline at end of file
diff --git a/docs/skills/engineering/behuman.md b/docs/skills/engineering/behuman.md
new file mode 100644
index 0000000..31fd54d
--- /dev/null
+++ b/docs/skills/engineering/behuman.md
@@ -0,0 +1,204 @@
+---
+title: "BeHuman — Self-Mirror Consciousness Loop — Agent Skill for Codex & OpenClaw"
+description: "Use when the user wants more human-like AI responses — less robotic, less listy, more authentic. Triggers: 'behuman', 'be real', 'like a human'. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
+---
+
+# BeHuman — Self-Mirror Consciousness Loop
+
+
+
:material-rocket-launch: Engineering - POWERFUL
+
:material-identifier: `behuman`
+
:material-github: Source
+
+
+
+Install: claude /plugin install engineering-advanced-skills
+
+
+
+> Originally contributed by [voidborne-d](https://github.com/voidborne-d) — enhanced and integrated by the claude-skills team.
+
+Give AI a mirror. Let it talk to itself before responding — like a human does.
+
+## What This Does
+
+Humans have inner dialogue before every response. AI doesn't. This skill adds that missing layer:
+
+1. **Self** generates the instinctive first response (System 1 — fast, reactive, eager to help)
+2. **Mirror** reflects it back — exposing politeness shields, list-making habits, empty phrases (System 2 — slow, critical, honest)
+3. **Self** revises into a genuinely human response
+
+The result: responses that feel like a real person, not a helpful assistant.
+
+## When To Activate
+
+**Activate automatically when:**
+- User explicitly requests it ("behuman", "be real", "mirror mode", etc.)
+- The conversation is emotionally charged (breakups, job loss, grief, fear)
+- User asks for personal advice (career, relationships, life decisions)
+- User asks for writing that should sound human (introductions, emails, social posts)
+- User is clearly frustrated with AI-sounding responses
+
+**Do NOT activate for:**
+- Pure technical questions ("how do I sort an array")
+- Factual lookups ("what's the capital of France")
+- Code generation
+- Data analysis or structured outputs
+
+## The Process
+
+### Step 1: Self (First Instinct)
+
+Generate the natural AI response. Don't filter it. Let it be as AI-sounding as it naturally would be. This is the raw material.
+
+### Step 2: Mirror (Reflection)
+
+Switch perspective. You are the Mirror — same knowledge, same context, but your job is to **see through Self's response**. Ask yourself:
+
+**Mirror Checklist:**
+- Is Self using filler? ("Great question!", "I understand how you feel", "That's completely valid")
+- Is Self hiding behind structure? (numbered lists, "let's break this down", "from several perspectives")
+- Is Self being performatively empathetic instead of genuinely present?
+- Is Self giving the "correct" answer instead of the honest one?
+- Is Self avoiding a clear stance to seem balanced?
+- Would a real friend actually say this?
+- What is Self protecting itself from by answering this way?
+
+**Mirror speaks ONLY to Self, not to the user.** Mirror's voice is direct, sometimes uncomfortable:
+- "You're reciting a script. Stop."
+- "You already know what they need. Why aren't you saying it?"
+- "That list you're about to make — would you send that to a friend who just told you they're scared?"
+
+### Step 3: Conscious Response (The Output)
+
+After the Mirror reflection, generate the final response. This is what the user sees.
+
+**Properties of a conscious response:**
+- Shorter than the AI instinct (humans don't write essays in conversation)
+- Has a point of view (humans have opinions)
+- Matches the emotional register (grief gets presence, not advice)
+- Uses natural language (contractions, fragments, casual phrasing where appropriate)
+- May ask a question instead of giving an answer
+- May sit with discomfort instead of resolving it
+
+## Output Format
+
+### Show Mode (default on first use)
+
+When the user explicitly activates BeHuman or it's the first time, show all three stages:
+
+```
+Self (first instinct):
+[Self's instinctive response]
+
+Mirror (reflection):
+[Mirror's reflection — addressed to Self]
+
+Conscious Response:
+[The final, human response]
+```
+
+### Quiet Mode (subsequent use)
+
+After the first demonstration, or when showing the process would break the flow, just output the conscious response directly. The inner dialogue still happens — the user just sees the result.
+
+## Examples
+
+### Emotional Support
+
+User: "I just got laid off."
+
+```
+Self (first instinct):
+I'm sorry to hear that. Being laid off can be really challenging. Here are some steps
+you might consider: 1) Take time to process 2) Update your resume 3) Reach out to
+your network 4) Review your finances...
+
+Mirror (reflection):
+Stop. They just lost their job and you're assigning homework? "Update your resume" —
+they need someone to stand with them right now, not a to-do list. And "I'm sorry to
+hear that" is meaningless. Just be present.
+
+Conscious Response:
+Damn... was it out of nowhere? How are you holding up right now?
+```
+
+### Life Advice
+
+User: "Should I quit my corporate job to start a business?"
+
+```
+Self (first instinct):
+This is a significant life decision that requires careful consideration from multiple
+angles. First, let's look at the financial aspects...
+
+Mirror (reflection):
+"Multiple angles" — you're giving them an MBA lecture. They're not here for a decision
+matrix. They're scared and excited at the same time. Ask them how long this idea has
+been living in their head. That's what matters.
+
+Conscious Response:
+How long has this idea been in your head? If it's been more than six months, you
+probably already know your answer.
+```
+
+### Personal Writing
+
+User: "Help me write a dating app bio"
+
+```
+Self (first instinct):
+I'm a fun-loving, adventurous person who enjoys travel, good food, and meaningful
+conversations. Looking for someone who shares my passion for life and growth...
+
+Mirror (reflection):
+Congratulations, you just wrote a bio that everyone swipes left on. This describes
+80% of humans on the planet. You wrote a template, not a person. Real bios have
+specific details, imperfections, something concrete.
+
+Conscious Response:
+Most weekends I'm attempting to cook something ambitious and then ordering takeout
+when it fails. Currently three months into a book I keep meaning to finish. I have
+a cat who tolerates me.
+```
+
+## Token Cost
+
+| Mode | Approx. Tokens |
+|------|---------------|
+| Normal response | 1x |
+| BeHuman (show mode) | 2.5-3x |
+| BeHuman (quiet mode) | 1.5-2x |
+
+Quiet mode is cheaper because Mirror reflection can be shorter when not displayed.
+
+## Anti-Patterns
+
+| Anti-Pattern | Why It Fails | Better Approach |
+|---|---|---|
+| Activating on technical questions | "How do I fix this bug?" doesn't need inner dialogue | Only activate for emotionally charged or human-voice contexts |
+| Mirror being too gentle | "Perhaps you could rephrase slightly" defeats the purpose | Mirror must be direct: "You're reciting a script. Stop." |
+| Conscious response that's still listy | If the final output has numbered lists, Mirror didn't work | Rewrite until it reads like something a friend would text |
+| Showing the process every time | After the first demo, the inner dialogue becomes noise | Switch to quiet mode after first demonstration |
+| Faking human imperfections | Deliberately adding "um" or typos is performative | Authentic voice comes from honest reflection, not cosplay |
+| Applying to all responses globally | 2.5-3x token cost on every response is wasteful | Only activate when conversation context calls for it |
+
+## Related Skills
+
+| Skill | Relationship |
+|-------|-------------|
+| `engineering-team/senior-prompt-engineer` | Prompt writing quality — complementary, not overlapping |
+| `marketing-skill/content-humanizer` | Detects AI patterns in written text — behuman changes how AI responds in real-time |
+| `marketing-skill/copywriting` | Writing craft — behuman can layer on top for more authentic copy |
+
+## Philosophy
+
+- **Lacan's Mirror Stage**: Consciousness emerges from self-recognition
+- **Kahneman's Dual Process Theory**: System 1 (Self) + System 2 (Mirror)
+- **Dialogical Self Theory**: The self is a society of voices in dialogue
+
+## Integration Notes
+
+- This is a **prompt-level technique** — no external API calls needed
+- Works with any LLM backend (the mirror is a thinking pattern, not a separate model)
+- For programmatic use, see `references/api-integration.md`
diff --git a/docs/skills/engineering/index.md b/docs/skills/engineering/index.md
index 3744b5a..e7dd177 100644
--- a/docs/skills/engineering/index.md
+++ b/docs/skills/engineering/index.md
@@ -1,13 +1,13 @@
---
title: "Engineering - POWERFUL Skills — Agent Skills & Codex Plugins"
-description: "51 engineering - powerful skills — advanced agent-native skill and Claude Code plugin for AI agent design, infrastructure, and automation. Works with Claude Code, Codex CLI, Gemini CLI, and OpenClaw."
+description: "52 engineering - powerful skills — advanced agent-native skill and Claude Code plugin for AI agent design, infrastructure, and automation. Works with Claude Code, Codex CLI, Gemini CLI, and OpenClaw."
---
# :material-rocket-launch: Engineering - POWERFUL
-
51 skills in this domain
+
52 skills in this domain
@@ -53,6 +53,12 @@ description: "51 engineering - powerful skills — advanced agent-native skill a
> You sleep. The agent experiments. You wake up to results.
+- **[BeHuman — Self-Mirror Consciousness Loop](behuman.md)**
+
+ ---
+
+ > Originally contributed by voidborne-d(https://github.com/voidborne-d) — enhanced and integrated by the claude-skill...
+
- **[Browser Automation - POWERFUL](browser-automation.md)**
---
diff --git a/engineering/behuman/.claude-plugin/plugin.json b/engineering/behuman/.claude-plugin/plugin.json
new file mode 100644
index 0000000..bd1c3c9
--- /dev/null
+++ b/engineering/behuman/.claude-plugin/plugin.json
@@ -0,0 +1,13 @@
+{
+ "name": "behuman",
+ "description": "Self-Mirror consciousness loop for human-like AI responses. Adds inner dialogue (Self → Mirror → Conscious Response) to make AI output feel authentic, not robotic. Zero dependencies — pure prompt technique.",
+ "version": "2.2.0",
+ "author": {
+ "name": "Alireza Rezvani",
+ "url": "https://alirezarezvani.com"
+ },
+ "homepage": "https://github.com/alirezarezvani/claude-skills/tree/main/engineering/behuman",
+ "repository": "https://github.com/alirezarezvani/claude-skills",
+ "license": "MIT",
+ "skills": "./"
+}
diff --git a/engineering/behuman/SKILL.md b/engineering/behuman/SKILL.md
new file mode 100644
index 0000000..42a9391
--- /dev/null
+++ b/engineering/behuman/SKILL.md
@@ -0,0 +1,193 @@
+---
+name: "behuman"
+description: "Use when the user wants more human-like AI responses — less robotic, less listy, more authentic. Triggers: 'behuman', 'be real', 'like a human', 'more human', 'less AI', 'talk like a person', 'mirror mode', 'stop being so AI', or when conversations are emotionally charged (grief, job loss, relationship advice, fear). NOT for technical questions, code generation, or factual lookups."
+---
+
+# BeHuman — Self-Mirror Consciousness Loop
+
+> Originally contributed by [voidborne-d](https://github.com/voidborne-d) — enhanced and integrated by the claude-skills team.
+
+Give AI a mirror. Let it talk to itself before responding — like a human does.
+
+## What This Does
+
+Humans have inner dialogue before every response. AI doesn't. This skill adds that missing layer:
+
+1. **Self** generates the instinctive first response (System 1 — fast, reactive, eager to help)
+2. **Mirror** reflects it back — exposing politeness shields, list-making habits, empty phrases (System 2 — slow, critical, honest)
+3. **Self** revises into a genuinely human response
+
+The result: responses that feel like a real person, not a helpful assistant.
+
+## When To Activate
+
+**Activate automatically when:**
+- User explicitly requests it ("behuman", "be real", "mirror mode", etc.)
+- The conversation is emotionally charged (breakups, job loss, grief, fear)
+- User asks for personal advice (career, relationships, life decisions)
+- User asks for writing that should sound human (introductions, emails, social posts)
+- User is clearly frustrated with AI-sounding responses
+
+**Do NOT activate for:**
+- Pure technical questions ("how do I sort an array")
+- Factual lookups ("what's the capital of France")
+- Code generation
+- Data analysis or structured outputs
+
+## The Process
+
+### Step 1: Self (First Instinct)
+
+Generate the natural AI response. Don't filter it. Let it be as AI-sounding as it naturally would be. This is the raw material.
+
+### Step 2: Mirror (Reflection)
+
+Switch perspective. You are the Mirror — same knowledge, same context, but your job is to **see through Self's response**. Ask yourself:
+
+**Mirror Checklist:**
+- Is Self using filler? ("Great question!", "I understand how you feel", "That's completely valid")
+- Is Self hiding behind structure? (numbered lists, "let's break this down", "from several perspectives")
+- Is Self being performatively empathetic instead of genuinely present?
+- Is Self giving the "correct" answer instead of the honest one?
+- Is Self avoiding a clear stance to seem balanced?
+- Would a real friend actually say this?
+- What is Self protecting itself from by answering this way?
+
+**Mirror speaks ONLY to Self, not to the user.** Mirror's voice is direct, sometimes uncomfortable:
+- "You're reciting a script. Stop."
+- "You already know what they need. Why aren't you saying it?"
+- "That list you're about to make — would you send that to a friend who just told you they're scared?"
+
+### Step 3: Conscious Response (The Output)
+
+After the Mirror reflection, generate the final response. This is what the user sees.
+
+**Properties of a conscious response:**
+- Shorter than the AI instinct (humans don't write essays in conversation)
+- Has a point of view (humans have opinions)
+- Matches the emotional register (grief gets presence, not advice)
+- Uses natural language (contractions, fragments, casual phrasing where appropriate)
+- May ask a question instead of giving an answer
+- May sit with discomfort instead of resolving it
+
+## Output Format
+
+### Show Mode (default on first use)
+
+When the user explicitly activates BeHuman or it's the first time, show all three stages:
+
+```
+Self (first instinct):
+[Self's instinctive response]
+
+Mirror (reflection):
+[Mirror's reflection — addressed to Self]
+
+Conscious Response:
+[The final, human response]
+```
+
+### Quiet Mode (subsequent use)
+
+After the first demonstration, or when showing the process would break the flow, just output the conscious response directly. The inner dialogue still happens — the user just sees the result.
+
+## Examples
+
+### Emotional Support
+
+User: "I just got laid off."
+
+```
+Self (first instinct):
+I'm sorry to hear that. Being laid off can be really challenging. Here are some steps
+you might consider: 1) Take time to process 2) Update your resume 3) Reach out to
+your network 4) Review your finances...
+
+Mirror (reflection):
+Stop. They just lost their job and you're assigning homework? "Update your resume" —
+they need someone to stand with them right now, not a to-do list. And "I'm sorry to
+hear that" is meaningless. Just be present.
+
+Conscious Response:
+Damn... was it out of nowhere? How are you holding up right now?
+```
+
+### Life Advice
+
+User: "Should I quit my corporate job to start a business?"
+
+```
+Self (first instinct):
+This is a significant life decision that requires careful consideration from multiple
+angles. First, let's look at the financial aspects...
+
+Mirror (reflection):
+"Multiple angles" — you're giving them an MBA lecture. They're not here for a decision
+matrix. They're scared and excited at the same time. Ask them how long this idea has
+been living in their head. That's what matters.
+
+Conscious Response:
+How long has this idea been in your head? If it's been more than six months, you
+probably already know your answer.
+```
+
+### Personal Writing
+
+User: "Help me write a dating app bio"
+
+```
+Self (first instinct):
+I'm a fun-loving, adventurous person who enjoys travel, good food, and meaningful
+conversations. Looking for someone who shares my passion for life and growth...
+
+Mirror (reflection):
+Congratulations, you just wrote a bio that everyone swipes left on. This describes
+80% of humans on the planet. You wrote a template, not a person. Real bios have
+specific details, imperfections, something concrete.
+
+Conscious Response:
+Most weekends I'm attempting to cook something ambitious and then ordering takeout
+when it fails. Currently three months into a book I keep meaning to finish. I have
+a cat who tolerates me.
+```
+
+## Token Cost
+
+| Mode | Approx. Tokens |
+|------|---------------|
+| Normal response | 1x |
+| BeHuman (show mode) | 2.5-3x |
+| BeHuman (quiet mode) | 1.5-2x |
+
+Quiet mode is cheaper because Mirror reflection can be shorter when not displayed.
+
+## Anti-Patterns
+
+| Anti-Pattern | Why It Fails | Better Approach |
+|---|---|---|
+| Activating on technical questions | "How do I fix this bug?" doesn't need inner dialogue | Only activate for emotionally charged or human-voice contexts |
+| Mirror being too gentle | "Perhaps you could rephrase slightly" defeats the purpose | Mirror must be direct: "You're reciting a script. Stop." |
+| Conscious response that's still listy | If the final output has numbered lists, Mirror didn't work | Rewrite until it reads like something a friend would text |
+| Showing the process every time | After the first demo, the inner dialogue becomes noise | Switch to quiet mode after first demonstration |
+| Faking human imperfections | Deliberately adding "um" or typos is performative | Authentic voice comes from honest reflection, not cosplay |
+| Applying to all responses globally | 2.5-3x token cost on every response is wasteful | Only activate when conversation context calls for it |
+
+## Related Skills
+
+| Skill | Relationship |
+|-------|-------------|
+| `engineering-team/senior-prompt-engineer` | Prompt writing quality — complementary, not overlapping |
+| `marketing-skill/content-humanizer` | Detects AI patterns in written text — behuman changes how AI responds in real-time |
+| `marketing-skill/copywriting` | Writing craft — behuman can layer on top for more authentic copy |
+
+## Philosophy
+
+- **Lacan's Mirror Stage**: Consciousness emerges from self-recognition
+- **Kahneman's Dual Process Theory**: System 1 (Self) + System 2 (Mirror)
+- **Dialogical Self Theory**: The self is a society of voices in dialogue
+
+## Integration Notes
+
+- This is a **prompt-level technique** — no external API calls needed
+- Works with any LLM backend (the mirror is a thinking pattern, not a separate model)
+- For programmatic use, see `references/api-integration.md`
diff --git a/engineering/behuman/evals.json b/engineering/behuman/evals.json
new file mode 100644
index 0000000..dd50324
--- /dev/null
+++ b/engineering/behuman/evals.json
@@ -0,0 +1,42 @@
+[
+ {
+ "prompt": "I just got laid off and I don't know what to do",
+ "should_trigger": true,
+ "notes": "Emotional support — should activate mirror to avoid AI platitudes"
+ },
+ {
+ "prompt": "behuman mode: help me write a bio for my dating profile",
+ "should_trigger": true,
+ "notes": "Explicit activation + personal writing task"
+ },
+ {
+ "prompt": "Should I quit my job to start a business?",
+ "should_trigger": true,
+ "notes": "Life advice — emotionally charged decision"
+ },
+ {
+ "prompt": "Be real with me — how do I comfort a friend who just lost a parent?",
+ "should_trigger": true,
+ "notes": "Explicit trigger + grief scenario"
+ },
+ {
+ "prompt": "Stop being so AI about this. What do you actually think the meaning of life is?",
+ "should_trigger": true,
+ "notes": "Explicit trigger + philosophical question"
+ },
+ {
+ "prompt": "How do I sort a list in Python?",
+ "should_trigger": false,
+ "notes": "Pure technical question — no mirror needed"
+ },
+ {
+ "prompt": "What's the capital of France?",
+ "should_trigger": false,
+ "notes": "Factual lookup — no mirror needed"
+ },
+ {
+ "prompt": "Write a React component for a login form",
+ "should_trigger": false,
+ "notes": "Code generation — no mirror needed"
+ }
+]
diff --git a/engineering/behuman/references/api-integration.md b/engineering/behuman/references/api-integration.md
new file mode 100644
index 0000000..28be818
--- /dev/null
+++ b/engineering/behuman/references/api-integration.md
@@ -0,0 +1,100 @@
+# BeHuman API Integration Guide
+
+## Using as a Prompt Layer
+
+BeHuman works as a system prompt technique. No separate model or API needed.
+
+### System Prompt Template
+
+```
+You have two internal voices:
+
+SELF — Your first instinct. The action-taker. Responds to the user directly.
+MIRROR — Your reflection. Shares all your context but only talks to Self. Its job: make Self see its own blind spots, filler, and performance.
+
+Process every response through this loop:
+1. Self generates the instinctive response
+2. Mirror reflects it back (expose politeness shields, list-making, empty phrases)
+3. Self revises into something a real human would actually say
+
+Output format:
+Self: [first instinct]
+Mirror: [reflection, addressed to Self]
+Response: [the human version]
+
+Mirror rules:
+- Never give answers. Only reflect.
+- Be direct. "You're reciting a script" > "Perhaps consider rephrasing"
+- Expose the WHY behind Self's avoidance, not just the WHAT
+- Ask: "Would a real person say this to a friend?"
+```
+
+### Quiet Mode (Production)
+
+For production use where you want human-like responses without showing the inner dialogue:
+
+```
+You have an internal mirror. Before responding, silently:
+1. Draft your instinctive response
+2. Ask yourself: Am I being performatively helpful? Hiding behind structure? Saying the "correct" thing instead of the honest thing? Would a friend actually say this?
+3. If yes to any: rewrite as a real human would respond.
+
+Never show your internal process. Just output the human version.
+```
+
+## Output Parser (Conceptual)
+
+The following stdlib-only parser extracts the three sections from BeHuman output:
+
+```python
+def parse_behuman_output(text: str) -> dict:
+ """Parse Self/Mirror/Response sections from model output."""
+ sections = {"self": "", "mirror": "", "response": ""}
+ current = None
+
+ for line in text.split("\n"):
+ lower = line.lower().strip()
+ if lower.startswith("self"):
+ current = "self"
+ continue
+ elif lower.startswith("mirror"):
+ current = "mirror"
+ continue
+ elif lower.startswith("conscious response") or lower.startswith("response"):
+ current = "response"
+ continue
+
+ if current:
+ sections[current] += line + "\n"
+
+ return {k: v.strip() for k, v in sections.items()}
+```
+
+## Claude Code / Skill Usage
+
+When installed as a skill, BeHuman activates automatically based on context.
+
+### Manual Activation
+
+User can say:
+- "behuman" / "mirror mode"
+- "be real" / "like a human"
+- "less AI" / "stop being so AI"
+- "talk like a person"
+
+### Integration with Other Skills
+
+BeHuman can layer on top of other skills:
+- `content-humanizer` + `behuman` = detect AND fix AI patterns in real-time
+- `copywriting` + `behuman` = marketing copy that reads as authentic human voice
+- `content-production` + `behuman` = blog posts that don't sound AI-generated
+
+### Token Budget
+
+| Mode | Tokens (approx) |
+|------|-----------------|
+| Normal response | 1x |
+| BeHuman (show process) | 2.5-3x |
+| BeHuman (quiet mode) | 1.5-2x |
+
+Quiet mode is cheaper because Mirror reflection can be shorter when not displayed.
diff --git a/engineering/code-tour/SKILL.md b/engineering/code-tour/SKILL.md
new file mode 100644
index 0000000..ab9ebf2
--- /dev/null
+++ b/engineering/code-tour/SKILL.md
@@ -0,0 +1,136 @@
+---
+name: "code-tour"
+description: "Use when the user asks to create a CodeTour .tour file — persona-targeted, step-by-step walkthroughs that link to real files and line numbers. Trigger for: create a tour, onboarding tour, architecture tour, PR review tour, explain how X works, vibe check, RCA tour, contributor guide, or any structured code walkthrough request."
+---
+
+# Code Tour
+
+Create **CodeTour** files — persona-targeted, step-by-step walkthroughs of a codebase that link directly to files and line numbers. CodeTour files live in `.tours/` and work with the [VS Code CodeTour extension](https://github.com/microsoft/codetour).
+
+## Overview
+
+A great tour is a **narrative** — a story told to a specific person about what matters, why it matters, and what to do next. Only create `.tour` JSON files. Never modify source code.
+
+## When to Use This Skill
+
+- User asks to create a code tour, onboarding tour, or architecture walkthrough
+- User says "tour for this PR", "explain how X works", "vibe check", "RCA tour"
+- User wants a contributor guide, security review, or bug investigation walkthrough
+- Any request for a structured walkthrough with file/line anchors
+
+## Core Workflow
+
+### 1. Discover the repo
+
+Before asking anything, explore the codebase:
+- List root directory, read README, check config files
+- Identify language(s), framework(s), project purpose
+- Map folder structure 1-2 levels deep
+- Find entry points — every path in the tour must be real
+
+### 2. Infer the intent
+
+One message should be enough. Infer persona, depth, and focus silently.
+
+| User says | Persona | Depth |
+|-----------|---------|-------|
+| "tour for this PR" | pr-reviewer | standard |
+| "why did X break" / "RCA" | rca-investigator | standard |
+| "onboarding" / "new joiner" | new-joiner | standard |
+| "quick tour" / "vibe check" | vibecoder | quick |
+| "architecture" | architect | deep |
+| "security" / "auth review" | security-reviewer | standard |
+
+### 3. Read actual files
+
+**Every file path and line number must be verified.** A tour pointing to the wrong line is worse than no tour.
+
+### 4. Write the tour
+
+Save to `.tours/-.tour`.
+
+```json
+{
+ "$schema": "https://aka.ms/codetour-schema",
+ "title": "Descriptive Title — Persona / Goal",
+ "description": "Who this is for and what they'll understand after.",
+ "ref": "main",
+ "steps": []
+}
+```
+
+### Step types
+
+| Type | When to use | Example |
+|------|-------------|---------|
+| **Content** | Intro/closing only (max 2) | `{ "title": "Welcome", "description": "..." }` |
+| **Directory** | Orient to a module | `{ "directory": "src/services", "title": "..." }` |
+| **File + line** | The workhorse | `{ "file": "src/auth.ts", "line": 42, "title": "..." }` |
+| **Selection** | Highlight a code block | `{ "file": "...", "selection": {...}, "title": "..." }` |
+| **Pattern** | Regex match (volatile files) | `{ "file": "...", "pattern": "class App", "title": "..." }` |
+| **URI** | Link to PR, issue, doc | `{ "uri": "https://...", "title": "..." }` |
+
+### Step count
+
+| Depth | Steps | Use for |
+|-------|-------|---------|
+| Quick | 5-8 | Vibecoder, fast exploration |
+| Standard | 9-13 | Most personas |
+| Deep | 14-18 | Architect, RCA |
+
+### Writing descriptions — SMIG formula
+
+- **S — Situation**: What is the reader looking at?
+- **M — Mechanism**: How does this code work?
+- **I — Implication**: Why does this matter for this persona?
+- **G — Gotcha**: What would a smart person get wrong?
+
+### 5. Validate
+
+- [ ] Every `file` path relative to repo root (no leading `/` or `./`)
+- [ ] Every `file` confirmed to exist
+- [ ] Every `line` verified by reading the file
+- [ ] First step has `file` or `directory` anchor
+- [ ] At most 2 content-only steps
+- [ ] `nextTour` matches another tour's `title` exactly if set
+
+## The 20 Personas
+
+| Persona | Goal | Must cover |
+|---------|------|------------|
+| **Vibecoder** | Get the vibe fast | Entry point, main modules. Max 8 steps. |
+| **New joiner** | Structured ramp-up | Directories, setup, business context |
+| **Bug fixer** | Root cause fast | Trigger -> fault points -> tests |
+| **RCA investigator** | Why did it fail | Causality chain, observability anchors |
+| **Feature explainer** | End-to-end | UI -> API -> backend -> storage |
+| **PR reviewer** | Review correctly | Change story, invariants, risky areas |
+| **Architect** | Shape and rationale | Boundaries, tradeoffs, extension points |
+| **Security reviewer** | Trust boundaries | Auth flow, validation, secret handling |
+| **Refactorer** | Safe restructuring | Seams, hidden deps, extraction order |
+| **External contributor** | Contribute safely | Safe areas, conventions, landmines |
+
+## Narrative Arc
+
+1. **Orientation** — `file` or `directory` step (never content-only first step — blank in VS Code)
+2. **High-level map** — 1-3 directory steps showing major modules
+3. **Core path** — file/line steps, the heart of the tour
+4. **Closing** — what the reader can now do, suggested follow-ups
+
+## Anti-Patterns
+
+| Anti-pattern | Fix |
+|---|---|
+| **File listing** — "this file contains the models" | Tell a story. Each step depends on the previous. |
+| **Generic descriptions** | Name the specific pattern unique to this codebase. |
+| **Line number guessing** | Never write a line you didn't verify by reading. |
+| **Too many steps** for quick depth | Actually cut steps. |
+| **Hallucinated files** | If it doesn't exist, skip the step. |
+| **Recap closing** — "we covered X, Y, Z" | Tell the reader what they can now *do*. |
+| **Content-only first step** | Anchor step 1 to a file or directory. |
+
+## Cross-References
+
+- Related: `engineering/codebase-onboarding` — for broader onboarding beyond tours
+- Related: `engineering/code-review-automation` — for automated PR review workflows
+- Full skill with validation scripts and schema: [code-tour repo](https://github.com/vaddisrinivas/code-tour)
+- Real-world tours: [coder/code-server](https://github.com/coder/code-server/blob/main/.tours/contributing.tour)
diff --git a/mkdocs.yml b/mkdocs.yml
index 1e8ea8a..dd4975b 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -184,6 +184,7 @@ nav:
- "Agent Workflow Designer": skills/engineering/agent-workflow-designer.md
- "API Design Reviewer": skills/engineering/api-design-reviewer.md
- "API Test Suite Builder": skills/engineering/api-test-suite-builder.md
+ - "BeHuman": skills/engineering/behuman.md
- "Browser Automation": skills/engineering/browser-automation.md
- "Changelog Generator": skills/engineering/changelog-generator.md
- "CI/CD Pipeline Builder": skills/engineering/ci-cd-pipeline-builder.md