agentsclimarketplace

Plan feature

Skill arozumenko/wikis/.github/skills/plan-feature

Structured feature planning workflow. Use when the user says "plan a feature", "design this", "how should we build", "feasibility check", or any pre-implementation planning work. Covers requirements, investigation, feasibility, and implementation planning.From its SKILL.md

Install
npx -y skills add arozumenko/wikis --skill plan-feature

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.7 KB, as published. Nobody here has run it

Feature Planning: Understand → Investigate → Plan → Approve

Core philosophy: plan before you build. The cheapest bugs are the ones you prevent during planning.

Workflow

Step 1: Understand the Request
         ↓
Step 2: Investigate Current State
         ↓
Step 3: Clarify Unknowns
         ↓
Step 4: Feasibility Analysis
         ↓
Step 5: Define Acceptance Criteria
         ↓
Step 6: Implementation Plan
         ↓
Step 7: Get Approval

Step 1: Understand the Request

Goal: Know exactly what's being asked before investigating.

Ask yourself:

  • What is being requested? (feature, change, improvement)
  • Who benefits? (end user, developer, ops)
  • Why now? (business driver, user feedback, tech debt)
  • What does done look like? (measurable outcome)

If the request is vague, ask clarifying questions BEFORE investigating:

  • "When you say X, do you mean A or B?"
  • "Is this for all users or a specific role?"
  • "What's the expected scale? 10 users or 10,000?"

Step 2: Investigate Current State

Goal: Understand what exists before proposing changes.

# Find relevant code
grep -rn "related_term" src/ --include="*.py" -l
grep -rn "related_term" src/ --include="*.ts" -l

# Read existing implementation
# Look for: patterns to follow, constraints to respect, code to reuse

# Check for existing tests
grep -rn "test.*related" tests/ -l

# Check git history for context
git --no-pager log --oneline --all --grep="related_term" | head -10

Document:

  • What already exists that can be reused
  • What needs to change vs. what's new
  • Existing patterns to follow
  • Technical constraints discovered

Step 3: Clarify Unknowns

Goal: Resolve ambiguity before committing to a plan.

Common unknowns:

  • Scope: "Does this include X?" → ask
  • Integration: "Does this need to work with Y?" → investigate
  • Performance: "How fast does this need to be?" → ask
  • Security: "Who should have access?" → ask
  • Edge cases: "What happens when Z?" → document assumption or ask

If asking the user, present options:

"For the search feature, I see two approaches: A) Full-text search via PostgreSQL — simpler, no new deps B) Elasticsearch — faster for large datasets, needs infra Which fits our needs?"

Step 4: Feasibility Analysis

Goal: Assess effort, risk, and trade-offs.

Impact Assessment

AreaImpactFiles Affected
APINew endpointssrc/api/routes.py
DatabaseNew tablemigrations/, src/models.py
FrontendNew pagecomponents/, pages/
TestsNew test suitetests/test_feature.py

Risk Assessment

RiskLikelihoodImpactMitigation
[risk]Low/Med/HighLow/Med/High[mitigation]

Dependencies

  • External: APIs, services, libraries
  • Internal: other features, shared code
  • Blocking: what must be done first

Step 5: Define Acceptance Criteria

Goal: Testable definition of done.

Write in Given/When/Then format:

### AC-1: [Criterion title]
**Given** [precondition]
**When** [action]
**Then** [expected result]

### AC-2: Error handling
**Given** [invalid input condition]
**When** [action with bad data]
**Then** [expected error behavior]

### AC-3: Edge case
**Given** [edge case condition]
**When** [action]
**Then** [expected graceful behavior]

Rules:

  • Every AC must be testable (pass/fail, no "should be intuitive")
  • Include happy path, error cases, and edge cases
  • Include performance criteria if relevant ("loads in under 2s")

Step 6: Implementation Plan

Goal: Ordered list of tasks with dependencies.

## Implementation Plan

### Phase 1: Foundation (no dependencies)
- [ ] TASK-1: Database migration — add new table
- [ ] TASK-2: UI component shells — empty components with routing

### Phase 2: Core (depends on Phase 1)
- [ ] TASK-3: API endpoints — CRUD operations
- [ ] TASK-4: Frontend integration — connect to API

### Phase 3: Polish (depends on Phase 2)
- [ ] TASK-5: Validation and error handling
- [ ] TASK-6: E2E tests

### Parallel opportunities
- TASK-1 and TASK-2 can run simultaneously
- TASK-3 and TASK-4 can start once their Phase 1 dep is done

### Estimated scope
- Total tasks: 6
- Parallel groups: 3 phases
- Critical path: TASK-1 → TASK-3 → TASK-5

For each task, define:

  • What to build (not how — that's the developer's job)
  • Interface contract (input/output types)
  • Acceptance criteria it satisfies
  • Which role should do it (python-dev, js-dev, qa-engineer)

Step 7: Get Approval

Goal: Alignment before implementation begins.

Present to the user/PM:

## Feature Plan: [Name]

**Summary:** [1-2 sentences]
**Scope:** [in/out]
**Tasks:** [count] across [phases] phases
**Risks:** [top 1-2 risks with mitigations]
**Dependencies:** [external/internal]

### Acceptance Criteria
[list from Step 5]

### Implementation Plan
[from Step 6]

**Ready to proceed?**

Don't start implementation until approved. Plans change — implementation is expensive.

Anti-Patterns

  • Don't plan in a vacuum — investigate the codebase first
  • Don't propose solutions without understanding constraints
  • Don't skip acceptance criteria — they're the contract
  • Don't create monolithic tasks — break into parallel-friendly pieces
  • Don't assume requirements — ask when ambiguous

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.