arch-index-orient

arch-index-orient is a skill for Claude Code, Codex from mathiasbourgoin/roster. It costs 41 tokens per session (809 once invoked), scanned A, original, MIT.

A read-only orientation tool that queries a SQLite call graph and symbol index to show which code elements call or are called by others. A call graph is a map of these relationships.

In plain words
What is it for?
It is for finding callers, callees, definitions, heavily used symbols, and paths between code elements during codebase research.
Why use it?
It helps developers locate related code before investigating a change or defect. It also reports when the index may be out of date compared with the latest Git commit.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: positional $N argument.

Good fit It is for finding callers, callees, definitions, heavily used symbols, and paths between code elements during codebase research.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mathiasbourgoin/roster/arch-index-orient
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add mathiasbourgoin/roster --skill arch-index-orient
Clone the repo
git clone --depth 1 https://github.com/mathiasbourgoin/roster

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for arch-index-orient

README.md
[![agentmods](https://agentmods.dev/badge/skills/mathiasbourgoin/roster/arch-index-orient/github.svg)](https://agentmods.dev/skills/mathiasbourgoin/roster/arch-index-orient)
Your own site
<a href="https://agentmods.dev/skills/mathiasbourgoin/roster/arch-index-orient"><img src="https://agentmods.dev/badge/skills/mathiasbourgoin/roster/arch-index-orient/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for arch-index-orient

Your own site · 80×15
<a href="https://agentmods.dev/skills/mathiasbourgoin/roster/arch-index-orient"><img src="https://agentmods.dev/badge/skills/mathiasbourgoin/roster/arch-index-orient.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 809 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00041 $0.00809
Opus 5 $0.00020 $0.00404
Sonnet 5 $0.00008 $0.00162
Haiku 4.5 $0.00004 $0.00081

Measured today against content hash 1b2a0a3e6c76, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

arch-index-orient scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

The scan reads SKILL.md. This mod also ships 1 executable file (orient.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

extensions/arch-index/skills/arch-index-orient/SKILL.md · 68 lines

How it starts

The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.

arch-index-orient

Orientation provider for roster-research (never a QA gate — provides is research-orientation, not gate). orient.sh emits JSON row-objects on stdout, read-only against the SQLite index at .arch-index/index.db (built by arch-index-init — never regenerated here).

The first content line of every successful (exit-0) invocation is the mandatory index-freshness header:

<!-- index-freshness: <index.db mtime, ISO-8601 UTC> vs HEAD <commit short> -->

so consumers can see when the index is stale relative to HEAD before trusting a graph hit — this is advisory only, never a gate.

Modes

bash orient.sh <mode> [args...], dispatched by $1:

  • callees <sym> — symbols <sym> calls (calls rows where caller = <sym>).
  • callers <sym> — symbols that call <sym> (calls rows where callee = <sym>).
  • fan-in — symbols ranked by incoming-caller count (GROUP BY callee).
  • definition <sym> — the symbols row for <sym> (empty array if absent).
  • path <A> <B> — a depth-bounded path from A to B over calls, via a recursive CTE with a simple-path guard (instr excludes any node already on the walk's accumulated path) plus an explicit depth-counter cap as a secondary bound. UNION alone only dedupes identical (node, path, level) rows and is not sufficient for cycle safety on branching/cyclic graphs; the simple-path guard is what actually terminates. A == B returns a trivial zero-length result; no path returns an empty array — both exit 0, never an error. Bounded by a 120s timeout (coreutils timeout, when on PATH) on direct invocation too, matching the resolver's own bound.

Every result set is capped by TOP_N/LIMIT (default 10).

Steps

  1. The consumer (scripts/code-intel-resolve.js orient <mode> [args...]) invokes bash orient.sh <mode> [args...] from the project root.
  2. Degradation checks, each a distinct exit-3 reason token on stderr, verdict-neutral: index DB absent → index-missing; neither arch-index nor sqlite3 on PATH → tool-missing; the DB lacks calls or symbolsschema-mismatch: <table> not found.
  3. On success, the freshness header prints first, then the mode's JSON rows.
  4. This pack relies ONLY on calls(caller, callee) and symbols(name, visibility, comment_quality_score) — no other table or column is referenced, so an upstream schema change degrades gracefully instead of breaking.

Read the full file on GitHub · 68 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 68 lines · 41 tokens per session scan A 1b2a0a3e6c76

Subscribe to this mod's changes

arch-index-orient is a skill published in the GitHub repository mathiasbourgoin/roster (2 stars, last pushed yesterday), licensed MIT. It adds 41 tokens to every session and 809 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-12.

Related

Other skills, from other repositories

adversarial-reviewer

Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.

emdash-cms/emdash · 71 tokens

gsd-ns-review

Route to the appropriate quality / review skill based on the user's intent. gsd-code-review-fix was absorbed by gsd-code-review --fix in #2790.

open-gsd/gsd-core · 16 tokens

issue

Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…

jeremylongshore/tons-of-skills-marketplace · 115 tokens

gitnexus

A code-graph analysis add-on for examining an existing codebase, including symbols, call paths, execution flows, and effects across repositories. It can query GitNexus through its command-line or MCP interfaces.

hashgraph-online/awesome-codex-plugins · 58 tokens

cleanup-code-inspections

Reduce technical debt and improve code quality by systematically resolving static analysis warnings.

flutter/flutter-intellij · 19 tokens

sonarqube-mcp

Provides SonarQube and SonarCloud integration patterns via the Model Context Protocol (MCP) server. Enables quality gate monitoring, issue discovery and triaging, pre-push code analysis, and rule education directly in the agent workflow. Use when the user wants to check quality gates, search for Sonar issues, analyze…

giuseppe-trisciuoglio/developer-kit · 127 tokens