Skip to main content
OrchestKit v7.43.0 — 104 skills, 36 agents, 173 hooks · Claude Code 2.1.105+
OrchestKit
Skills

Help

OrchestKit help directory with categorized skill listings. Use when discovering skills for a task, finding the right workflow, or browsing capabilities.

Command low
Invoke
/ork:help

OrchestKit Skill Directory

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

Quick Start

/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

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:

# 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:

# 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:

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

CategorySkills
BUILDimplement, brainstorm, verify
GITcommit, create-pr, review-pr, fix-issue
PLANvisualize-plan, write-prd, assess
MEMORYremember, memory
QUALITYassess, review-pr, doctor
CONFIGsetup, doctor, configure
EXPLOREexplore

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:

CommandDescriptionSince
/simplifyReview changed code for quality, then fixCC 2.1.63
/helpClaude Code built-in helpCC 2.1.0+
/configClaude Code configurationCC 2.1.0+
/clearClear conversation (preserves background agents)CC 2.1.72
/fastToggle fast mode (same model, faster output)CC 2.1.59+
/loopRecurring interval (e.g. /loop 5m /foo)CC 2.1.71
/effortReasoning effort: low/medium/high/autoCC 2.1.72
/planEnter plan modeCC 2.1.72
/team-onboardingGenerate teammate ramp-up guideCC 2.1.101
/ultraplanRemote-session deep planningCC 2.1.101

Keyboard Shortcuts

ShortcutAction
Ctrl+FFind in session output
EscCancel / dismiss
Shift+EnterNewline in input
Ctrl+CCancel 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
  • /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:

# "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:

# 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:

# 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:

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:

# 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:

# 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

ShortcutActionNotes
Shift+DownMulti-line inputType across multiple lines before sending (CC 2.1.47+)
EnterSend messageSubmits the current input
Up ArrowPrevious messageNavigate input history
TabAutocompleteComplete file paths, skill names
EscCancelDismiss autocomplete or cancel current edit

Output Navigation

ShortcutActionNotes
Ctrl+FFind in outputSearch through all output in the session (CC 2.1.47+)
Ctrl+CCancel operationInterrupt the current tool execution or generation

Session Control

ShortcutActionNotes
/exitExit sessionGracefully close the session (triggers Stop hooks)
/clearClear screenClear terminal output
/compactCompact contextCompress conversation history to free context space
Ctrl+C (twice)Force exitExit 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.
Edit on GitHub

Last updated on