Build Issue — Skill
Name: build-issue
Purpose: Implement one or more AL-### GitHub issues with small, testable changes that match repo rules.
Use this skill when the user asks to implement/build/solve an issue.
Applies when: Implementing one or more AL-### issues in this repo.
Do not use when: Writing issues (skills/write-issue/SKILL.md), starting work (skills/start-issue/SKILL.md), or closing/shipping (skills/close-issue/SKILL.md).
Rules
- •Issue keys must match
AL-###. - •Prefer GitHub MCP for issue/PR lookups and updates.
- •Use Nia for codebase search/trace (paths, entry points, patterns), always scoped to
Asymmetric-al/core(seeAGENTS.md#nia-mcp-usage-always-repo-scoped). - •Use Context7 for third-party API usage.
- •Branch should already exist (use
skills/start-issue/SKILL.mdif not). - •Keep diffs minimal and scoped to acceptance criteria.
- •Do not edit
.mdfiles unless the user explicitly asks. If behavior changes, propose doc updates and get approval before editing. - •Quality gate for handoff:
bun run format:check && bun run lint && bun run typecheck && bun run build && bun run test:unit. - •Formatting: fix with
bun run format, verify withbun run format:check.
Workflow
- •Confirm issue key(s): If missing, ask for
AL-###. Validate format. - •Fetch issue details (MCP): Capture title, context, acceptance criteria, and testing notes.
- •Load rulebooks/skills: Always apply
rules/general.md. Addrules/frontend.md,rules/backend.md, orrules/testing.mdas needed. Load any matching skills (e.g., Next.js App Router, cache components). - •Discover code context (Nia): Find affected paths, existing patterns, and related components. Keep Nia queries scoped to
Asymmetric-al/coreand cite exact files/functions. - •Draft a plan: Summarize changes and testing, then ask for approval before editing.
- •Implement iteratively: Make small changes, update/add tests per acceptance criteria, and keep commits atomic.
- •Use
skills/issue-commit/SKILL.mdfor commit messages.
- •Use
- •Verify: Run relevant tests during implementation (use
rules/testing.mdto choose unit/e2e/a11y/perf). Before handoff, run the quality gate or note why it is deferred. - •Report status: List changed paths, blast radius if multi-file, testing results, and verification steps. If behavior changed, propose doc updates and ask for approval. Suggest
/close-issuewhen ready.
Checklists
Input checklist
- •
AL-###key confirmed - • Issue details fetched via GitHub MCP
- • On a feature branch (not
main/develop)
Build checklist
- • Relevant rulebooks/skills loaded
- • Plan approved by user
- • Changes scoped to acceptance criteria
- • Tests updated/added where required
- • Commits are small and atomic
Verification checklist
- • Relevant tests run
- • Quality gate passed (or explicitly deferred)
- • Formatting fixed with
bun run formatand verified withbun run format:check - • Doc update approval requested if behavior changed
Minimal examples
Plan snippet
markdown
## Implementation Plan (AL-123)
- Update {path} to {behavior}
- Add {test} for {scenario}
- Verify with `bun run format:check && bun run lint && bun run typecheck && bun run build && bun run test:unit`
Formatting
bash
bun run format bun run format:check
Commit with issue reference
bash
git commit -m "feat(feature): add XYZ" -m "ref AL-123"
Common mistakes / pitfalls
- •Implementing without a valid
AL-###key - •Skipping Nia when tracing affected areas
- •Running unscoped Nia searches outside
Asymmetric-al/core - •Using third-party APIs without Context7
- •Editing docs without explicit user approval
- •Leaving tests or quality gate unaddressed