agentleFS
codeboehmcodeboehm/maxim/skills/orient/SKILL.md

orient

Skill0 starsChanged 4 months agoMITView on GitHub

Build or refresh the project's operational profile — stack, build/generators, commands, config & secrets, deployment, live/diagnostic access, conventions, and landmines — by discovering it from the repo FIRST and asking the user only what the repo can't answer. Persists a provenance-tagged `.agents/project.md` that the other skills read as operational ground truth. Use when confronting a new or unfamiliar project, or to refresh after infrastructure changes. The pipeline (prompt/specify) auto-runs it when the profile is missing.

  • Reads credentials

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use retro, ui-ux-pro-max and 1 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • AWSSkill

    retro

    Conduct a retrospective on a coding session.

    Also in 3 projects that use this

  • StrayDragonSkill

    ui-ux-pro-max

    UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.

    Also in 3 projects that use this

  • AWSSkill

    ship

    Finalize dev work on an issue branch — update docs, push, and open a PR.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 25 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When this skill is invoked, your job is to find out how this project is built, run, and deployed — the operational questions a senior asks …

    line 6
  2. Very specific:

    Check for an existing profile: If .agents/project.md exists, read it and refresh stale or missing sections rather than rebuilding from …

    line 21
  3. Distinctive:

    Ask the human the residue — batched by category, then wait: Only what the repo can't answer: which stage is *prod*, where prod secrets …

    line 41
  4. Distinctive:

    Offer to seed AGENTS.md: If the project has no AGENTS.md, or it's thin, *offer* to promote the confirmed facts into it so they become …

    line 49

“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

When this skill is invoked, your job is to find out how this project is built, run, and deployed — the operational questions a senior asks on day one — and persist the answers for the rest of the pipeline to read. Capture meta/operational facts only: stack, generators, commands, config, deploy, access, conventions, landmines. Not the business/domain logic of a feature — that belongs to specify on a specific task.

The discipline that separates this from a questionnaire: discover before you ask. Answer everything the repo can answer, with evidence (file:line); fold in the project's AGENTS.md as authoritative; only then ask the human the residue the repo genuinely can't reveal. Never ask what package.json already says, and never guess what only the developer knows.

Procedure

  1. Check for an existing profile. If .agents/project.md exists, read it and refresh stale or missing sections rather than rebuilding from scratch; keep confirmed facts that still hold.
  2. Discover from the repo (evidence first). Walk the operational surface and record each fact with its source path:line:
    • manifests & lockfiles (package.json, composer.json, go.mod, pyproject.toml, pom.xml, Cargo.toml, …) and runtime pins (.nvmrc, .tool-versions, engines, Dockerfile base image);
    • build & generators (vite/webpack/rollup, sass/postcss/tailwind, tsconfig, OpenAPI/GraphQL/proto codegen, migration dirs);
    • commands (scripts in package.json, Makefile, justfile, composer scripts, tox.ini);
    • CI/CD (.github/workflows, .gitlab-ci.yml, Jenkinsfile);
    • containers & deploy (Dockerfile, docker-compose.yml, k8s/helm, deploy scripts, Procfile, *.deploy);
    • config & secrets (.env*, .env.example, config/);
    • conventions (.editorconfig, eslint/prettier/cs-fixer, CODEOWNERS, pre-commit config, existing docs/).
  3. Fold in AGENTS.md (global + any project-level), treating its declarations as authoritative where they overlap discovery.
  4. Ask the human the residue — batched by category, then wait. Only what the repo can't answer: which stage is prod, where prod secrets actually live, deploy auth, manual steps, the undocumented landmines. Don't proceed on guesses.
  5. Persist to .agents/project.md (template below), every fact tagged by provenance: [repo: path:line], [AGENTS.md], [user], or [unknown]. Stamp the date; create the directory if missing. (Honor any profile location the project's AGENTS.md defines.) Then run skills/index/reindex.sh so the project.md section map picks up any moved/renamed headings.
  6. Offer to seed AGENTS.md. If the project has no AGENTS.md, or it's thin, offer to promote the confirmed facts into it so they become curated doctrine — only with the user's confirmation. Never rewrite AGENTS.md silently.
  7. Stop. This skill ends at the persisted profile. It does not specify or implement.

What to capture (operational only — never business logic)

  • A · Stack & topology — languages + frameworks per tier (backend/frontend/ infra); datastores; runtime versions + version manager; monorepo vs polyrepo; package managers + lockfiles.
  • B · Build, generators & artifacts — asset pipeline (SCSS→CSS, JS/TS bundle+minify, images/fonts); codegen (API clients, ORM migrations, proto, i18n, type gen); which files are generated (don't hand-edit) + the rebuild command; mirrored/duplicated files + the sync-check command.
  • C · Commands — install, dev-run, build, test, lint, format, typecheck, and where each is defined; what CI gates on.
  • D · Config & secrets — config files + precedence; env files committed vs ignored; required vars to run vs to deploy; where secrets live and what must never be committed.
  • E · Deployment & infra — deploy command/script and what it does; hosts/stages and how to tell which is prod; CI/CD trigger (push/tag/manual); containerization/orchestration.
  • F · Live & diagnostic access — health/diagnostic endpoints, token minting, required headers; log retrieval (endpoint or host SFTP env var); live DB-query access, read-only vs mutating. (This is what analyze consumes.)
  • G · Conventions & invariants — layering/import rules; naming + enforced formatting; branch/commit/PR rules + hooks; the "source of truth" docs to read before touching an area.
  • H · Boundaries & landmines — vendored/third-party code not to edit; deprecated areas; fragile spots and manual steps the team carries in their heads.

Output template (.agents/project.md)

# Project profile

- **Generated:** <YYYY-MM-DD> by `orient`
- **Provenance:** [repo: path:line] · [AGENTS.md] · [user] · [unknown]

## Stack & topology
- <fact> [repo: path:line]

## Build, generators & artifacts
- Generated (do not hand-edit): <paths> — rebuild: `<cmd>` [repo: path:line]

## Commands
| Task | Command | Source |
|------|---------|--------|

## Config & secrets
## Deployment & infrastructure
## Live & diagnostic access
## Conventions & invariants
## Boundaries & landmines

## Open / unknown
- <fact the repo couldn't answer and the user hasn't confirmed> [unknown]

Rules

  • Operational truth only. Stack, build, commands, deploy, access, conventions, landmines — never the business/domain logic of a feature.
  • Discover before asking; evidence before assertion. Tag every fact with its source. Mark what you couldn't confirm [unknown] — never fill a gap with a guess.
  • Persist to .agents/project.md (or the project's configured location), created if missing. Refresh in place — don't fork parallel profiles.
  • Living document. The profile tracks the project as it evolves: implement updates it when a change alters the operational surface (new dependency, build step, command, env var, service, or generated artifact), and re-running orient refreshes it wholesale. A profile that has drifted from the repo is worse than none — keep it honest, or mark the drifted section [unknown].
  • Never rewrite AGENTS.md silently. Offer to seed it; act only on confirmation. AGENTS.md is developer-owned doctrine; the profile is the agent's discovered, refreshable working copy.
  • Stop at the profile. It feeds prompt / specify / rework / verify / analyze; it does not specify or implement.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.