home / skills / richardanaya / agent-skills / bd-modify-product-description-and-tasks

bd-modify-product-description-and-tasks skill

/.opencode/skill/bd-modify-product-description-and-tasks

This skill helps you create, edit, and manage beads issues with proper dependencies and metadata for streamlined project tracking.

npx playbooks add skill richardanaya/agent-skills --skill bd-modify-product-description-and-tasks

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.6 KB
---
name: bd-modify-product-description-and-tasks
description: Modify product descriptions and tasks using the bd (beads) issue tracker - create, edit, update, and manage issues with proper dependency handling
---

## What I Do
- Create new issues with proper descriptions and metadata
- Edit existing issue descriptions and fields
- Update issue states and progress
- Manage issue dependencies and relationships
- Label and categorize issues appropriately
- Add comments and context to issues
- Move issues between rigs/projects when needed

## When to Use Me
Use this skill when you need to:
- Create a new task or issue with full context
- Update an existing issue's description or details
- Change an issue's state (open, in-progress, closed, etc.)
- Add or modify dependencies between issues
- Label issues for better organization
- Add comments to provide updates or context
- Split or reorganize work items

## Git + JSONL: How bd Works

**No database servers. No cloud APIs. Just Git + JSONL.**

All issues live in `.beads/issues.jsonl` — a simple JSON Lines file that git tracks like any other code. This means:

- **Pull → see updates**: `git pull` brings down everyone's issue changes
- **Push → share yours**: `git push` publishes your issue updates to the team
- **Merge conflicts are possible**: If two people edit the same issue simultaneously, you'll get a classic git merge conflict (just like with code)
- **Hash IDs reduce conflicts**: Every issue has a unique hash ID, making simultaneous edits on *different* issues seamless

This is version control for your project management — fully distributed, offline-capable, and conflict-aware.

## bd Commands to Use

### Create a New Issue
```
bd create --title "<title>" --type <type> [--description "<description>"]
```
Creates a new issue. Common types: task, bug, feature, epic

### Create from Markdown File
```
bd create --file <path-to-markdown>
```
Creates issues from a markdown file (useful for bulk creation).

### Interactive Create
```
bd create-form
```
Creates an issue using an interactive form in your $EDITOR.

### Quick Capture
```
bd q --title "<title>"
```
Quickly create an issue and output only the ID (useful for scripts).

### Edit an Issue
```
bd edit <issue-id>
```
Opens the issue in $EDITOR to modify fields.

### Update Specific Fields
```
bd update <issue-id> --title "<new-title>"
bd update <issue-id> --description "<new-description>"
bd update <issue-id> --type <new-type>
```
Update individual fields without opening an editor.

### Set State
```
bd set-state <issue-id> <state>
```
Set operational state (creates event + updates label). States: open, in_progress, closed, etc.

### Close/Reopen Issues
```
bd close <issue-id> [<issue-id>...]
bd reopen <issue-id> [<issue-id>...]
```

### Manage Dependencies
```
bd dep add <issue-id> <depends-on-issue-id>
bd dep remove <issue-id> <depends-on-issue-id>
bd dep list <issue-id>
```

### Add Labels
```
bd label add <issue-id> <label>
bd label remove <issue-id> <label>
```

### Add Comments
```
bd comments add <issue-id> "<comment-text>"
```

### View Issue Details
```
bd show <issue-id>
```
Show full issue details including description, state, dependencies, comments.

### Move Issues Between Rigs
```
bd move <issue-id> <target-rig>
```
Move an issue to a different rig with automatic dependency remapping.

### Mark as Duplicate
```
bd duplicate <issue-id> <original-issue-id>
```

### Supersede an Issue
```
bd supersede <old-issue-id> <new-issue-id>
```
Mark an issue as superseded by a newer one.

## Workflow for Creating Issues

1. **Define the work**: Determine title, type, and description
2. **Create the issue**: Use `bd create` or `bd create-form`
3. **Set dependencies**: Use `bd dep add` to establish relationships
4. **Add labels**: Use `bd label add` for categorization
5. **Verify**: Use `bd show` to confirm everything is correct

## Workflow for Modifying Issues

1. **View current state**: Use `bd show <issue-id>` to see existing details
2. **Make changes**: Use `bd edit` for complex changes or `bd update` for simple field updates
3. **Update state**: Use `bd set-state` when work progresses
4. **Add context**: Use `bd comments add` to document decisions or progress
5. **Sync**: Changes auto-sync to JSONL (or run `bd sync` if needed)

## Best Practices

- **Clear titles**: Make issue titles descriptive and actionable
- **Detailed descriptions**: Include context, acceptance criteria, and links
- **Dependencies**: Always set up dependencies before starting work
- **State updates**: Keep issue state current as work progresses
- **Comments**: Add comments for significant decisions or blockers
- **Labels**: Use consistent labeling for easy filtering

Overview

This skill lets you create, edit, update, and manage product descriptions and tasks using the bd (beads) issue tracker. It focuses on producing well-formed issues, maintaining proper metadata, and handling dependencies and state transitions so tasks stay actionable and traceable. The workflow uses Git + JSONL for distributed, version-controlled issue management.

How this skill works

The skill operates by reading and writing issues stored in a .beads/issues.jsonl file that git tracks. It exposes commands to create issues (single or bulk), edit fields, set states, manage dependencies, add labels and comments, and move issues between rigs. All changes are regular git commits, so syncing is done via git pull/push and merge conflicts are handled like code changes.

When to use it

  • Create a new task, bug, feature, or epic with full context and acceptance criteria
  • Update an existing issue’s title, description, type, or state
  • Add or remove dependencies before work begins or as plans change
  • Label, categorize, or comment on issues to provide status and context
  • Move work items between rigs or reorganize/split tasks
  • Quickly capture a task from scripts or editor with minimal friction

Best practices

  • Write clear, descriptive titles that convey outcome and scope
  • Include context, acceptance criteria, and relevant links in descriptions
  • Set dependencies early to prevent duplicate or blocked work
  • Keep issue states current to reflect real progress
  • Use consistent labels for filtering and reporting
  • Add concise comments for decisions, blockers, or handoffs

Example use cases

  • Create a feature issue from markdown to onboard a scoped project deliverable
  • Update an in-progress task description to reflect changed acceptance criteria
  • Add dependencies to a deployment task so prerequisite work is tracked and blocked appropriately
  • Move a component bug to another rig and automatically remap its dependencies
  • Quick-capture a one-line task from a script and get back the new issue ID for automation

FAQ

How are issues stored and shared?

All issues live in .beads/issues.jsonl and are shared via git. Pull to receive others’ changes and push to publish yours.

What happens if two people edit the same issue?

You may get a git merge conflict like with code. Resolve the conflict locally, commit, and push. Hash IDs help avoid conflicts on different issues.