skills/consiliency/stack-analyzer/SKILL.md
Analyze project stack and recommend skills. Auto-detects frameworks, activates generic ai-dev-kit skills, and optionally scaffolds project-specific skills in the target repo.
npx skillsauth add aiskillstore/marketplace stack-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A meta-skill that analyzes a project's technology stack and recommends or scaffolds appropriate skills for AI-assisted development. This skill runs automatically during /ai-dev-kit:setup but can also be invoked manually.
Leave No Trace: The ai-dev-kit plugin must be completely removable without leaving artifacts. This skill enforces:
| Component | Location | On Uninstall |
|-----------|----------|--------------|
| Generic skills | plugins/ai-dev-kit/skills/ | Removed with plugin |
| Project-specific skills | Target repo .claude/skills/ | User's choice |
| Generated manifest | .claude/skills/_generated.json | User's choice |
All ai-dev-kit skills are framework-generic, not tailored to any specific codebase:
| Pattern | Correct | Wrong | |---------|---------|-------| | BAML skill | Universal BAML patterns | CodeGraph-DE-specific DTOs | | Supabase skill | General best practices | Book-Vetting-specific queries | | Schema alignment | Works with any ORM | Assumes specific models |
| Variable | Default | Description | |----------|---------|-------------| | AUTO_ACTIVATE | false | Automatically activate recommended generic skills | | SCAFFOLD_SKILLS | false | Scaffold project-specific skills in target repo | | OUTPUT_REPORT | true | Generate recommendation report | | MANIFEST_PATH | .claude/skills/_generated.json | Path for generated manifest |
MANDATORY - Follow the Workflow steps below in order.
library-detection skill to get project stackIf you're about to:
STOP -> Verify the detection results -> Use generic patterns -> Then proceed
Invoke the library-detection skill first:
Read and execute plugins/ai-dev-kit/skills/library-detection/SKILL.md
This returns:
- languages (typescript, python, etc.)
- frameworks (react, fastapi, etc.)
- test_frameworks (vitest, pytest, etc.)
- databases (postgresql, sqlite, etc.)
- build_tools (vite, uv, etc.)
Load recommendations from ./config/recommendations.yaml and match:
For each detected technology:
IF matches skill activation rule:
Add to recommended_skills list
IF matches scaffold template rule:
Add to scaffold_candidates list
Create a recommendation report:
# Stack Analysis Report
## Detected Stack
- **Languages**: TypeScript, Python
- **Frameworks**: Next.js, FastAPI
- **Database**: PostgreSQL (via Supabase)
- **Test**: Vitest, Pytest
- **AI/ML**: BAML
## Recommended Generic Skills (in plugin)
| Skill | Reason | Status |
|-------|--------|--------|
| baml-integration | BAML detected in baml_src/ | Active |
| supabase-patterns | Supabase dependency found | Active |
| schema-alignment | SQLAlchemy detected | Active |
## Project-Specific Skills (scaffoldable)
| Template | Trigger | Output |
|----------|---------|--------|
| project-research | 3 research subagents found | .claude/skills/{project}-research/ |
| project-domain | Models in src/models/ | .claude/skills/{project}-domain/ |
For each scaffold candidate:
# 1. Copy template to target repo
cp -r ./templates/{template}/ ${TARGET_REPO}/.claude/skills/{project}-{template}/
# 2. Add generation header to SKILL.md
echo "<!-- Generated by ai-dev-kit:recommend-skills on $(date) -->" | \
cat - ./templates/{template}/SKILL.md > temp && mv temp SKILL.md
# 3. Customize with project name
sed -i "s/{project}/${PROJECT_NAME}/g" SKILL.md
Create or update .claude/skills/_generated.json:
{
"generated_by": "ai-dev-kit:recommend-skills",
"generated_at": "2025-12-24T10:00:00Z",
"plugin_version": "1.0.0",
"skills_created": [
{
"path": ".claude/skills/book-vetting-research/",
"template": "project-research",
"created_at": "2025-12-24T10:00:00Z"
}
],
"docs_created": [
"ai-docs/libraries/baml/"
],
"cleanup_instructions": "These files were generated by ai-dev-kit. You may delete them after uninstalling the plugin."
}
| Skill | Detection Criteria |
|-------|-------------------|
| baml-integration | baml_src/**/*.baml exists OR baml-py/baml dependency |
| supabase-patterns | supabase dependency OR supabase/migrations/ exists |
| schema-alignment | sqlalchemy/prisma/django/alembic detected |
| treesitter-patterns | tree-sitter/tree_sitter dependency |
| security-audit | Always recommended for production codebases |
| Template | Detection Criteria |
|----------|-------------------|
| project-research | .claude/commands/**/research/** OR subagent.*research pattern |
| project-domain | src/models/** OR services/domain/** exists |
| project-testing | Custom test patterns beyond standard frameworks |
For projects with research-oriented subagents:
templates/project-research/
├── SKILL.md # Customized research patterns
├── cookbook/
│ └── research-workflow.md
└── reference/
└── source-types.md
For projects with rich domain models:
templates/project-domain/
├── SKILL.md # Domain vocabulary and patterns
├── cookbook/
│ └── entity-relationships.md
└── reference/
└── domain-glossary.md
For projects with custom testing requirements:
templates/project-testing/
├── SKILL.md # Custom test patterns
├── cookbook/
│ └── test-fixtures.md
└── reference/
└── coverage-requirements.md
Automatically runs during brownfield setup:
1. User runs: /ai-dev-kit:setup
2. Setup invokes: stack-analyzer skill
3. Stack analyzer:
- Detects stack
- Displays recommendations
- Prompts: "Activate recommended skills? [y/N]"
- If yes: marks skills as active
- Prompts: "Scaffold project-specific skills? [y/N]"
- If yes: creates skills in target repo
4. Setup continues with remaining steps
Direct invocation:
# Report only (no changes)
/ai-dev-kit:recommend-skills
# Auto-activate generic skills
/ai-dev-kit:recommend-skills --auto-activate
# Scaffold project-specific skills
/ai-dev-kit:recommend-skills --scaffold
# All options
/ai-dev-kit:recommend-skills --auto-activate --scaffold --output=report.md
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"detected_stack": {
"type": "object",
"description": "Output from library-detection skill"
},
"recommended_skills": {
"type": "array",
"items": {
"type": "object",
"properties": {
"skill": {"type": "string"},
"reason": {"type": "string"},
"status": {"enum": ["recommended", "active", "not_applicable"]}
}
}
},
"scaffold_candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"template": {"type": "string"},
"trigger": {"type": "string"},
"output_path": {"type": "string"},
"created": {"type": "boolean"}
}
}
},
"manifest_updated": {"type": "boolean"},
"manifest_path": {"type": "string"}
}
}
When ai-dev-kit plugin is removed, inform user:
## ai-dev-kit Uninstall Notice
The following files were generated by ai-dev-kit and persist after uninstall:
**Project-specific skills:**
- .claude/skills/book-vetting-research/
- .claude/skills/book-vetting-domain/
**Documentation:**
- ai-docs/libraries/baml/
- ai-docs/libraries/supabase/
See .claude/skills/_generated.json for full list.
These files are safe to delete if no longer needed.
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.