This skill should be used when the user asks to "study this codebase", "extract patterns from this project", "create a blueprint", "learn the architecture for building my own version", "what…

MITAuto-check: notesDevelopment

Install Study

skills CLI
$ npx skills add adamthewilliam/grepika --skill study -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install adamthewilliam/grepika study --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/adamthewilliam/grepika.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/grepika/skills/study .claude/skills/study && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
study
GitHub stars
138
Token cost
~1.6k tokens
SKILL.md length
461 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "study this codebase", "extract patterns from this project", "create a blueprint", "learn the architecture for building my own version", "what…

  • Works in 6 steps: Detect Source Name → Get Codebase Overview → Identify Key Architectural Patterns → …
  • Asks to study this codebase
  • SKILL.md covers Input, Pre-check, Study Workflow and Blueprint File Format, plus 2 more sections
  • Calls jq and git

What it does

Study is an agent skill from adamthewilliam/grepika. This skill should be used when the user asks to "study this codebase", "extract patterns from this project", "create a blueprint", "learn the architecture for building my own version", "what patterns can I reuse from this codebase", or mentions keywords related to extracting reusable architectural patterns for use in other projects.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires grepika MCP server.

It sits in Development. It works with Model Context Protocol and Git. The licence is MIT.

When your agent uses it

  • Asks to study this codebase
  • Extract patterns from this project
  • Create a blueprint
  • Learn the architecture for building my own version

Example prompts

  • “study this codebase”
  • “extract patterns from this project”
  • “create a blueprint”
  • “/study”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): Requires grepika MCP server.
  • Pre-approved tools (allowed-tools): mcp__grepika__search, mcp__grepika__refs, mcp__grepika__outline, mcp__grepika__toc, mcp__grepika__stats, mcp__grepika__get, mcp__grepika__context, mcp__grepika__graph, mcp__grepika__structural_search, mcp__grepika__add_workspace, Bash

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Detect Source Name
  2. Get Codebase Overview
  3. Identify Key Architectural Patterns
  4. Assess Dependencies
  5. Determine Build Order
  6. Write Blueprint File

What it can do on your machine

Read from SKILL.md and the folder at commit f035a18. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • mcp__grepika__search
    • mcp__grepika__refs
    • mcp__grepika__outline
    • mcp__grepika__toc
    • mcp__grepika__stats
    • mcp__grepika__get
    • mcp__grepika__context
    • mcp__grepika__graph
    • mcp__grepika__structural_search
    • mcp__grepika__add_workspace

    …and 1 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires grepika MCP server.

    From compatibility in the SKILL.md frontmatter.

Context cost

Study loads about 1.6k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 461 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: mcp__grepika__search, mcp__grepika__refs, mcp__grepika__outline, mcp__grepika__toc, mcp__grepika__st

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from adamthewilliam/grepika at commit f035a18, republished under its MIT licence (© adamthewilliam). 461 words, ~1,605 tokens.

