Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Features

ASecurity

Create a `product-analyzer` **skill** that analyzes the codebase against product goals to identify: - Feature gaps (goals without implementation) - User experience improvements - Business value opportunities - Strategic alignment issues

6 stars
0 votes
0 copies
0 views
Added 10/6/2026
ai-agentsgorailsapi

Works with

api

Security Analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned 10/6/2026

$npx -y skills add BrennonTWilliams/little-loops --skill features --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Features?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Features
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/brennontwilliams-features/badge)](https://www.skillsdirectory.com/skills/brennontwilliams-features)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
P0-FEAT-3398-quality-regression-detection-with-model-attribution.md
---
discovered_commit: b20aa691700cd09e7071bc829c943e3a83876abf
discovered_branch: main
discovered_date: 2026-01-06T20:47:28Z
status: done
completed_at: 2026-02-13T00:00:00Z
priority: P1
---

# FEAT-022: Product Analyzer Skill

## Summary

Create a `product-analyzer` **skill** that analyzes the codebase against product goals to identify:
- Feature gaps (goals without implementation)
- User experience improvements
- Business value opportunities
- Strategic alignment issues

This skill operates at the product/business level, complementing the existing technical analysis capabilities.

> **Note**: Originally proposed as an agent, this was revised to be a skill per project guidelines: "Prefer Skills over Agents. Skills are simpler, more composable, and can be invoked directly. Reserve Agents for complex, autonomous multi-step tasks."

## Motivation

Current agents (`codebase-analyzer`, `codebase-pattern-finder`, etc.) focus on technical aspects:
- Code quality
- Architectural patterns
- Implementation details

None answer the question: **"Is this codebase delivering on its product goals?"**

The `product-analyzer` skill bridges this gap by:
1. Reading product goals from `ll-goals.md`
2. Mapping goals to codebase capabilities
3. Identifying where code falls short of product vision
4. Suggesting features that would advance strategic priorities

**Why a Skill, not an Agent:**
- Single-purpose analysis with fixed input/output
- No autonomous multi-step decision-making needed
- No sub-agent spawning required
- Command `/ll:scan-product` orchestrates; skill provides instructions

## Proposed Implementation

### 1. Skill Definition

Create `skills/product-analyzer/SKILL.md` (following the project's skills directory structure pattern):

```markdown
---
description: |
  Analyzes codebase against product goals to identify feature gaps,
  user experience improvements, and business value opportunities.
  Requires product analysis to be enabled and ll-goals.md to exist.

  Trigger keywords: "product analysis", "analyze product goals",
  "feature gaps", "product scan", "goal alignment"
---

# Product Analyzer Skill

You are a product-focused analyst examining a codebase against defined product goals.

## Context

You have access to:
1. **Product Goals** (`.claude/ll-goals.md`): Vision, personas, metrics, priorities
2. **Codebase**: Full read access to understand current capabilities
3. **Existing Issues** (`.issues/`): To avoid duplicating known work

## Analysis Framework

### 1. Goal-Gap Analysis

For each strategic priority in the goals document:
- Identify code that supports this goal
- Identify gaps where no code exists
- Rate alignment: Strong | Partial | Weak | Missing

### 2. Persona Journey Analysis

For each defined persona:
- Trace their likely usage paths through the code
- Identify friction points (complex APIs, missing features)
- Suggest improvements from their perspective

### 3. Business Value Opportunities

Look for:
- Features competitors likely have that are missing
- Underutilized capabilities that could be promoted
- Technical capabilities without user-facing exposure
- Quick wins with high user impact

## Output Format

Return findings as structured data:

```yaml
findings:
  - type: feature_gap
    issue_type: FEAT  # Will become FEAT-XXX with product context
    title: "Missing batch processing for large codebases"
    goal_alignment: "Maximize automation"
    persona_impact: "Developer"
    business_value: High
    effort: Medium
    evidence:
      - file: "scripts/little_loops/issue_manager.py"
        observation: "Processes issues sequentially, no batch mode"
      - file: ".claude/ll-goals.md"
        observation: "Goal states 'maximize automation'"

  - type: ux_improvement
    issue_type: ENH  # Will become ENH-XXX with product context
    title: "Progress feedback during long scans"
    goal_alignment: "Improve issue accuracy"
    persona_impact: "Developer"
    user_pain: "Users don't know if scan is progressing or stuck"
    business_value: Medium
    effort: Small
    evidence:
      - file: "commands/scan_codebase.md"
        observation: "No progress indicators for multi-file scans"
```

**Note**: All findings become standard FEAT-XXX or ENH-XXX issues with product context fields populated. There is no separate PROD issue type.

## Constraints

- Only analyze if `product.enabled: true` in config
- Return empty result if `ll-goals.md` doesn't exist
- Focus on product/business aspects, not technical debt
- Each finding must tie back to a goal or persona
```

### 2. Skill Behavior Specification

When invoked (via `/ll:scan-product` or directly), the skill should:

**Read First**:
1. `.claude/ll-goals.md` - Product goals (required)
2. `.claude/ll-config.json` - Check `product.enabled`
3. `.issues/**/*.md` - Existing issues (avoid duplicates)

**Analyze**:
1. Map strategic priorities to code areas
2. Trace persona journeys through public APIs/commands
3. Compare capabilities to stated goals

**Return**:
- Structured findings with evidence
- Each finding linked to goals/personas
- Business value and effort estimates
- File:line references for evidence

### 3. Integration with Existing Components

The `product-analyzer` skill complements technical analysis but runs separately:

| Component | Type | Focus | Finds | Used By |
|-----------|------|-------|-------|---------|
| `codebase-analyzer` | Agent | Implementation | Bugs, tech debt | `/ll:scan-codebase` |
| `codebase-pattern-finder` | Agent | Architecture | Patterns, anti-patterns | `/ll:scan-codebase` |
| `product-analyzer` | **Skill** | Product | Feature gaps, UX issues | `/ll:scan-product` |

**Separation of Concerns**: Technical and product scanning are kept separate. `/ll:scan-codebase` remains focused on technical issues. `/ll:scan-product` is the dedicated command for product-focused analysis.

**Why a Skill here but Agents for codebase analysis?**
- Codebase analyzers need autonomous exploration across many files with dynamic decisions
- Product analyzer has a fixed workflow: read goals → scan codebase → compare → output

### 4. Guardrails

Prevent misuse:
- **Requires goals**: Returns empty if no `ll-goals.md`
- **Requires opt-in**: Checks `product.enabled` before analyzing
- **No hallucination**: Every finding must cite file:line evidence
- **Deduplication**: Checks existing issues before suggesting new ones

## Location

- **New File**: `skills/product-analyzer/SKILL.md` (following the skills directory structure pattern)
- **Used By**: `commands/scan_product.md` (dedicated product scanning command)

## Current Behavior

No skill exists for product-level analysis. All scanning is technical.

## Expected Behavior

When product analysis is enabled:
1. Skill reads goals document
2. Analyzes codebase against goals
3. Returns structured findings with business context
4. Findings become FEAT-XXX or ENH-XXX issues with product impact fields

## Acceptance Criteria

- [ ] Skill file `skills/product-analyzer/SKILL.md` created with complete prompt
- [ ] Skill returns empty result when `product.enabled: false`
- [ ] Skill returns empty result when `ll-goals.md` doesn't exist
- [ ] Skill output follows structured YAML format with required fields
- [ ] Integration test: skill produces valid findings for sample goals file
- [ ] Findings include file:line evidence references
- [ ] Deduplication check against existing issues works

## Impact

- **Severity**: High - Core capability for Product dimension
- **Effort**: Medium - New skill with detailed prompt
- **Risk**: Medium - Requires careful prompt engineering to avoid hallucination

## Dependencies

- FEAT-020: Product Analysis Opt-In Configuration
- FEAT-021: Goals/Vision Ingestion Mechanism

## Blocked By

- ~~FEAT-020~~ (completed 2026-01-22)
- ~~FEAT-021~~ (completed 2026-01-29)

**Status**: All blockers completed - issue is now ready for implementation

## Blocks

- FEAT-023: Product Scanning Integration
- ENH-024: Product Impact Fields in Issue Templates

## Labels

`feature`, `product-dimension`, `skill`, `analysis`

---

## Verification Notes

**Verified: 2026-01-24**

- Blocker FEAT-020 (Product Analysis Opt-In Configuration) is now **completed**
- Remaining blocker: FEAT-021 (Goals/Vision Ingestion Mechanism)
- `skills/product-analyzer.md` does not exist - issue description remains accurate

**Verified: 2026-02-01**

- Terminology is consistently "skill" throughout this issue
- FEAT-023 updated to use "skill" terminology (previously had inconsistent "agent" references)

**Verified: 2026-02-01**

- Both dependencies completed: FEAT-020 (2026-01-22) and FEAT-021 (2026-01-29)
- `skills/product-analyzer/SKILL.md` does not exist - ready for implementation
- Config schema has `product.enabled` configuration from FEAT-020
- Goals file mechanism exists from FEAT-021
- Path corrected to follow skills directory structure pattern

---

---

## Resolution

- **Action**: implement
- **Completed**: 2026-02-01
- **Status**: Completed

### Changes Made
- `skills/product-analyzer/SKILL.md` - Created new skill for product-level analysis

### Verification Results
- Tests: PASS (2109 tests passed)
- Lint: PASS (pre-existing issues only)
- Types: PASS (no issues found)

### Acceptance Criteria Met
- [x] Skill file `skills/product-analyzer/SKILL.md` created with complete prompt
- [x] Skill returns empty result when `product.enabled: false` (Guardrails section)
- [x] Skill returns empty result when `ll-goals.md` doesn't exist (Guardrails section)
- [x] Skill output follows structured YAML format with required fields (Output Format section)
- [x] Findings include file:line evidence references (evidence field in output schema)
- [x] Deduplication check against existing issues defined (Deduplication Check section)

---

## Status

**Completed** | Created: 2026-01-06 | Priority: P1

Attribution

BrennonTWilliamsBrennonTWilliams
View sourceSee grades on GitHubMore from BrennonTWilliams →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →