.github/skills/structuring-tasks/SKILL.md
Transform raw feature descriptions, bug reports, or ideas into structured task documents with YAML frontmatter and standardized sections. Use when asked to 'create a task', 'write a task file', 'structure this feature', 'turn this into a task', 'make a ticket', or when a .tasks/ directory exists and the user provides an unstructured feature description. Also use when refining or reformatting existing task files. Do NOT use for Jira ticket creation, spec writing, or implementation planning.
npx skillsauth add sergeyklay/groster structuring-tasksInstall 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.
Convert unstructured feature descriptions into task documents that an implementer
can execute without asking follow-up questions. Each task file lives in .tasks/
and follows a fixed template with YAML frontmatter and seven sections.
.tasks/ directory exists and needs a new entryRead the raw description. Identify:
Do not generate the task yet. Gaps drive Phase 2.
If the input lacks enough detail to fill the frontmatter or the What section, ask the user to clarify before proceeding. Focus on: complexity assessment, platform scope, and dependency relationships between tasks.
Fill knowledge gaps before writing. For each gap:
.tasks/ files for ID numbering and naming patternsResearch determines the content of the Technical reference section. Skip this phase only when the input already contains complete technical details.
Assign each field:
| Field | How to determine |
|-------|-----------------|
| id | Next sequential number in .tasks/, zero-padded to 3 digits ("001", "002") |
| title | Imperative sentence, under 80 characters. "Add X to Y", "Fix Z in W" |
| status | Always draft for new tasks |
| created | Today's date in YYYY-MM-DD format |
| complexity | low (single file, < 1 hour), medium (multiple files, new patterns), high (cross-cutting, new architecture) |
| platform | Primary platform affected: github-copilot, cursor, claude-code, cross-platform, or omit if stack-agnostic |
| scope | List of file paths that will be modified. Directories end with / |
| depends-on | List of task IDs that must complete first. Empty array if none |
Copy the template from assets/task-template.md. Fill each section following
these rules.
Language constraint: Write every part of the task document in English — frontmatter values, section headings, body text, code comments, and acceptance criteria. Translate the user's input into English during this phase regardless of the language the user communicates in.
Title line (# Task {ID}: {TITLE})
Matches the frontmatter id and title exactly.
What One paragraph, 2-4 sentences. State the change, not the motivation. Mention specific tools, APIs, or standards by name.
Current state Bullet list of how the system behaves today. Each bullet is a factual observation the implementer can verify. Include file names where relevant.
Target state Bullet list of how the system should behave after implementation. Mirror the structure of Current state so diffs are obvious.
Why Bullet list of reasons. Lead with the strongest reason. Each bullet connects a problem (current state) to a benefit (target state). No generic statements like "improves developer experience" without saying how.
Where: Files to modify
Table with two columns: File (path) and Change (what changes). One row per file.
Be specific: "Add vscode/askQuestions to tools: array" not "Update tools".
Where: Files to create Table with two columns: File (path) and Purpose (why it exists). Omit this subsection if no files are created.
Where: Files out of scope Bullet list of files that might seem relevant but should not be touched, with a reason. Prevents scope creep.
Technical reference The section the implementer reads when they need syntax, API details, or configuration examples. Use subsections for distinct topics. Include code blocks with exact syntax. This section comes from Phase 2 research. If the input already contained complete technical details, reproduce them here with proper formatting.
Acceptance criteria
Checklist (- [ ]) of verifiable conditions. Each criterion answers "how do I
prove this is done?" Not "implement feature X" but "Feature X renders in the UI
when setting Y is enabled." Aim for 5-8 criteria.
References
Bullet list of links with context. Format:
- [Title](URL) -- One-line reason this link matters
Before saving, verify:
id does not collide with existing tasks in .tasks/scope matches the files listed in the Where section.tasks/{ID}-{slug}.md
{ID} -- Zero-padded 3-digit number matching frontmatter id{slug} -- Lowercase, hyphen-separated, derived from the title.tasks/001-ask-user-questions.md| Level | Signals |
|-------|---------|
| low | Single file change. No new patterns introduced. Implementer needs < 30 minutes. |
| medium | 2-6 files. May introduce a new tool, frontmatter field, or section. Requires some research. |
| high | 7+ files or cross-cutting concern. New architectural pattern. Multiple platforms affected. Requires significant research. |
| Pattern | Problem | Fix | |---------|---------|-----| | Vague acceptance criteria | "It works" is not verifiable | State the observable behavior and how to trigger it | | Missing Technical reference | Implementer searches docs during coding | Front-load the research into the task | | Scope creep in Where | Listing files "just in case" | Only list files that require changes for this task | | Copy-pasting the raw input as What | No analysis performed | Synthesize: extract the core change, discard noise | | Placeholder references | "[TODO: find link]" | Research now or remove the reference |
All task output is in English. This is non-negotiable regardless of the language the user writes in. Frontmatter, section content, code comments, acceptance criteria, and references are always English. During Phases 1-2 (analysis, clarification questions, research) respond in the user's language so communication stays natural. Switch to English only in the written artifact.
development
Use when asked to commit, save, or persist changes to Git. Handles atomic commits, branch safety, Conventional Commits format, and project style matching. Do NOT use for pushing, creating PRs, or branch management beyond safety checks.
research
Use when asked to create a pull request, open a PR, or submit changes for review. Handles branch verification, change analysis, title and description generation, and gh pr create. Do NOT use for committing (use git-commit), pushing without PR, or reviewing existing PRs.
development
Create or validate project context files (AGENTS.md, CLAUDE.md, GEMINI.md). Use when bootstrapping a new project, initializing agent configuration, writing a context file, or when asked to create, review, audit, or validate an existing context file. Handles codebase archaeology, user interviews, golden-rule validation, and platform-specific formatting. Do NOT use for creating Agent Skills (use creating-agent-skills instead) or .instructions.md files (use agent-customization instead).
development
Fetch commit history between package versions from GitHub when changelog is unavailable. Use this skill when (1) changelog analysis failed to provide sufficient information, (2) changelog exists but breaking changes are unclear, (3) evaluating packages without public release notes. Works with both npm/yarn (Node.js) and Composer (PHP) packages. Requires the package repository to be publicly accessible on GitHub.