Analyze Project Skill
Analyze the current project and store facts about it in long-term memory.
Workflow
- Read key project files to understand the tech stack
- Extract facts about languages, frameworks, tools, conventions
- Store facts using
memory.store_extraction
Files to Read
Read these files (if they exist) to understand the project:
Package/Dependency Files
Gemfile - Ruby dependencies (Rails, RSpec, etc.)
package.json - JavaScript/TypeScript dependencies
pyproject.toml or requirements.txt - Python dependencies
Cargo.toml - Rust dependencies
go.mod - Go dependencies
pom.xml or build.gradle - Java dependencies
Configuration Files
README.md - Project overview and setup instructions
tsconfig.json - TypeScript configuration
.eslintrc* or eslint.config.* - ESLint configuration
.prettierrc* - Prettier configuration
.rubocop.yml or .standard.yml - Ruby linting
Dockerfile - Container configuration
.github/workflows/*.yml - CI/CD configuration
Convention Files
.editorconfig - Editor configuration
CLAUDE.md or AGENTS.md - AI assistant instructions
What to Extract
Look for and store facts about:
| Category |
Predicate |
Examples |
| Languages |
uses_language |
Ruby, TypeScript, Python, Go, Rust |
| Frameworks |
uses_framework |
Rails, React, Next.js, Django, FastAPI |
| Tools |
uses_tool |
RSpec, Jest, ESLint, Prettier, Docker |
| Databases |
uses_database |
PostgreSQL, MySQL, Redis, MongoDB |
| Package Manager |
uses_package_manager |
Bundler, npm, pnpm, Poetry, Cargo |
| CI/CD |
uses_ci |
GitHub Actions, CircleCI, GitLab CI |
| Conventions |
has_convention |
EditorConfig, 2-space indentation |
Example Analysis
After reading Gemfile:
source 'https://rubygems.org'
gem 'rails', '~> 7.0'
gem 'pg'
gem 'rspec-rails', group: :test
Store these facts:
{
"entities": [
{"type": "language", "name": "Ruby"},
{"type": "framework", "name": "Rails"},
{"type": "database", "name": "PostgreSQL"},
{"type": "tool", "name": "RSpec"}
],
"facts": [
{
"subject": "repo",
"predicate": "uses_language",
"object": "Ruby",
"quote": "Gemfile present",
"strength": "stated"
},
{
"subject": "repo",
"predicate": "uses_framework",
"object": "Rails",
"quote": "gem 'rails', '~> 7.0'",
"strength": "stated"
},
{
"subject": "repo",
"predicate": "uses_database",
"object": "PostgreSQL",
"quote": "gem 'pg'",
"strength": "stated"
},
{
"subject": "repo",
"predicate": "uses_tool",
"object": "RSpec",
"quote": "gem 'rspec-rails'",
"strength": "stated"
},
{
"subject": "repo",
"predicate": "uses_package_manager",
"object": "Bundler",
"quote": "Gemfile present",
"strength": "stated"
}
]
}
Best Practices
- Check what exists first: Use
memory.recall with broad query like "uses" to see existing facts
- Don't duplicate: Skip facts that are already stored
- Include quotes: Reference the specific line or file where you found the information
- Use
stated strength: For explicit declarations in config files
- Be selective: Only store durable, useful facts—not every dependency
Scope
- Use
scope_hint: "project" for project-specific facts (default)
- Use
scope_hint: "global" for user preferences found in global config files
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: project-analysis3description: Knowledge about analyzing projects for tech stack, frameworks, tools, and conventions. Use when asked to understand or learn about a project's structure. Use when this capability is needed.4---56# Analyze Project Skill78Analyze the current project and store facts about it in long-term memory.910## Workflow11121. **Read key project files** to understand the tech stack132. **Extract facts** about languages, frameworks, tools, conventions143. **Store facts** using `memory.store_extraction`1516## Files to Read1718Read these files (if they exist) to understand the project:1920### Package/Dependency Files21- `Gemfile` - Ruby dependencies (Rails, RSpec, etc.)22- `package.json` - JavaScript/TypeScript dependencies23- `pyproject.toml` or `requirements.txt` - Python dependencies24- `Cargo.toml` - Rust dependencies25- `go.mod` - Go dependencies26- `pom.xml` or `build.gradle` - Java dependencies2728### Configuration Files29- `README.md` - Project overview and setup instructions30- `tsconfig.json` - TypeScript configuration31- `.eslintrc*` or `eslint.config.*` - ESLint configuration32- `.prettierrc*` - Prettier configuration33- `.rubocop.yml` or `.standard.yml` - Ruby linting34- `Dockerfile` - Container configuration35- `.github/workflows/*.yml` - CI/CD configuration3637### Convention Files38- `.editorconfig` - Editor configuration39- `CLAUDE.md` or `AGENTS.md` - AI assistant instructions4041## What to Extract4243Look for and store facts about:4445| Category | Predicate | Examples |46|----------|-----------|----------|47| Languages | `uses_language` | Ruby, TypeScript, Python, Go, Rust |48| Frameworks | `uses_framework` | Rails, React, Next.js, Django, FastAPI |49| Tools | `uses_tool` | RSpec, Jest, ESLint, Prettier, Docker |50| Databases | `uses_database` | PostgreSQL, MySQL, Redis, MongoDB |51| Package Manager | `uses_package_manager` | Bundler, npm, pnpm, Poetry, Cargo |52| CI/CD | `uses_ci` | GitHub Actions, CircleCI, GitLab CI |53| Conventions | `has_convention` | EditorConfig, 2-space indentation |5455## Example Analysis5657After reading `Gemfile`:58```ruby59source 'https://rubygems.org'60gem 'rails', '~> 7.0'61gem 'pg'62gem 'rspec-rails', group: :test63```6465Store these facts:66```json67{68 "entities": [69 {"type": "language", "name": "Ruby"},70 {"type": "framework", "name": "Rails"},71 {"type": "database", "name": "PostgreSQL"},72 {"type": "tool", "name": "RSpec"}73 ],74 "facts": [75 {76 "subject": "repo",77 "predicate": "uses_language",78 "object": "Ruby",79 "quote": "Gemfile present",80 "strength": "stated"81 },82 {83 "subject": "repo",84 "predicate": "uses_framework",85 "object": "Rails",86 "quote": "gem 'rails', '~> 7.0'",87 "strength": "stated"88 },89 {90 "subject": "repo",91 "predicate": "uses_database",92 "object": "PostgreSQL",93 "quote": "gem 'pg'",94 "strength": "stated"95 },96 {97 "subject": "repo",98 "predicate": "uses_tool",99 "object": "RSpec",100 "quote": "gem 'rspec-rails'",101 "strength": "stated"102 },103 {104 "subject": "repo",105 "predicate": "uses_package_manager",106 "object": "Bundler",107 "quote": "Gemfile present",108 "strength": "stated"109 }110 ]111}112```113114## Best Practices1151161. **Check what exists first**: Use `memory.recall` with broad query like "uses" to see existing facts1172. **Don't duplicate**: Skip facts that are already stored1183. **Include quotes**: Reference the specific line or file where you found the information1194. **Use `stated` strength**: For explicit declarations in config files1205. **Be selective**: Only store durable, useful facts—not every dependency121122## Scope123124- Use `scope_hint: "project"` for project-specific facts (default)125- Use `scope_hint: "global"` for user preferences found in global config files126127---128> Converted and distributed by [TomeVault](https://tomevault.io/claim/codenamev) — claim your Tome and manage your conversions.129<!-- tomevault:4.0:skill_md:2026-04-11 -->