janekbaraniewski/openusage/design-feature

Claude Code and agent skill by janekbaraniewski/openusage

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Design new features for OpenUsage with structured design docs and implementation tasks. Triggers for any change touching 3+ subsystems, or when explicitly invoked.

Install

npx vskill@latest install janekbaraniewski/openusage/design-feature

SKILL.md

OpenUsage Feature Designer

Invocation: When a user asks to design, plan, or architect a feature — OR when a proposed change touches 3+ subsystems (core, providers, TUI, config, detect, daemon, telemetry).


Phase 0 — Quiz (MANDATORY)

Before any design work, gather answers to ALL of these. Research the codebase yourself if the user doesn't know.

  1. What problem does this solve? One sentence. What's broken or missing today?
  2. Who benefits? End users, contributors, or both?
  3. What subsystems are affected? List from: core types, providers, TUI, config, detect, daemon, telemetry, CLI commands.
  4. What's explicitly out of scope? Name at least one thing this feature does NOT do.
  5. Are there existing design docs that overlap? Check docs/*.md for related designs. If overlap exists, ask the user whether to extend or create new.
  6. What's the simplest version that delivers value? Identify the MVP slice.
  7. Does this change any public interfaces? (UsageProvider, UsageSnapshot, AccountConfig, config JSON schema)
  8. Backward compatibility concerns? Will existing configs, stored data, or provider behavior break?

Phase 1 — Explore (MANDATORY)

Read these before designing. Skip only if already in context:

  1. Core types: internal/core/types.go, internal/core/provider_spec.go, internal/core/widget.go
  2. Affected subsystems: Read the primary files for each subsystem from Q3.
  3. Existing design docs: Read any overlapping docs from docs/.
  4. Related providers: If the feature changes provider behavior, read at least one provider of each affected pattern (header probing, rich API, local files, CLI).
  5. Config schema: internal/config/config.go + configs/example_settings.json

After reading, summarize findings that affect the design. Don't just list files — state what you learned.


Phase 2 — Design

Write the design doc to docs/<FEATURE_NAME>_DESIGN.md. Use the template in references/design-template.md.

Design principles for this project
  • Simplest thing that works. No abstractions for hypothetical futures.
  • Additive over breaking. New fields, new types, new files. Don't restructure what works.
  • Provider patterns are sacred. Don't force providers into a new pattern. If a provider needs special handling, let it be special.
  • Maps and slices over deep type hierarchies. The codebase uses flat data (map[string]Metric, map[string]string) — follow that.
  • Config drives behavior. Features should be configurable in settings.json. Sensible defaults, no mandatory config.
  • TUI is the consumer, not the source of truth. Business logic in core/ or subsystem packages, rendering in tui/.
What NOT to do
  • Don't introduce interfaces for one implementation.
  • Don't add a package for fewer than 3 files.
  • Don't design middleware/plugin systems — direct function calls are fine.
  • Don't propose database migrations unless the feature requires persistence.
  • Don't over-specify error handling — match existing patterns (fmt.Errorf("provider: action: %w", err)).

Phase 3 — Implementation Tasks

After the design doc is written, break it into implementation tasks. Each task should be:

  • Self-contained: Can be implemented and tested independently.
  • Ordered: Tasks list their dependencies explicitly.
  • Concrete: Names the files to create/modify and the tests to write.
  • Parallelizable when possible: Tasks with no mutual dependencies should be identifiable as a parallel group.

Format each task as:

### Task N: <title>
Files: <list of files to create or modify>
Depends on: <task numbers or "none">
Description: <what to do, 2-4 sentences>
Tests: <what tests to write>

After all tasks, add a dependency summary showing which tasks can run in parallel:

### Dependency Graph
- Task 1, 2: sequential (foundational types and config)
- Tasks 3, 4, 5: parallel group (all depend on 1-2, independent of each other)
- Task 6: depends on 3, 4
- Task 7: depends on all (integration verification)

This helps the implementer (/implement-feature) launch parallel agents for independent tasks, significantly reducing implementation time.

Task design tips
  • Minimize cross-task file overlap. If two tasks both modify server.go, consider whether they can be merged or ordered to avoid merge conflicts during parallel execution.
  • Test helpers are shared state. If a task changes a function signature that test helpers use, include the test helper update in that same task — don't leave it for integration verification.
  • TUI tasks typically depend on everything else. The TUI wires together all subsystem changes, so TUI tasks should come last.

Append tasks to the design doc under a ## Implementation Tasks section.


Checklist

Before finishing:

  • [ ] All 8 quiz questions answered
  • [ ] Codebase exploration completed for affected subsystems
  • [ ] Overlap with existing design docs addressed (extended or new, per user choice)
  • [ ] Design doc written to docs/<NAME>_DESIGN.md
  • [ ] Problem statement is one clear sentence
  • [ ] Goals and non-goals are explicit
  • [ ] Impact analysis covers all affected subsystems
  • [ ] Component design is detailed but not over-abstracted
  • [ ] No unnecessary interfaces, packages, or abstractions
  • [ ] Backward compatibility addressed
  • [ ] Implementation tasks are concrete and ordered
  • [ ] Each task names specific files and tests

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/janekbaraniewski/openusage/design-feature/badge)](https://verified-skill.com/skills/janekbaraniewski/openusage/design-feature)

Something wrong with this skill or its page? Tell us.