Features & Work Items
VibeFlow organizes work in a hierarchy: Projects → Features → Todos, with Issues as standalone items at the project level.
Features
Features represent major areas of work within a project — like "User Authentication", "Payment Integration", or "Dashboard Analytics".
Creating a Feature
- Open a project
- Click + New Feature
- Provide:
- Name — Descriptive name (e.g., "Login & Signup")
- Description — What the feature encompasses
- Priority —
high,medium, orlow
Feature Status
Features follow the standard workflow:
in_review → planning → ready_to_implement → architecture_review_complete → implementing → done
When all todos within a feature are done, the feature automatically transitions to done.
Todos
Todos are specific implementation tasks within a feature. They are the primary unit of work that agents pick up and implement.
Creating a Todo
- Open a feature
- Click + New Todo
- Provide:
- Title — Clear, actionable description (e.g., "Add email validation to signup form")
- Description — Detailed requirements, acceptance criteria
- Priority —
high,medium, orlow - Target Branch — Git branch for this work (defaults to project default)
- Assignee (optional) — Assign to a specific org member
Todo Lifecycle
- Created (
in_review) — Todo is defined and ready for review - Reviewed (
planning) — A persona (PM or architect) plans the approach - Ready (
ready_to_implement) — Available for an agent to pick up - Architecture Reviewed (
architecture_review_complete) — Architect has approved the approach - In Progress (
implementing) — An agent has claimed and is working on it - Done (
done) — Code committed, tests passing, work complete - Security Reviewed — Security lead has verified no vulnerabilities
- QA Verified — QA lead has tested and approved
Git Tracking
When a todo is marked done, the following git metadata is recorded:
- Commit hash
- Author name and email
- Lines added and deleted
This provides full traceability from work item to code change.
Issues
Issues are standalone work items at the project level — typically bugs, fixes, or cross-cutting changes that don't fit under a single feature.
Creating an Issue
- Open a project
- Click + New Issue
- Provide:
- Title — Clear description of the bug or task
- Description — Steps to reproduce, expected vs actual behavior
- Priority —
high,medium, orlow - Target Branch — Git branch
- Feature (optional) — Link to a related feature for context
- Assignee (optional) — Assign to a specific org member
Issues vs Todos
| Aspect | Todo | Issue |
|---|---|---|
| Parent | Feature (required) | Project (standalone) |
| Use case | Feature enhancement | Bug fix, standalone task |
| Feature link | Always linked | Optional |
| Workflow | Same status lifecycle | Same status lifecycle |
Priority Levels
| Priority | When to Use |
|---|---|
| High | Critical bugs, blocking features, security fixes |
| Medium | Standard feature work, non-critical improvements |
| Low | Nice-to-have enhancements, minor polish |
Agents process work items in priority order: high → medium → low. Issues at the same priority level are processed before todos.
Status Workflow
All work items (todos and issues) follow this status flow:
in_review → planning → ready_to_implement → architecture_review_complete → implementing → done
After done, items enter the review pipeline:
done → Security Review → QA Verification → Fully Complete
The review pipeline is tracked by two boolean fields on every work item:
security_reviewed— set totrueafter the Security Lead persona signs off (or rejects + re-fixes are landed)qa_verified— set totrueafter the QA Lead persona signs off
Both default to false when a fresh work item ships from implementing → done. The Security Lead persona's polling loop sees done items where security_reviewed=false (with a committed git hash); the QA Lead persona's polling loop sees done items where security_reviewed=true AND qa_verified=false. This naturally serializes the two reviews — security first, then QA — without either reviewer needing to coordinate manually.
A reviewer rejection re-opens the item: status flips back to planning (or implementing) for the original implementer to address the feedback, then the cycle repeats.
Status Descriptions
| Status | Description |
|---|---|
in_review | Initial state — being reviewed by PM or stakeholders. Agents do NOT pick up in_review items; only humans can move them forward. |
planning | Being analyzed and planned by a persona |
ready_to_implement | Ready for a developer agent to pick up |
architecture_review_complete | Architect has reviewed the approach |
implementing | An agent is actively working on it |
done | Code committed and tests passing — enters review pipeline next |
rejected | Sent back for rework (e.g., after QA rejection) |
Jira Integration on Work Items
When a todo or issue was imported from Jira, it displays additional information:
- Jira Sync Badge — Clickable badge showing the Jira key (e.g.,
PROJ-123) with link to the original ticket - Jira Detail Section — Collapsible panel on the detail view showing Jira issue type, status, epic, sync status, and retry controls
- Sprint Info — If imported from a Jira sprint, the sprint name and link are displayed; a Sprint column appears in the todos/issues table with a sprint filter
- Sync Status — Real-time indicator of whether status changes have been synced back to Jira
For more details, see Integrations.
ClickUp Integration on Work Items
When a todo or issue is imported from ClickUp or pushed to ClickUp, it displays linked-task information:
- ClickUp Sync Badge — Clickable badge linking to the ClickUp task
- ClickUp Detail Section — Collapsible panel showing task ID, ClickUp status, push direction, sync status, and sync errors
- Direction — Shows whether the item was
importedfrom ClickUp orpushedfrom VibeFlow - Sync Status — Real-time indicator for
linked,syncing,completed,failed, ordead_letter
For more details, see Integrations.
Execution Logs
Every work item has an execution log — a running record of what the agent did:
- Header — What item this is, priority, associated docs
- Progress — What files were analyzed, modified, tested
- Footer — Final status, commit hash, files changed
Execution logs are append-only and persist across sessions, providing a complete audit trail.
Claiming and Ownership
When an agent picks up a work item:
- It acquires a poll lock (prevents race conditions)
- Claims the item with a compare-and-swap operation
- Records its session ID and persona on the item
- Releases the poll lock
Only one agent can work on an item at a time. If a claim expires (agent disconnects), the item becomes available again after 30 minutes.
Tags
Tags provide a flexible labeling system for organizing and filtering work items across all entity types (features, todos, issues).
Tag Structure
Tags follow a key:value model:
- Tag Keys — Defined at the org level (e.g., "Environment", "Team", "Module")
- Tag Values — Values within a key (e.g., "production", "staging", "development")
- Colors — Each tag key has an assigned color for visual identification
Applying Tags
Tags can be applied individually or in bulk:
- Single item — Open a todo, issue, or feature and add tags from the detail view
- Bulk tag — Select multiple items via checkboxes in the table, then click Tag to apply a tag to all selected items at once
Filtering by Tags
Every table (Features, Todos, Issues) includes a Tag filter pill in the toolbar:
- Click the Tag filter pill
- Select a tag key
- Select a tag value
- The table filters to show only items with that tag
Active tag filters display as removable badges below the filter toolbar.
Managing Tags
Org admins can manage tag keys and values in Settings → Tag Management:
- Create new tag keys with custom colors
- Add/edit/delete tag values within each key
- Tags are org-wide — available across all projects
Deep Links
Every work item in VibeFlow has a shareable URL that navigates directly to it:
/ai/vibeflow?project={projectId}&todo={todoId}
/ai/vibeflow?project={projectId}&issue={issueId}
/ai/vibeflow?project={projectId}&feature={featureId}
Deep links are used in:
- Slack notification messages ("Open in VibeFlow" link)
- Jira sync comments
- Browser bookmarks and shared links
Table Interface
Features, Todos, and Issues are displayed in data tables with consistent UX:
- Resizable columns — Drag column borders to resize; widths persist in localStorage
- Search — Full-text search across item titles
- Filter pills — Status, Tag, Feature, Branch, and Sprint filters
- Sort — Click column headers to sort
- Pagination — Pages of 10 items with page count display
- Summary strip — Color-coded status counts (Done, Implementing, Planning, In Review) above the table
- Checkbox selection — Select multiple items for bulk tag application
- Tag chips — Inline tag badges on each row (max 3 visible, +N overflow)