中文 EN

dsh-floway Usage Guide

AI-driven development workflow — from PRD to shipped code

github.com/9Ashwin/dsh-floway

Usage Guide — Six-step closed-loop development workflow: Plan, Design, Break Down, Implement, Review, Ship.

Contents

1. Overview

dsh-floway is a collection of AI-driven development workflow skills built for the DeepSeek Harness (DSH). It breaks down the complete software development lifecycle into standardized steps, each driven by a dedicated Skill.

It enables AI agents to act like experienced engineers — from understanding requirements, breaking down tasks, writing code, reviewing quality, to final submission and merge — autonomously completing the entire process. You just describe the feature idea, and the workflow handles the rest.

Entry point: can't remember which skill to use? Type /ask-flow and describe where you are (a half-formed idea, a pile of inbound issues, code that won't work, a long implementation). It answers only "what do I type next" and which decisions are yours to make — it never does the work for you.

/ask-flow

Skill routing (entry point): next step only, no execution

  • Routes on the skill map; answers "what do I type next"
  • Suggests only: no spec writing, no file edits
  • user-only (invisible to the model catalog)

/prd

Requirements document generation + Issue breakdown

  • Clarifying questions → structured PRD
  • Decomposed into independently implementable Issues
  • Supports GitHub / Local / iCafe

/prd-to-spec

PRD to technical design SPEC

  • PRD requirements → architecture + API + data model
  • Error handling + security + performance strategies
  • Issue mapping + implementation plan

/to-issues

Break PRD/SPEC into vertical-slice Issues

  • Vertical slices (tracer bullets), not layers
  • Explicit blocking edges, blockers created first
  • Supports GitHub / Local, standalone

/triage

Turn raw inbound issues into executable cards

  • Reproduce / understand → assign a role (ready / needs-info / bug-confirmed / duplicate / wontfix)
  • Fill the ready ones out into agent-ready cards
  • Inbound items only — never triage /to-issues output

/goal

DSH goal command (human-facing UI)

  • Persisted objective with autonomous rounds
  • A UI command the model cannot invoke
  • Not the pipeline's implementation step

/review-it

Automated code review and repair

  • Detect uncommitted changes or branch diff
  • Findings → iterative fixes
  • Until review passes

/ship-it

Commit → PR → Merge → Close

  • Commit linked to Issue number
  • Squash merge + delete branch
  • Add implementation summary and close card

/understand

Interactive review of fresh AI-generated changes

  • Scan uncommitted / branch changes into a webpage
  • File tree + syntax-highlighted diff + per-segment notes
  • Each segment shows its requirement and a plain-language explanation

/humanize-it

Iterative de-AI text rewriting

  • Auto-select best humanization strategy
  • Three-path skill iteration until target met
  • Up to 42 rounds of intelligent switching

/insight-diagram

UML and architecture diagram generator

  • Analyze codebase structure
  • UML / architecture diagrams / flowcharts
  • Rendered as HTML+SVG

/refactor

Expert-level code refactoring

  • 22 code smell detections
  • 40+ refactoring techniques (Fowler catalog)
  • Five-phase safety protocol

/modern-go

Go code modernization

  • 35+ gofix-style transformation rules
  • Full coverage Go 1.0 to 1.26+
  • Auto-detect version + safety guard

/note-it

Implementation notes

  • Design decisions / deviations / tradeoffs
  • Tracking open questions
  • Saved as HTML in docs/

/code-to-spec

Reverse-generate project SPEC

  • Analyze code, config, tests, structure
  • Generate 12-chapter complete SPEC
  • Supports multi-level deep analysis

/smell

Architecture smell detection

  • 8 categories: architecture, coupling, cohesion, design, code, testing, naming, complexity
  • 50+ anti-patterns and bad smells detected
  • Detailed markdown report with refactoring roadmap

/loop-it

Automated batch issue implementation

  • Fetch issues → dependency sort → implement inline → commit; one review + one ship at batch end
  • Checkpoint/resume with .loop-state.json
  • Structured error recovery (10 error classes)

/to-design

PRD to design document (Go proposal style)

  • A decision doc on "why this approach"
  • Proactively lists rejected alternatives + reasons
  • Distinct from SPEC: a decision artifact, not a contract

/graph

Parallel task-graph execution (DAG + supersteps)

  • Task/PRD → DAG → layered into superstep waves
  • Independent nodes per wave implemented concurrently by subagents
  • Each node implements and commits in its own worktree; the wave reviews and ships once

/implement

The inline closed loop for a single unit

  • Implement inline → prove with project gates → /review-it → /ship-it
  • No worktree, no subagent, no wave branch
  • One unit only; never expand scope

/test-first

Reference for the red → green loop

  • Good tests assert behaviour through public interfaces
  • Agree the seams with the user up front
  • Three anti-patterns + loop rules (red before green, one slice at a time)

/diagnose

The debugging loop for hard bugs

  • Get a command already red on this bug before theorising
  • Minimise → 3–5 falsifiable hypotheses → one variable at a time
  • Regression test at the right seam; it does no review / ship

/conflict

Resolve an in-progress merge / rebase

  • Recover both sides' intent → resolve hunk by hunk (keep both when possible)
  • Run the project gates and finish the operation
  • Always resolve, never --abort

/design-it

Self-contained HTML design document

  • Requirement / spec → one styled HTML page
  • TOC, SVG diagrams, code blocks, callouts
  • Aligned-decisions panel + test cases + code index

/listenhub-tts

Text to speech via the ListenHub API

  • Quick synthesis, multi-role scripts, long-form streaming
  • Auto-fetches voices when none is specified
  • Default voice: chat-girl-105-cn (晓曼)

/article-icons

Animated-style icons for articles

  • Fetches clean inline SVG from itshover.com/icons
  • Places icons at headings, concepts, lists, callouts
  • Works on Markdown and HTML documents

2. Installation

dsh-floway targets the DeepSeek Harness (DSH). There are two install routes — recommended: install as a skill directory; optional: install as a DSH bundle. Pick one, not both.

Option 1 (Recommended): Install as a skill directory

# Recommended — install all skills into ~/.agents/skills
npx skills add 9Ashwin/dsh-floway