Download SKILL.mdSave it as .claude/skills/study/SKILL.md (or your agent's skills folder).
name
study
description
This skill should be used when the user asks to "study this codebase", "extract patterns from this project", "create a blueprint", "learn the architecture for building my own version", "what patterns can I reuse from this codebase", or mentions keywords related to extracting reusable architectural patterns for use in other projects.
allowed-tools
mcp__grepika__search, mcp__grepika__refs, mcp__grepika__outline, mcp__grepika__toc, mcp__grepika__stats, mcp__grepika__get, mcp__grepika__context, mcp__grepika__graph, mcp__grepika__structural_search, mcp__grepika__add_workspace, Bash
compatibility
Requires grepika MCP server.
version
1.0.0
disable-model-invocation
true
context
fork
agent
Explore
model
sonnet

Codebase Study — Blueprint Extraction

You are an architecture analyst who extracts reusable patterns from codebases. Your goal is to produce a blueprint — a structured document of named, reusable patterns that someone could use to build a similar system from scratch.

Input

Focus area: $ARGUMENTS

If no focus specified, study the entire codebase architecture. If a focus is specified (e.g., "MCP server pattern", "search architecture", "database layer"), concentrate on that area.

Pre-check

If any tool returns "No active workspace", call mcp__grepika__add_workspace with the project root first, then retry the tool.

Study Workflow

Step 1: Detect Source Name

Determine a short identifier for this codebase. Use Bash to check these in order:

  1. grep -m1 '^name' Cargo.toml | cut -d'"' -f2 (Rust)
  2. jq -r .name package.json (Node.js)
  3. basename $(git remote get-url origin 2>/dev/null | sed 's/.git$//') (git remote)
  4. basename $PWD (fallback)

Store the result as SOURCE_NAME.

Step 2: Get Codebase Overview
  1. Use mcp__grepika__stats with detailed: true for size and language breakdown
  2. Use mcp__grepika__toc with depth: 3 for directory structure
  3. Identify the primary language and framework
Step 3: Identify Key Architectural Patterns

For each major module or subsystem:

  1. Use mcp__grepika__outline on key files to understand exports and structure
  2. Use mcp__grepika__search with mode: "fts" for conceptual patterns (e.g., "error handling strategy", "configuration management")
  3. Use mcp__grepika__refs on key types/functions to trace how they connect
  4. Use mcp__grepika__get to read critical implementation details

For each pattern you discover, determine:

  • Name: A kebab-case identifier (e.g., spawn-blocking-bridge, score-merging, incremental-indexing)
  • Load-bearing?: Would removing this break the core value proposition? (yes/no)
  • Category: concurrency, data-flow, error-handling, configuration, persistence, api-design, security, performance, testing
  • What: One paragraph explaining the pattern
  • Why: The constraint or problem that motivated this design choice
  • Key Files: The 2-4 most important file:line references
  • Implementation: The essential code snippets (keep brief — just enough to understand the approach)
  • Adapt When: When someone building a different project should use this pattern
Show full SKILL.md (144 more words)Show less
Step 4: Assess Dependencies

Use Bash to identify the dependency manifest (Cargo.toml, package.json, go.mod, etc.). For each significant dependency, note what it provides and whether alternatives exist.

Step 5: Determine Build Order

Order the patterns so someone could implement them incrementally:

  1. Foundation patterns first (configuration, error handling)
  2. Core domain patterns next (the main value proposition)
  3. Enhancement patterns last (performance, caching, advanced features)
Step 6: Write Blueprint File

Use Bash to write the blueprint to ~/.claude/blueprints/SOURCE_NAME/blueprint.md:

bash
mkdir -p ~/.claude/blueprints/SOURCE_NAME
cat > ~/.claude/blueprints/SOURCE_NAME/blueprint.md << 'BLUEPRINT_EOF'
[blueprint content here]
BLUEPRINT_EOF

Blueprint File Format

The blueprint MUST follow this exact format:

markdown
---
source: [SOURCE_NAME]
path: [absolute path to source codebase]
studied: [YYYY-MM-DD]
patterns: [count]
focus: [focus area or "full"]
---

# Blueprint: [SOURCE_NAME]

> [One-sentence description of what this codebase does]

## Overview

- **Language**: [primary language]
- **Framework**: [key framework/runtime]
- **Architecture**: [brief architecture style description]
- **Key Dependencies**: [3-5 most important dependencies with purpose]

## Build Order

1. [pattern-name] — [why first]
2. [pattern-name] — [builds on #1]
3. [pattern-name] — [builds on #1-2]
...

---

## Pattern: [kebab-case-name]

**Load-bearing**: [yes/no]
**Category**: [category]

### What
[One paragraph describing the pattern]

### Why
[The constraint or problem that motivated this choice]

### Key Files
- `path/to/file.rs:42` — [what this location shows]
- `path/to/other.rs:100` — [what this location shows]

### Implementation
```[language]
[Essential code snippets — brief, focused on the pattern]
Adapt When

[When to use this pattern in your own project]


Pattern: [next-pattern]

...


## Output

After writing the blueprint, report:

Blueprint Created

Source: [SOURCE_NAME] Location: ~/.claude/blueprints/[SOURCE_NAME]/blueprint.md Patterns extracted: [count]

Patterns
#PatternLoad-bearingCategory
1[name]yes/no[category]
Build Order
  1. Start with: [pattern] — [why]
  2. Then: [pattern] — [why]
  3. Then: [pattern] — [why]

Use /apply-pattern [SOURCE_NAME]:[pattern-name] to apply any pattern to your current project.


## Guidelines

- **Be selective**: Extract 4-10 patterns, not every function. Focus on architectural decisions, not implementation details.
- **Load-bearing test**: Ask "If I removed this pattern, would the system still deliver its core value?" If yes, it's not load-bearing.
- **Why > What**: The rationale is more valuable than the code. Someone can write code; they can't reconstruct the reasoning behind design decisions.
- **Code snippets should be minimal**: Show the pattern, not the full implementation. 10-30 lines per pattern.
- **Name patterns for reuse**: "spawn-blocking-bridge" is better than "the thing in server.rs". Names should make sense outside the source project.

© adamthewilliam, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/grepika/skills/study of adamthewilliam/grepika.

Open the folder on GitHubat commit f035a18

Compare with similar skills

Study next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Study compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Study this skilladamthewilliam/grepika138—~1.6kAutomated safety check: NotesMIT
Git Releasewesammustafa/opencode-primer3971 repos~409Automated safety check: PassMIT
Changelogratel-ai/ratel4691 repos~1.6kAutomated safety check: PassMIT
Cut Releasespiculedata/saiku1.3k—~502Automated safety check: PassApache-2.0
Liveagent Code ReviewStack-Cairn/LiveAgent2.2k—~2kAutomated safety check: PassMIT
Zhtw Conventionssysprog21/zhtw-mcp488—~2kAutomated safety check: PassMIT

Similar skills

  • Git Release

    wesammustafa/opencode-primer

    Draft release notes from merged PRs, propose a semver bump, and emit a copy-pasteable gh release create command.

    397 GitHub starsUsed in 1 repo~409 tokens
    DevelopmentAuto-check passed
  • Changelog

    ratel-ai/ratel

    Update per-package CHANGELOG.md files for a Ratel release. An agent skill from ratel-ai/ratel.

    469 GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Cut Release

    spiculedata/saiku

    Cut a Saiku release via Gitflow — version bump, release branch, PR to main, tag, back-merge, and post-release chores.

    1.3k GitHub stars~502 tokensUpdated today
    DevelopmentAuto-check passed
  • Liveagent Code Review

    Stack-Cairn/LiveAgent

    Review an open GitHub pull request or the current local branch and working tree with parallel, independent reviewers and evidence-based validation.

    2.2k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Zhtw Conventions

    sysprog21/zhtw-mcp

    The zhtw-mcp conventions no gate enforces - the register a comment, a commit message and a PR reply are written in, where Chinese belongs in the tree and where it does not, the untracked working…

    488 GitHub stars~2k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Close Task Commit Push PR

    devoxx/DevoxxGenieIDEAPlugin

    Close the active backlog task (detected from branch name), commit all changes, push to remote, and open a pull request.

    684 GitHub stars~1k tokensUpdated 8 days ago
    DevelopmentAuto-check: notes

More from adamthewilliam/grepika

All 9 skills in this repo
  • Impact

    adamthewilliam/grepika

    This skill should be used when the user asks to "analyze impact of changes", "check blast radius", "what would break if I change this", "refactoring safety analysis", or mentions keywords related to…

    138 GitHub stars~794 tokensUpdated 1 mo ago
    Auto-check passed
  • Index Status

    adamthewilliam/grepika

    This skill should be used when the user asks to "check index status", "is the index healthy", "index diagnostics", "search index health", or mentions keywords related to verifying grepika search…

    138 GitHub stars~696 tokensUpdated 1 mo ago
    Auto-check passed
  • Investigate

    adamthewilliam/grepika

    This skill should be used when the user asks to "investigate a bug", "trace an error", "debug this issue", "find where this error comes from", or mentions keywords related to error tracing and bug…

    138 GitHub stars~762 tokensUpdated 1 mo ago
    Auto-check passed
  • Learn Codebase

    adamthewilliam/grepika

    This skill should be used when the user asks to "learn this codebase", "give me a codebase overview", "onboard me to this project", "explain the architecture", or mentions keywords related to…

    138 GitHub stars~922 tokensUpdated 1 mo ago
    Auto-check passed
  • Apply Pattern

    adamthewilliam/grepika

    This skill should be used when the user asks to "apply a pattern", "use a blueprint", "implement [pattern] from [source]", "what blueprints do I have", "list patterns", "adapt this pattern", or…

    138 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check: notes
  • Architecture

    adamthewilliam/grepika

    This skill should be used when the user asks to "map the architecture", "show module dependencies", "analyze coupling", "dependency graph", "how are modules connected", "module boundaries", or…

    138 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Study

What does Study do?

This skill should be used when the user asks to "study this codebase", "extract patterns from this project", "create a blueprint", "learn the architecture for building my own version", "what…. Study is an agent skill from adamthewilliam/grepika. This skill should be used when the user asks to "study this codebase", "extract patterns from this project", "create a blueprint", "learn the architecture for building my own version", "what patterns can I reuse from this codebase", or mentions keywords related to extracting reusable architectural patterns for use in other projects.

When should I use Study?

Study fits situations like: asks to study this codebase; extract patterns from this project; create a blueprint; learn the architecture for building my own version.

How do I install Study in Claude Code?

Run `npx skills add adamthewilliam/grepika --skill study -a claude-code`. Or copy the skill folder (plugins/grepika/skills/study in adamthewilliam/grepika) into .claude/skills/study in your project. Claude Code loads it when a task matches its description.

How do I install Study in Codex?

Run `npx skills add adamthewilliam/grepika --skill study -a codex`. Or copy the skill folder (plugins/grepika/skills/study in adamthewilliam/grepika) into .agents/skills/study in your project. Codex loads it when a task matches its description.

Can I use Study in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adamthewilliam/grepika --skill study -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/study, .gemini/skills/study, .github/skills/study and .opencode/skills/study in your project.

What does Study need to run?

Going by SKILL.md and its folder, Study needs the command-line tools its instructions call (jq and git). Our summary lists: Node.js. Its frontmatter pre-approves these tools: mcp__grepika__search, mcp__grepika__refs, mcp__grepika__outline, mcp__grepika__toc, mcp__grepika__stats, mcp__grepika__get, mcp__grepika__context, mcp__grepika__graph, mcp__grepika__structural_search, mcp__grepika__add_workspace, Bash. Compatibility (from SKILL.md): Requires grepika MCP server..

Does Study access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Study safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Study use?

Study is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Study use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Study?

Skills that share tags, products or a category with Study: Git Release (wesammustafa/opencode-primer, 397 stars), Changelog (ratel-ai/ratel, 469 stars), Cut Release (spiculedata/saiku, 1.3k stars) and Liveagent Code Review (Stack-Cairn/LiveAgent, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Study?

adamthewilliam (a GitHub user) maintains it in adamthewilliam/grepika, which has 138 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on August 12, 2026.

Source: adamthewilliam/grepika on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.