discover
Extracts semantic memory from project analysis. Scans codebase, docs, and configs to understand tech stack, constraints, and goals.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/discover/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How discover Compares
| Feature / Agent | discover | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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 existsRelated Skills
discovery-interview
Deep interview process to transform vague ideas into detailed specs. Works for technical and non-technical users.
discover-database
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
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
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
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
Analyze incoming content (text, files, folders, URLs) to extract purpose, create summaries, and identify potential value for the current project.
ui-potion-discovery
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
Find and evaluate influencers for brand partnerships, verify authenticity, and track collaboration performance across Instagram, Facebook, YouTube, and TikTok.
agent-ops-improvement-discovery
No description provided.
agent-discovery
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
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.
e2e-test
Run E2E test scenarios against running services. Use for happy path testing, unhappy flows, debugging, or when user says "otestuj", "proved test", "zkus flow".