# Or install a specific skill
npx skills add 9Ashwin/dsh-floway --skill ask-flow
npx skills add 9Ashwin/dsh-floway --skill prd
npx skills add 9Ashwin/dsh-floway --skill prd-to-spec
npx skills add 9Ashwin/dsh-floway --skill to-issues
npx skills add 9Ashwin/dsh-floway --skill triage
npx skills add 9Ashwin/dsh-floway --skill to-design
npx skills add 9Ashwin/dsh-floway --skill design-it
npx skills add 9Ashwin/dsh-floway --skill implement
npx skills add 9Ashwin/dsh-floway --skill test-first
npx skills add 9Ashwin/dsh-floway --skill loop-it
npx skills add 9Ashwin/dsh-floway --skill graph
npx skills add 9Ashwin/dsh-floway --skill diagnose
npx skills add 9Ashwin/dsh-floway --skill conflict
npx skills add 9Ashwin/dsh-floway --skill review-it
npx skills add 9Ashwin/dsh-floway --skill understand
npx skills add 9Ashwin/dsh-floway --skill ship-it
npx skills add 9Ashwin/dsh-floway --skill note-it
npx skills add 9Ashwin/dsh-floway --skill humanize-it
npx skills add 9Ashwin/dsh-floway --skill listenhub-tts
npx skills add 9Ashwin/dsh-floway --skill insight-diagram
npx skills add 9Ashwin/dsh-floway --skill code-to-spec
npx skills add 9Ashwin/dsh-floway --skill refactor
npx skills add 9Ashwin/dsh-floway --skill modern-go
npx skills add 9Ashwin/dsh-floway --skill smell
npx skills add 9Ashwin/dsh-floway --skill article-icons

# Global install (available for all projects)
npx skills add 9Ashwin/dsh-floway -g

# Update from the same source later
npx skills update -g

# Install to a specific agent (for compatibility; DSH scans ~/.agents/skills)
npx skills add 9Ashwin/dsh-floway -a dsh

Skills land in ~/.agents/skills, which DSH scans at session start. This is the least-effort route: nothing to change in a profile, and it applies to every profile.

Option 2 (Optional): Install as a DSH bundle

# Optional — install as a DSH bundle (config-only package)
dsh plugin --profile web add -w github:9Ashwin/dsh-floway

# Pin a commit for production instead of tracking the default branch
dsh plugin --profile web add -w github:9Ashwin/dsh-floway#<sha>

# Verify the bundle is registered in the profile
dsh --profile web --dump-config | grep -A3 dsh-floway
Bundle install notes:
  • -w is required because the DSH profile is treated as a pnpm workspace root — without it, pnpm 9 refuses to add the dependency and reports ERR_PNPM_ADDING_TO_ROOT.
  • The package is a config-only bundle (skills + config, no native build step), so no allowBuilds grant is needed.
  • Pin a commit for production with #<sha> so an update can't shift behavior under you.
  • Verify with dsh --profile web --dump-config | grep -A3 dsh-floway.
Which route to pick: faces like Web get their skill directory from a shipped preset, and ~/.agents/skills is already inside its skill roots — so Option 1 is enough when all you want is the skills: the two sources are de-duplicated nearest-layer-first, and the directory copy wins over the plugin-package copy. Installing both duplicates nothing; on the Web face the bundle simply loses to the directory. The bundle's added value is shipping a preset with the package — a preset can decide both which skills an agent mounts and whether its subagents carry the skill directory (toolFilter) and a persona, turning "how this workflow runs" into first-class deployment config. Conversely, on a face with no preset mounted (some minimal profiles), the bundle is what makes the skills visible at all.

Prerequisites

ToolPurposeInstall
npxnpm package runner (recommended route)Bundled with Node.js
ghGitHub CLI (Issue/PR operations)brew install gh && gh auth login
dshDeepSeek Harness CLI (optional route)npm install -g @deepseek-ai/dsh
Tip: After installation, type /ask-flow, /prd, /prd-to-spec, /to-issues, /triage, /to-design, /design-it, /implement, /test-first, /loop-it, /graph, /diagnose, /conflict, /review-it, /ship-it, /note-it, /understand, /refactor, /modern-go, /code-to-spec, /smell, /humanize-it, /listenhub-tts, /insight-diagram, /article-icons in your DSH session to directly invoke the corresponding skill. /goal is different: it is a DSH UI command that a human types, not a skill.

3. Workflow Overview

Six-step closed loop, from requirements to delivery:

dsh-floway Infographic
1 /prd
1.5 /prd-to-spec
1.6 /to-issues
2 /implement
/
2 /loop-it · /graph
3 /review-it
4 /ship-it
Step 1: /prd Describe feature idea Clarify questions Generate PRD Output: PRD 1.5: /prd-to-spec Read PRD Technical clarification Generate SPEC Output: SPEC (opt) 1.6: /to-issues Read PRD/SPEC Break into Issues Create cards Output: Issues Step 2: /loop-it sequential · one Issue /graph parallel · waves implement inline → commit Step 3: /review-it Auto review Verify findings Iterative fixes Output: ✓ Review Step 4: /ship-it Commit + Push Create PR Merge + Close Output: Shipped
StepCommandInputOutput
1. Plan /prd Feature description / product idea PRD document + Issue cards
1.5 Design /prd-to-spec PRD document Technical SPEC (optional)
1.6 Break Down /to-issues PRD / SPEC document Issue cards
2. Implement /implement / /loop-it / /graph Issue cards (or a task DAG) Code implemented inline by the DSH agent
3. Review /review-it Code changes (dirty / branch) Clean code that passes review
4. Ship /ship-it Reviewed code Merged PR + Closed Issue
Tip: this main line does not have to be walked in order: a single unit goes straight to /implement; a bug, an intermittent flake or a performance regression starts with /diagnose; a raw inbound issue starts with /triage; an in-progress merge / rebase uses /conflict. Can't tell which? Type /ask-flow.

4. Step 1: /prd — Requirements Planning

/prd transforms a vague feature idea into a structured product requirements document and breaks it down into independently implementable Issue cards.

How to Invoke

# Run this in DeepSeek Harness
/prd Add a priority feature to our task management system

# Or use trigger phrases
Write PRD for: User registration with email and phone support
Requirements analysis: Add rate limiting capability to the API

Workflow

Output Example

# Generated Issue list
📋 Generated 4 Issues from PRD:

#1: Add priority field to database (backend, high)
#2: Display priority indicator (frontend, high) — depends on #1
#3: Add priority selector (frontend, medium) — depends on #1
#4: Filter tasks by priority (frontend, medium) — depends on #1, #2
Tip: Each Issue should be sized for an agent to complete within a single session. If a User Story is too large (5+ acceptance criteria or cross full-stack), it will be automatically split.

5. Step 1.5: /prd-to-spec — PRD to Technical SPEC

/prd-to-spec transforms a product requirements document (PRD) into an implementable technical design SPEC. PRD says "what to build"; SPEC says "how to build it".

How to Invoke

