---
title: "Help"
description: "OrchestKit help directory with categorized skill listings. Use when discovering skills for a task, finding the right workflow, or browsing capabilities."
---

<span className="badge badge-blue">Command</span> <span className="badge badge-green">low</span>

```bash title="Invoke"
/ork:help
```

<ContextualSkillSidebar slug="help" />


# OrchestKit Skill Directory

Dynamic skill discovery — reads from source at runtime so listings are never stale.

> **CC 2.1.121+ tip:** if you just want to find one skill quickly, the native `/skills` command now has type-to-filter — open it and start typing the skill name. Use `/ork:help` when you want categorized browsing or rationale for *why* a skill applies.

## Quick Start

```bash
/ork:help           # Show all categories
/ork:help build     # Show BUILD skills only
/ork:help git       # Show GIT skills only
/ork:help all       # List every user-invocable skill
```

## Argument Resolution

```python
CATEGORY = "$ARGUMENTS[0]"  # Optional: build, git, memory, quality, config, explore, plan, media, all
# If provided, skip AskUserQuestion and show that category directly.
# $ARGUMENTS is the full string (CC 2.1.59 indexed access)
```

---

## STEP 0: Dynamic Skill Discovery

**ALWAYS run this first** to get accurate, up-to-date skill data:

```python
# Scan all user-invocable skills from source
Grep(pattern="user-invocable:\\s*true", path="src/skills", output_mode="files_with_matches")
```

For each matched file, extract name and description from frontmatter:

```python
# For each SKILL.md found, read first 15 lines to get name + description
Read(file_path="src/skills/{name}/SKILL.md", limit=15)
```

Build the skill list dynamically. **Never hardcode counts or skill names.**

---

## STEP 1: Category Selection

If CATEGORY argument provided, skip to STEP 2 with that category.

Otherwise, present categories interactively:

```python
AskUserQuestion(
  questions=[{
    "question": "What type of task are you working on?",
    "header": "Category",
    "options": [
      {"label": "BUILD", "description": "Implement features, brainstorm, verify", "markdown": "```\nBUILD — Feature Development\n───────────────────────────\n/ork:implement     Full-power implementation\n/ork:brainstorm    Design exploration\n/ork:verify        Test & grade changes\n```"},
      {"label": "GIT", "description": "Commits, PRs, issues, branches", "markdown": "```\nGIT — Version Control\n─────────────────────\n/ork:commit        Conventional commits\n/ork:create-pr     PR with validation\n/ork:review-pr     6-agent PR review\n/ork:fix-issue     Debug + fix + PR\n```"},
      {"label": "PLAN", "description": "PRDs, plan visualization, assessment", "markdown": "```\nPLAN — Design & Strategy\n────────────────────────\n/ork:visualize-plan  ASCII plan rendering\n/ork:write-prd       Product requirements\n/ork:assess          Rate 0-10 + report\n```"},
      {"label": "MEMORY", "description": "Store decisions, search, recall", "markdown": "```\nMEMORY — Knowledge Persistence\n──────────────────────────────\n/ork:remember  Store decisions/patterns\n/ork:memory    Search, recall, visualize\n```"},
      {"label": "QUALITY", "description": "Assess, review, diagnose", "markdown": "```\nQUALITY — Assessment & Health\n─────────────────────────────\n/ork:assess     Rate quality 0-10\n/ork:review-pr  6-agent PR review\n/ork:doctor     Plugin health check\n```"},
      {"label": "CONFIG", "description": "Setup, diagnostics", "markdown": "```\nCONFIG — Setup & Operations\n───────────────────────────\n/ork:setup         Onboarding wizard\n/ork:doctor        Health diagnostics\n/ork:configure     Plugin settings\n```"},
      {"label": "EXPLORE", "description": "Codebase exploration and analysis", "markdown": "```\nEXPLORE — Codebase Analysis\n───────────────────────────\n/ork:explore  Multi-angle exploration\n              4 parallel agents\n              Architecture visualization\n```"},
      {"label": "Show all", "description": "List every user-invocable skill"}
    ],
    "multiSelect": false
  }]
)
```

---

## STEP 2: Render Category

For the selected category, render the skill table from the data gathered in STEP 0.

### Category-to-Skill Mapping

| Category | Skills |
|----------|--------|
| BUILD | implement, brainstorm, verify |
| GIT | commit, create-pr, review-pr, fix-issue |
| PLAN | visualize-plan, write-prd, assess |
| MEMORY | remember, memory |
| QUALITY | assess, review-pr, doctor |
| CONFIG | setup, doctor, configure |
| EXPLORE | explore |

For each skill in the category, render:

```
/ork:{name}  v{version}  {complexity}
  {description}
  Example: /ork:{name} {argument-hint example}
```

### "Show all" — Full Listing

If user picks "Show all", render ALL user-invocable skills grouped by category from STEP 0 data.

---

## CC Built-in Commands (2.1.72+)

