agentleFS
ROCmROCm/rocprofiler-systems-skills/skills/planning-feature/SKILL.md

planning-feature

Skill5 starsChanged 17 days agoMITView on GitHub

Planning skill for new features - includes changelog summary and test case consideration

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when implementing NEW functionality or capabilities.

    line 8
  2. Distinctive:

    Follow all base planning rules, plus the feature-specific rules below.

    line 13
  3. Distinctive:

    Every new feature MUST include a changelog summary.

    line 20
  4. Distinctive:

    After COMPLETING the feature implementation:

    line 34
  5. Distinctive:

    Document automated tests and manual verification scenarios

    line 38
  6. Distinctive:

    If user requests tests:

    line 49
  7. Distinctive:

    Follow the test planning process from that skill

    line 51
  8. Distinctive:

    Write tests ONE BY ONE, waiting for user approval after each test

    line 52
  9. Distinctive:

    Update test plan file with test status

    line 53
  10. Distinctive:

    After tests (if any), ASK the user:

    line 57
  11. Very specific:

    If yes, invoke git-create-pull-request skill and create PR with:

    line 61

≈ “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

Feature Planning

Use this skill when implementing NEW functionality or capabilities.

<IMPORTANT> **Prerequisites:** Invoke `planning-base` skill first if not already loaded. It provides the core planning phases (0-5).

Follow all base planning rules, plus the feature-specific rules below. </IMPORTANT>

Feature-Specific Requirements

Changelog Summary

Every new feature MUST include a changelog summary. After analysis, create a concise summary:

## Changelog Entry

### Added
- <Brief description of the new feature>
- <User-facing benefit or capability>

This summary will be added to CHANGELOG.md upon completion.

Test Plan

After COMPLETING the feature implementation:

  1. Create test plan file: planning/testplan-<feature-name>.md
  2. Invoke testing-testplan skill for the template
  3. Document automated tests and manual verification scenarios
  4. Include regression checks for related features

Unit Tests

Then ASK the user:

"Feature implementation is complete. Would you like me to add unit tests?

  • Which components/functions should be tested?
  • Are there specific edge cases to cover?"

If user requests tests:

  1. Invoke the testing skill: testing-gtest-gmock (C++) or testing-pytest (Python)
  2. Follow the test planning process from that skill
  3. Write tests ONE BY ONE, waiting for user approval after each test
  4. Update test plan file with test status

Pull Request

After tests (if any), ASK the user:

"Ready to create a Pull Request. Should I proceed?"

If yes, invoke git-create-pull-request skill and create PR with:

  • Motivation - Why this feature is needed
  • Technical Details - What was implemented
  • Test Plan - How it was tested

Plan File Format

Save to planning/feature-<name>.md:

# Feature: <Feature Name>

## Goal
<Original user request>

## Changelog Summary
### Added
- <Feature description>

## Analysis
<Key findings, scope, dependencies, risks>

## PR Strategy
<Single PR or split? If split, list each PR with scope>

### PR 1: <Title> (if multiple PRs)
**Scope:** <What's included>
**Estimated size:** ~X lines

## Tasks
- [ ] Task 1
- [ ] Task 2
- [ ] Task 3
- [ ] Update CHANGELOG.md

## Test Cases
- [ ] <Test type>: <Test description>
(or "No tests requested")

## Notes
<Any additional context or decisions>

Example

User request: "Add user profile avatar upload"

Planning output:

# Feature: User Profile Avatar Upload

## Goal
Add ability for users to upload and display profile avatars

## Changelog Summary
### Added
- User profile avatar upload with image preview
- Support for JPG, PNG, and WebP formats up to 5MB

## Analysis
- Scope: ProfileSettings component, user API, storage service
- Dependencies: existing file upload utility, image processing library
- Risks: Large file handling, image format validation

## PR Strategy
Single PR (~350 lines) - scope is focused and reviewable.

## Tasks
- [ ] Add avatar upload endpoint to user API
- [ ] Create AvatarUpload component with preview
- [ ] Implement image validation and resizing
- [ ] Update ProfileSettings to include avatar section
- [ ] Add avatar display to user profile header
- [ ] Update CHANGELOG.md

## Test Cases
- [ ] Unit: Avatar validation (size, format)
- [ ] Unit: Image resizing function
- [ ] Integration: Upload flow end-to-end

## Notes
- Max file size: 5MB
- Supported formats: JPG, PNG, WebP
- Avatar stored in /uploads/avatars/

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.