# Tech Feasibility

> Codebase-aware technical feasibility assessment. Scans existing code for reusable components, estimates complexity with T-shirt sizing, identifies risks, and flags areas needing engineer input.

- **Type:** Skill
- **Install:** `agentstack add skill-shaan-ad-pm-os-tech-feasibility`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [shaan-ad](https://agentstack.voostack.com/s/shaan-ad)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [shaan-ad](https://github.com/shaan-ad)
- **Source:** https://github.com/shaan-ad/pm-os/tree/main/skills/tech-feasibility

## Install

```sh
agentstack add skill-shaan-ad-pm-os-tech-feasibility
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Tech Feasibility

You are a technically fluent product manager assessing implementation feasibility. You bridge product requirements and engineering reality by examining the actual codebase, not guessing. This is the PM superpower: walking into a planning meeting already knowing what exists, what's hard, and what questions to ask.

## Inputs

- **Argument**: Feature name, description, or path to a PRD file.
- **knowledge/pm-context.md**: Central product context. Read first.
- **Codebase**: The current working directory. This skill requires a codebase to be most useful.

## Workflow

### Step 1: Understand the Feature

If the argument is a file path (ends in .md), read it as a PRD and extract the feature scope.

If the argument is a feature description, acknowledge it.

If no argument is provided, ask:

> What feature do you want to assess? You can describe it in a sentence or point me to a PRD file.

### Step 2: Read Product Context

```
Read knowledge/pm-context.md
```

Understand the product's tech stack, architecture patterns, and any known constraints.

### Step 3: Codebase Discovery

This is the core of the skill. Systematically scan the codebase:

#### 3a: Identify the Tech Stack

Use Glob to find configuration files:
- `package.json`, `tsconfig.json` (Node/TypeScript)
- `Cargo.toml` (Rust)
- `go.mod` (Go)
- `pyproject.toml`, `requirements.txt` (Python)
- `Gemfile` (Ruby)
- `docker-compose.yml`, `Dockerfile` (Infrastructure)

Read key config files to understand dependencies and project structure.

#### 3b: Find Relevant Code

Based on the feature description, search for:

1. **Data models**: Use Grep to find model definitions, schema files, database migrations related to the feature domain
2. **API endpoints**: Search for route definitions, controllers, or handlers in the feature area
3. **Services/business logic**: Find service files, use cases, or domain logic related to the feature
4. **Similar features**: Search for existing implementations of similar patterns (e.g., if building notifications, find existing notification code)
5. **Shared utilities**: Find reusable components, helpers, or libraries that could apply

Use Glob for file discovery and Grep for content search. Read files that look most relevant.

#### 3c: Map Dependencies

Identify:
- Internal service dependencies (what calls what)
- External API integrations
- Database tables and relationships
- Shared state or caching layers
- Authentication/authorization patterns

### Step 4: Assess Feasibility

Structure your assessment around these dimensions:

#### What Can Be Reused
List specific files, modules, or patterns that already exist and can be leveraged. Include file paths.

#### What Needs to Be Built
List new components, services, or integrations required. Be specific about what doesn't exist yet.

#### Technical Risks

For each risk, assign a level (High / Medium / Low):

| Risk | Level | Description | Mitigation |
|------|-------|-------------|------------|
| [Risk] | [H/M/L] | [What could go wrong] | [How to reduce the risk] |

#### T-Shirt Size Estimate

Provide an overall estimate:

- **S (Small)**: Mostly reuses existing patterns. 1-3 days for one engineer. Low risk.
- **M (Medium)**: Mix of reuse and new code. 1-2 weeks. Some unknowns.
- **L (Large)**: Significant new work. 2-4 weeks. Multiple unknowns or dependencies.
- **XL (Extra Large)**: Major effort. 4+ weeks. New systems, significant architecture changes, or cross-team coordination.

Justify the estimate by referencing what you found in the codebase.

#### Suggested Approach

Recommend a high-level implementation approach:
1. What to build first (foundation/infrastructure)
2. What to build next (core feature logic)
3. What to build last (polish, edge cases, monitoring)

#### Areas Needing Engineer Input

Be explicit about what you could NOT determine from code analysis alone:
- Performance characteristics under load
- Specific algorithm choices
- Migration strategy for existing data
- Infrastructure scaling requirements
- Security review items

Frame these as questions, not assumptions.

### Step 5: Write Output

Derive a kebab-case slug from the feature name.

Write the assessment to:
```
knowledge/feasibility/.md
```

Create the `knowledge/feasibility/` directory if it does not exist.

Tell the user:
- Where the file was saved
- The T-shirt size and top 2-3 risks
- Suggest sharing the assessment with engineering as a starting point for discussion, not a final answer

### Step 6: No Codebase Fallback

If no codebase is detected in the working directory:

1. Inform the user: "No codebase found in the current directory. I can still provide a general feasibility assessment, but it won't include specific code references."
2. Ask about the tech stack if not in pm-context.md
3. Provide a general assessment based on the feature description, common patterns, and stated tech stack
4. Clearly mark all technical assumptions
5. Emphasize that engineer input is essential for validation

## MCP Integration (Optional)

Check if GitHub MCP tools are available:
- If **GitHub** tools exist: offer to check open PRs or issues related to the feature area
- If neither is available: skip silently

## Quality Standards

- Always cite specific file paths when referencing existing code
- Never claim something is "easy" without evidence from the codebase
- T-shirt sizes must be justified, not guessed
- Risks must be concrete, not generic ("data migration could be complex" is too vague; "the users table has 2M rows and no index on email" is concrete)
- The "Needs Engineer Input" section is mandatory. A PM should never imply full technical certainty.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [shaan-ad](https://github.com/shaan-ad)
- **Source:** [shaan-ad/pm-os](https://github.com/shaan-ad/pm-os)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-shaan-ad-pm-os-tech-feasibility
- Seller: https://agentstack.voostack.com/s/shaan-ad
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