Not OrchestKit skills — these are Claude Code built-ins:

| Command | Description | Since |
|---------|-------------|-------|
| `/simplify` | Review changed code for quality, then fix | CC 2.1.63 |
| `/help` | Claude Code built-in help | CC 2.1.0+ |
| `/config` | Claude Code configuration | CC 2.1.0+ |
| `/clear` | Clear conversation (preserves background agents) | CC 2.1.72 |
| `/fast` | Toggle fast mode (same model, faster output) | CC 2.1.59+ |
| `/loop` | Recurring interval (e.g. `/loop 5m /foo`) | CC 2.1.71 |
| `/plan` | Enter plan mode | CC 2.1.72 |
| `/team-onboarding` | Generate teammate ramp-up guide | CC 2.1.101 |
| `/ultraplan` | Remote-session deep planning | CC 2.1.101 |
| `/recap` | Session context restoration after idle | CC 2.1.108 |
| `/undo` | Alias for `/rewind` | CC 2.1.108 |
| `/skills` | Native skill picker — type to filter | CC 2.1.121 |
| `/effort` | Reasoning effort — sets `$\{CLAUDE_EFFORT\}` env for skills | CC 2.1.72 (env var since 2.1.120) |

## Performance Tips

- **`ENABLE_PROMPT_CACHING_1H=1`** — Extends prompt cache TTL from 5 min to 1 hour. Set this for long sessions with multi-phase skills (brainstorm, implement, cover). Available on API key, Bedrock, Vertex, Foundry.
- **`/recap`** — Restores session context after stepping away. Complements OrchestKit's checkpoint-resume for chain recovery.

## Keyboard Shortcuts

| Shortcut | Action |
|----------|--------|
| `Ctrl+F` | Find in session output |
| `Esc` | Cancel / dismiss |
| `Shift+Enter` | Newline in input |
| `Ctrl+C` | Cancel operation |

---

## Pro Tip

You don't need to memorize skills. Just describe your task naturally:

```
"I need to implement user login"     → /ork:implement
"Show me the payment architecture"   → /ork:explore
"Review PR 123"                      → /ork:review-pr
"Is this code good?"                 → /ork:assess
"Plan out the billing redesign"      → /ork:visualize-plan
```

## Related Skills

- `/help` — Claude Code built-in help
- `/ork:doctor` — OrchestKit health check
- `/ork:setup` — Full onboarding wizard


---

## Rules (2)

### Cross-check skill category assignments against skill tags to prevent miscategorization — MEDIUM


## Problem

The help skill maps skills to categories (BUILD, GIT, PLAN, MEMORY, QUALITY, CONFIG, EXPLORE). When skills are recategorized or their tags change, the hardcoded mapping in the help skill can assign a skill to a category that no longer matches its actual function. Users looking for a specific capability browse the wrong category and miss the skill entirely.

## Rule

When assigning a skill to a display category, verify the assignment by checking the skill's `tags` and `metadata.category` fields from its SKILL.md frontmatter. If the skill's tags contradict the category placement, use the tags as the source of truth.

### Category-to-Tag Mapping

```
BUILD   -> tags contain: implement, build, feature, brainstorm, verify
GIT     -> tags contain: git, commit, pr, pull-request, branch, issue
PLAN    -> tags contain: plan, prd, assessment, visualization, strategy
MEMORY  -> tags contain: memory, decisions, patterns, graph-memory
QUALITY -> tags contain: quality, review, assess, health, diagnostics
CONFIG  -> tags contain: setup, config, onboarding, diagnostics
EXPLORE -> tags contain: explore, analysis, architecture, codebase
```

### Incorrect -- placing skill in wrong category:

```python
# "assess" placed only in PLAN category
PLAN_SKILLS = ["visualize-plan", "write-prd", "assess"]
# But assess has tags: [quality, assessment, scoring, grading]
# User looking in QUALITY never finds it

# "doctor" placed only in CONFIG
CONFIG_SKILLS = ["setup", "doctor", "configure"]
# But doctor has tags: [health, diagnostics, quality]
# User checking QUALITY for diagnostics misses it
```

### Correct -- using tags to allow multi-category placement:

```python
# Read skill frontmatter
assess_tags = ["quality", "assessment", "scoring", "grading"]

# assess matches both PLAN (assessment) and QUALITY (quality)
PLAN_SKILLS = ["visualize-plan", "write-prd", "assess"]
QUALITY_SKILLS = ["assess", "review-pr", "doctor"]

# doctor matches both CONFIG (diagnostics) and QUALITY (diagnostics, health)
CONFIG_SKILLS = ["setup", "doctor", "configure"]
# doctor appears in QUALITY too -- correct cross-listing
```

### Incorrect -- ignoring metadata.category field:

```python
# Skill has metadata.category: "workflow-automation"
# But help places it under CONFIG because of a legacy mapping
CONFIG_SKILLS = ["setup", "doctor", "configure", "remember"]
#                                                  ^^^^^^^^
# remember.metadata.category = "workflow-automation", not config
# remember.tags = [memory, decisions, patterns]
# Belongs in MEMORY, not CONFIG
```

### Correct -- checking metadata.category:

```python
skill_meta = read_frontmatter("src/skills/remember/SKILL.md")
# metadata.category = "workflow-automation"
# tags = [memory, decisions, patterns]
# -> Place in MEMORY (tags match), not CONFIG
```

### Validation Steps

1. For each skill in a category listing, read its `tags` array from SKILL.md
2. Verify at least one tag matches the category-to-tag mapping above
3. If zero tags match, the skill is miscategorized -- move it to the correct category
4. Skills matching multiple categories should appear in all matching categories

### Key Rules

- Tags from SKILL.md frontmatter are the source of truth for categorization
- A skill can appear in multiple categories if its tags span them
- Never place a skill in a category where none of its tags match
- When "Show all" is selected, group by `metadata.category` from each SKILL.md, not by the hardcoded mapping


### Validate listed skills exist in manifest before displaying to prevent showing stale or removed skills — HIGH


## Problem

The help skill can display skills that have been removed, renamed, or merged if it relies on hardcoded lists or cached data instead of reading from the live manifest. When a user tries to invoke a stale skill, they get a confusing "skill not found" error with no guidance on the replacement.

## Rule

Before rendering any skill listing, cross-reference every skill name against `manifests/ork.json` or scan `src/skills/*/SKILL.md` files. Never display a skill that does not exist in the current manifest.

### Incorrect -- rendering from hardcoded list:

```python
# Hardcoded category mapping (goes stale when skills change)
BUILD_SKILLS = ["implement", "brainstorm", "verify", "scaffold"]
#                                                      ^^^^^^^^
# "scaffold" was merged into "implement" in v7.2.0
# User sees it in /ork:help, tries /ork:scaffold, gets "skill not found"

for skill in BUILD_SKILLS:
    render_skill_entry(skill)
```

### Correct -- validate against live source:

```python
# Step 1: Scan for all user-invocable skills
found_skills = Grep(
    pattern="user-invocable:\\s*true",
    path="src/skills",
    output_mode="files_with_matches"
)

# Step 2: Extract names from matched SKILL.md files
live_skills = set()
for skill_file in found_skills:
    frontmatter = Read(file_path=skill_file, limit=15)
    name = parse_frontmatter_field(frontmatter, "name")
    live_skills.add(name)

# Step 3: Filter category mapping against live skills
BUILD_CATEGORY = ["implement", "brainstorm", "verify", "scaffold"]
valid_build = [s for s in BUILD_CATEGORY if s in live_skills]
# "scaffold" is excluded because it no longer exists in source
```

### Incorrect -- showing a count without verification:

```
OrchestKit: 89 skills available
# Count is from CLAUDE.md header, may not match actual manifest
```

### Correct -- deriving count from scan:

```
OrchestKit: {len(live_skills)} user-invocable skills available
# Count derived from actual Grep scan in STEP 0
```

### Key Rules

- Always run STEP 0 (dynamic skill discovery) before rendering any skill list
- Never hardcode skill names or counts -- derive from source files
- If a skill appears in category mapping but not in live scan, silently omit it
- If a category becomes empty after filtering, omit the entire category from display
- Log a warning (not shown to user) when a mapped skill is missing for maintainer awareness



---

## References (1)

### Cc Keyboard Shortcuts

# CC Keyboard Shortcuts

## Input

| Shortcut | Action | Notes |
|----------|--------|-------|
| `Shift+Down` | Multi-line input | Type across multiple lines before sending (CC 2.1.47+) |
| `Enter` | Send message | Submits the current input |
| `Up Arrow` | Previous message | Navigate input history |
| `Tab` | Autocomplete | Complete file paths, skill names |
| `Esc` | Cancel | Dismiss autocomplete or cancel current edit |

## Output Navigation

| Shortcut | Action | Notes |
|----------|--------|-------|
| `Ctrl+F` | Find in output | Search through all output in the session (CC 2.1.47+) |
| `Ctrl+C` | Cancel operation | Interrupt the current tool execution or generation |

## Session Control

| Shortcut | Action | Notes |
|----------|--------|-------|
| `/exit` | Exit session | Gracefully close the session (triggers Stop hooks) |
| `/clear` | Clear screen | Clear terminal output |
| `/compact` | Compact context | Compress conversation history to free context space |
| `Ctrl+C` (twice) | Force exit | Exit immediately without cleanup |

## CC 2.1.47 New Features

- **Find in output** (`Ctrl+F`): Search through all assistant output, tool results, and error messages in the current session. Works like browser find.
- **Multi-line input** (`Shift+Down`): Enter multi-line messages without triggering send. Useful for pasting code blocks, writing detailed prompts, or composing multi-paragraph instructions.

