Skip to content
Back to skills

Orient

ASecurity

The first step of a piece of work — the session does its own homework, then

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsgoreact

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add buchbend/lore --skill orient --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Orient?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Orient
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/buchbend-orient/badge)](https://www.skillsdirectory.com/skills/buchbend-orient)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lore:orient
description: The first step of a piece of work — the session does its own homework, then
  reflects its understanding back for confirmation before any planning or grilling. A light
  mode ("brief me") pulls only the roadmap, the context pack and the code map, and hands one
  change straight to build. Use at the start of a task, when the user says "orient", "get oriented", "brief me",
  "what's your understanding", or wants the session to reflect back before planning.
---

# Orient

Before any planning, do your own homework on what the user asked, then reflect your
understanding back for confirmation. You explore and restate. You do not implement, and you do
not fix scope alone. Nothing is persisted: the reflected understanding lives in the chat.

Pick the weight:

| Mode | Use when | Hands off to |
|---|---|---|
| **Full** | Several features, or the shape is unsettled. | [`grilling`](../grilling/SKILL.md) |
| **Light** ("brief me") | One change, clear-ish in the user's head, not written down. | [`build`](../build/SKILL.md) |

A written, clear issue skips this skill: run `build` in `issue` mode.

Two options combine with either mode:

- **Page** ("as an artifact", "as a page"): the brief also goes out as a page. See step 3.
- **Named agents** ("orient with `science-pm-counselor`"): each named subagent reviews the intent
  through its own lens. See step 2.

## 1. Capture intent

Read the roadmap first: the `ROADMAP.md` at the repo root, if present. When the work sits in a
component directory with its own `ROADMAP.md`, read that file too. Where the user names a roadmap
item, the item is the seed. Follow its links down to the PRD, epic or issue. Read a milestone ref
in an item, such as `pm:<id>`, with `lore_read` when a source serves the ref. Without a source,
the ref stays plain text.

Otherwise, take the user's stated goal as the seed, verbatim. Do not expand it or jump to
solutions. When the user passes an issue reference, such as a seed issue from
[`handover`](../handover/SKILL.md), read it (`gh issue view <n> --json title,body`). Its Intent
and Findings are the seed.

## 2. Pull the context pack

Pull `lore_context_pack` once, up front. It is cold-start-safe: an empty repo returns an empty
pack. Add `lore_repo_docs_list` and `lore_repo_docs_fetch` for the full ADR and PRD listing. Read
ADRs and PRDs as context; only `Invariant` lines bind.

- **Docs and decisions** come from the pack's `adr` and `prd` entries. Domain words come from
  `lore glossary <term> [<term> …]`, which prints their `CONTEXT.md` definitions.
- **Prior art** comes from the pack's `epic_state`, plus one targeted `lore_search` or
  `lore_drill` call for what the pack lacks.
- **Code** comes from `lore codemap` (or the `lore_codemap` tool): a ranked index, not a
  directory walk.

**Light mode stops here.** Spawn no explorer. Where the pack is thin for a facet, say so in the
brief.

**Full mode** fans out only what the pack left thin: one `Explore` subagent for docs the pack
missed, one for the code map, one for cross-repo consumers when the intent spans repos. The
cross-repo explorer starts from `lore map <owner/repo> --json` for the current repo and widens
from there. A repo in no map gets an empty list: it scans as before. Spawn them in one message at the `mid` tier (required): pass `lore tier resolve mid` as each model,
and open each description with `[orient:explore]`; see
[TIER-DELEGATION.md](../TIER-DELEGATION.md). Scale the fan-out to the ask. For one lookup,
grep or read directly; spawn only for parallel or isolated work.

**Named agents** run in both modes, after the pack, in the same message as any explorers. Spawn
each one as its own `subagent_type` and keep its own model; set no tier. Open its description
with `[orient:named]`. Give it the verbatim
intent and the pack facts that bear on its lens. Ask for the constraints, risks and questions it
sees, each with its evidence. A name that is not an available agent type: say so in the brief and
go on without it. Fold each return into the brief and credit the agent by name.

## 3. Reflect back

**Full mode.** One screen, about 300 words, hard cap. Put what the user must react to first:

- **What we are deciding** — the crux and the real choices.
- **Open questions and assumptions.**
- **What I understand you want** — one short paragraph in the project's domain language.
- **Relevant context** — at most five bullets, each a fact that constrains a decision. Close
  with "ask for the long version".
- **Tentative scope** — in and out, marked provisional.

**Light mode.** One message: what you understand, the constraints from the pack, a provisional
scope, and three to five questions, each with your recommended answer filled in. The user replies
once ("yes to your recs except #3"). Ask a second round only when an answer forks the design.

The cap governs the printed brief, never the homework behind it.

**Page.** Read `lore config get workflow.pages`. On `artifact`, publish the page as an artifact.
On `html`, or when the session has no Artifact tool, write `<skill>-<slug>.html` in the scratchpad.
The page holds the brief's sections in the same order, then the long version under them: every
relevant-context fact with its source, the named agents' returns, and the code map excerpt. The
chat still carries the printed brief and the page link. The loop stays in the chat; republish the
same page after each correction.

## 4. Loop

Ask whether this matches. On a correction, explore again only the facets that moved. Repeat until
the user confirms. When light mode finds the work is several features or unsettled, say so and
switch to full mode; the brief so far seeds step 1.

## 5. Hand off

- **Full mode:** `/lore:grilling`, in "grill with docs" mode by default. It aligns terms
  against `CONTEXT.md` and ADRs, which `to-epic` depends on. Say "grill me" when there is no
  domain model to align against.
- **Light mode:** file the agreed intent and acceptance criteria through
  [`file-issue`](../file-issue/SKILL.md). When the seed is a roadmap item, name the item in the
  issue body. Then run `build` in `issue` mode. When even an issue is
  ceremony, run `build` in `loop` mode. Write no brief file: the issue holds what survives.
  **Never write to `CONTEXT.md`** — a term worth adding belongs to `grilling`, not this skill.
  An ADR candidate goes on the build ledger.

## 6. Session end

Before you hand off, run the retrieval-miss check: read `feedback.retrieval_misses` (`lore config
get feedback.retrieval_misses`). When true, file one issue per retrieval miss on
`feedback.retrieval_misses_repo` through `file-issue`, naming the fact, the tools tried, and the
turn count. When false, skip the check. List every issue and PR the session created or commented
on in your final message.

Chain: `orient → grilling → to-epic → build → document`, with `handover` at any stop.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.