Yet-another-agent-harness roadmap
git clone https://github.com/dirien/yet-another-agent-harness
T=$(mktemp -d) && git clone --depth=1 https://github.com/dirien/yet-another-agent-harness "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/roadmap" ~/.claude/skills/dirien-yet-another-agent-harness-roadmap && rm -rf "$T"
.claude/skills/roadmap/SKILL.mdStrategic Roadmap Management
Manage project roadmaps through five modes: sync ROADMAP.md with GitHub reality, bootstrap planning files from scratch, brainstorm new features collaboratively, get a quick status summary, or show help.
Prerequisite check
gh --version 2>/dev/null && gh auth status 2>/dev/null
If
gh is not installed, direct the user to
https://cli.github.com. If not authenticated, direct them to run
gh auth login. Do not proceed without a working, authenticated
GitHub CLI.
Constitutional principle
CONTEXT.md is the project constitution. All modes must read and respect the boundaries defined in CONTEXT.md. If CONTEXT.md exists, read it first and constrain all analysis and recommendations.
When any recommendation would violate CONTEXT.md boundaries:
- Explicitly flag the violation
- Explain which boundary would be crossed
- Suggest an alternative that respects the boundaries
Mode dispatch
Determine the mode from the user's input. If no mode is specified, default to sync.
| Argument | Mode | Purpose |
|---|---|---|
| (none) | sync | Sync ROADMAP.md with GitHub, recommend priorities |
| sync | Same as default |
| generate | Bootstrap CONTEXT.md + ROADMAP.md from scratch |
| brainstorm | Creative ideation session (read-only) |
| status | Quick read-only summary |
| help | Show available modes |
Mode: sync
Synchronize ROADMAP.md with GitHub and provide prioritized recommendations. This is the primary mode.
- Fetch open issues, recently closed issues, and milestones via
CLIgh - Read ROADMAP.md and CONTEXT.md
- Check for legacy section layout — if found, ask the user whether to migrate to canonical structure (Vision → Immediate Focus → Near-Term → Future → Completed → Boundaries)
- Detect discrepancies between ROADMAP.md and GitHub (issues marked done but still open, open but closed, missing entirely)
- Update ROADMAP.md — fix discrepancies, move closed issues to "Completed Milestones" under quarterly sub-headings
- Estimate LOE for open issues without
labels using the heuristics ineffort/*references/label-config.md - Sync GitHub labels — create missing labels, add/remove
labels to match ROADMAP.md sectionsroadmap/* - Append LOE indicators (
,[S]
,[M]
) to issue lines in ROADMAP.md[L] - Generate 3-5 prioritized recommendations based on dependencies, impact vs effort, theme coherence, and LOE balance
- Present summary of all changes and recommendations
For detailed workflow steps, see
references/sync.md. For label
definitions and LOE heuristics, see references/label-config.md.
Mode: generate
Bootstrap CONTEXT.md and ROADMAP.md for a new or undocumented project.
- If either file exists, ask the user: regenerate, merge, or abort
- Investigate the codebase — structure, dependencies, entry points, capabilities
- Infer project boundaries ("hard no's") — what the project does NOT do
- Research externally for similar tools and industry context
- Draft CONTEXT.md with: core identity, technical boundaries, data source of truth, interaction model, verification criteria
- Fetch all GitHub issues and milestones
- Categorize issues into Immediate Focus, Near-Term, Future, and Completed (grouped by quarter)
- Estimate LOE per open issue and apply
labelseffort/* - Draft ROADMAP.md with canonical structure and LOE indicators
- Write CONTEXT.md first, then ROADMAP.md. Run markdownlint on both.
For detailed workflow steps and templates, see
references/generate.md. For LOE heuristics, see
references/label-config.md.
Mode: brainstorm
Explore new possibilities through collaborative ideation. This mode is read-only by default — do not create issues or modify ROADMAP.md until the user explicitly approves.
- Read CONTEXT.md and ROADMAP.md for current state and boundaries
- Investigate the codebase for extension points, underutilized capabilities, and seams for new features
- Research externally for similar tools, user requests, and trends
- Use ideation techniques with the user: "What if...", "Who else...", "Why not...", "What's missing...", "What annoys..."
- Evaluate each idea: boundary check against CONTEXT.md, effort, impact, dependencies
- Present ideas in structured format (description, rationale, boundary check, effort, impact, next step)
- Ask the user which ideas to formalize — only then create issues or update ROADMAP.md
For detailed workflow steps and idea template, see
references/brainstorm.md.
Mode: status
Quick read-only summary of current roadmap state. No modifications.
- Fetch issue counts and milestone progress via
CLIgh - Read ROADMAP.md
- Present summary tables: overall metrics, by category (enhancement/bug/docs), by LOE (small/medium/large)
- Flag obvious discrepancies without deep analysis
For detailed workflow steps and table templates, see
references/status.md.
Mode: help
Display available modes and usage:
roadmap — Strategic Roadmap Management MODES: (default) Sync ROADMAP.md + labels with GitHub, recommend priorities sync Same as default generate Bootstrap CONTEXT.md + ROADMAP.md from scratch brainstorm Creative ideation session (collaborative, read-only) status Quick read-only summary of current state help Show this help message LABELS (synced automatically): roadmap/current → "Immediate Focus" section roadmap/next → "Near-Term Vision" section roadmap/future → "Future Vision" section effort/small → 1-2 hours effort/medium → half day to 1 day effort/large → multi-day KEY PRINCIPLES: CONTEXT.md is the project constitution (all modes respect it) Brainstorm mode is read-only until user approves ideas Generate mode asks before overwriting existing files Labels are synced to match ROADMAP.md sections LOE is auto-estimated for issues missing effort/* labels
Output guidelines
- Use tables for structured comparisons
- Use emoji sparingly and only for status indicators
- Always include issue numbers when referencing GitHub issues
- Run markdownlint after any file modifications