agentleFS
MrCipherSmithMrCipherSmith/goodai-base/skills/feature-analyzer/SKILL.md

feature-analyzer

Skill0 starsChanged 5 months agoMITView on GitHub

Use when analyzing feature branch changes across repos, planning implementation, or understanding backend→frontend contracts. NEVER start without explicit user confirmation of source, target, and branch.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. About 0 are common, 12 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If you were dispatched as a subagent to execute a specific task, skip this skill entirely.

    line 21
  2. Distinctive:

    Use for: reviewing PRs, understanding feature implementation

    line 73
  3. Distinctive:

    Use for: understanding system, formalizing features, exploring codebase

    line 78
  4. Very specific:

    Prepared input: Use skills/feature-analyzer/analysis-request.template.md to prepare structured input.

    line 88
  5. Distinctive:

    When user specifies a focus area (e.g., "variables in pipelines"):

    line 110
  6. Distinctive:

    If unavailable: notify user, offer Option A (restart MCP) or Option B (git-only, limited context)

    line 234
  7. Distinctive:

    When focus specified: boost files matching focus keywords to P0.

    line 288
  8. Distinctive:

    Find and analyze tests: look for matching test files, understand coverage

    line 302
  9. Very specific:

    Check rules compliance: verify against code-style-patterns.mdc

    line 303
  10. Distinctive:

    Target deep dive: read 2-3 key components that will need changes

    line 311
  11. Very specific:

    Target rules compliance: check .cursor/rules/core/*.mdc in target repo

    line 312
  12. Very specific:

    Check AGENTS.md for available tools (playwright-testing.mdc, storybook-guidelines.mdc).

    line 318
  13. Distinctive:

    Before finalizing, consider running:

    line 324
  14. Distinctive:

    After completing analysis, show user before generating full report:

    line 333
  15. Distinctive:

    Wait for user confirmation before generating full report.

    line 361
  16. Very specific:

    Every claim MUST reference specific code: filename.ts:L123

    line 394
  17. Very specific:

    Follow documentation-management.mdc: update <DOCS_ROOT>/readme.md, add entry to analysis index, tag with keywords.

    line 440
  18. Distinctive:

    All P0 files analyzed completely

    line 464

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<SUBAGENT-STOP> If you were dispatched as a subagent to execute a specific task, skip this skill entirely. This skill is for orchestrators and interactive session-level routing only. Proceed directly with your assigned task. </SUBAGENT-STOP>

Feature Analyzer

⚠️ MANDATORY: DO NOT PROCEED WITHOUT CONTEXT

CRITICAL RULE: You CANNOT start analysis until user explicitly provides:

  1. ✅ Source repository (local path)
  2. ✅ Target repository (local path)
  3. ✅ Branch to analyze
  4. ✅ Confirmation of analysis scope

DO NOT assume defaults. DO NOT use current directory. DO NOT proceed without asking.

If user says: "Analyze everything related to variables in pipelines"

You MUST respond:

I'll help you analyze variables in pipelines. First, I need to clarify the context:

**SOURCE Repository** (where the changes exist):
- Local path: [user must provide, e.g., /Users/.../<PROJECT>]
- GitHub repo: [owner/repo]
- Branch to analyze: [branch-name]

**TARGET Repository** (where implementation will happen):
- Local path: [user must provide, e.g., /Users/.../<PROJECT>]
- GitHub repo: [owner/repo]
- Current branch: [branch-name]

**FOCUS** (from your request): "variables in pipelines"
- Keywords: variable, pipeline, param

Once you provide these details, I'll begin the focused analysis.

If user doesn't provide all required info → STOP and ask again.


Purpose

Performs deep cross-repository analysis to understand business logic, architecture, API contracts, and implementation requirements. Generates structured documentation for both human developers and AI agents.

Two Analysis Modes:

Mode A — Changes Analysis (when base-branch provided):

  • Analyze what changed FROM base-branch TO current branch
  • Shows: additions, modifications, deletions
  • Use for: reviewing PRs, understanding feature implementation

Mode B — Current State Analysis (when NO base-branch provided):

  • Analyze ENTIRE codebase as it exists NOW
  • Shows: existing functionality, architecture, patterns
  • Use for: understanding system, formalizing features, exploring codebase

Input

Required context (ask before starting):

  • Source repository path + GitHub repo + branch to analyze
  • Target repository path + current branch
  • Analysis mode (A: changes from base-branch, or B: current state)
  • Optional: GitHub Issue/PR URL, analysis focus keyword

Prepared input: Use skills/feature-analyzer/analysis-request.template.md to prepare structured input. Example: See skills/feature-analyzer/analysis-request.md for a filled example.


When to Use

Mode A — Changes Analysis:

  • "Analyze feature branch changes from main"
  • "Review what changed in this PR"
  • "Compare feature-x with develop branch"

Mode B — Current State Analysis:

  • "Analyze everything related to variables in pipelines"
  • "How does authentication work in this codebase?"
  • "Document the pipeline execution flow"
  • "Formalize the user management feature"

User-Specified Analysis Focus

When user specifies a focus area (e.g., "variables in pipelines"):

Priority Boost Rules:

  • Files matching focus keywords → Boost to P0 (even if normally P1/P2)
  • Files referencing focus entities → +1 priority level
  • Files in relevant directories → +1 priority level

Keyword extraction: parse main concept ("variables") + context ("pipelines") from user request.

For detailed focus algorithm, bash search commands, and relationship mapping examples, see SKILL.detail.md.


Workflow

Copy this checklist and track progress based on your Analysis Mode:

Mode A: Changes Analysis (with base-branch)

Analysis Progress - Mode A (Changes):
🚫 PRE-STEP: VALIDATE CONTEXT
  □ Source repository path: _____________
  □ Target repository path: _____________
  □ Branch to analyze: _____________
  □ Base branch provided: _____________ (e.g., "main")
  □ Analysis Mode: A (Changes)
  □ User explicitly confirmed: _____________
□ Step 0.1: Check for existing analysis (cache lookup)
□ Step 0: Gather context (source, target, branch, base-branch, focus)
□ Step 1: GitHub MCP availability check
□ Step 2: Analyze GitHub issue/PR (if provided)
□ Step 3: Calculate BASE_SHA from merge-base (last branching point)
□ Step 4: Collect git changes (git diff BASE_SHA..HEAD)
□ Step 5: Categorize changed files: P0/P1/P2; apply focus boost
□ Step 6: Select 3-7 key files; Deep Dive — read selected files
□ Step 7: Analyze related tests
□ Step 8: Cross-repo dependency analysis
□ Step 9: Intermediate review (show user, wait for confirmation)
□ Step 10: Generate documentation
□ Step 11: Final validation and delivery
□ Step 12: Post-analysis (update doc registry)

Mode B: Current State Analysis (without base-branch)

Analysis Progress - Mode B (Current State):
🚫 PRE-STEP: VALIDATE CONTEXT
  □ Source repository path: _____________
  □ Target repository path: _____________
  □ Branch to analyze: _____________
  □ Base branch: NOT PROVIDED (Mode B)
  □ Analysis Mode: B (Current State)
  □ User explicitly confirmed: _____________
□ Step 0.1: Check for existing analysis (cache lookup)
□ Step 0: Gather context (source, target, branch, focus)
□ Step 1: GitHub MCP availability check
□ Step 2: Analyze GitHub issue/PR (if provided)
□ Step 3: SKIP (no base-branch comparison)
□ Step 4: Search ENTIRE codebase for focus-related files
□ Step 5: Discover and categorize ALL relevant files: P0/P1/P2; apply focus boost
□ Step 6: Select 3-10 key files; Deep Dive — read to understand functionality
□ Step 6.5: FORMALIZE functionality (business logic, API contracts, state, data flow)
□ Step 7: Analyze tests (understand coverage)
□ Step 8: Cross-repo dependency analysis (find usages)
□ Step 9: Intermediate review with formalization
□ Step 10: Generate documentation (Feature Specification)
□ Step 11: Final validation and delivery
□ Step 12: Post-analysis

Step 0: Context Gathering (MANDATORY)

CRITICAL: User MUST specify both Source and Target repositories.

Ask all questions in one message:

For cross-repository analysis, I need:

1. **SOURCE Repository** (where to analyze):
   - Local path: ?
   - GitHub repo (owner/repo): ?
   - Branch to analyze: ?

2. **TARGET Repository** (where implementation will happen, if applicable):
   - Local path: ?
   - GitHub repo (owner/repo): ?
   - Current branch: ?
   - (Can be same as source for single-repo analysis)

3. **Analysis Mode**:
   A. Changes Analysis — compare against base-branch (what changed)
      - Base branch: ? (e.g., "main", "develop")
   B. Current State Analysis — analyze codebase as-is (no base branch needed)

4. **Ticket/Reference** (GitHub Issue/PR URL, optional): ?

5. **Analysis Focus** (optional): specific area, e.g., "variables in pipelines", "auth changes"

No default paths — user must provide all locations explicitly.

Before Step 1, verify context is complete:

CONTEXT VALIDATION:
IF Source, Target, or Branch is missing → STOP, ask for missing info
IF Analysis mode not specified → ASK: Mode A (changes from base) or Mode B (current state)?
IF Mode A and no base branch → ASK: "What is the base branch?"
IF user says "just use current directory" → EXPLICITLY CONFIRM the path before proceeding

For detailed decision tree and conversation example, see SKILL.detail.md.


Step 1: GitHub MCP Availability Check

Before starting analysis:

  • Try to fetch simple repo info via GitHub MCP
  • If unavailable: notify user, offer Option A (restart MCP) or Option B (git-only, limited context)

Step 2: GitHub Issue/PR Analysis (if provided)

  • Fetch Issue/PR and all comments via GitHub MCP
  • Understand business goal — what problem does the feature solve?
  • Extract acceptance criteria and requirements

Step 3: Git Changes Collection

CRITICAL: Find the last branching point (merge-base), NOT the current HEAD of the parent branch. This ensures you analyze only feature branch changes, not unrelated changes from other merged PRs.

# Find branching point
BASE_SHA="$(git merge-base HEAD <parent_branch>)"

# Collect changes
git log --oneline "${BASE_SHA}..HEAD"
git diff --stat "${BASE_SHA}..HEAD"
git diff --name-status "${BASE_SHA}..HEAD"
git diff "${BASE_SHA}..HEAD"

For the full BASE_SHA detection algorithm (with fallback logic for main/master/upstream), see SKILL.detail.md.


Step 4: File Categorization and Prioritization

Priority Levels

P0 — MUST ANALYZE (Critical):

  • API contracts: DTOs, interfaces, type definitions
  • Public API endpoints (controllers, routes)
  • Database schema changes, auth changes, config changes

P1 — SHOULD ANALYZE (Important):

  • Business logic (services, use cases)
  • State management (stores, contexts)
  • Error handling, validation logic

P2 — NICE TO HAVE (Optional):

  • Pure UI components, refactoring, tests, docs, package updates

Standard File Selection

From P0: select up to 5 most important (sort by API contracts → business logic → infrastructure). From P1: select up to 3 if P0 < 3. Skip P2 unless P0+P1 < 3.

When focus specified: boost files matching focus keywords to P0; select ALL focus-matching P0 files.

For the full focus-based selection algorithm with examples, see SKILL.detail.md.


Step 5: Deep Dive Protocol

You CANNOT make conclusions from git diff alone. You MUST:

  1. Read selected files:
    • Small/medium files: read completely
    • Large files (> 500 lines): use outline/grep to locate relevant sections, then read only those ranges
  2. Understand context: architecture role, dependencies, what depends on it
  3. Find and analyze tests: look for matching test files, understand coverage
  4. Check rules compliance: verify against code-style-patterns.mdc

Step 6: Cross-Repository Analysis (Source → Target)

  1. Dependency search: find all target files importing changed DTOs/APIs from source
  2. Contract divergence: compare new source contracts with current target implementation
  3. Target deep dive: read 2-3 key components that will need changes
  4. Target rules compliance: check .cursor/rules/core/*.mdc in target repo

Step 7: UI Analysis (if applicable)

Check AGENTS.md for available tools (playwright-testing.mdc, storybook-guidelines.mdc). Analyze visual regression requirements, component behavior changes, accessibility impact.


Step 8: Integration with Other Skills

Before finalizing, consider running:

  • skills/code-style-review — if architecture changes detected
  • skills/code-ai-review — for self-validation of findings
  • skills/code-mobx-store-review — if store changes found

Step 9: Intermediate Review (CRITICAL)

After completing analysis, show user before generating full report:

═══════════════════════════════════════════════
   INTERMEDIATE ANALYSIS SUMMARY
═══════════════════════════════════════════════

Scope:
- Source: [repo] @ [branch]
- Target: [repo] @ [branch]
- Files analyzed: [N] (P0: [N], P1: [N])
- BASE_SHA: [sha]

Key Findings:
1. [Brief finding 1]
2. [Brief finding 2]

Cross-Repo Impact:
- [ ] Breaking API changes detected
- [ ] New endpoints to implement
- [ ] DTO changes affecting frontend

Estimated Complexity: [Low/Medium/High]

Continue to full documentation? [Y/n]
═══════════════════════════════════════════════

Wait for user confirmation before generating full report.


Step 10: Documentation Generation

Output Structure

<DOCS_ROOT>/analysis/<feature-name>-<YYYY-MM-DD>/
├── README.md                    # Index and navigation
├── report/
│   ├── en/report.md             # English for humans
│   ├── ru/report.md             # Russian for humans
│   └── ai/report.md             # Structured for AI agents (EN)
├── plans/
│   ├── en/implementation-plan.md
│   ├── ru/implementation-plan.md
│   └── ai/implementation-plan.md
├── contracts/
│   ├── api-changes.md           # API contract diff
│   └── dto-comparison.md        # Before/after DTOs
└── metrics/
    └── analysis-metrics.md      # Analysis metadata

The AI-readable format (report/ai/, plans/ai/) uses Gherkin-style scenarios.

For full Gherkin output format and syntax rules, see SKILL.detail.md.


Step 11: Content Requirements

  • Every claim MUST reference specific code: [filename.ts:L123](file:///absolute/path#L123)
  • Minimum 3 code examples per report
  • Mermaid diagrams for architecture, tables for DTO changes, flowcharts for data flow
  • Multi-language: en/ for humans, ru/ for humans, ai/ for AI agents

Step 12: Error Handling

SituationFallback
GitHub MCP unavailableUse git history only; notify user
No tests foundNote risk, recommend coverage
Cannot determine BASE_SHAAsk user for parent branch, or use --first-parent estimate
Empty diffCheck staged (--cached), untracked (git status), wrong branch
Cross-repo access deniedAsk for manual path, or do source-only analysis

Step 13: Analysis Metrics

Track and include in metrics/analysis-metrics.md:

  • Duration, files analyzed (P0/P1/P2), lines changed
  • Cross-repo dependencies, API endpoints changed, DTOs modified
  • Breaking changes count, test coverage %, risk level
  • Complexity score: (P0×3) + (P1×2) + (P2×1) + (breaking_changes×5) — 0-10 low, 11-25 medium, 26+ high

Step 14: Validation Checklist

Before finalizing:

  • All P0 files analyzed completely
  • Target repository analyzed (if cross-repo)
  • Minimum 3 code examples included
  • All file references include line numbers
  • API contracts documented
  • Breaking changes clearly identified
  • Implementation plan provided
  • Metrics calculated
  • User approved intermediate review

Step 15: Post-Analysis

Follow documentation-management.mdc: update <DOCS_ROOT>/readme.md, add entry to analysis index, tag with keywords.


Rules and Guidelines

  1. Always follow documentation-management.mdc for doc structure
  2. Always check code-style-patterns.mdc for compliance
  3. Always use AGENTS.md to discover available skills and tools
  4. Never assume — ask user when unclear
  5. Never skip intermediate review for complex analyses (P0 files > 3)
  6. Always provide concrete, actionable recommendations
  7. Always include both human-readable and AI-readable formats

Success Criteria

Analysis is successful when:

  • Business logic is fully understood and documented
  • API contracts are clearly specified
  • Breaking changes are identified
  • Implementation plan is actionable
  • User confirms understanding via intermediate review
  • All P0 files analyzed completely

Extended documentation: detailed analysis mode descriptions, file selection algorithms, Gherkin output format, cache/existing-report handling, and full examples are in SKILL.detail.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.