suriyel/longtaskforagent/long-task-feature-design
Claude Code and agent skill by suriyel/longtaskforagent
- community
Checking that the SKILL.md file is still in the repository.
Use before TDD in a long-task project — produce feature-level detailed design with interface contracts, algorithm pseudocode, diagrams, and test inventory
Install
npx vskill@latest install suriyel/longtaskforagent/long-task-feature-designSKILL.md
Feature-Level Detailed Design — SubAgent Dispatch
Delegate feature detailed design production to a SubAgent with fresh context. The main Agent only dispatches and parses the structured result — it never reads design/SRS/UCD document sections or writes the design document directly.
Announce at start: "I'm using the long-task-feature-design skill to produce a detailed design via SubAgent."
When to Run
- Worker Step 4, before TDD (Steps 5-7)
- For every feature (condensed version for
category: "bugfix"features) - Invoked by
long-task-workas a sub-skill (not directly by router)
For `category: "bugfix"` features: SubAgent should focus on: (1) root cause documentation (fromroot_causefield), (2) targeted fix approach, (3) regression test inventory from SRS acceptance criteria (viasrs_trace). Skip full interface contracts, data flow diagrams, and state diagrams unless the bug directly touches those surfaces.
Step 1: Gather Path Parameters
Collect these from the current session state. Do NOT read document contents yourself:
feature_json— current feature object from feature-list.json (compact JSON)quality_gates_json— quality_gates from feature-list.json (compact JSON)tech_stack_json— tech_stack from feature-list.json (compact JSON)design_doc_path— path to design doc (docs/plans/*-design.md)design_start/design_end— line range of the §4.N subsection (from Orient Document Lookup)srs_doc_path— path to SRS doc (docs/plans/*-srs.md)srs_start/srs_end— line range of the FR-xxx subsection (from Orient Document Lookup)ucd_doc_path— path to UCD doc (only if"ui": true; omit otherwise)ucd_start/ucd_end— line range of relevant UCD sections (if applicable)ats_doc_path— path to ATS doc (docs/plans/*-ats.md), if it exists; omit otherwiseconstraints— constraints[] from feature-list.json rootassumptions— assumptions[] from feature-list.json rootoutput_path— target file:docs/features/YYYY-MM-DD-<feature-name>.mdworking_dir— project working directory
Step 2: Construct SubAgent Prompt
Step 3: Dispatch SubAgent
Claude Code: Use the Agent tool:
OpenCode: Use @mention syntax or the platform's native subagent mechanism with the same prompt content.
Step 4: Parse Result
Read the SubAgent's returned text and locate the ### Verdict: line:
- `### Verdict: PASS`
- Verify the design document file exists at
output_path - Visual Rendering Contract spot-check (ui:true only): The main Agent (not the SubAgent) reads the
## Visual Rendering Contractsection from the produced document and verifies:
- At least one visual element is listed with a concrete DOM/Canvas selector (not generic like "the page" or "the UI")
- Rendering technology is specified (Canvas 2D / WebGL / DOM / SVG / CSS)
- At least one positive rendering assertion references a specific visual outcome (not just "element is visible")
- The number of
UI/renderrows in the Test Inventory matches or exceeds the number of Visual Rendering Contract elements - If any check fails: re-dispatch SubAgent with feedback: "Visual Rendering Contract is incomplete — [specific gap]. A blank page that passes Layer 1 error detection is NOT acceptable. Every visual element the user should see must be listed with a testable selector and assertion."
- Extract Next Step Inputs:
feature_design_doc,test_inventory_count,tdd_task_count - Record in
task-progress.md: "Feature Design: PASS ({N} test scenarios, {M} TDD tasks)" - If
assumption_count > 0: append totask-progress.md: "({K} assumptions documented in Clarification Addendum)" - Proceed to TDD (Steps 5-7)
- `### Verdict: CLARIFY`
- Read the Ambiguities table — extract all categorized questions
- Present to user via
AskUserQuestionin a structured format:
``` Feature Design Clarification Required: Feature #{id} ({title})
While analyzing requirements and design documents, {N} ambiguity(ies) were found that affect the design. For each, a suggested interpretation is provided — you may accept it, provide a different answer, or say "skip" to use the suggestion as an assumption.
Ambiguity 1 [{category}]: {description} Source: {source} Impact: {impact} Suggested: {suggested_interpretation} → Your answer (or "accept" to use suggested, or "skip" to assume):
Ambiguity 2 [{category}]: ... ```
- Parse user responses — for each ambiguity, record:
- "accept" or specific answer → Resolution with Authority = "user-approved"
- "skip" → Resolution = suggested interpretation with Authority = "assumed"
- Approval gate: After all answers collected, present a summary via
AskUserQuestion:
``` Clarification Summary for Feature #{id}:
- [{category}] {description} → Resolution: {answer} (Authority: {authority})
- ...
Proceed with these resolutions? (yes / revise #N) ```
- If approved: proceed to step 5
- If user wants revision: re-ask specific items, then re-present summary
- Construct a Clarification Addendum and re-dispatch the SubAgent with the original prompt PLUS:
``` ## Clarification Addendum (user-approved resolutions)
| # | Category | Original Ambiguity | Resolution | Authority | |
|---|---|---|---|---|---|
| 1 | {category} | {description} | {resolution} | user-approved / assumed |
Apply these resolutions as authoritative constraints. Do NOT re-flag these as ambiguities. Incorporate them into the design as if they were in the original SRS/Design documents. ```
- Record in
task-progress.md: "Feature Design: CLARIFY ({N} ambiguities resolved) → re-dispatching" - Max 2 clarification rounds: If SubAgent returns
CLARIFYa second time after receiving clarifications, escalate remaining ambiguities to user:
"Persistent specification gaps found after 2 clarification rounds. Consider using long-task-increment to update the SRS/Design documents."
- If user says "SRS needs updating": record gap in
task-progress.md, suggestlong-task-increment, skip to next eligible feature - If user provides final answers: incorporate and re-dispatch one last time
- If still unresolvable: set to BLOCKED
- `### Verdict: FAIL`
- Read the Issues table — identify which sections are incomplete
- Re-dispatch SubAgent with additional context if needed (max 2 retries)
- If still failing, escalate to user via
AskUserQuestion
- `### Verdict: BLOCKED`
- Read the Issues table — identify the blocker
- Escalate to user via
AskUserQuestion
Integration
Called by: long-task-work (Step 4) Requires: System design doc, SRS, feature-list.json Produces: docs/features/YYYY-MM-DD-<feature-name>.md (written by SubAgent) Chains to: long-task-tdd (via Work Steps 5-7)
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/long-task-feature-design/SKILL.md
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
[](https://verified-skill.com/skills/suriyel/longtaskforagent/long-task-feature-design)