# Run this in DeepSeek Harness
/prd-to-spec tasks/prd-priority-system.md

# Or use trigger phrases
PRD to design: Convert priority PRD to technical plan
Technical spec: Generate SPEC based on prd-user-auth.md

PRD → SPEC Mapping

PRD ElementSPEC ChapterTransformation
User StoriesBusiness Logic + Test MappingStories → algorithms + test cases
Functional RequirementsAPI Design + Business LogicFR → endpoints + implementation logic
Acceptance CriteriaTesting StrategyCriteria → concrete test scenarios
Non-GoalsOpen QuestionsExplicitly scoped exclusions
Technical ConsiderationsArchitecture + PerformanceConstraints → design decisions

SPEC Output Structure (11 Chapters)

#ChapterContent
1SummaryScope, PRD reference, design decision summary
2ArchitectureSystem context, component design, file structure
3Data ModelSchema changes, entity definitions, migration plan
4API DesignEndpoint table, request/response schema, error responses
5Business LogicCore algorithms, validation rules, state machines, edge cases
6Error HandlingError classification, retry strategies, degradation plan
7SecurityAuthentication/authorization, input validation, data protection
8PerformanceExpected load, optimization strategies, database considerations
9Testing StrategyUnit/integration/E2E tests + acceptance criteria mapping
10Implementation PlanImplementation phases, Issue mapping, incremental delivery
11Open Questions & RisksUnresolved questions, technical risks, assumptions

Workflow

Note: /prd-to-spec is an optional step. For most small to medium features, the Functional Requirements and Acceptance Criteria in the PRD are sufficient for the AI agent to make autonomous technical decisions during the /goal phase — the agent automatically analyzes the codebase, understands the architecture, and chooses the right implementation path without needing a pre-written SPEC. Consider running /prd-to-spec only in the following scenarios:
  • Multiple people or agents developing in parallel, needing shared technical conventions
  • Large changes spanning multiple services/modules, where architecture decisions have broad impact
  • Team has compliance or review process requiring design documents
  • PRD is vague and needs upfront technical detail to reduce interpretation variance

6. Step 1.6: /to-issues — Break Down into Issues

/to-issues breaks down a PRD and/or SPEC into vertically-sliced, independently implementable Issues and creates them on your chosen platform. It can be used standalone — no need to run /prd first.

Core principle: tracer bullets, not layers. Each Issue is a narrow but complete path through every layer it touches (schema + API + UI + tests), demoable on its own the moment it lands — not "a backend ticket and a frontend ticket." The test: "what can I demo when this is done?" If the answer is a layer, not a behaviour, re-slice it. If the whole change fits one context window, skip Issues and go straight to /goal.

How to Invoke

# Run this in DeepSeek Harness
/to-issues

# Or use trigger phrases
Create issues for: Create Issues from prd-user-auth.md
Break down issues: Break down implementable cards from SPEC
Generate cards: Break PRD and SPEC together into Issues

Input Sources

OptionDescription
Auto-detectScan tasks/ directory, list available PRDs and SPECs
Specify PRDBreak down based only on PRD's User Stories
Specify SPECUse SPEC's Issue Mapping chapter as primary guidance
PRD + SPEC(Recommended) PRD provides requirements, SPEC provides technical conventions — most complete Issues

Creation Platforms

PlatformToolDescription
GitHubgh issue createNative blocking edges --blocked-by, sub-issues --parent (gh v2.94+)
LocalMarkdown filesOne file per Issue, dependency-ordered, in a per-feature folder

Workflow

Falsifiable acceptance criteria: every criterion must be red (fail) at the base commit. Wide mechanical refactors (rename a column, retype a shared symbol) use the expand → migrate → contract sequence — the one exception to the vertical-slice rule.
Note: /to-issues is the key bridge from requirements to implementation. It can be used independently — even if you didn't use /prd to generate a PRD, as long as you have a requirements document (or even pasted text), you can break it down into Issues.

Boundary: /triage only handles raw inbound items

/to-issues breaks down your own requirements, and its output is already agent-ready; bug reports, user feedback and requests filed by other people are the job of /triage — reproduce / understand first, then assign a role (ready / needs-info / bug-confirmed / duplicate / wontfix) and fill the ready ones out into agent-executable cards. Never triage /to-issues output. See 22. /triage.

7. Step 2: Implementation — /implement · /loop-it & /graph

This is the implementation step, and all three routes start from the Issue cards created by /to-issues: a single unit goes inline through /implement, sequential work through /loop-it, and parallel work through /graph. On every route the running DSH agent writes the code itself — implementation is done inline, never by handing the work to an external command.

/implement — the single-unit inline loop

One issue, one card, one item in a spec — when there is exactly one unit, take this route: implement inline → prove with the project's gates → /review-it/ship-it. It explicitly does not create a worktree, not dispatch a subagent and not create a wave branch — those are the orchestration owned by /loop-it and /graph, and putting a single unit on the graph or into a loop just pays orchestration cost for nothing.

Reference: /test-first — red → green

Use it when behaviour should be pinned down before the implementation: one test → one piece of implementation → the next test, one seam at a time. It is also the reference /implement uses internally, and it can be invoked on its own.

Node Scope: Implement → Prove → Commit

/loop-it — Sequential Implementation

/loop-it fetches the open GitHub issues and resolves their order with a dependency-aware topological sort. It implements one Issue at a time, inline (read the requirement → write the code → prove it with the project's gates) and commits on that Issue's own branch — without pushing or opening a PR. At the end of the batch it merges the surviving branches into a single batch branch (failed branches are never merged in) and runs /review-it once and /ship-it once. It checkpoints progress to .loop-state.json after every status change, so a crash or interruption can resume from the last checkpoint instead of restarting the whole batch.

# Sequential: one Issue at a time, a commit per Issue, one review + one ship at batch end
/loop-it

/graph — Parallel Implementation

/graph turns a task, PRD, or Issue set into a DAG, layers it into waves, and dispatches one subagent per independent node concurrently. Each node works in its own git worktree and commits only to its own branch, so parallel edits never clobber each other. Every wave ends with a mandatory fan-in barrier: wait for all of the wave's settlement notices → leak check → integrate (merge only the nodes that shipped, never a failed one) → run the gates on the integrated treereview once (section by section, node by node) → ship once (one PR, closing the Issues the wave satisfied). Progress is checkpointed to .graph_state, and a graph.html tracker re-renders from that checkpoint at every wave boundary.

# Parallel: task/PRD/issues → DAG → waves → one worktree per node → fan-in barrier
/graph tasks/prd-url-shortener.md

A wave of one node has nothing to integrate: skip the wave branch and the merge ceremony, and review + ship that node's branch directly.

When a Node Fails

Tip: implementation is done inline by the agent — a single unit goes through /implement (implement inline → prove with the gates → /review-it/ship-it, no worktree, no subagent); /goal is a DSH UI command, not a skill, so the model cannot invoke it; /review-it and /ship-it are real skills the orchestrator calls once per wave. A child pays the parent's full prompt, tool schemas and skill catalog as fixed overhead, which is why a node stops at commit and trivia stays inline; cap concurrency at 3–4 by default and prefer waves of 2–3 nodes.
Note: /goal is not a pipeline step. In DSH, /goal is a human-facing UI command — a persisted objective with autonomous continuation rounds — that the model cannot invoke. The implementation step above is therefore done inline by the running DSH agent (read the Issue, write the code, run the tests), not by calling /goal. A human may still type /goal <objective> for a single long-running objective, but that sits outside this pipeline.

8. Step 3: /review-it — Code Review

/review-it is the closeout check before shipping: prove the gates first, then review the diff, fixing real findings until none are actionable. Under the current contract it runs once per wave / batch, against the integrated diff — not once per node against its own fresh work.

Two Axes: Spec and Standards, Reported Separately

Every review answers two different questions, and it reports them as two sections, never one merged ranking — merge them and the naming-and-style findings drown out a missing acceptance criterion:

#DimensionWhat to look for
1Hidden side effectsCascading impact in non-obvious places; changed shared state or external-dependency behaviour
2Breaking compatibilityChanged API signatures, data structures, config formats or CLI surface; existing callers affected
3Edge casesnull / empty values / empty collections, extremes, concurrency races, error paths
4Performance risksNested loops, N+1 queries, large allocations, blocking I/O, lock contention
5Security risksInjection, privilege escalation, sensitive-data leakage, unsafe deserialization, vulnerable dependencies
6Misleading namesNames that do not match actual behaviour, or are vague about what they mean
7Insufficient testingMissing coverage on critical paths, boundaries and error handling; tests that do not really verify the expected behaviour
8Future maintenance costUnnecessary abstraction, duplication, implicit coupling, hard-to-trace control flow
Why the two axes stay separate: a change can pass all eight standards and still implement the wrong thing; one merged ranking lets style findings crowd out the missing requirement. Report the Spec axis first, then the Standards axis, each as its own section.

The DSH Main Path

This project targets DeepSeek Harness (DSH). DSH has no external review CLI: once /review-it is loaded, the running DSH agent performs the review itself with the principles below, and never shells out to a review command.

# Uncommitted changes (default): review the working tree, untracked files included
git status --short
git diff
git diff --cached

# Branch / PR: generate the diff against the base, then review it section by section
git diff origin/main...HEAD > /tmp/review-it.diff

When the diff is large, or independence matters more, hand the diff file to a fresh subagent — it sees none of this conversation, so the prompt must be self-contained.

Review Principles

PrincipleDescription
AdvisoryReview results are suggestions, not blindly applied
VerifyEvery finding is verified by reading real code paths
Reject noiseReject impractical edge cases, speculative risks, excessive refactoring
IterateRe-review after fixes until no actionable findings remain
MinimalPrefer small fixes; avoid unnecessary large refactors

Review Modes

Working Tree StateModeAction
Uncommitted changeslocalThe current DSH agent reviews the working tree directly (untracked files included)
Committed not pushedbranchgit diff origin/main...HEAD + review that diff
Pushed / PRbranchSame, against the PR's actual base
Clean working treeskipSkip when there is genuinely nothing to review

Wave Review: Once, Section by Section

Tip: the review command table for other CLIs (Claude Code, Codex, OpenCode, DeepSeek TUI, Antigravity CLI) has moved to references/other-clis.md. Those are compatibility support only, not this project's target platform.

9. Step 4: /ship-it — Commit and Ship

/ship-it is the standard closing workflow after implementation is complete: commit code, create PR, merge, add implementation summary, close Issue. At the close of a /graph wave or a /loop-it batch it is called exactly once: one branch, one PR, one CI run, one merge, closing the several Issues that wave or batch satisfied.

How to Invoke

# Invoke in DeepSeek Harness
/ship-it

# Or use trigger phrases
Submit code
Create PR and merge

Complete Flow

# Step 1: Commit code (link Issue)
git add <related files>
git commit -m "Add priority field to database (#42)"

# Step 2: Push branch
git push -u origin feat/issue-42-priority-field

# Step 3: Create PR (body includes Closes #42)
gh pr create --title "Add priority field" \
  --body "Closes #42 ..."

# Step 4: Merge
gh pr merge --squash --delete-branch

# Step 5: Close Issue (if not auto-closed)
gh issue close 42 --reason completed

Several Issues in One PR (Wave / Batch Mode)

A /graph wave and a /loop-it batch default to putting several Issues into one PR (after squash, only one commit remains). The PR body must list the evidence item by item — a single Closes #1 #2 #3 line is not enough, because then neither you nor the user can audit or revert a single feature.

ItemcommitIssue closedAcceptance evidence (test name / command)Manual acceptance
Node 3abc1234Closes #12TestFooBarNot manually accepted yet
Node 4def5678Closes #13mise run check + TestBazNot manually accepted yet

A single-item PR (one Issue, one PR) does not need this table — the "Complete Flow" above is enough.

Error Handling

ScenarioHandling
CI checks failedCheck failure reason, fix and append commit then push
Merge conflictHand it to /conflict: resolve hunk by hunk from both sides' intent, run the project gates and finish the operation (never --abort), then force push
Branch protectionConfirm required reviews are satisfied
Issue not auto-closedConfirm PR body contains Closes #N, or close manually
Note: resolve an in-progress merge / rebase with /conflict — keep both sides' intent when both can be preserved, pick the side consistent with this merge's goal when they genuinely conflict and record the tradeoff in the commit message, and always resolve, never --abort. See 24. /conflict.
Note: /ship-it depends on the gh CLI. Make sure you've authenticated with gh auth login.

10. Bonus: /humanize-it — De-AI Text Rewriting

/humanize-it rewrites specified documents to remove AI-generated feel. It automatically selects the most appropriate humanization strategy based on document type, iterating until the result meets quality standards.

How to Invoke

# Run this in DeepSeek Harness
/humanize-it docs/architecture.md

# Or use trigger phrases
De-AI: Rewrite this document in natural language
Reduce AIGC: humanize docs/blog-draft.md

Sub-Skill Capability Matrix

SkillBest ForStyle
humanizer-zhGeneral text, blogs, copywritingNatural, warm, opinionated
humanize-chineseGeneral + academic + long-form textMulti-style (Zhihu/Xiaohongshu/academic/literary etc.)
technical-writingTechnical docs, architecture docs, review draftsPlain, rigorous, defensible

Automatic Strategy Selection

Document TypePriority Strategy Order
Technical documentationtechnical-writinghumanizer-zhhumanize-chinese
Academic paperhumanize-chinese (academic) → humanizer-zhtechnical-writing
General texthumanizer-zhhumanize-chinesetechnical-writing
Long-form text (≥1500 chars)humanize-chinese (longform) → humanizer-zhtechnical-writing

Iteration Mechanism

Tip: You can specify preferences when invoking, such as "keep academic style", "make it more conversational", "don't make technical docs too casual" — rewriting will prioritize corresponding strategies.

11. Bonus: /insight-diagram — UML and Architecture Diagrams

/insight-diagram generates UML diagrams, architecture diagrams, and flowcharts for any project. After analyzing the codebase, it lets users choose which diagram types to generate, renders them as HTML+SVG, and saves to the docs/ directory.

How to Invoke

# Run this in DeepSeek Harness
/insight-diagram

# Or use trigger phrases
Generate architecture diagram: Analyze project structure and generate architecture diagram
Draw flowchart: Draw call flow diagram for this module
Generate UML: Generate class diagram and sequence diagram

Supported Diagram Types

A total of 17 diagram types, divided into structural and behavioral categories:

Structural Diagrams (Static)

#Diagram TypeFocus
1System Architecture Diagram ★Component relationships, global perspective (non-UML, most common)
2Class DiagramDefining classes, attributes, operations, and relationships
3Object DiagramObject instances and their relationships at a specific moment
4Component DiagramSystem components and their dependencies
5Deployment DiagramPhysical hardware, nodes, and software deployment
6Package DiagramGrouping model elements for organization
7Composite Structure DiagramInternal structure of a class
8Profile DiagramExtending UML metamodel, custom stereotypes

Behavioral Diagrams (Dynamic)

#Diagram TypeFocus
9Flowchart ★Main flow and branches (non-UML, most common)
10Use Case DiagramSystem functionality from user perspective
11Activity DiagramProcess flow or steps
12State Machine DiagramState transitions over an object's lifecycle
13Sequence DiagramObject interactions over time
14Communication DiagramFocus on organizational relationships between objects
15Timing DiagramFocus on timing constraints of state changes
16Interaction Overview DiagramCombines activity and sequence diagrams
17Swimlane DiagramCross-component/role responsibility flow (activity diagram variant)

★ Indicates most commonly used diagram types. Default recommended combination: Architecture Diagram + Sequence Diagram + Flowchart.

Workflow

Tip: You can specify a focus area when invoking, such as "only look at src/services/ directory" or "focus on the database layer", to generate more targeted results.

12. Bonus: /refactor — Expert-Level Code Refactoring

/refactor provides expert-level code refactoring based on Martin Fowler's complete catalog from Refactoring 2nd Edition. By identifying code smells and applying proven refactoring techniques, it improves code maintainability, readability, and structure without changing external behavior.

How to Invoke

# Run this in DeepSeek Harness
/refactor

# Or use trigger phrases
Refactor: Refactor UserManager class, it's too large
Code smell: This function has Feature Envy, fix it
Extract method: Break this long method into smaller functions

Code Smell Catalog

Identifies 22 code smells, organized into five categories:

CategorySmellsPrimary Refactoring
BloatersLong MethodExtract Method, Replace Temp with Query
Large ClassExtract Class, Extract Subclass
Primitive ObsessionReplace Data Value with Object
Long Parameter ListIntroduce Parameter Object
Data ClumpsExtract Class
OO AbusersSwitch StatementsReplace Conditional with Polymorphism
Temporary FieldExtract Class, Introduce Null Object
Refused BequestReplace Inheritance with Delegation
Alternative Classes with Different InterfacesRename Method, Extract Superclass
Change PreventersDivergent ChangeExtract Class
Shotgun SurgeryMove Method, Move Field
Parallel Inheritance HierarchiesMove Method, Move Field
DispensablesComments (code self-explanatory)Extract Method, Rename Variable
Duplicate CodeExtract Method, Pull Up Method
Lazy ClassInline Class, Collapse Hierarchy
Data ClassMove Method, Encapsulate Field
Dead CodeDelete (Git history has record)
Speculative GeneralityInline Class, Remove Parameter
CouplersFeature EnvyMove Method
Inappropriate IntimacyMove Method, Move Field
Message ChainsHide Delegate
Middle ManRemove Middle Man
Incomplete Library ClassIntroduce Foreign Method

Refactoring Techniques Catalog

40+ refactoring techniques in 6 categories, each with mechanical steps and comparison examples:

CategoryCountRepresentative Techniques
Composing Methods9Extract Method, Inline Method, Extract Variable, Replace Temp with Query, Substitute Algorithm
Moving Features7Move Method, Move Field, Extract Class, Inline Class, Hide Delegate
Organizing Data13Replace Data Value with Object, Encapsulate Field, Replace Type Code with Subclasses, Replace Magic Number
Simplifying Conditionals8Decompose Conditional, Guard Clauses, Replace Conditional with Polymorphism, Introduce Null Object
Method Calls13Rename Method, Separate Query from Modifier, Introduce Parameter Object, Replace Error Code with Exception
Generalization9Pull Up Method, Push Down Method, Extract Interface, Form Template Method, Replace Inheritance with Delegation

Safety Protocol

Language-Specific Guides

LanguageKey Recommendations
Javafinal locals, IDE auto-refactor, Records, Sealed Classes
TypeScriptDestructuring reduces params, prefer const, Union Types replace type codes, ?. eliminates null checks
PythonType Hints, dataclasses, @property, Context Managers
GoSmall interfaces, named return values, table-driven tests, early returns eliminate nesting
RustResult/Option replace error codes and null, Pattern Matching, From trait, Derive macros
Tip: For each refactoring, simply tell the AI "This class has this smell, please fix it with the corresponding refactoring technique" — AI will follow the safety protocol step by step, committing at each step.

13. Bonus: /modern-go — Go Code Modernization

/modern-go automatically upgrades Go code to modern idioms and APIs, similar to go fix. It scans go.mod to detect the Go version, then batch-applies version-appropriate transformation rules to Go source files, covering 35+ rules from Go 1.0 through 1.26+.

How to Invoke

# Run this in DeepSeek Harness
/modern-go

# Or use trigger phrases
Modernize: Modernize this project's Go code
Upgrade Go code: Update to Go 1.22 idioms
Gofix: Scan pkg/ directory and apply transformations

Workflow

Transformation Rule Catalog (by Go Version)

VersionRulesExample (Before → After)
1.0+time.Sincetime.Now().Sub(start)time.Since(start)
1.8+time.Untildeadline.Sub(time.Now())time.Until(deadline)
1.10+strings.BuilderLoop s += itemstrings.Builder
1.13+errors.Iserr == io.EOFerrors.Is(err, io.EOF)
1.18+any, strings.Cut, bytes.Cutinterface{}any, Index+slice → Cut
1.19+fmt.Appendf, type-safe atomicsappend(buf, fmt.Sprintf(...)...)fmt.Appendf
1.20+strings.Clone, CutPrefix/CutSuffix, errors.Joinstring([]byte(s))strings.Clone(s)
1.21+min/max, clear, slices/maps packagesManual loops → slices.Contains, maps.Clone etc.
1.22+range over int, cmp.Or, reflect.TypeForfor i:=0;i<n;i++for i:=range n
1.23+Iterator helpers, SplitSeq/FieldsSeqfor _,p:=range strings.Split(s,sep)SplitSeq
1.24+t.Context(), omitzero, b.Loop()Test context.Background()t.Context()
1.25+wg.Go()wg.Add(1); go func(){defer wg.Done();fn()}()wg.Go(fn)
1.26+new(expr), errors.AsTypev:=42; &vnew(42)

Safety Rules

Tip: You can specify scope when invoking, such as /modern-go pkg/ to only transform the pkg/ directory, or /modern-go main.go to only transform a single file.

14. Bonus: /note-it — Implementation Notes

/note-it generates a structured implementation note for the current Issue after code implementation and review, recording design decisions, deviations, tradeoffs, and open questions. Output is saved as HTML in the docs/ directory.

How to Invoke

# Run this in DeepSeek Harness
/note-it

# Or use trigger phrases
Record notes: Generate implementation notes for Issue #42
Implementation notes: Record decisions and deviations from this implementation

Note Contents

CategoryFocusExample
Design DecisionsChoices made where spec was ambiguous and rationaleWhy interface polymorphism instead of switch
DeviationsIntentional deviations from spec and reasonsRationale for simplifying error handling strategy
TradeoffsAlternatives considered and tradeoff analysisInline vs. extract function choice
Open QuestionsItems needing confirmation or modificationWhether performance assumptions need benchmark validation

Output

Positioning

/note-it sits between /review-it and /ship-it in the workflow, serving as the final checkpoint before submission — ensuring implementation intent is fully documented for future maintainers to understand the decision logic behind the code.

Tip: Even without deviations from spec, recording design decisions and tradeoffs is valuable — when revisiting the code 6 months later, these notes explain "why it was done this way" better than code comments alone.

15. Bonus: /code-to-spec — Reverse-Generate SPEC

/code-to-spec analyzes an existing project's code, configuration, tests, and structure, then reverse-generates a complete SPEC document. The output can be used for project reconstruction, onboarding new team members, or comparing actual implementation against intended design.

How to Invoke

# Run this in DeepSeek Harness
/code-to-spec

# Or use trigger phrases
Generate design doc: Analyze current project and generate SPEC
Reverse spec: Reverse engineer this project's specification
Generate SPEC document: Generate technical SPEC for src/ directory

Analysis Depth

LevelContentBest For
OverviewArchitecture + tech stack + core featuresQuick project understanding, ~5 minutes
Standard (default)+ API contracts + data model + config + dependenciesComprehensive project understanding
Deep+ Internal module interactions + error handling + test coveragePreparing for refactoring or rewrite

SPEC Document Structure (12 Chapters)

#ChapterContent
1OverviewPurpose, core features, architectural style
2Tech StackLanguage, framework, database, build, test, deployment
3Project StructureDirectory tree + responsibilities per directory
4Data ModelCore entities, fields, relationships, state transitions
5API SurfaceEndpoint/command/function table + request/response schema
6ConfigurationEnvironment variables, config files, feature flags
7External DependenciesThird-party services, infrastructure, failure impact
8Business RulesInvariants, validation rules, business logic constraints
9Non-FunctionalPerformance, security, error handling patterns
10Testing StrategyTest framework, coverage patterns
11Known GapsUncertainties, assumptions, untested areas
12AppendixDependency graph, local environment setup steps

Workflow

Tip: For large projects (>500 files), it's recommended to first use Overview depth for a quick bird's-eye view, then use Deep depth on modules of interest.

16. Bonus: /smell — Architecture Smell Detection

/smell analyzes a codebase for architectural anti-patterns, code smells, and algorithmic complexity hotspots. It produces a detailed markdown report with severity levels, evidence, and a refactoring roadmap.

How to Invoke

# Run this in DeepSeek Harness
/smell

# Or use trigger phrases
Code smell analysis: find code smells in this project
Architecture audit: detect architecture anti-patterns
Complexity scan: analyze code complexity and find hotspots

Detection Categories (8 Categories, 50+ Smells)

CategoryExamples
ArchitectureBig Ball of Mud, Distributed Monolith, Anemic Domain Model, CQRS Overuse, Violated Layer Boundaries
CouplingCircular Dependencies, Content Coupling, Common Coupling (Global State), Stamp Coupling
CohesionGod Object, Shotgun Surgery, Feature Envy, Data Clumps
DesignLeaky Abstractions, Static Cling, Service Locator Abuse, SOLID Violations
CodeDuplicated Code, Long Method, Primitive Obsession, Magic Numbers, Dead Code
TestingZero Test Coverage, Test-Implementation Coupling, Flaky Tests
NamingVague Names, Inconsistent Naming Conventions
ComplexityNested Loops (O(n^2)), N+1 Queries, Repeated Linear Scan, Sort-in-Loop, Render Recompute

Report Structure

Tip: For quick checks, ask for "critical only" mode. Scope can be the full project, a specific module, or only recently changed files.

17. Bonus: /loop-it — Automated Issue Implementation Loop

/loop-it fetches all open GitHub issues and resolves dependency order. It implements one Issue at a time, inline (read the requirement → write the code → prove it with the project's gates) and commits on that Issue's own branch (no push, no PR). At the end of the batch it merges the surviving branches into a single batch branch (failed branches are never merged in) and runs /review-it once and /ship-it once. It persists progress to .loop-state.json so you can resume from where you left off after a crash or interruption.

How to Invoke

# Run this in DeepSeek Harness
/loop-it

# Or use trigger phrases
Batch implement: 实现所有issue
Loop issues: 批量实现
Resume loop: 恢复循环

Key Features

Pipeline Integration

# Full pipeline from PRD to shipped code
/prd/prd-to-spec/to-issues/loop-it
                                               │
                                               └→ per issue: implement inline → prove → commit (× N)
                                                  batch end ×1: batch branch → /review-it/ship-it
Loop-it Pipeline
Tip: Add .loop-state.json to your .gitignore. If the loop crashes, just run /loop-it again — it will detect the state file and offer to resume.

18. Bonus: /to-design — PRD to Design Document

/to-design turns a PRD (or a rough idea) into a design document written in the style of Go's official design proposals: plain language, concrete examples, and — above all — an honest account of why this approach and not the alternatives.

How is it different from /prd-to-spec? A SPEC is an implementation contract (tables, endpoints, schemas) for an engineer to build against. A design document is a decision artifact — it argues for a direction, surfaces the tradeoffs, and lets a team agree on the same facts before anyone writes code. When the question is "how should we build this and why", produce a design doc; when the question is "give me the exact contract to implement", produce a SPEC. They chain: run /to-design to settle direction, then /prd-to-spec for the contract.

How to Invoke

# Run this in DeepSeek Harness
/to-design tasks/prd-priority-system.md

# Or use trigger phrases
Design doc: write a design doc for the priority system
prd-to-design: based on prd-user-auth.md

When to Use

Design Document Structure (distilled from 5 Go proposals)

SectionPurpose
AbstractThe whole doc in one paragraph, with the single most important promise embedded (e.g. backward compatibility)
BackgroundExplain the pain with concrete examples or real buggy code — quantify it, don't pile on adjectives
DesignThe body. Declaration + example + boundaries, taught progressively from simple to complex
RationaleThe key section: proactively lists the rejected alternatives and why they were dropped
CompatibilityFor any breaking change, admit it head-on; honestly list the cost and a gradual migration path
ImplementationBack up "it's shippable" with data and tooling, not a hand-wave of "risk is manageable"
Appendix(Optional) full API, end-to-end examples, FAQ

Workflow

Tip: The value of a design doc does not depend on whether the proposal is accepted — it depends on whether it grounds the discussion in the same set of facts and tradeoffs. Even when rejected, recording "why this path doesn't work" is itself a high-value artifact.

19. Bonus: /graph — Parallel Task-Graph Execution

/graph turns a task (or PRD / SPEC / issue set) into a directed acyclic graph (DAG), layers it by dependency into supersteps (waves), then implements the independent nodes of each wave concurrently: one subagent per node implements inline and commits on its own branch inside its own git worktree; a fan-in barrier between waves then runs the leak check, merges only the nodes that shipped, runs the gates on the integrated tree, and reviews once + ships once before dynamically re-planning the next wave.

How is it different from /loop-it? /loop-it is strictly sequential — one worktree, one issue at a time. /graph is its parallel counterpart — it fans out every independent node in a wave at once. Use /graph when the DAG has genuine parallelism (independent subsystems); use /loop-it when nodes heavily share files or serial safety matters.

The design borrows from the trending idea of graph engineering, LangGraph's StateGraph / Pregel-BSP superstep model, and Claude's dynamic-workflow orchestration.

How to invoke

# Run this in DeepSeek Harness
/graph tasks/prd-url-shortener.md

# Or use trigger phrases
parallel implement: turn these issues into a task graph and run in parallel
build a graph: fan out the DAG concurrently

Core concepts (from LangGraph / graph engineering)

ConceptMeaning
NodeOne implementable unit of work (an issue / subtask)
EdgeA dependency: B depends on A → edge A → B
Superstep / WaveA set of nodes whose deps are all satisfied — run concurrently
Fan-outDispatch one subagent per node in the current wave
Fan-in (barrier)Wait for all nodes in the wave before the next
State channel.graph_state — shared checkpoint between waves, resume source
Live trackergraph.html — Claude-style light-theme dashboard, re-rendered from .graph_state at every checkpoint
Dynamic re-planRevise the graph after a wave if new work/deps emerged

Workflow

Key features

Concurrent execution

# Per wave: fan-out → fan-in barrier
Wave 0 (parallel×3):  #1 db schema   #2 cache layer   #3 logging util
Wave 1 (parallel×2):  #4 API (deps #1)   #5 CLI (deps #2)
Wave 2 (parallel×1):  #6 integration (deps #4,#5)

# Each node, in its own worktree:
implement inline → prove → commit on its own branch

# End of each wave (once):
leak check → merge only shipped nodes → gates on the integrated tree → /review-it/ship-it

Pipeline integration

/prd/prd-to-spec/to-issues ┬→ /loop-it  # sequential: one node at a time
                                        └→ /graph    # parallel: whole wave at once
Tip: Add .graph_state and graph.html to .gitignore. Subagents run in parallel only when dispatched as multiple calls in a single response — splitting them across responses degrades to sequential.

20. Bonus: /understand — Interactive Change Review

/understand turns the changes you just generated (usually AI-written) into a single-file interactive review webpage, so you can actually understand what changed before reviewing or shipping it. It scans the repo's uncommitted / branch changes and builds a Claude-style light-themed two-column page: a project file tree on the left, and the selected file's syntax-highlighted diff on the right, with a side rail that pairs each code segment with its unit requirement and a plain-language explanation.

How to Invoke

# Run this in DeepSeek Harness
/understand

# Or use trigger phrases
Review changes: Explain what this batch of new code does
Understand code: Walk me through the freshly generated changes

What You Get

AreaContent
Left treeChanged files laid out by real project structure; per-file +/− stats and A/M/D/R status. The column is drag-resizable (double-click the divider to reset).
Right diffSyntax-highlighted diff with additions / deletions clearly distinguished from unchanged code, real file line numbers.
Side railPer-segment cards: the related unit requirement (or a grey "inferred intent" tag when guessed) plus a plain-language code explanation; click to jump and flash the matching lines.

How It Works

Positioning

/understand is a comprehension companion to /review-it: where /review-it finds and fixes issues, /understand helps you see the intent and rationale behind freshly generated code before you commit to it.

Tip: .understand/ is a generated artifact directory — add it to .gitignore so it isn't accidentally committed. Explanations and requirements are always produced in Chinese.

21. Bonus: /ask-flow — Which Skill Do I Use?

/ask-flow is the entry point to the whole skill set: you cannot remember what all these skills own, so you ask. Describe where you are (a half-formed idea, a pile of inbound issues, code that will not work, a long implementation) and it gives you the next step, plus which decisions inside that step are yours to make.

How to Invoke

# Run this in DeepSeek Harness
/ask-flow

# Or just ask
Which skill should I use?
How do I run this workflow?

What It Routes

Tip: /ask-flow is marked disable-model-invocation (user-only): it is not in the model catalog, the model never picks it, and it is loaded only when you type the command.

22. Bonus: /triage — Triaging Inbound Issues

/triage handles raw items that arrive from outside: bug reports, user feedback, requests filed by other people. It reproduces / understands first, assigns each item exactly one role, and fills the ready ones out into agent-executable cards. Never triage /to-issues output — that is already agent-ready.

Roles (every item ends in exactly one)

RoleMeaningAction
readyReproducible / clear, acceptance criteria can be writtenComplete the body (repro steps, expected behaviour, acceptance criteria, blast radius) and hand it to the main line
needs-infoMissing key information; cannot decide yetPost one comment asking for it, from the template
bug-confirmedA real bug, root cause unknownRecord the symptom and minimal repro, hand it to /diagnose
duplicateAn existing item already covers itComment with a pointer → close
wontfixExplicitly out of scopeComment the reason (which product boundary it crosses) → close

Handling One Item

Note: ready items go back to the main line — a chain of dependent ones through /loop-it, ones that share no files through /graph, and a single unit through /implement.

23. Bonus: /diagnose — The Debugging Loop

The discipline for hard bugs, intermittent flakes and performance regressions: no reasoning starts until there is a command already red on this bug — jumping straight to "I bet it's here" is exactly the failure this skill exists to prevent. It does no /review-it / /ship-it; once the cause is pinned down, go back to the main line as a single-point change.

How to Invoke

# Run this in DeepSeek Harness
/diagnose

# Or just say
Debug this intermittent failure
What is this performance regression?

The Loop

Note: debugging is usually a single inline unit — do not open a /graph for it. Once it is located, return to the main line as a single-point change: /implement → project gates → /review-it/ship-it.

24. Bonus: /conflict — Resolving Merge / Rebase Conflicts

/conflict resolves an in-progress git merge / rebase: recover both sides' intent, resolve hunk by hunk, run the project gates, and finish the operation. Always resolve, never --abort.

Steps

Note: when resolving inside a /graph node the conflict lives in that node's worktree — use absolute paths and workdir=. When resolving on the shared checkout, confirm afterwards that git status holds nothing dirty besides this merge: a clean shared checkout is what the orchestrator's leak check relies on.

25. Supported Platforms

dsh-floway targets the DeepSeek Harness (DSH); its skills also work in other AI coding agents:

Agent/prd/prd-to-spec/to-issues/goal/review-it/note-it/ship-it/loop-it/refactor/modern-go/code-to-spec/smell/humanize-it/insight-diagram/to-design/graph
DeepSeek Harness (DSH) ★✓ (UI command)
Claude Code✓ (Built-in)
Codex✓ (--goal)
OpenCode
DeepSeek TUI

Issue Creation Platforms

PlatformToolDescription
GitHubgh issue createRequires gh CLI authentication
LocalMarkdown filesSaved to local directory
Baidu iCafeicafe-cliRequires iCafe space parameters

26. FAQ

Q: Do I have to use all steps in order?

No. Each Skill is independent and can be used standalone. For example, if you already have Issues, you can start directly from /implement (a single unit), /loop-it (sequential) or /graph (parallel); if code is already written, you can use /review-it directly. But going through the full workflow yields the best results.

Q: Where does /goal come from? Why isn't it in the skills directory?

/goal is a DSH UI command that a human types, not a skill: it persists an objective and lets the harness continue it in autonomous rounds. The model cannot invoke it, and it is not the implementation step — implementation is done inline by the agent, driven by /loop-it or /graph.

Q: Can I use this in non-GitHub projects?

Yes. /prd supports saving Issues as local Markdown files or creating them in Baidu iCafe. /review-it only needs a local git repository. /ship-it currently depends on GitHub (gh CLI).

Q: How is /review-it different from manual code review?

/review-it is automated self-review, catching obvious issues before submission. It reports on two axes: the Spec axis checks whether the diff did what was asked (missing / extra / wrong, each finding quoting the acceptance criterion it is checked against), and the Standards axis checks code quality across 8 dimensions. The two are reported separately, never merged into one ranking. It doesn't replace team code review, but rather improves code quality before PR creation, reducing the low-level issues reviewers need to point out.

Q: How big should an Issue be?

Each Issue should represent work an agent can complete in a single session — typically 1-3 files of changes with clear acceptance criteria. /prd automatically breaks down at this granularity, but you can adjust before confirming.

Q: How do I use this with Codex?

When installing via npx skills add, choose -a codex. In Codex, use codex --goal "..." instead of /goal. /review-it works universally across agents.

Q: Is /prd-to-spec required? When can I skip it?

Not required. /prd-to-spec is an optional step. PRD says "what to do"; SPEC says "how to do it". The distinction: an AI agent executing /goal inherently possesses the "how" capability — it automatically analyzes the codebase, understands existing architecture and conventions, and makes reasonable technical decisions during implementation. In other words, the AI agent is a living SPEC engine — it doesn't need it drawn on paper first.

Most small to medium features work perfectly fine with just PRD → /goal. The following scenarios justify the extra step of /prd-to-spec:

If your project is single-developer, feature boundaries are clear, and the agent already reliably understands the project structure, skipping /prd-to-spec is entirely reasonable — and often more efficient. Treat it as an optional tool in your toolkit — bring it out only when needed.

Q: Where does the 42 iteration limit in /humanize-it come from?

The number 42 isn't due to any special iteration requirement, but a geek culture tribute to the classic sci-fi novel The Hitchhiker's Guide to the Galaxy. In the book, a supercomputer computes for 7.5 million years and arrives at "the Answer to the Ultimate Question of Life, the Universe, and Everything" — which is 42. In programming circles, this number is popular for two reasons:

In practice, most documents reach quality standards within 3-5 iterations. The core of iteration is intelligent strategy switching — when one rewriting approach plateaus, it automatically switches to another. The three strategies complement each other to cover different types of AI traces.

Q: Does /humanize-it support English documents?

Currently, the three sub-skills of /humanize-it are primarily optimized for Chinese text. humanizer-zh's pattern detection rules partially work for English as well, but rewriting effects are best for Chinese.

Q: What diagram types does /insight-diagram support?

/insight-diagram supports 17 diagram types, including system architecture diagrams, 14 UML diagrams (class, object, component, deployment, package, composite structure, profile, use case, activity, state machine, sequence, communication, timing, interaction overview), flowcharts, and swimlane diagrams. Output is in HTML+SVG format, saved to the docs/ directory. Applicable to any software project.