Skill
Community

project-type-determination

Install
1
Install the plugin
$
npx claudepluginhub it-bens/claude-code-plugins --plugin python-plan-optimizer

Want just this skill?

Then install: npx claudepluginhub u/[userId]/[slug]

Description

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.

Tool Access

This skill is limited to using the following tools:

ReadGrepGlobAskUserQuestion
Skill Content

Project Type Determination

Determine the project type to configure appropriate analysis thresholds for the python-plan-optimization skill.

Core Mission

Identify the project type through a 3-step workflow:

  1. Check if type was explicitly provided in the invoking prompt
  2. Scan plan files for explicit project type statements
  3. Ask the user if type cannot be determined

Deliverable: Project type classification with source attribution.

Supported Project Types

TypeKey CharacteristicAnalysis Mode
pocProof of concept, throw-away codeCritical issues only
mvpMinimum viable product, ship fastCritical + High issues
privatePersonal/learning projectAll issues, educational
enterpriseProduction team projectAll issues, verification required
opensourcePublic library/toolAll issues, types + docs required

Workflow

Step 1: Check Invoking Prompt

Look for explicit project type in the user's request:

Direct Mentions:

  • "Analyze my enterprise project's PLAN.md"
  • "Review this MVP plan"
  • "Check my POC code in design.md"
  • "Review my open source library"
  • "Analyze my personal project"

Pattern Matching:

PatternDetected Type
enterprise, productionenterprise
mvp, minimum viablemvp
poc, proof of concept, prototype, spikepoc
open source, public library, pypi, pip installopensource
personal, private, learning, experimentprivate

If type found in prompt:

project_type: [detected type]
source: prompt

Done. Skip to Output.

If not found: Continue to Step 2.


Step 2: Scan Documents for Explicit Statements

Read the target documents and search for explicit project type declarations.

Explicit Statement Patterns:

TypePatterns 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:

  1. Use Grep to search document(s) for type patterns
  2. Look in document headers, introductions, and project descriptions
  3. Check for explicit statements like "This is a plan for an MVP"

If explicit statement found:

project_type: [detected type]
source: document

Done. Skip to Output.

If not found: Continue to Step 3.


Step 3: Ask User

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:

SelectionType
Private (Recommended)private
Open Sourceopensource
Enterpriseenterprise
MVPmvp
POCpoc
Other (custom input)Parse or default to private

After user responds:

project_type: [selected type]
source: user

Output Format

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

Constraints

DO:

  • Check prompt first (fastest path)
  • Use exact pattern matching for document scanning
  • Present explanation before asking user
  • Default to "private" for ambiguous "Other" responses

DO NOT:

  • Guess project type from code characteristics
  • Infer type from file structure or naming
  • Make assumptions about team size or deployment
  • Skip the user question when type is ambiguous

Success Criteria

Skill succeeds when:

  • Project type is determined through one of three methods
  • Output contains valid project_type and source
  • User interaction (if needed) provides clear explanation before question
Stats
Stars0
Forks0
Last CommitDec 24, 2025

Similar Skills