Awesome-omni-skill project-analysis
Knowledge about analyzing projects for tech stack, frameworks, tools, and conventions. Use when asked to understand or learn about a project's structure.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/project-analysis-codenamev" ~/.claude/skills/diegosouzapw-awesome-omni-skill-project-analysis && rm -rf "$T"
manifest:
skills/development/project-analysis-codenamev/SKILL.mdsource content
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
- Ruby dependencies (Rails, RSpec, etc.)Gemfile
- JavaScript/TypeScript dependenciespackage.json
orpyproject.toml
- Python dependenciesrequirements.txt
- Rust dependenciesCargo.toml
- Go dependenciesgo.mod
orpom.xml
- Java dependenciesbuild.gradle
Configuration Files
- Project overview and setup instructionsREADME.md
- TypeScript configurationtsconfig.json
or.eslintrc*
- ESLint configurationeslint.config.*
- Prettier configuration.prettierrc*
or.rubocop.yml
- Ruby linting.standard.yml
- Container configurationDockerfile
- CI/CD configuration.github/workflows/*.yml
Convention Files
- Editor configuration.editorconfig
orCLAUDE.md
- AI assistant instructionsAGENTS.md
What to Extract
Look for and store facts about:
| Category | Predicate | Examples |
|---|---|---|
| Languages | | Ruby, TypeScript, Python, Go, Rust |
| Frameworks | | Rails, React, Next.js, Django, FastAPI |
| Tools | | RSpec, Jest, ESLint, Prettier, Docker |
| Databases | | PostgreSQL, MySQL, Redis, MongoDB |
| Package Manager | | Bundler, npm, pnpm, Poetry, Cargo |
| CI/CD | | GitHub Actions, CircleCI, GitLab CI |
| Conventions | | 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
with broad query like "uses" to see existing factsmemory.recall - Don't duplicate: Skip facts that are already stored
- Include quotes: Reference the specific line or file where you found the information
- Use
strength: For explicit declarations in config filesstated - Be selective: Only store durable, useful facts—not every dependency
Scope
- Use
for project-specific facts (default)scope_hint: "project" - Use
for user preferences found in global config filesscope_hint: "global"