This skill analyzes existing projects and structures them for [Gastown](https://github.com/steveyegge/gastown) — Steve Yegge's multi-agent workspace manager.
Analyzes existing projects and structures them for Gastown's multi-agent workspace manager.
/plugin marketplace add auge2u/lisa-helps-ralph-loops/plugin install lisa-loops-memory@lisa-helps-ralph-loopsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/bead.jsontemplates/convoy.jsonThis skill analyzes existing projects and structures them for Gastown — Steve Yegge's multi-agent workspace manager.
The migration process transforms a project into Gastown-compatible structure:
project/
├── .gt/
│ ├── memory/
│ │ ├── semantic.json # Permanent facts (tech stack, constraints)
│ │ ├── episodic.json # Decisions with TTL (~30 days)
│ │ └── procedural.json # Learned patterns
│ ├── beads/
│ │ └── gt-*.json # Individual work items
│ └── convoys/
│ └── convoy-*.json # Bundled work assignments
└── [existing project files]
| Command | Purpose |
|---|---|
analyze | Scan project, generate semantic memory |
beads | Extract work items from TODOs, issues, PRDs |
convoy | Bundle related beads into work assignments |
migrate | Full migration (analyze + beads + convoy) |
Scan these locations in order:
Package files (for tech stack detection)
package.json — Node.js runtime, framework, dependenciesCargo.toml — Rust projectsgo.mod — Go projectsrequirements.txt, pyproject.toml — Python projectsGemfile — Ruby projectsConfiguration files (for service detection)
.firebaserc, firebase.json — Firebasewrangler.toml — Cloudflare Workersvercel.json — Vercel deploymentdocker-compose.yml, Dockerfile — Containerization*.env.example — Environment variables hintDocumentation (for project understanding)
README.md — Project description, setup instructionsdocs/ — Architecture docs, ADRs, PRDsCONTRIBUTING.md — Development workflowCHANGELOG.md — Project historySource structure (for codebase understanding)
src/, lib/, app/ — Main code directoriestests/, __tests__/, spec/ — Test directoriesschemas/, migrations/ — Database schemas{
"$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"
},
"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"]
}
}
Scan for work items in:
TODO comments in source code
// TODO:, # TODO:, /* TODO */// FIXME:, // HACK:, // XXX:GitHub Issues (if .git exists)
gh issue listPRD documents
Backlog files
BACKLOG.md, TODO.mddocs/backlog/, docs/roadmap/Existing roadmap outputs
scopecraft/EPICS_AND_STORIES.mdscopecraft/OPEN_QUESTIONS.md{
"$schema": "bead-v1",
"id": "gt-abc12",
"title": "Add user authentication",
"type": "feature",
"complexity": "L",
"priority": "high",
"status": "pending",
"dependencies": [],
"acceptance_criteria": [
"User can sign up with email",
"User can sign in with Google OAuth",
"Session persists across page refresh"
],
"evidence": {
"source": "docs/PRD-auth.md",
"line": 42,
"extracted": "2026-01-27T10:00:00Z"
},
"metadata": {
"epic": "User Management",
"labels": ["auth", "security"]
}
}
| Type | Description |
|---|---|
feature | New functionality |
bug | Defect fix |
chore | Maintenance, refactoring |
docs | Documentation |
spike | Research/investigation |
| Size | Description | Typical Duration |
|---|---|---|
XS | Trivial change | < 1 hour |
S | Small task | 1-4 hours |
M | Medium task | 1-2 days |
L | Large task | 3-5 days |
XL | Epic-sized | 1-2 weeks |
Bead IDs follow Gastown convention: gt-<5-char-alphanumeric>
Example: gt-abc12, gt-xyz99, gt-m4n5p
{
"$schema": "convoy-v1",
"id": "convoy-001",
"name": "Authentication Sprint",
"description": "Implement core user authentication features",
"beads": ["gt-abc12", "gt-def34", "gt-ghi56"],
"assigned_to": null,
"status": "pending",
"created": "2026-01-27T10:00:00Z",
"metadata": {
"epic": "User Management",
"estimated_days": 5
}
}
| Gate | Requirement |
|---|---|
semantic_valid | semantic.json is valid JSON |
project_identified | project.name is not null |
tech_stack_detected | At least 2 tech_stack fields populated |
evidence_recorded | files_analyzed has 1+ entries |
| Gate | Requirement |
|---|---|
beads_extracted | At least 1 bead created |
beads_have_criteria | All beads have acceptance_criteria |
beads_have_evidence | All beads have evidence.source |
beads_valid_ids | All IDs match gt-[a-z0-9]{5} |
| Gate | Requirement |
|---|---|
convoy_created | At least 1 convoy created |
convoy_size_valid | All convoys have 3-7 beads |
convoy_beads_exist | All referenced beads exist |
Run validation with:
# Python validator
python plugins/lisa-loops-memory/hooks/validate_gastown.py
# Check specific phase
python plugins/lisa-loops-memory/hooks/validate_gastown.py --phase analyze
python plugins/lisa-loops-memory/hooks/validate_gastown.py --phase beads
python plugins/lisa-loops-memory/hooks/validate_gastown.py --phase convoy
After migration, Gastown Mayor can:
.gt/memory/semantic.json for project context.gt/beads/*.json for available workSee examples/ directory for sample outputs:
examples/gastown/semantic.jsonexamples/gastown/beads/examples/gastown/convoys/Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.