astra-methodology
ListedASTRA(AI-augmented Sprint Through Rapid Assembly) methodology plugin. Sprint 0 project initialization, coding convention enforcement (Java/TypeScript/React Native/Python/CSS/SCSS), Korean public data standard, international code standards (ISO 3166-1/2, ITU-T E.164), naming validation, quality gates, Slack integration, service manual auto-generator, UX/UI/Dev/QA Screen-ID based handoff package generator (HANDOFF_PROCESS_GUIDE v1.1), role-based persona agents (planner-reviewer, tester-persona, designer-persona, developer-persona), and /autorun self-improving pipeline. v5.13.0 NEW: /user-test and /uat-parallel report-language selection. Both skills add a Step 0 (Language Selection) that resolves a vi|en|ko LANG_CODE in this order — (1) --lang flag in $ARGUMENTS (case-insensitive, accepts vi/vie/vietnamese, en/eng/english, ko/kor/korean), (2) persisted CLAUDE.md ## Language, (3) AskUserQuestion with a trilingual prompt (default Tiếng Việt). Under --auto with no --lang and no persisted language, defaults to vi silently so /autorun stays unattended. The chosen language drives <html lang> on the HTML report plus every visible string in index.html, issues.md headings/labels, status badges (통과/실패/건너뜀 for ko, PASS/FAIL/SKIPPED otherwise), and console log lines. Severity tags (CRITICAL/HIGH/MEDIUM/LOW) and UAT case file contents under docs/tests/uat-cases/ stay untranslated (technical taxonomy + author-owned content). The HTML report template (skills/user-test/assets/report-template.html) was migrated from hardcoded Vietnamese to {{LANG}} + {{T_*}} placeholders. A new SSoT file (skills/user-test/references/i18n-strings.md) lists every translatable string in a vi/en/ko table; /uat-parallel mirrors this dictionary inside its merge script (scripts/uat-parallel-report.sh) and accepts the language via the UAT_LANG env var alongside the existing UAT_WORKERS. session.json now records the chosen lang for traceability. v5.12.0 NEW: /uat-parallel skill — Playwright-powered parallel sibling of /user-test. Reuses 100% of the docs/tests/uat-cases/*.md format and the /user-test HTML report template (same index.html / issues.md / session.json / screenshots/ layout under docs/tests/uat-reports/{SESSION_ID}/). Each Playwright worker holds an isolated BrowserContext (separate cookies / localStorage / sessionStorage) so multi-user flows and race conditions do not contaminate each other; per-step (UAT_STEP_TIMEOUT_MS, default 30s) and per-case (UAT_CASE_TIMEOUT_MS, default 300s) hard timeouts kill stuck cases without blocking other workers. Bootstraps @playwright/test + chromium on first run via a single AskUserQuestion HITL (~150 MB). Argument surface: --workers N (default min(4, cpu/2)) / --from glob / --priority / --feature / --timeout / --headed / --browser chromium|firefox|webkit. No interactive mode — auto-batch only. Solves the two main /user-test limits: sequential single-page execution that does not scale beyond a handful of cases, and a single stuck case blocking the rest of the run. Runtime artifacts installed idempotently into .astra/uat/ (uat-runner.spec.ts + playwright.config.ts, managed files copied from plugin on every invocation). Severity assignment in the runner mirrors user-test/references/assertion-guide.md §3 (CRITICAL: 5xx / Uncaught; HIGH: 4xx on POST/PUT/DELETE/PATCH primary, 401/403, no URL change after primary; MEDIUM: missing CTA / text mismatch; LOW: everything else). Failed cases additionally yield Playwright trace .zip archives under traces/{UAT-ID}.zip — replayable via `npx playwright show-trace ...` for DOM/network/console timeline debugging that Chrome MCP cannot produce. References progressive-disclosure into parallel-guide.md (worker tuning, isolation guarantees, debugging flaky cases, CI integration sketch). v5.11.2 NEW: /pr-merge Step 8.4.5.1 (post-merge promotion-path prompt — dev / staging / skip) now always fires AskUserQuestion, even under --auto. Previously --auto silently picked dev (standard path); the merge target branch where the integration branch finally lands is a deployment-surface decision with no safe unattended default. /autorun and /sprint-init --auto now treat this as a routine HITL pause — the pipeline still completes end-to-end in a single invocation, but the user picks the target. Direct integration → main is intentionally NOT offered here; /pr-merge --main (with version bump + release checks) remains the only path to production. All other --auto behaviors (commit, final-merge approval, Step 4.5 integration auto-pick, Step 4.5.4 base auto-pick, Step 10.0 promotion-source defaults) are unchanged. v5.11.1 NEW: integration-branch model extended to --staging / --main promotion modes. The new Step 10.0 asks the user to pick the promotion source: legacy bulk (dev for --staging, staging for --main — runs Step 8 code review on the accumulated diff) OR a specific integration branch (feat/<name> or fix/<name> from top-3 most-recent — skips code review since sprint PRs already reviewed). Step 10.1 PR body varies by source type: bulk source includes a 'Code review passes' checkbox driven by Step 8, integration source lists aggregated sprint PR numbers and marks 'Source sprint PRs reviewed' as completed. Step 8 entry checks both `--no-review` AND `PROMOTION_SOURCE_IS_INTEGRATION=1` for the skip condition. Empty integration-branch list falls back to bulk default (no AskUserQuestion failure). Under --auto, --staging defaults to dev and --main defaults to staging (legacy bulk paths), preserving existing unattended behavior. v5.11.0 NEW: integration-branch model for /pr-merge. Sprint PRs (head=feat/sprint-*) no longer target dev directly — they target a feature- or fix-level integration branch (feat/<name> or fix/<name>) chosen interactively in the new Step 4.5. The user picks from existing integration branches (top 3 by recent activity, listed via git for-each-ref) or creates a new one with a user-chosen base (default origin/dev; options include origin/staging, origin/main, origin/master, or any custom ref). Classification (feat vs fix) and the slug are auto-inferred from three signals: Conventional Commit prefixes on the sprint branch (feat: vs fix:), sprint-slug keywords (fix|bug|hotfix|patch|error|issue|typo|broken → fix), and blueprint §1+§10 keyword scan (버그/장애/수정/결함/bug/fix/defect/hotfix/regression → fix); tie-breaking defaults to feat. After the sprint PR merges into the integration branch, the new Step 8.4.5 asks the promotion path: 'Promote to dev (standard, default)' / 'Promote to staging (fast hotfix)' / 'Skip (keep integration as-is)' — chosen promotion creates a second PR (integration → target) and merges it WITHOUT a fresh code review (the source sprint PR already passed). Integration branches are PERSISTENT and protected from auto-deletion (Step 9 explicit guard: only feat/sprint-* and fix/sprint-* are eligible for git branch -d). Step 3.5 query updated to `gh pr list --state open` filtered on head~feat/sprint-* AND base~^(feat|fix)/, with a backward-compat fallback to base=dev for pre-v5.11 PRs. /sprint-init Step 1.5 also became interactive: the source branch (where the sprint worktree branches from) is chosen by the user via AskUserQuestion (default dev; options include staging/main/master/custom). The user-chosen source is passed through to astra_create_sprint_worktree as the 3rd arg. Under --auto, all new prompts default to safe values: integration-branch selection reuses existing-name-matching else creates new from origin/dev; promotion path = dev; sprint source = dev — so /autorun and /sprint-init --auto still complete end-to-end in one invocation without HITL. Multiple-pending-PR detection in Step 3.5 preserves AskUserQuestion HITL even under --auto (picking the wrong PR is destructive). Promotion modes (--staging, --main) and the staging→dev cascade are unaffected. Trade-off: one sprint = up to 2 PRs (sprint→integration, integration→target). Benefit: feature- or bugfix-level promotion granularity — urgent hotfixes can land on staging directly without queuing through dev. v5.10.0 NEW: /blueprint runs in a worktree-first order. Step 1.5 enforces branch/location guards (non-standard branch → abort with error; already in a sprint worktree → reuse), Step 1.6 delegates to /sprint-init --scaffold-only to create the sprint worktree first, Step 1.7 cd's into it, and Steps 2-6 author + review + commit the blueprint *inside* the sprint worktree. The blueprint commit therefore lands on feat/sprint-N-slug (not dev) — it reaches dev only via /pr-merge at sprint end. /sprint-init gains a new --scaffold-only flag that (a) suppresses prompt-map Feature 1.1 (blueprint authoring) and renumbers remaining steps as 1.1=DB Design, 1.2=Test Cases, 1.3=Implementation (new Variant B), (b) is incompatible with --auto, and (c) exits cleanly after Step 4 so the calling /blueprint owns the consolidated output. The legacy --from-blueprint flag is preserved as a backward-compat alias. /autorun Stage 3 unchanged in behavior (since /blueprint now does the worktree creation); Stage 4 (/sprint-init re-entry) is an idempotent no-op in the standard path. commands/blueprint.md description + behavior summary table updated to reflect the new order. CLAUDE.md Worktree Isolation section + Skill Catalog row + Recommended Workflow updated. Trade-off: previous v5.8/5.9 "dev visibility guarantee" logic (cross-branch commit timing) is no longer needed — simpler invariants, no dev commit before worktree creation. v5.9.0 NEW: /user-test skill added — AI-assisted UAT (User Acceptance Testing) for end-user flows. Drives Chrome MCP with hard-assertion verification (URL / Network / DOM / Console) and auto-assigns severity (CRITICAL / HIGH / MEDIUM / LOW) per a fixed rule table in references/assertion-guide.md. Two modes: interactive (URL + natural-language Vietnamese flow description, generates draft test case and offers to save) and --auto (batch-runs pre-authored test cases under docs/tests/uat-cases/, filterable by --priority / --feature / --from). Output: timestamped session folder docs/tests/uat-reports/{YYYY-MM-DD-HHmm}/ with index.html (visual report + per-step thumbnails), issues.md (only when failures exist, includes rationale citing the severity rule), and session.json (raw data for re-run). On FAIL the current case is skipped and the next case continues — the whole run never aborts. Progressive disclosure into references/assertion-guide.md (assertion grammar + severity rules + anti-flaky tips) and assets/report-template.html. Distinct from /test-run (developer-authored technical integration tests) and /test-scenario (scenario authoring from blueprints). Runtime output language follows /select-language; defaults to Vietnamese per the skill's design intent. No GitHub Issue integration — local issues.md only. Also v5.9.0: /pr-merge two-phase policy. `gh pr merge` only runs from the main worktree to keep the destructive merge action observable from a stable cwd. Sprint Phase (invoked inside a sprint worktree) handles commit → push → PR creation → code review → fix loop and stops; the user `cd`s to the main worktree and re-invokes `/pr-merge`, which auto-detects the pending sprint PR (base=dev, head=feat/sprint-*) and finalizes the merge + worktree removal. Step 3.5 (Main-Phase entry — pending-PR detection), Step 8.5 (Sprint→Main handoff), and Step M1 (Main-Phase merge entry) are new; Step 8.3 splits routing between Step 8.4 (in-place merge for Main Phase, promotion, fallback temp worktree, and main-worktree compat) and Step 8.5 (sprint-worktree handoff). Under `--auto`, the skill itself `cd`s to the main worktree at Step 8.5 and continues into Main Phase, so /autorun and /sprint-init --auto still complete end-to-end in one invocation. Multiple-pending-PR detection preserves AskUserQuestion even under --auto (picking the wrong PR is destructive). Promotion modes (--staging, --main) are unaffected. v5.8.0 NEW: /blueprint Step 6.5 auto-creates the sprint worktree by delegating to /sprint-init at the end of authoring — the skill does NOT cd (to avoid relying on Skill-to-Skill cwd propagation), and Step 7 output shows the user a concrete `cd .astra-worktrees/sprint-<N>-<slug>/` command to run next. Two safety guards skip auto-creation: already inside a sprint worktree (secondary blueprint flow) or current branch is not dev/main/master. /sprint-init recognizes a new `--from-blueprint` flag to suppress duplicate output when delegated. /autorun Stage 4 (sprint plan) became an idempotent re-entry — discovers the worktree created by /blueprint Step 6.5 via `git worktree list`, performs the explicit cd itself (unattended pipeline), and falls back to explicit /sprint-init when the worktree was not auto-created. Legacy workflows (explicit /sprint-init → /blueprint inside worktree) remain fully supported. v5.7.0 NEW: /tool-author skill added — authors and validates runtime LLM tool descriptions and input schemas (Anthropic Tool Use, MCP server.tool(), LangChain @tool, Pydantic, Zod). Enforces six required attributes (one-line summary, anti-pattern, synonyms, parameter examples, enum constraints, return shape) and blocks seven failure modes (wrong-tool selection, skipped tool, malformed arguments, retry loops, user-intent bypass, wrong side-effect, un-auditable traces). Auto-trigger via paths: tools/**/*.py, tools/**/*.ts, mcp/**/*.py, mcp/**/*.ts, **/tools.py, src/**/*.tool.ts. Progressive disclosure into 6 reference files (six-attributes, failure-modes, python-pydantic, typescript-zod, validation-greps, evals). Explicitly scoped to runtime tool surfaces — /skill-author remains the entry point for authoring ASTRA SKILL.md files. v5.6.0 NEW: /pr-merge cascade merge restricted to `staging → dev` only — `main → staging` is no longer auto-cascaded; `main` is touched only via the explicit `--main` promotion. Promotion modes (`--staging`, `--main`) skip the cascade entirely. Training docs (branch-strategy 1pager / ko / vi) and CLAUDE.md updated to reflect the new single-hop cascade flow. v5.5.0 NEW: Full English localization of plugin internals (skills, commands, agents, hooks, scripts, docs, CLAUDE.md). Skill description language policy now mandates English for all skills (auto-trigger accuracy + consistency). Runtime end-user output language remains controlled by /select-language (Korean / Vietnamese / English). Korean public-data dictionary terms, prefixes/suffixes (TB_, _YMD, etc.), and dictionary field names (공통표준용어명, etc.) are preserved as data definitions. v5.4.0 NEW: DESIGN.md as design system SSoT (Google Stitch / ASTRA 3-tier hybrid). Four new skills/commands — /design-init (generates docs/design-system/DESIGN.md with YAML Front Matter tokens + Markdown Body philosophy/components/a11y, and regenerates src/styles/design-tokens.css from Front Matter), /design-extract (extracts OKLCH tokens from reference images/PDF/URL via Vision MCP or WebFetch), /design-redesign (audits existing UI against DESIGN.md with design-token-validator + designer-persona, applies P0 fixes), and /design-audit (lightweight token-violation report). design-token-validator now treats DESIGN.md as SSoT with design-tokens.css as a generated artifact. /service-planner Step E loads DESIGN.md as the primary token + persona source; /handoff-publish 6-component-specs.md references DESIGN.md §4. New PostToolUse hook notify-design-md.sh advises DESIGN.md consultation on UI source edits (throttled, non-blocking). /project-init now bootstraps DESIGN.md during Sprint 0 setup. v5.3.0 NEW: Required MCP servers reorganized — `fect-slack` removed from plugin-required MCPs (still consumed by /slack-import, /extract-backlog, /sprint-progress via user-scope MCP registration), `fect-image` (Gemini 2.5 Flash Image, requires GOOGLE_API_KEY) and `fect-gpt-image` (OpenAI gpt-image-2, requires OPENAI_API_KEY) added for /catalog-generator image generation, and `chrome-devtools` (chrome-devtools-mcp@latest) added as a first-class required MCP for /manual-generator screenshots, /catalog-generator visual capture, and /test-run browser-based integration testing. SessionStart hook now reports GOOGLE_API_KEY / OPENAI_API_KEY availability. v5.2.0 NEW: /sprint-init --auto now uses a Silent Save Protocol — between stages it writes auto-state.yaml + commits and continues directly to the next stage (no exit, no user --resume required). A 'reference-avoidance' rule instructs the LLM to stop re-reading large prior artifacts (test logs, browser snapshots, prior implementation files) and rely on the yaml SSoT, so Claude Code's built-in auto-compression keeps context manageable. --resume is reserved for true recovery (context crash, forced interrupt). Replaces the prior 'exit + user runs /compact + /sprint-init --resume' pattern that broke the automation promise. v5.1.0 NEW: /blueprint dedicated skill — authors blueprint with 10 standard sections focused on data flow, schema DDL, API contract, sequence diagrams, pseudocode logic (no executable code), and a new Section 10 'HITL Triggers' that /feature-dev consults during implementation to only ask the user on critical decisions (T1 business decisions without a clear blueprint answer, T2 security/permission choices, T3 external dependency introduction, T4 destructive changes). Replaces inline blueprint authoring in /sprint-init prompt-map (Step 1.1) and /autorun Stage 3. Single source of truth: the blueprint itself gates HITL — no external hook needed. v5.0.0 BREAKING: Sprint-level worktree model. /sprint-init now creates `.astra-worktrees/sprint-<N>-<name>/` with a sprint branch (`feat/sprint-<N>-<name>`) and writes `.astra-worktree.env` with port-isolated dev-server settings (base + 100*N, collision-shifted). All feature development and integration testing happens inside the sprint worktree. /test-run no longer performs the dev merge — it sources the env, launches the server on the sprint port (Next/Vite/Spring/Django/FastAPI port-injection per stack), and guarantees port release through a 4-step cleanup (shell stop → SIGTERM → SIGKILL+children → verify) on success/failure/abort. /pr-merge runs from the sprint worktree, completes dev merge, then auto-removes the worktree. v5.0.0 REMOVED: /pr-merge --start <branch> mode (sprint-init owns worktree creation now); main-worktree guards on /test-run and /test-scenario (they now run inside sprint worktrees); /test-run Step 12/13 dev-commit + dev→staging promotion chaining (moved to /pr-merge). v4.0.0 BREAKING: /ux-publish skill removed; HTML planning mockups (design-system tokens applied static mockups) are generated inline by /service-planner Step 6 alongside markdown deliverables in the same docs/planner/{NNN}-{feature}/ directory.
Bundles
Everything this plugin ships — skills, agents, commands, hooks, and MCP servers it bundles.
Agents (12)
Commands (11)
Hooks (1)
Quality Score: 50/100
Details
- Repository
- ASTRA-TECHNOLOGY-COMPANY-LIMITED/astra-methodology
- Created
- 4 months ago
- Last Updated
- 2 weeks ago
- Language
- Shell
- License
- None