agentleFS
igorkulmanigorkulman/pi-skills/skills/analyze/SKILL.md

analyze

Skill3 starsChanged 2 months agoMITView on GitHub

Perform read-only investigation and implementation planning for Jira issues and user-described bugs, features, or requested changes. Use when the user invokes /analyze or asks to understand and plan work before implementation. Do not use for reviewing an existing diff, branch, or merge request.

70 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use constitution, revise and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ArvorCoSkill

    constitution

    Create or update the project constitution - personalized governance and coding principles. Use when starting a project or updating project standards. Triggers on: create constitution, update principles, set project rules.

    Also in 4 projects that use this

  • stormlightlabsSkill

    revise

    Address review comments on an open pull request and push the fixes. Use for /edit, /revise, or when asked to respond to review feedback on a PR number.

    Also in 3 projects that use this

  • DockerSkill

    write

    Write or edit reader-facing technical prose for immediate comprehension. Use for documentation, PR titles and descriptions, release notes, design documents, user-facing explanations, and substantive comments. Also use when asked to make writing clearer, more natural, less AI-generated, or easier to read. For documentation fixes, handles edits, formatting, self-review, and commits after research identifies what to change. Do not use for code-only tasks with no prose deliverable.

    Also in 6 projects that use this

  • ArvorCoSkill

    specify

    Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

    Also in 5 projects that use this

  • H-mmerSkill

    submit

    Draft and submit a vulnerability report to the bug bounty platform. Reads scope.yaml for platform/program, uses brain + findings for content. Always drafts first for review.

    Also in 3 projects that use this

  • GoogleSkill

    quality

    Evaluates whether a GitHub issue is spam, empty, needs more information, or is OK to proceed.

    Also in 3 projects that use this

  • +1 more from ArvorCo

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 60 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not edit files, change dependencies, mutate Git state, run formatters, or update external systems.

    line 13
  2. Distinctive:

    If the user explicitly requested implementation, complete the concise analysis first and then continue with implementation.

    line 16
  3. Distinctive:

    Plain task or bug report: search for the named behavior, screen, symbol, error, API, model, or feature flag, then inspect nearby …

    line 23
  4. Very specific:

    Do not duplicate detailed Jira traversal in this skill.

    line 26
  5. Distinctive:

    Use history only when it helps explain an invariant or likely regression.

    line 40
  6. Distinctive:

    Partial: only part of the change has a meaningful automated seam, such as testable state logic combined with visual UI work.

    line 47
  7. Distinctive:

    Avoid horizontal plans such as “change model, then manager, then UI, then tests.” For a small ticket with only one behavior, keep the …

    line 64
  8. Very specific:

    Use the smallest useful subset of this structure.

    line 68
  9. Distinctive:

    When implementation was not explicitly requested, finish with:

    line 105

“Common” is measured: kept by at least 6 in 10 of the 60 edited versions of this file we could read. “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

Analyze

Gather enough evidence to explain the current behavior and propose a safe implementation. Stay read-only while using this skill.

Rules

  • Do not edit files, change dependencies, mutate Git state, run formatters, or update external systems.
  • Inspect only what is needed to identify the relevant code path, likely change locations, risks, and verification.
  • Preserve uncertainty: distinguish confirmed behavior from assumptions and ask targeted questions when an unknown blocks a safe plan.
  • If the user explicitly requested implementation, complete the concise analysis first and then continue with implementation. Otherwise stop and ask for approval.
  • For investigation-only requests, provide conclusions and state that no changes were made.

Route by task source

  • Jira URL/key: load jira-task-context, gather the issue and directly relevant linked context, then inspect the repository against those requirements.
  • Local changes or branch: inspect repository status, the exact diff/base, surrounding code, and related tests.
  • Plain task or bug report: search for the named behavior, screen, symbol, error, API, model, or feature flag, then inspect nearby implementations and tests.
  • Repository question: inspect only the files and history needed to answer it.

Do not duplicate detailed Jira traversal in this skill; delegate it to jira-task-context.

Inspection goals

Identify:

  • current behavior and the relevant code path
  • likely root cause, missing behavior, or requirement gap
  • files and modules likely to change
  • existing patterns or similar implementations to follow
  • tests, previews, fixtures, and verification commands
  • whether the change is a good TDD candidate, the observable seam to test, and the first behavior to drive test-first
  • meaningful edge cases, compatibility concerns, and unresolved questions

Use history only when it helps explain an invariant or likely regression. Stop once the implementation path is clear enough to act safely.

Assess TDD suitability

Classify the proposed change instead of merely checking whether some code can be tested:

  • Yes: an automated test can express the requested observable behavior through an existing or clearly appropriate stable seam.
  • Partial: only part of the change has a meaningful automated seam, such as testable state logic combined with visual UI work.
  • No: the change is primarily visual, generated, configuration-only, or depends on an unavailable environment with no useful local substitute.

Name the highest practical seam that proves behavior without coupling the test to implementation details. Identify the first narrow behavior that could be driven red-to-green, an existing or proposed test target, and the focused execution route or command that would run it. If no suitable seam exists, explain the constraint and give the strongest practical verification instead. Do not invent a test target or execution route; mark unknowns explicitly.

For Yes, recommend continuing with /skill:tdd. For Partial, identify exactly which behavior should use TDD and how the remainder should be verified. For No, recommend normal implementation with the listed verification.

Plan vertical slices

For work containing multiple independently deliverable behaviors, replace a layer-by-layer implementation plan with ordered vertical slices:

  • each slice delivers a narrow, complete, observable behavior rather than only changing one technical layer
  • each slice names its observable result, genuine blockers, and independent verification
  • blocker-free slices come first; do not invent dependencies merely because one implementation order feels familiar
  • include prerequisite refactoring only when it is required to make a behavioral slice safe, and state which behavior it enables
  • size each slice so it can be implemented and verified within one focused session

Avoid horizontal plans such as “change model, then manager, then UI, then tests.” For a small ticket with only one behavior, keep the concise numbered implementation steps instead of adding slicing ceremony.

Output

Use the smallest useful subset of this structure. Use ## Proposed implementation for a small single-behavior task or replace it with ## Implementation slices for larger work; do not emit both.

## Task understanding
- Source and goal:
- Expected behavior or acceptance criteria:

## Findings
- Current behavior / likely gap:
- Existing patterns to follow:

## Relevant files
- `path`: why it matters

## Proposed implementation
1. ...
2. ...

## Implementation slices
1. Slice title
   - Observable result:
   - Blocked by: None / slice reference
   - Verification:

## Testing approach
- TDD suitability: Yes / Partial / No
- Recommended implementation mode: `/skill:tdd` / mixed / normal
- Rationale:
- Recommended test seam:
- First observable behavior:
- Focused test target and execution route:
- Additional verification:

## Risks / questions
- ...

When implementation was not explicitly requested, finish with:

Proceed with implementation?

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.