discover

Extracts semantic memory from project analysis. Scans codebase, docs, and configs to understand tech stack, constraints, and goals.

16 stars

Best use case

discover is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Extracts semantic memory from project analysis. Scans codebase, docs, and configs to understand tech stack, constraints, and goals.

Teams using discover should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/discover/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/discover/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/discover/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How discover Compares

Feature / AgentdiscoverStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Extracts semantic memory from project analysis. Scans codebase, docs, and configs to understand tech stack, constraints, and goals.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Discover Skill (Stage 1)

This skill analyzes existing projects and generates Gastown-compatible semantic memory.

## When to Use

Use this skill when:
- Starting migration of an existing project
- Need to understand a codebase's tech stack
- Want to document project constraints and goals
- Preparing for roadmap generation (Stage 2)

## Output Structure

```
project/
├── .gt/
│   └── memory/
│       ├── semantic.json      # Permanent facts (tech stack, constraints)
│       ├── episodic.json      # Decisions with TTL (optional)
│       └── procedural.json    # Learned patterns (optional)
└── [existing project files]
```

## Discovery Procedure

Scan these locations in priority order:

### 1. Package Files (Tech Stack Detection)

| File | Detects |
|------|---------|
| `package.json` | Node.js runtime, framework, dependencies |
| `Cargo.toml` | Rust projects |
| `go.mod` | Go projects |
| `requirements.txt` | Python dependencies |
| `pyproject.toml` | Python projects (modern) |
| `Gemfile` | Ruby projects |
| `pom.xml` | Java/Maven projects |
| `build.gradle` | Java/Gradle projects |

### 2. Configuration Files (Service Detection)

| File | Detects |
|------|---------|
| `.firebaserc`, `firebase.json` | Firebase |
| `wrangler.toml` | Cloudflare Workers |
| `vercel.json` | Vercel deployment |
| `netlify.toml` | Netlify deployment |
| `docker-compose.yml` | Containerization |
| `Dockerfile` | Container build |
| `*.env.example` | Environment variables |
| `.github/workflows/` | CI/CD (GitHub Actions) |

### 3. Documentation (Project Understanding)

| File | Provides |
|------|----------|
| `README.md` | Project description, setup |
| `docs/` | Architecture docs, ADRs, PRDs |
| `CONTRIBUTING.md` | Development workflow |
| `CHANGELOG.md` | Project history |
| `LICENSE` | License type |

### 4. Source Structure (Codebase Understanding)

| Directory | Indicates |
|-----------|-----------|
| `src/`, `lib/`, `app/` | Main code location |
| `tests/`, `__tests__/`, `spec/` | Test location |
| `schemas/`, `migrations/` | Database schemas |
| `components/` | UI component library |
| `api/`, `routes/` | API structure |

## Tech Stack Extraction

### Framework Detection

Look for these patterns in dependencies:

| Dependency | Framework |
|------------|-----------|
| `next` | Next.js |
| `react` | React |
| `vue` | Vue.js |
| `@angular/core` | Angular |
| `express` | Express.js |
| `fastify` | Fastify |
| `django` | Django |
| `flask` | Flask |
| `fastapi` | FastAPI |
| `rails` | Ruby on Rails |
| `gin-gonic/gin` | Gin (Go) |

### Database Detection

| Indicator | Database |
|-----------|----------|
| `pg`, `postgres` | PostgreSQL |
| `mysql2` | MySQL |
| `mongodb`, `mongoose` | MongoDB |
| `redis` | Redis |
| `prisma` | Prisma ORM |
| `drizzle-orm` | Drizzle ORM |
| `typeorm` | TypeORM |

### Auth Detection

| Indicator | Auth System |
|-----------|-------------|
| `firebase-admin` | Firebase Auth |
| `@auth0/` | Auth0 |
| `next-auth` | NextAuth.js |
| `passport` | Passport.js |
| `clerk` | Clerk |
| `supabase` | Supabase Auth |

## Output: semantic.json

```json
{
  "$schema": "semantic-memory-v1",
  "project": {
    "name": "my-app",
    "type": "web-application",
    "primary_language": "TypeScript",
    "description": "A task management app for teams"
  },
  "tech_stack": {
    "runtime": "Node.js 20",
    "framework": "Next.js 14",
    "database": "Neon PostgreSQL",
    "auth": "Firebase Auth",
    "deployment": "Vercel",
    "styling": "Tailwind CSS",
    "testing": "Vitest",
    "orm": "Drizzle"
  },
  "personas": [
    {"name": "Team Lead", "needs": ["assign tasks", "track progress"]},
    {"name": "Developer", "needs": ["see my tasks", "update status"]}
  ],
  "constraints": [
    "Must support offline mode",
    "GDPR compliant data handling"
  ],
  "non_goals": [
    "Mobile native app (web-only for MVP)",
    "Enterprise SSO (future phase)"
  ],
  "evidence": {
    "last_scan": "2026-01-27T10:00:00Z",
    "files_analyzed": ["package.json", "README.md", "docs/PRD.md"]
  }
}
```

