Development stack standards - five-level maturity model, dimension specs, assessment criteria, tool guidance
/plugin marketplace add bryonjacob/aug/plugin install aug-dev@augThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Reference for creating and assessing language-specific development stacks. Defines what constitutes a complete stack, maturity progression, assessment criteria.
Used by:
/stack-assess - Grade projects against stack standards/stack-guide - Create/validate/customize stack definitionsDimensions: 8 required
| Dimension | Purpose | Required Capabilities |
|---|---|---|
| Package manager | Reproducible builds | Install deps, lockfile, isolation (venv/node_modules) |
| Format | Consistent style | Auto-fix, deterministic, configurable line length |
| Lint | Catch bugs | Auto-fix safe changes, configurable rules |
| Typecheck | Static correctness | Type analysis, strict mode available |
| Test | Verify behavior | Unit tests, fast execution |
| Coverage | Measure testing | Line/branch/function measurement, reporting |
| Build | Create artifacts | Package for distribution |
| Clean | Reset state | Remove generated files, dependencies |
Justfile recipes: (implements aug-just/justfile-interface Level 0)
dev-install - Setup environmentformat - Auto-fix formattinglint - Auto-fix lintingtypecheck - Static type checkingtest - Run unit testscoverage - Measure coverage (any threshold)build - Create artifactsclean - Remove generated filescheck-all - Run all checks (format → lint → typecheck → coverage)default - Show available commandsWhen: All projects, no exceptions
Assessment:
just dev-install && just check-all?Adds: 4 dimensions
| Dimension | Purpose | Required Capabilities |
|---|---|---|
| Coverage threshold | Enforce testing | 96% threshold, fail on miss, unit tests only |
| Complexity check | Limit complexity | Cyclomatic complexity ≤10, auto-check in lint |
| Test separation | Isolate slow tests | Unit (fast, coverage-gated) vs integration (slow, no threshold) |
| Test watch | Fast feedback | Continuous test execution on file changes |
Justfile adds:
test-watch - Continuous testingintegration-test - Integration tests, no threshold, never blockscomplexity - Detailed complexity report (informational)loc - Largest files by lines of codeUpdates:
coverage - Now enforces 96% threshold for unit tests onlylint - Now checks complexity ≤10When: CI/CD pipeline, multiple developers, quality enforcement
Assessment:
Adds: 4 dimensions
| Dimension | Purpose | Required Capabilities |
|---|---|---|
| Vulnerability scanning | Security | Scan dependencies for CVEs, severity reporting |
| License analysis | Compliance | List all licenses, flag GPL/restrictive, prod vs dev |
| SBOM | Supply chain | Generate CycloneDX SBOM, all dependencies |
| Dependency tracking | Freshness | List outdated packages, update recommendations |
Justfile adds:
deps - Show outdated packagesvulns - Scan for vulnerabilitieslic - Analyze licensessbom - Generate software bill of materialsWhen: Production deployment, security requirements, compliance needs
Assessment:
Adds: Detailed analysis (already have basic from Level 1)
| Dimension | Purpose | Required Capabilities |
|---|---|---|
| Complexity reporting | Refactoring targets | File-by-file analysis, avg/max metrics |
| LOC analysis | Size tracking | Lines by file, identify large files |
Justfile: Uses existing complexity and loc from Level 1
When: Refactoring needs, large codebases, technical debt management
Assessment:
Structure: Root justfile orchestrates language-specific subprojects
Root commands: Subset (orchestration only)
dev-install, check-all, clean, build, deps, vulns, lic, sbom_run-allSubproject commands: Full interface (each implements Level 0+)
When: Multiple languages, monorepo, microservices
Assessment:
cd api && just check-all)?_run-all fails fast?Purpose: Reproducible dependency installation
Required capabilities:
Examples:
Assessment questions:
just dev-install)Config files:
pyproject.toml, uv.lockpackage.json, pnpm-lock.yamlpom.xml, pom.xml.lock (if using Lockfile Plugin)Purpose: Consistent style, zero bikeshedding
Required capabilities:
Examples:
Assessment questions:
just format succeed?just format change files, then second run changes nothing?Config files:
pyproject.toml → [tool.ruff] section.prettierrcpom.xml → spotless plugin configStandard settings:
Purpose: Catch bugs, enforce patterns
Required capabilities:
Examples:
Assessment questions:
just lint succeed?Config files:
pyproject.toml → [tool.ruff] sectioneslint.config.jspom.xml → spotbugs + checkstyle pluginsStandard rules:
Purpose: Catch type errors before runtime
Required capabilities:
Examples:
Assessment questions:
just typecheck succeed?Config files:
pyproject.toml → [tool.mypy] with strict = truetsconfig.json with strict: truepom.xml compiler settings (warnings as errors)Standard settings:
Purpose: Verify correctness, enable refactoring
Required capabilities:
Examples:
Assessment questions:
just test run unit tests?just test-watch work? (Level 1+)Config files:
pyproject.toml → [tool.pytest.ini_options] with markersvitest.config.tspom.xml → surefire plugin, use JUnit 5 tagsTest organization:
just test@pytest.mark.integration, @Tag("integration")Purpose: Measure test completeness
Required capabilities:
Examples:
Assessment questions:
Config files:
pyproject.toml → [tool.coverage.report] with fail_under = 96vitest.config.ts → coverage thresholds 96pom.xml → JaCoCo plugin with 0.96 minimumThresholds:
Rationale for 96%:
Purpose: Limit function complexity, identify refactoring targets
Required capabilities:
Examples:
Assessment questions:
just lint?Config files:
Thresholds:
Rationale for ≤10:
Purpose: Identify large files, track codebase size
Required capabilities:
Examples:
Assessment questions:
Justfile pattern:
loc N="20":
@echo "📊 Top {{N}} largest files by LOC:"
@[language-specific command] | sort -rn | head -{{N}}
Tool choice:
Purpose: Identify known security vulnerabilities in dependencies
Required capabilities:
Examples:
Assessment questions:
Justfile recipe:
vulns:
[scan command]
Purpose: Track dependency licenses, identify compliance issues
Required capabilities:
Examples:
Assessment questions:
Justfile recipe:
lic:
[license command] --summary
Purpose: Software bill of materials for supply chain security
Required capabilities:
Examples:
Assessment questions:
Justfile recipe:
sbom:
[sbom generator command] -o sbom.json
Purpose: Track outdated dependencies, enable updates
Required capabilities:
Examples:
uv pip list --outdatedpnpm outdatedmvn versions:display-dependency-updatesAssessment questions:
Justfile recipe:
deps:
[outdated command]
Language-specific stack skills follow this structure:
---
name: configuring-[language]-stack
description: [Language] stack - [tools summary] ([coverage threshold])
---
# [Language] Stack
## Standards Compliance
| Standard | Level | Status |
|----------|-------|--------|
| aug-just/justfile-interface | Baseline (Level 0) | ✓ Full |
| development-stack-standards | Level [N] | ✓ Complete |
**Dimensions:** [X]/[Y] ([dimension summary])
## Toolchain
| Tool | Use |
|------|-----|
| **[tool]** | [purpose] |
| ... | ... |
## Quick Reference
```bash
[common commands]
Web services: Bind to 0.0.0.0 (not 127.0.0.1)
[example code for binding]
Implements: aug-just/justfile-interface (Level 0 baseline)
[complete justfile for this stack]
[complete config]
**Required sections:**
1. Frontmatter (name + description)
2. Standards Compliance table
3. Toolchain table
4. Quick reference (bash commands)
5. Docker compatibility
6. Standard justfile interface
7. Configuration files
8. Notes
---
## Assessment Criteria
### Level 0 Assessment
**Dimensions present?** (8/8 required)
- Package manager
- Format
- Lint
- Typecheck
- Test
- Coverage measurement
- Build
- Clean
**Justfile recipes?** (10/10 required)
- All baseline recipes present
- `check-all` dependencies: `format lint typecheck coverage`
- Comments match aug-just/justfile-interface
**Functional?**
- `just dev-install` succeeds
- `just check-all` succeeds or fails meaningfully
### Level 1 Assessment
**All Level 0 complete?** (prerequisite)
**Dimensions added?** (4/4 required)
- Coverage threshold 96% (unit tests only)
- Complexity threshold ≤10
- Test separation (unit vs integration)
- Test watch mode
**Justfile recipes added?** (4/4 required)
- `test-watch`
- `integration-test`
- `complexity`
- `loc`
**Functional?**
- `just coverage` fails below 96%
- `just lint` checks complexity ≤10
- Integration tests marked and excluded from threshold
- `just test-watch` runs continuously
### Level 2 Assessment
**All Level 1 complete?** (prerequisite)
**Dimensions added?** (4/4 required)
- Vulnerability scanning
- License analysis
- SBOM generation
- Dependency tracking
**Justfile recipes added?** (4/4 required)
- `deps`
- `vulns`
- `lic`
- `sbom`
**Functional?**
- Each command succeeds
- Output meaningful and parseable
### Level 3 Assessment
**Uses Level 1 tools** (complexity, loc) for detailed analysis
**Complexity reporting:**
- File-by-file breakdown
- Average and max metrics
- Identifies refactoring targets
**LOC analysis:**
- Identifies largest files
- Sortable output
- Helps scope refactoring
### Level 4 Assessment
**Structure:**
- Root justfile orchestrates
- Subproject justfiles implement full interface
- Each subproject standalone
**Root recipes:**
- Subset only: `dev-install`, `check-all`, `clean`, `build`, `deps`, `vulns`, `lic`, `sbom`
- Delegates via `_run-all`
**Subprojects:**
- Each implements Level 0+ independently
- Can run `cd [subproject] && just check-all`
- Languages follow their stack standards
---
## Tool Selection Guidance
### When ecosystem tool exists and is good
**Use it.** Example: pytest (Python), vitest (JS), Maven (Java)
### When multiple good options exist
**Prefer:**
1. Most widely adopted in ecosystem
2. Best maintained
3. Simplest to configure
4. Fastest
### When ecosystem lacks good option
**Use universal tool.** Example: cloc for LOC across languages
### Avoid
- Abandoned tools
- Tools requiring complex setup
- Tools with poor documentation
- Tools that fight the ecosystem
---
## YAGNI Enforcement
**Stop at the level you need:**
Library (no deployment): 0 → 1 → 2 (stop)
Web app (CI/CD + deploy): 0 → 1 → 2 → maybe 3
Solo project: 0 → 2 (skip quality overhead, add security)
Monorepo: 0 → 1 → 4 → 2 → 3
**Don't add:**
- Level 1 if no CI/CD
- Level 2 if not deploying
- Level 3 if codebase small
- Level 4 if single language
**Do add:**
- Level 0 always
- Levels only when "when" criteria met
- Specific patterns as needed
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.