# 031 Architecture Adr Functional Requirements CLI

> 031 Architecture Adr Functional Requirements CLI is an Agent Skill for documents published in the majiayu000/claude-skill-registry repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

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 name: `031-architecture-adr-functional-requirements-cli`
- Category: [Documents](https://www.openparable.com/skill/documents/1)
- Source: https://github.com/majiayu000/claude-skill-registry/blob/HEAD/skills/development/031-architecture-adr-functional-requirements-cli/SKILL.md
- Repository: majiayu000/claude-skill-registry (498 GitHub stars when collected)

## SKILL.md

# 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).

---

Source: https://www.openparable.com/skill/documents/031-architecture-adr-functional-requirements-cli (OpenParable). Cite the canonical URL above.
