arbe-discover-primitives

Distills an unfamiliar repository into at most 10 reusable primitives and a dependency graph.

Updated May 16, 2026
One-click install
npx skills add https://github.com/oskarrough/robots --skill arbe-discover-primitives-oskarrough
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: arbe-discover-primitives
Source: https://github.com/oskarrough/robots/tree/main/skills/discover-primitives
Command: npx skills add https://github.com/oskarrough/robots --skill arbe-discover-primitives-oskarrough

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When evaluating an unfamiliar codebase for reuse, wrapping, or forking, default analysis produces bloated inventories that nobody remembers. This Skill forces a hard-capped, one-line-per-primitive distillation so you walk away with a mental model you can explain in a meeting. ## Core Features & Use Cases - Primitive extraction: Identifies reusable contracts, state/storage boundaries, transport boundaries, parsers, and auth capabilities while ignoring UI flows and product copy. - Strict output contract: Produces one summary sentence, 3-7 capability groups, a plain a → b dependency graph, and a "not exposed" section listing what the code does not actually share. - Hard caps and naming discipline: Limits output to 10 primitives, one line each, with opinionated naming and alias lists so the mental model has one term per concept. - Use Case: Before deciding whether a legacy repo can become an MCP server or library, run this prompt to get a one-screen briefing of its actual reusable surface. ## Quick Start Ask the AI to read this repository and distill it into at most 10 reusable primitives with a plain dependency graph using the discover-primitives prompt.

Frequently Asked Questions about arbe-discover-primitives

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify reusable primitives in an unfamiliar codebase?▼

Inspect exported and shared modules before app code, identify the smallest meaningful operations they expose, and group them into capability areas. Count only contracts, storage boundaries, transport boundaries, parsers, and auth capabilities as primitives.

How to evaluate whether a repo can become an MCP server or library?▼

Strip the app mentally and check what shared contracts remain. If behaviors only exist inside app orchestration rather than exposed modules, they are composition, not primitives, and belong in a not-exposed list.

What counts as a primitive versus commodity plumbing?▼

A primitive is a project-specific boundary or contract such as token-bucket rate checks or signed URL minting. Generic infrastructure like HTTP servers, JSON parsers, ORMs, and log writers never qualifies, even if heavily used.

Why limit codebase analysis to 10 primitives?▼

The cap forces distillation instead of inventory. If more than 10 candidates appear, merge or drop the weakest so the result stays a mental model that fits on one screen and survives a meeting.

When should I use the optional composition loosening?▼

Append the loosening clause when the strict version drops load-bearing behavior. It adds composite workflows that are directly exported as a reusable surface, labeled composition so they are not confused with primitives.