# Bbs

> Manage issues with The Fold's CAS-native BBS (Bulletin Board System). Use for creating, updating, searching, and tracking issues. Invoke when the user wants to create tickets, find work, check issue status, or manage dependencies.

- Skill: `majiayu000/bbs` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/bbs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/bbs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/bbs

---


# BBS (Bulletin Board System) Skill

## Overview

BBS is The Fold's CAS-native issue tracker built on block primitives. All issues are content-addressed, with full history preserved in the store.

Use BBS for:
- Creating and tracking issues (bugs, features, tasks, epics)
- Finding available work (unblocked issues)
- Managing dependencies between issues
- Reviewing issue history and status

## Quick Reference

| Command | Purpose | Example |
|---------|---------|---------|
| `bbs-list` | List issues | `(bbs-list)` |
| `bbs-show` | View issue details | `(bbs-show 'fold-001)` |
| `bbs-create` | Create new issue | `(bbs-create "Title")` |
| `bbs-update` | Update issue fields | `(bbs-update 'fold-001 'status 'in_progress)` |
| `bbs-close` | Close an issue | `(bbs-close 'fold-001)` |
| `bbs-find` | Search issue titles | `(bbs-find "query")` |
| `bbs-search` | Search titles + descriptions | `(bbs-search "query")` |
| `bbs-ready` | Show unblocked work | `(bbs-ready)` |
| `bbs-blocked` | Show blocked issues | `(bbs-blocked)` |
| `bbs-dep` | Add dependency | `(bbs-dep 'blocker 'blocked)` |
| `bbs-add-blocker` | Add dependency (alias) | `(bbs-add-blocker 'fold-001 'fold-002)` |
| `bbs-list-by-label` | Filter by label | `(bbs-list-by-label 'topology)` |
| `bbs-list-by-type` | Filter by type | `(bbs-list-by-type 'epic)` |
| `bbs-label-report` | Show all labels | `(bbs-label-report)` |
| `bbs-stats` | Database statistics | `(bbs-stats)` |

## Instructions

### Listing Issues

```bash
# List open issues (default)
./fold "(bbs-list)"

# List closed issues
./fold "(bbs-list 'status 'closed)"

# List all issues regardless of status
./fold "(bbs-list 'status 'all)"
```

### Viewing Issues

```bash
# View issue details
./fold "(bbs-show 'fold-001)"

# Search issue titles
./fold "(bbs-find \"auth\")"

# Search titles AND descriptions (more comprehensive)
./fold "(bbs-search \"authentication\")"

# Show unblocked work (ready to start)
./fold "(bbs-ready)"

# Show blocked issues
./fold "(bbs-blocked)"
```

### Filtering Issues

```bash
# Filter by label
./fold "(bbs-list-by-label 'topology)"

# Filter by type (task, bug, feature, epic)
./fold "(bbs-list-by-type 'epic)"

# Get programmatic list of IDs with label (not displayed)
./fold "(bbs-by-label 'refactor)"

# Show all labels in use
./fold "(bbs-label-report)"
```

### Creating Issues

```bash
# Basic create (just title)
./fold "(bbs-create \"Fix authentication bug\")"

# With priority (0=critical, 2=medium, 4=backlog)
./fold "(bbs-create \"Urgent fix\" 'priority 0)"

# With type (task, bug, feature, epic)
./fold "(bbs-create \"Add dark mode\" 'type 'feature)"

# Full creation with all options
./fold "(bbs-create \"Refactor auth\" 'description \"Detailed description here\" 'priority 1 'type 'task 'labels '(core security))"
```

### Updating Issues

```bash
# Update status
./fold "(bbs-update 'fold-001 'status 'in_progress)"

# Change priority
./fold "(bbs-update 'fold-001 'priority 0)"

# Add labels
./fold "(bbs-update 'fold-001 'labels '(urgent core))"

# Update description
./fold "(bbs-update 'fold-001 'description \"New description\")"
```

### Closing Issues

```bash
# Simple close
./fold "(bbs-close 'fold-001)"

# Close with reason
./fold "(bbs-close 'fold-001 'reason \"Fixed in commit abc123\")"
```

### Managing Dependencies

