Determines project type from context to configure analysis thresholds. Checks prompt, scans documents, or asks user if type cannot be inferred. Outputs project_type for use by python-plan-optimization skill.
This skill is limited to using the following tools:
Determine the project type to configure appropriate analysis thresholds for the python-plan-optimization skill.
Identify the project type through a 3-step workflow:
Deliverable: Project type classification with source attribution.
| Type | Key Characteristic | Analysis Mode |
|---|---|---|
| poc | Proof of concept, throw-away code | Critical issues only |
| mvp | Minimum viable product, ship fast | Critical + High issues |
| private | Personal/learning project | All issues, educational |
| enterprise | Production team project | All issues, verification required |
| opensource | Public library/tool | All issues, types + docs required |
Look for explicit project type in the user's request:
Direct Mentions:
Pattern Matching:
| Pattern | Detected Type |
|---|---|
enterprise, production | enterprise |
mvp, minimum viable | mvp |
poc, proof of concept, prototype, spike | poc |
open source, public library, pypi, pip install | opensource |
personal, private, learning, experiment | private |
If type found in prompt:
project_type: [detected type]
source: prompt
→ Done. Skip to Output.
If not found: Continue to Step 2.
Read the target documents and search for explicit project type declarations.
Explicit Statement Patterns:
| Type | Patterns to Match |
|---|---|
| poc | "This is a (POC|proof of concept|prototype)", "POC for...", "Spike to validate..." |
| mvp | "MVP (for|development|plan)", "Minimum viable product", "MVP plan for..." |
| private | "Personal project", "Private project", "Learning exercise", "Experiment to..." |
| enterprise | "Enterprise (system|deployment|project)", "Production (system|deployment)", "Enterprise-grade" |
| opensource | "Open source (library|package|project)", "Public (library|package|API)", "PyPI package", "Published to PyPI", "pip install" |
Search Strategy:
If explicit statement found:
project_type: [detected type]
source: document
→ Done. Skip to Output.
If not found: Continue to Step 3.
When project type cannot be determined from context, ask the user.
First, output explanation text:
I could not determine the project type from the prompt or documents. The project type affects analysis depth:
- POC: Critical issues only (throw-away code)
- MVP: Critical + High (ship fast, track debt)
- Private: All suggestions (learning focus)
- Enterprise: Strict analysis, verification required
- Open Source: API stability, required types & docs
Then invoke AskUserQuestion:
questions:
- question: "What type of project is this?"
header: "Project Type"
multiSelect: false
options:
- label: "Private (Recommended)"
description: "Full analysis with all suggestions - best for learning and personal projects"
- label: "Open Source"
description: "API-focused with required type hints and documentation"
- label: "Enterprise"
description: "Strict analysis with verification required for all claims"
- label: "MVP"
description: "Balanced analysis - critical and high priority issues only"
- label: "POC"
description: "Minimal analysis - only critical blocking issues"
Map user selection to type:
| Selection | Type |
|---|---|
| Private (Recommended) | private |
| Open Source | opensource |
| Enterprise | enterprise |
| MVP | mvp |
| POC | poc |
| Other (custom input) | Parse or default to private |
After user responds:
project_type: [selected type]
source: user
Always output in this format for the optimization skill to parse:
project_type: [poc|mvp|private|enterprise|opensource]
source: [prompt|document|user]
Example Outputs:
# Type found in prompt
project_type: enterprise
source: prompt
# Type found in document
project_type: mvp
source: document
# User selected type
project_type: private
source: user
DO:
DO NOT:
Skill succeeds when:
project_type and source