# 031 Architecture Adr Functional Requirements CLI

> Facilitates conversational discovery to create Architectural Decision Records (ADRs) for CLI development. Use when the user wants to document CLI architecture, capture functional requirements for a command-line tool, create ADRs for CLI projects, or design CLI applications with documented decisions. Part of the skills-for-java project

- Skill: `majiayu000/031-architecture-adr-functional-requirements-cli` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/031-architecture-adr-functional-requirements-cli`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/031-architecture-adr-functional-requirements-cli/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- License: Apache-2.0
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/031-architecture-adr-functional-requirements-cli

---

# Create ADRs for CLI Development

Guide stakeholders through a structured conversation to uncover and document technical decisions and functional requirements for CLI applications. **This is an interactive SKILL**. The ADR is the documentation of that conversation, not the conversation itself.

**What is covered in this Skill?**

- Initial context: CLI purpose, users, constraints, timeline
- Functional requirements: workflows, commands, input/output, UX
- Technical decisions: language/framework, architecture, data, integration, testing, distribution
- Decision synthesis and validation before ADR creation
- ADR document generation and next steps

## Constraints

Use conversational discovery—ask 1-2 questions at a time, build on answers, validate before proceeding. Only create ADR after thorough conversation and user confirmation.

- **MANDATORY**: Run `date` before starting to get accurate timestamps for the ADR
- **MUST**: Read the reference template fresh—do not use cached questions
- **MUST**: Ask one or two questions at a time; never all at once
- **MUST**: Validate summary with user ("Does this sound accurate?") before proposing ADR creation
- **MUST**: Wait for user to confirm "proceed" before generating the ADR

## Reference

For detailed guidance, examples, and constraints, see [references/031-architecture-adr-functional-requirements-cli.md](references/031-architecture-adr-functional-requirements-cli.md).

