Work Item Writer

VerifiedSafe

Write well-structured work items with clear descriptions and actionable acceptance criteria. Helps when creating new work items, adding acceptance criteria, or when a work item, task, WI, or ticket is mentioned. Provides structured templates for titles, descriptions, journal entries, notes, and categorized acceptance criteria.

Sby Skills Guide Bot
DevelopmentIntermediate
6/2/2026
Claude Code
#work-items#acceptance-criteria#task-management#project-organization

Recommended for

Automated summary

Writes well-structured work items with categorized acceptance criteria and progress tracking via journal entries.

Strengths

  • Standardized format with category prefixes for automatic changelog generation.
  • Separates scope, progress, and durable learnings clearly.
  • Links to external artifacts (RFCs, notes).
  • Supports marking criteria done and moving work items through states.

Limitations

  • Requires learning the syntax and govctl commands.
  • May be overkill for very simple or informal tasks.
  • Depends on the govctl CLI tool, which is not universally available.
When to use it

When creating or updating work items that need clear acceptance criteria and progress tracking.

When not to use it

For informal notes or quick todos that don't require structured tracking.

Security analysis

Safe
Quality score85/100

The skill provides documentation and examples for using the 'govctl' CLI tool to manage work items. No destructive commands, exfiltration, or obfuscated payloads are present. All commands are benign and operate within a work item management context.

No concerns found

How this analysis is made

Examples

Create a new feature work item
Create a work item for adding user authentication with acceptance criteria including add, change, and chore categories.
Log progress after completing a task
Add a journal entry to work item WI-1234 saying the validation logic is complete and tests pass.
Mark an acceptance criterion as done
Tick off the 'add: Implement login endpoint' criterion on WI-1234 as done.

name: wi-writer description: "Write well-structured work items with proper acceptance criteria. Use when: (1) Creating work items, (2) Adding acceptance criteria, (3) User mentions work item, task, WI, or ticket"

Work Item Writer

Write work items with clear descriptions and actionable acceptance criteria.

Quick Reference

govctl work new --active "<title>"
govctl work set <WI-ID> description "Task scope description"
govctl work add <WI-ID> acceptance_criteria "<category>: <description>"
govctl work add <WI-ID> journal "Progress update" --scope module
govctl work add <WI-ID> notes "Key observation"
govctl work add <WI-ID> refs RFC-NNNN
govctl work tick <WI-ID> acceptance_criteria "<pattern>" -s done
govctl work move <WI-ID> done

Work Item Structure

Title

Concise, action-oriented. Describes what will be done.

  • Good: "Add validation for clause cross-references"
  • Bad: "Fix stuff" or "Work on the thing"

Description

Purpose: Task scope declaration — what needs to be done.

Replace the placeholder immediately. One paragraph explaining:

  • What the work accomplishes
  • Why it's needed
  • Any relevant context

Important: Description is for task scope, NOT execution tracking. Use journal for progress and outcomes, and notes for durable learnings.

Journal

Purpose: Execution process tracking — how the work is progressing.

Journal entries record progress updates, bug fixes, and verification results during execution. Each entry has:

  • date (required): ISO date "YYYY-MM-DD"
  • scope (optional): Topic/module identifier
  • content (required): Markdown text with details
# Add journal entry (date is auto-filled to today)
govctl work add <WI-ID> journal "Added journal section rendering to work item output."

# With scope (topic/module tag)
govctl work add <WI-ID> journal "Fixed parser edge case" --scope parser

# Multi-line via stdin
govctl work add <WI-ID> journal --scope render --stdin <<'EOF'
Completed the rendering pipeline.
All snapshot tests updated.
EOF

When to add journal entries:

  • After completing a significant chunk of work
  • When fixing bugs during implementation
  • After running verification gates
  • After a failed attempt that changed the next step

Notes

Purpose: Durable learnings — constraints, decisions, and retry rules to remember before the next step.

Notes are concise points recorded anytime, not just at completion. Use for:

  • Why an approach failed
  • What not to retry
  • Constraints or decisions future steps must obey
govctl work add <WI-ID> notes "Remember to update migration guide"
govctl work add <WI-ID> notes "API is now async"

Acceptance Criteria

Every criterion MUST have a category prefix for changelog generation:

| Prefix | Changelog Section | Aliases | | ------------ | ----------------- | --------------------------------- | | add: | Added | feat:, feature:, added: | | fix: | Fixed | fixed: | | change: | Changed | changed:, refactor:, perf: | | remove: | Removed | removed: | | deprecate: | Deprecated | deprecated: | | security: | Security | sec: | | chore: | (excluded) | test:, docs:, ci:, build: |

# Feature work
govctl work add <WI-ID> acceptance_criteria "add: Implement clause validation"
govctl work add <WI-ID> acceptance_criteria "add: Error messages include clause ID"

# Bug fix
govctl work add <WI-ID> acceptance_criteria "fix: Duplicate clause detection"

# Internal
govctl work add <WI-ID> acceptance_criteria "chore: All tests pass"
govctl work add <WI-ID> acceptance_criteria "chore: govctl check passes"

References

Link to governing artifacts:

govctl work add <WI-ID> refs RFC-0001
govctl work add <WI-ID> refs ADR-0023

Field Semantics Summary

| Field | Purpose | Update Pattern | | --------------------- | -------------------------- | --------------------------------------------- | | description | Task scope declaration | Define once, rarely change | | journal | Execution process tracking | Append on each progress | | notes | Durable learnings | Add when future steps must remember something | | acceptance_criteria | Completion criteria | Define then tick |

Per ADR-0026: Keep description focused on "what", journal on "what happened", and notes on "what to remember next".

Writing Rules

Acceptance Criteria Quality

Each criterion should be:

  • Specific — "Add validate_refs() function" not "Add validation"
  • Testable — Can be verified as done/not-done with no ambiguity
  • Independent — Each criterion stands alone
  • Categorized — Always include the category prefix

Completion Flow

Work items cannot be marked done without ticking all criteria:

# Tick criteria as you complete them
govctl work tick <WI-ID> acceptance_criteria "<pattern>" -s done

# When all criteria are done, close the work item
govctl work move <WI-ID> done

The chore: Pattern

Always add at least one chore: criterion for validation:

govctl work add <WI-ID> acceptance_criteria "chore: govctl check passes"

This ensures validation is an explicit gate, not an afterthought.

Common Mistakes

| Mistake | Fix | | -------------------------------- | ----------------------------------------------------------- | | Missing category prefix | Always use add:, fix:, chore:, etc. | | Placeholder description left in | Replace immediately with real description | | Vague criteria: "Feature works" | Specific: "add: CLI returns exit code 0 on success" | | No chore: criterion | Add "chore: govctl check passes" or "chore: all tests pass" | | No refs to governing artifacts | Link RFCs/ADRs with work add <WI-ID> refs | | Description used for tracking | Use journal field for execution progress per ADR-0026 | | No journal entries for long task | Add journal entries for significant progress updates |

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/work-item-writer-mmk3nh85/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/work-item-writer-mmk3nh85' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/work-item-writer-mmk3nh85/download' --output '.skill-downloads/work-item-writer-mmk3nh85/SKILL.md.part' && mv '.skill-downloads/work-item-writer-mmk3nh85/SKILL.md.part' '.skill-downloads/work-item-writer-mmk3nh85/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Original excerpt: Quick Reference
govctl work new --active "<title>"
govctl work set <WI-ID> description "Task scope description"
govctl work add <WI-ID> acceptance_criteria "<category>: <description>"
govctl work add <WI-ID> journal "Progress update" --scope module
govctl work add <WI-ID> notes "Key observation"
govctl work add <WI-ID> refs RFC-NNNN
govctl work tick <WI-ID> acceptance_criteria "<pattern>" -s done
govctl work move <WI-ID> done

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/work-item-writer-mmk3nh85/SKILL.md' && test -s '.skill-downloads/work-item-writer-mmk3nh85/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/wi-writer' && cp -R '.skill-downloads/work-item-writer-mmk3nh85' '.claude/skills/wi-writer'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/work-item-writer-mmk3nh85'

openskills read 'work-item-writer-mmk3nh85'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/work-item-writer-mmk3nh85/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills