skills/sprint-progress/SKILL.md
Automatically updates sprint progress tracking when blueprint, database design, test case, implementation, or test report files are created or modified. Used when writing files under docs/blueprints/, docs/database/, docs/tests/, docs/sprints/, or src/ directories.
npx skillsauth add astra-technology-company-limited/astra-methodology sprint-progressInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When you create or modify sprint-related files, you must update the sprint progress tracker accordingly. This skill defines the rules for detecting events and updating the progress table.
This skill applies when writing or editing files matching these patterns:
docs/blueprints/{NNN}-{feature-name}/*.md — blueprint event (any .md file inside a numbered blueprint directory)docs/database/database-design.md — DB design eventdocs/tests/test-cases/sprint-*/*.md — test case eventdocs/tests/test-reports/*.md — test report eventsrc/**/*.{java,ts,tsx,py,js,jsx,kt,go,rs} — implementation eventdocs/sprints/ for directories matching sprint-{N}-{name}/ (e.g., sprint-1-auth/, sprint-2-workspace/){N} part before the second hyphen){N} is the current sprint numberdocs/sprints/sprint-{N}-{name}/progress.mdWhen a file inside a numbered blueprint directory (docs/blueprints/{NNN}-{feature-name}/) is written:
docs/sprints/sprint-{N}-{name}/progress.md{NNN}- prefix, e.g., 001-auth → auth)DoneWhen docs/database/database-design.md is modified:
Done for the relevant feature(s), or WIP if only partial tables were addedWhen a file under docs/tests/test-cases/sprint-*/ is written:
docs/tests/test-cases/sprint-2/... → sprint 2)docs/sprints/sprint-{extracted-N}-*/progress.md (glob to find the directory; not necessarily the latest sprint)user-auth-test-cases.md → user-auth feature)DoneWhen a source file under src/ is written:
WIPDone from a single write — implementation is only Done when:
When a file under docs/tests/test-reports/ is written:
DoneDone or N/A)CompletedCompleted, run Procedure 6 to update the Slack List Item status to "Completed". If Procedure 6 fails or there is no mapping section, emit a warning only and proceed to the next step (non-blocking).When a Test Report is created and a feature's Status changes to Completed, update the Slack List Item's status select option to "Completed".
Note: Never touch the Slack List Item's checkbox (completion check). The checkbox is for the assignee to manually check after they have personally finished testing. This procedure only changes the option value of the status (status) select column.
docs/sprints/sprint-{N}-{name}/progress.md, look for the <!-- SLACK_LIST_MAPPING_START --> ~ <!-- SLACK_LIST_MAPPING_END --> sectionCompleted optionmcp__fect-slack__slack_list_items_update individually per Item to update only the status select column:
list_id: the parsed List IDcells: [{ "column_id": "{status_column_id}", "row_id": "{Slack_Item_ID}", "select": ["{completed_option_ID}"] }]| {timestamp} | Slack Status Updated | {LIST_NAME} → {feature} | Completed |Note: If a single feature is mapped to multiple Slack Items (merged requirements), update all related Items. Item IDs may be comma-separated (e.g.,
Rec001,Rec002).
If the tracker file docs/sprints/sprint-{N}-{name}/progress.md does not exist when an event occurs:
docs/sprints/sprint-{N}-{name}/prompt-map.md## Feature {#}: {name} headers (where {#} is the feature ordinal, e.g., 1, 2, 3)# Sprint {N} Progress Tracker
## Sprint Information
- **Sprint Number**: {N}
- **Sprint Goal**: [from prompt map Sprint Goal section]
- **Start Date**: {YYYY-MM-DD}
- **End Date**: {YYYY-MM-DD} (+7 days)
- **Status**: In Progress
<!-- PROGRESS_TABLE_START -->
## Feature Progress
| Feature | Blueprint | DB Design | Test Cases | Implementation | Test Report | Status |
|---------|-----------|-----------|------------|----------------|-------------|--------|
| {feature-1} | - | - | - | - | - | Not Started |
| {feature-2} | - | - | - | - | - | Not Started |
**Legend**: `-` Not Started, `WIP` In Progress, `Done` Completed, `N/A` Not Applicable
<!-- PROGRESS_TABLE_END -->
<!-- SUMMARY_START -->
## Summary
- **Total Features**: {N}
- **Completed**: 0
- **In Progress**: 0
- **Overall Progress**: 0%
- **Last Updated**: {YYYY-MM-DD HH:MM}
<!-- SUMMARY_END -->
<!-- ACTIVITY_LOG_START -->
## Activity Log
| Timestamp | Event | File | Details |
|-----------|-------|------|---------|
<!-- ACTIVITY_LOG_END -->
When matching files to features:
001-user-auth/ → user-auth, strip the {NNN}- prefix)user-auth-test-cases.md → user-auth)src/modules/user-auth/ → user-auth)After each update to the progress table:
Completed → Completed countWIP or Done but Status ≠ Completed → In Progress counttools
Runs UAT (User Acceptance Testing) cases in TRUE PARALLEL using Playwright Test runner with isolated browser contexts per worker (separate cookies, localStorage, sessionStorage). Solves the two main limits of /user-test: (1) sequential single-page execution that does not scale beyond a few cases, and (2) one stuck case blocking the rest of the run. Reuses 100% of the /user-test UAT case Markdown+YAML format under docs/tests/uat-cases/, runs them via `npx playwright test --workers=N`, and emits the same report layout (index.html + issues.md + session.json + screenshots/) under docs/tests/uat-reports/. Use when the user asks to "run UAT in parallel", "speed up UAT", "test multi-user", "song song", "uat parallel", or runs /uat-parallel. Distinct from /user-test (sequential Chrome MCP, supports interactive mode), /test-run (developer integration tests), /test-scenario (scenario authoring).
tools
Performs end-user UAT (User Acceptance Testing) by driving a real browser through Chrome MCP, self-verifying each step with hard assertions (DOM / Network / URL / Console), auto-assigning severity on failure, and emitting an HTML report plus issues.md into a timestamped session folder. Supports two modes: interactive (URL + Vietnamese natural-language flow description) and --auto (batch-run pre-authored test cases under docs/tests/uat-cases/). Use when the user asks for "UAT", "user acceptance test", "kiểm thử người dùng", "regression test", or runs /user-test, /uat. Distinct from /test-run (developer-authored technical integration testing) and /test-scenario (scenario authoring from blueprints).
tools
Authors and validates LLM tool descriptions and input schemas (Anthropic Tool Use, MCP servers, LangChain @tool, Pydantic, Zod). Use when the user mentions "tool description", "function calling", "MCP tool", "Pydantic schema", "Zod schema", "@tool decorator", "input_schema", "tool spec", "툴 정의", "함수 호출 스키마", or when editing files that define LLM tool surfaces. Enforces the six required attributes (one-line summary, anti-pattern, synonyms, parameter examples, enum constraints, return shape) and blocks the seven known failure modes — wrong-tool selection, skipped tool, malformed arguments, retry loops, user-intent bypass, wrong side-effect, and un-auditable traces. For authoring ASTRA SKILL.md files use /skill-author instead — this skill is for *runtime* LLM tool surfaces, not for skill files themselves.
development
Creates new SKILL.md files or refactors existing skills to comply with the ASTRA skill best practices guide (docs/development/skill-best-practices.md). Use when user mentions "new skill", "create skill", "SKILL.md", "skill authoring", "스킬 작성", "스킬 만들기", or when editing any file matching skills/**/SKILL.md.