## Memory Types

### Semantic Memory (Required)

Permanent facts that don't change:
- Project name and type
- Primary programming language
- Tech stack components
- Architectural constraints
- Non-goals

### Episodic Memory (Optional)

Decisions with time-to-live (~30 days):
- Architecture decisions
- Library choices with rationale
- Trade-offs made

### Procedural Memory (Optional)

Learned patterns:
- Code conventions
- Testing patterns
- Deployment procedures

## Quality Gates

| Gate | Requirement |
|------|-------------|
| `semantic_valid` | semantic.json is valid JSON |
| `project_identified` | project.name is not null or empty |
| `tech_stack_detected` | At least 2 tech_stack fields populated |
| `evidence_recorded` | evidence.files_analyzed has 1+ entries |

## Validation

```bash
python plugins/lisa/hooks/validate.py --stage discover
```

## Error Handling

If unable to detect something:
- Set field to `null` rather than guessing
- Add to `evidence.unresolved` list (if pattern exists)
- Document what was searched and why it failed

## Next Steps

After discover completes:
- Proceed to Stage 2 (Plan) → `skills/plan/SKILL.md`
- Or proceed directly to Stage 3 (Structure) if roadmap exists

Related Skills

discovery-interview

16
from diegosouzapw/awesome-omni-skill

Deep interview process to transform vague ideas into detailed specs. Works for technical and non-technical users.

discover-database

16
from diegosouzapw/awesome-omni-skill

Automatically discover database skills when working with SQL, PostgreSQL, MongoDB, Redis, database schema design, query optimization, migrations, connection pooling, ORMs, or database selection. Activates for database design, optimization, and implementation tasks.

De-novo-motif-discovery

16
from diegosouzapw/awesome-omni-skill

This skill identifies novel transcription factor binding motifs in the promoter regions of genes, or directly from genomic regions of interest such as ChIP-seq peaks, ATAC-seq accessible sites, or differentially acessible regions. It employs HOMER (Hypergeometric Optimization of Motif Enrichment) to detect both known and previously uncharacterized sequence motifs enriched within the supplied genomic intervals. Use the skill when you need to uncover sequence motifs enriched or want to know which TFs might regulate the target regions.

architecture-discovery

16
from diegosouzapw/awesome-omni-skill

Guide users through discovering and defining system architecture through structured conversation. Triggers on "I want to build", "design a system", "architect", "planning a new project", "how should I build X".

architectural-pattern-discovery

16
from diegosouzapw/awesome-omni-skill

Discovers architectural and design patterns across all abstraction levels. Analyzes structural patterns, component relationships, recurring solution approaches, and design principles. Works with any technology stack without prior framework knowledge to provide comprehensive pattern understanding from code-level to system-level architecture.

agent-ops-potential-discovery

16
from diegosouzapw/awesome-omni-skill

Analyze incoming content (text, files, folders, URLs) to extract purpose, create summaries, and identify potential value for the current project.

ui-potion-discovery

16
from diegosouzapw/awesome-omni-skill

Identify the best UI Potion guide for a requested component, layout, or feature by searching the index and returning relevant JSON guide URLs and human-readable pages. Use when the user is unsure which potion to use or asks for recommendations.

apify-influencer-discovery

16
from diegosouzapw/awesome-omni-skill

Find and evaluate influencers for brand partnerships, verify authenticity, and track collaboration performance across Instagram, Facebook, YouTube, and TikTok.

agent-ops-improvement-discovery

16
from diegosouzapw/awesome-omni-skill

No description provided.

agent-discovery

16
from diegosouzapw/awesome-omni-skill

Discovers all Claude Code agents in the system including built-in, plugin, project, and user-level agents. Use when you need to find which agents are available, understand the agent ecosystem, or prepare agents for Actoris registration.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

e2e-test

16
from diegosouzapw/awesome-omni-skill

Run E2E test scenarios against running services. Use for happy path testing, unhappy flows, debugging, or when user says "otestuj", "proved test", "zkus flow".