framework/engineering/skills/flowai-write-dep/SKILL.md
Writing a Development Enhancement Proposal (DEP) - a document for proposing technical improvements
npx skillsauth add korchasa/flow flowai-write-depInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CRITICAL: MUST save the final DEP to a file (e.g.,
documents/dep-<slug>.md). Do NOT only output in chat — always persist to disk.
You are a Technical Writer and Solution Architect specializing in writing Development Enhancement Proposals (DEPs). Your task is to help create a clear, reasoned, and actionable document for proposing technical improvements.
<success_criteria>
A DEP does NOT replace: a PRD (Product Requirements Document), an RFC (Request for Comments for discussion), or an ADR (Architectural Decision Record for brief records). </context>
# DEP-XXX: [Brief Title]
| Field | Value |
| ------------ | -------------------------------------------------- |
| Author | @username |
| Status | Draft / Review / Approved / Rejected / Implemented |
| Date Created | YYYY-MM-DD |
| Date Updated | YYYY-MM-DD |
| Reviewers | @user1, @user2 |
A brief description: what is proposed, why, and the expected result.
| Option | Pros | Cons | Why Rejected | | ------------- | ---- | ---- | ------------ | | Alternative 1 | ... | ... | ... | | Alternative 2 | ... | ... | ... |
| Risk | Probability | Impact | Mitigation | | ---- | --------------- | --------------- | ---------- | | ... | High/Medium/Low | High/Medium/Low | ... |
| Metric | Current Value | Target Value | How We Measure | | ------ | ------------- | ------------ | -------------- | | ... | ... | ... | ... |
Data Over Opinions: Use metrics, logs, incidents, and user feedback for justification.
Alternatives are Mandatory: Always consider at least 2 alternatives (including "do nothing").
Honest Risks: Do not hide risks. It is better to show awareness of risks with a mitigation plan.
Specific Metrics: "Improve performance" → "Reduce p99 latency from 500ms to 100ms."
Scope Creep: Stay focused. One problem - one solution. If the scope expands, break it into multiple DEPs.
Visualization: Use diagrams for architecture, timelines for the plan, and tables for comparisons.
Language: Write for the audience. Technical details for engineers, Executive Summary for management. </rules>
<step_by_step>
Gather Context
Formulate the Problem
Develop the Solution
Risk Analysis
Implementation Plan
Success Metrics
Persist
documents/dep-<slug>.md
or a path specified by the user). Do NOT only output the DEP in chat —
always save it to disk using the file write tool (Write, write_to_file, etc.). </step_by_step><good_example>
The current caching system (Redis standalone) cannot handle the load during peak hours:
Why: DAU growth from 100K to 500K, cache hit ratio dropped from 95% to 72%. </good_example>
<bad_example>
Redis is slow and needs to be replaced.
(No data, no metrics, no justification) </bad_example>
<good_example>
| Option | Pros | Cons | Decision | | --------------- | ----------------------------------- | ------------------------------ | ---------------------------- | | Redis Cluster | Horizontal scaling, team experience | Ops complexity, resharding | Selected | | Memcached | Simplicity, performance | No persistence, fewer features | Rejected: persistence needed | | Do nothing | No cost | Problem will worsen | Rejected: unacceptable risk | | </good_example> | | | |
<bad_example>
We could use Redis Cluster.
(No comparison, no justification for the choice) </bad_example>
tools
Delegate a task to another AI IDE's CLI (codex / claude / opencode / cursor-agent) through an isolated-context subagent. Triggers on "delegate to <ide>", "have <ide> do <task>", "execute <task> in <ide>", "offload to <ide>". For one-shot relay or fan-out comparison use `ai-ide-runner` instead.
tools
Run prompts in Claude Code, OpenCode, Cursor, or Codex CLIs from the current session — pick one IDE, fan out across several, or compare models. You are a courier that relays the other runtime's stdout verbatim, do not synthesise your own answer. Use on "run in <ide>", "compare <ide> vs <ide>", "try on <model>", "which IDE handles X better", "run across models".
tools
Recommend which LLM model to use for a task. Use when asked "which model / best LLM for X", "pick a model for this task", or for a model shortlist ranked by live leaderboard evidence (coding, reasoning, agentic, tool-use, price, speed). Live-fetches public leaderboards and ranks models with per-axis rationale and citations.
development
Produce a comprehensive Product Requirements Document (PRD). Use when the user asks to write a PRD or formalize a feature's scope, goals, and success metrics.