askill
discover

discoverSafety 90Repository

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

0 stars
1.2k downloads
Updated 2/7/2026

Package Files

Loading files...
SKILL.md

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)

FileDetects
package.jsonNode.js runtime, framework, dependencies
Cargo.tomlRust projects
go.modGo projects
requirements.txtPython dependencies
pyproject.tomlPython projects (modern)
GemfileRuby projects
pom.xmlJava/Maven projects
build.gradleJava/Gradle projects

2. Configuration Files (Service Detection)

FileDetects
.firebaserc, firebase.jsonFirebase
wrangler.tomlCloudflare Workers
vercel.jsonVercel deployment
netlify.tomlNetlify deployment
docker-compose.ymlContainerization
DockerfileContainer build
*.env.exampleEnvironment variables
.github/workflows/CI/CD (GitHub Actions)

3. Documentation (Project Understanding)

FileProvides
README.mdProject description, setup
docs/Architecture docs, ADRs, PRDs
CONTRIBUTING.mdDevelopment workflow
CHANGELOG.mdProject history
LICENSELicense type

4. Source Structure (Codebase Understanding)

DirectoryIndicates
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:

DependencyFramework
nextNext.js
reactReact
vueVue.js
@angular/coreAngular
expressExpress.js
fastifyFastify
djangoDjango
flaskFlask
fastapiFastAPI
railsRuby on Rails
gin-gonic/ginGin (Go)

Database Detection

IndicatorDatabase
pg, postgresPostgreSQL
mysql2MySQL
mongodb, mongooseMongoDB
redisRedis
prismaPrisma ORM
drizzle-ormDrizzle ORM
typeormTypeORM

Auth Detection

IndicatorAuth System
firebase-adminFirebase Auth
@auth0/Auth0
next-authNextAuth.js
passportPassport.js
clerkClerk
supabaseSupabase Auth

Output: semantic.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

GateRequirement
semantic_validsemantic.json is valid JSON
project_identifiedproject.name is not null or empty
tech_stack_detectedAt least 2 tech_stack fields populated
evidence_recordedevidence.files_analyzed has 1+ entries

Validation

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

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/12/2026

A comprehensive and highly actionable skill for project discovery and tech stack analysis. It provides detailed mapping tables, output schemas, and validation steps.

90
100
85
95
95

Metadata

Licenseunknown
Version-
Updated2/7/2026
Publisherauge2u

Tags

apici-cddatabasegithubgithub-actionssecuritytesting