openspec-beads-import
SKILL.md
OpenSpec to Beads Import
Import OpenSpec tasks into Beads with full context so each issue is self-contained and survives conversation compaction.
Prerequisites
- OpenSpec change exists with completed
tasks.mdartifact - Beads initialized in repo (
bd primeworks) - Change has been validated (don't import unvalidated specs!)
Input
Specify change name, or omit to auto-select from active changes.
Steps
1. Identify the Change
If change name provided, use it. Otherwise:
openspec list --json
Select the change and announce: "Importing tasks from change: <name>"
2. Read OpenSpec Artifacts
Read all available artifacts to build context:
openspec status --change "<name>" --json
Read these files:
openspec/changes/<name>/proposal.md- High-level descriptionopenspec/changes/<name>/specs/*.md- Detailed specificationsopenspec/changes/<name>/design/*.md- Implementation approachopenspec/changes/<name>/tasks.md- Task list to import
3. Create Epic for the Change
bd create "<change-name>: <short description>" -t epic -p 1 \
-l "openspec:<change-name>" \
-d "## OpenSpec Change: <change-name>
**Proposal:** openspec/changes/<change-name>/proposal.md
## Summary
<one paragraph from proposal>
## Key Specs
<list spec files with one-line descriptions>
## Design Approach
<one paragraph from design>
## Tasks
See child issues labeled \`openspec:<change-name>\`
## Files Affected
<list primary files/folders from specs>"
Record the epic ID for use as parent reference.
4. Import Each Task
For EACH task in tasks.md:
Parse the task to extract:
- Task description
- Priority (default 2 for features, 1 for blockers)
- Which spec/design sections apply
- File paths mentioned or implied
Create with FULL context:
bd create "<task title>" -t task -p <priority> \
-l "openspec:<change-name>" \
-d "## Spec Reference
openspec/changes/<change-name>/tasks.md - Task N of M
## Parent Epic
<epic-id>: <epic-title>
## Requirements
<copy relevant requirements from specs>
<be specific - include file paths, method names, patterns>
## Acceptance Criteria
<from spec or design>
- [ ] <specific testable criteria>
- [ ] <another criteria>
## Technical Context
<from design and domain knowledge>
- Files: <specific paths>
- Dependencies: <what must be done first>
- Testing: <what tests to write/run>
## FieldWorks Notes
<relevant domain context>
- Build phase: <native|managed|both>
- Related AGENTS.md: <paths if applicable>"
5. Establish Dependencies
If tasks have order dependencies:
bd dep add <later-task-id> --blocks <earlier-task-id>
Common dependency patterns:
- Native (C++) tasks before managed (C#) tasks that depend on them
- Interface definitions before implementations
- Core utilities before consumers
6. Summary
Display:
## Import Complete: <change-name>
**Epic:** <epic-id>
**Tasks Created:** N issues
### Task Overview
| ID | Title | Priority | Dependencies |
|----|-------|----------|--------------|
| <id> | <title> | <priority> | <deps or "none"> |
### Next Steps
1. Run `bd ready` to see unblocked tasks
2. Pick a task and run `bd show <id>` for full context
3. When implementing: `bd update <id> --status in_progress`
4. Keep tasks.md in sync: mark `[x]` when completing bd issues
### Quick Commands
\`\`\`bash
bd ready # What can I work on?
bd show <id> # Full task context
bd update <id> --status in_progress # Start work
bd close <id> --reason "done" # Complete task
\`\`\`
Guardrails
- NEVER create issues without full context - Each issue must be independently workable
- NEVER skip the acceptance criteria - Copy from spec, don't summarize
- Include file paths - Agents need to know WHERE to look
- Mark build phase - Native vs managed matters in FieldWorks
- Ask for clarification if a task is too vague to create proper context
The Self-Contained Test
Before creating each issue, ask: "Could an agent implement this correctly with ONLY the bd description and access to the codebase, even after conversation compaction?"
If NO → add more context.
Example Output
## Import Complete: add-retry-logic
**Epic:** bd-47
**Tasks Created:** 4 issues
| ID | Title | Priority | Dependencies |
|----|-------|----------|--------------|
| bd-48 | Add Retrier utility class | 2 | none |
| bd-49 | Wrap FLExBridge calls with retry | 2 | bd-48 |
| bd-50 | Add retry tests | 2 | bd-49 |
| bd-51 | Update logging for retry events | 3 | bd-48 |
Run `bd ready` to start working!
Weekly Installs
1
Repository
sillsdev/fieldworksGitHub Stars
103
First Seen
Mar 1, 2026
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
continue1
kimi-cli1