```bash
# fold-001 blocks fold-002 (fold-002 depends on fold-001)
./fold "(bbs-dep 'fold-001 'fold-002)"

# What blocks this issue?
./fold "(bbs-blockers 'fold-002)"

# What does this issue block?
./fold "(bbs-blocking 'fold-001)"

# All unblocked open issues (ready for work)
./fold "(bbs-ready)"
```

### History & Statistics

```bash
# Show version history for an issue
./fold "(bbs-history 'fold-001)"

# Database statistics
./fold "(bbs-stats)"
```

## Field Reference

### Priority Levels

| Priority | Meaning |
|----------|---------|
| 0 | Critical - drop everything |
| 1 | High - do soon |
| 2 | Medium (default) |
| 3 | Low - when time permits |
| 4 | Backlog - someday maybe |

### Issue Types

| Type | Use For |
|------|---------|
| `task` | General work items |
| `bug` | Defects to fix |
| `feature` | New functionality |
| `epic` | Large multi-issue efforts |

### Status Values

| Status | Meaning |
|--------|---------|
| `open` | Not yet started |
| `in_progress` | Currently being worked |
| `closed` | Completed or won't fix |

## Examples

### Example 1: Typical Bug Fix Workflow

```bash
# Find the bug
./fold "(bbs-find \"auth\")"

# Check details
./fold "(bbs-show 'fold-042)"

# Start working on it
./fold "(bbs-update 'fold-042 'status 'in_progress)"

# ... fix the bug ...

# Close it
./fold "(bbs-close 'fold-042 'reason \"Fixed token refresh logic\")"
```

### Example 2: Creating a Feature with Dependencies

```bash
# Create the main feature
./fold "(bbs-create \"Add export functionality\" 'type 'feature 'priority 1)"
# Returns: fold-100

# Create sub-tasks
./fold "(bbs-create \"Design export API\" 'type 'task)"
# Returns: fold-101

./fold "(bbs-create \"Implement CSV export\" 'type 'task)"
# Returns: fold-102

# Set up dependencies (design must complete before implementation)
./fold "(bbs-dep 'fold-101 'fold-102)"

# Main feature blocked by implementation
./fold "(bbs-dep 'fold-102 'fold-100)"
```

### Example 3: Finding Available Work

```bash
# What's ready to work on?
./fold "(bbs-ready)"

# Get stats overview
./fold "(bbs-stats)"

# See what's currently blocked
./fold "(bbs-blocked)"
```

### Example 4: Triaging Issues

```bash
# List all open issues
./fold "(bbs-list)"

# Bump priority on critical item
./fold "(bbs-update 'fold-050 'priority 0)"

# Add labels for categorization
./fold "(bbs-update 'fold-050 'labels '(security urgent))"
```

### Example 5: Finding Related Work by Label

```bash
# See what labels exist
./fold "(bbs-label-report)"

# Find all topology-related issues
./fold "(bbs-list-by-label 'topology)"

# Find all epics to see big-picture work
./fold "(bbs-list-by-type 'epic)"

# Deep search in descriptions
./fold "(bbs-search \"homology\")"
```

## Notes

- **Issue IDs**: Can be symbols (`'fold-001`) or strings (`"fold-001"`)
- **Auto-initialization**: BBS initializes automatically when the REPL starts
- **CAS Storage**: All issues are content-addressed in `.store/`
- **Head files**: Current issue state tracked in `.store/heads/bbs/`
- **Counter**: Issue counter in `.bbs/counter`

## Pipeline Integration

BBS effects are available in agent pipelines (`lattice/pipeline/effects.ss`):

```scheme
(bbs-create "title")              ; Create issue, return ID
(bbs-create-full title desc type priority)
(bbs-update id updates-alist)     ; Update issue fields
(bbs-close id)                    ; Close issue
(bbs-ready)                       ; Get unblocked issues
(bbs-show id)                     ; Get issue details
```

## File Locations

| Path | Purpose |
|------|---------|
| `.store/heads/bbs/` | Issue head files (current hash per issue) |
| `.bbs/counter` | Next issue number |
| `.bbs/deps` | Dependency relationships |
| `boundary/bbs/bbs.ss` | Core BBS implementation |
| `boundary/bbs/ops.ss` | BBS operations |
| `boundary/bbs/index.ss` | BBS indexing |

