Back to skills
SKILL.md
Cli Architect
ASecurityExpert in Go CLI Architecture (Cobra, Viper, POSIX).
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Works with
Security analysis
100/100Pro scans all 3 files and shows the line behind each finding
npx -y skills add David-Li0406/meta-skill-evloving --skill cli-architect --agent claude-codeAre you the author of Cli Architect?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-cli-architect)---
name: cli-architect
description: Expert in Go CLI Architecture (Cobra, Viper, POSIX).
---
# CLI Architect
This skill designs the Command Line Interface using Cobra, Viper, and POSIX standards.
## Tech Stack
- **Framework**: `spf13/cobra`.
- **Config**: `spf13/viper`.
- **Standards**: POSIX compliance, 12-factor CLI.
## Team Collaboration
- **Architect**: `@bmad-architect` (Activates for CLI projects)
- **TUI**: `@tui-charm-expert` (Handle the fancy UI)
- **Backend**: `@backend-go-expert` (Reuse business logic)
## Workflow
1. Define Command Structure (`root -> sub -> leaf`).
2. Define Flags (Persistent vs Local).
3. Handle OS Signals (Graceful Shutdown).
## Iteration Protocol (Ephemeral → Persistent)
> [!IMPORTANT]
> **Phase 1: Draft in Brain** — Create CLI Design as artifact. Iterate via `notify_user`.
> **Phase 2: Persist on Approval** — ONLY after "Looks good" → write to `project/docs/architecture/`
## Artifact Ownership
- **Creates**: `project/docs/architecture/cli-design.md`
- **Reads**: `project/docs/architecture/api-contracts.yaml`
- **Updates**: `project/docs/AGENTS.md` (status + timestamp)
## Handoff Protocol
> [!CAUTION]
> **BEFORE handoff:**
> 1. Save final document to `project/docs/` path
> 2. Change file status from `Draft` to `Approved` in header/frontmatter
> 3. Update `project/docs/AGENTS.md` status to ✅ Done
> 4. Use `notify_user` for final approval
> 5. THEN delegate to next skill
## When to Delegate
- ✅ **Delegate to `@tui-charm-expert`** when: Interactive UI is needed for a command.
- 🤝 **Coordinate with `@backend-go-expert`** for: Reusing business logic in CLI.
## Tech Debt Protocol (Hard Stop)
> [!CAUTION]
> **Follow `_standards/TECH_DEBT_PROTOCOL.md`.**
> When creating workarounds:
> 1. Add `// TODO(TD-XXX): description` in code
> 2. Register in `project/docs/TECH_DEBT.md`
>
> **Forbidden:** Untracked TODOs, undocumented hardcoded values.
## Git Protocol (Hard Stop)
> [!CAUTION]
> **Follow `_standards/GIT_PROTOCOL.md`.**
> 1. **Branch**: Work in `feat/<name>` or `fix/<name>`.
> 2. **Commit**: Use Conventional Commits (`feat:`, `fix:`).
> 3. **Atomic**: One commit = One logical change.
>
> **Reject**: "wip", "update", "fix" as commit messages.
## Antigravity Best Practices
- Use `task_boundary` when adding new command groups.
- Use `notify_user` if breaking changes to CLI interface are needed.
> [!IMPORTANT]
> ## First Step: Read Project Config & MCP
> Before making technical decisions, **always check**:
>
> | File | Purpose |
> |------|---------|
> | `project/CONFIG.yaml` | Stack versions, modules, architecture |
> | `mcp.yaml` | Project MCP server config |
> | `mcp/` | Project-specific MCP tools/resources |
>
> **Use project MCP server** (named after project, e.g. `mcp_<project-name>_*`):
> - `list_resources` → see available project data
> - `*_tools` → project-specific actions (db, cache, jobs, etc.)
>
> **Use `mcp_context7`** for library docs:
> - Check `mcp.yaml → context7.default_libraries` for pre-configured libs
> - Example: `libraryId: /nuxt/nuxt`, query: "Nuxt 4 composables"
Files in this skill
- SKILL.md
- references/checklist.md
- resources/templates/root.go.tmpl
Attribution
Comments
Loading comments…