# Orient

Generates a repo-specific orientation.md resource for the learning-opportunities skill.

- Repository: https://github.com/DrCatHicks/learning-opportunities (2531 stars)
- Category: Engineering
- License: CC-BY-4.0
- Last updated: 2026-08-19
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add DrCatHicks/learning-opportunities --skill orient -g -a claude-code -y`
Codex: `npx skills add DrCatHicks/learning-opportunities --skill orient -g -a codex -y`
Cursor: `npx skills add DrCatHicks/learning-opportunities --skill orient -g -a cursor -y`
Gemini CLI: `npx skills add DrCatHicks/learning-opportunities --skill orient -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add DrCatHicks/learning-opportunities`

## Description

Generates a repo-specific orientation.md resource for the learning-opportunities skill. Invoke directly when the user asks for repo orientation; do not trigger automatically.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Create Orientation

## Purpose

Generate a repo-specific `orientation.md` file inside the `learning-opportunities` skill's `resources/` directory. This file is used by that skill when invoked with the `orient` argument to run a structured learning exercise for someone new to the codebase.

---

## Step 1: Find where to write orientation.md

Always write to the **project level**, regardless of where the `learning-opportunities` skill is installed.

When running in Codex, write to:

```
.codex/skills/learning-opportunities/resources/orientation.md
```

When running in Claude Code, write to:

```
.claude/skills/learning-opportunities/resources/orientation.md
```

Both paths are relative to the current working directory.

If the target directory does not exist, create it. If it already exists, leave it and any files inside it untouched, only write `orientation.md`.

This keeps orientation files co-located with the repo they describe, they can be committed to version control, shared with teammates, and never collide across projects.

---

## Argument check

You were invoked with arguments: `$ARGUMENTS`

If the argument is `showboat`, skip to the **Showboat Path** section below.

Otherwise, continue with Steps 2, 5 (the default path).

---

## Step 2: Detect the repo's primary language(s)

Check for these manifest/config files at the project root and note all that exist. A repo may use multiple languages.

The rest: https://github.com/DrCatHicks/learning-opportunities/blob/HEAD/orient/skills/orient/SKILL.md
