brainstorming
Structured design dialogue that validates ideas before implementation begins.
docs-stories
Complete CRUD for SDLC documentation (stories, tasks, context retrieval). Use when creating/managing stories, creating/managing tasks, updating task state, or retrieving full context for any user story via index (<3min restoration).
Full skill instructions
Provide complete CRUD operations for SDLC documentation in the Bestays project. This skill handles all story/task management and context retrieval operations.
Single Interface: Anytime you need to read/write anything about the codebase in terms of documenting, use this skill.
CREATE:
READ:
UPDATE:
DELETE:
All scripts located in: .claude/skills/docs-stories/scripts/
story_create.py - Create New User StoryUsage:
python3 .claude/skills/docs-stories/scripts/story_create.py <domain> <feature> <scope>
Arguments:
domain: Story category (auth, booking, admin, infrastructure, etc.)feature: Main feature name (login, signup, dashboard, etc.)scope: Specific scope (admin, user, validation, etc.)Example:
python3 .claude/skills/docs-stories/scripts/story_create.py auth login admin
# Creates: .sdlc-workflow/stories/auth/US-001-auth-login-admin.md
What it does:
story_find.py - Find Existing StoriesUsage:
python3 .claude/skills/docs-stories/scripts/story_find.py [domain] [--status STATUS]
Arguments:
domain (optional): Filter by domain (auth, booking, etc.)--status (optional): Filter by status (READY, IN_PROGRESS, COMPLETED)Examples:
# Find all stories
python3 .claude/skills/docs-stories/scripts/story_find.py
# Find all auth stories
python3 .claude/skills/docs-stories/scripts/story_find.py auth
# Find all completed stories
python3 .claude/skills/docs-stories/scripts/story_find.py --status COMPLETED
# Find completed auth stories
python3 .claude/skills/docs-stories/scripts/story_find.py auth --status COMPLETED
What it does:
.sdlc-workflow/stories/ for story filestask_create.py - Create New TaskUsage:
python3 .claude/skills/docs-stories/scripts/task_create.py <story_id> <task_number> <semantic_name>
Arguments:
story_id: Parent story ID (e.g., US-001)task_number: Task number (1, 2, 3, etc.)semantic_name: Semantic slug (2-3 words, lowercase, hyphens)Example:
python3 .claude/skills/docs-stories/scripts/task_create.py US-001 1 clerk-mounting
# Creates: .claude/tasks/TASK-001/
# With STATE.json: {"story": "US-001", "semantic_name": "clerk-mounting", ...}
What it does:
.claude/tasks/TASK-{number}/task_list.py - List Tasks for StoryUsage:
python3 .claude/skills/docs-stories/scripts/task_list.py <story_id>
Arguments:
story_id: Story ID to list tasks for (e.g., US-001)Example:
python3 .claude/skills/docs-stories/scripts/task_list.py US-001
# Returns:
# TASK-001 (clerk-mounting): IN_PROGRESS, PLANNING phase
# TASK-002 (login-tests): NOT_STARTED, RESEARCH phase
What it does:
.claude/tasks/ for tasks with matching storytask_get_current.py - Get Current Active TaskUsage:
python3 .claude/skills/docs-stories/scripts/task_get_current.py
Example:
python3 .claude/skills/docs-stories/scripts/task_get_current.py
# Returns: TASK-001 (US-001, clerk-mounting)
What it does:
task_set_current.py - Set Current Active TaskUsage:
python3 .claude/skills/docs-stories/scripts/task_set_current.py <task_id>
Arguments:
task_id: Task ID to make active (e.g., TASK-001)Example:
python3 .claude/skills/docs-stories/scripts/task_set_current.py TASK-001
# Switches to task branch or updates tracking
What it does:
task_update_state.py - Update Task StatusUsage:
python3 .claude/skills/docs-stories/scripts/task_update_state.py <task_id> <status>
Arguments:
task_id: Task ID (e.g., TASK-001)status: New status (NOT_STARTED, IN_PROGRESS, COMPLETED)Example:
python3 .claude/skills/docs-stories/scripts/task_update_state.py TASK-001 IN_PROGRESS
# Updates STATE.json: {"status": "IN_PROGRESS", ...}
What it does:
task_update_phase.py - Update Task PhaseUsage:
python3 .claude/skills/docs-stories/scripts/task_update_phase.py <task_id> <phase>
Arguments:
task_id: Task ID (e.g., TASK-001)phase: New phase (RESEARCH, PLANNING, IMPLEMENTATION, TESTING, VALIDATION)Example:
python3 .claude/skills/docs-stories/scripts/task_update_phase.py TASK-001 PLANNING
# Updates STATE.json: {"phase": "PLANNING", ...}
What it does:
task_add_commit.py - Add Commit to Task RecordUsage:
python3 .claude/skills/docs-stories/scripts/task_add_commit.py <task_id> <commit_hash>
Arguments:
task_id: Task ID (e.g., TASK-001)commit_hash: Git commit hashExample:
python3 .claude/skills/docs-stories/scripts/task_add_commit.py TASK-001 abc123def
# Updates STATE.json: {"commits": ["abc123def"], ...}
What it does:
task_add_file_modified.py - Add Modified File to Task RecordUsage:
python3 .claude/skills/docs-stories/scripts/task_add_file_modified.py <task_id> <file_path>
Arguments:
task_id: Task ID (e.g., TASK-001)file_path: Path to modified file (relative to project root)Example:
python3 .claude/skills/docs-stories/scripts/task_add_file_modified.py TASK-001 apps/server/core/clerk.py
# Updates STATE.json: {"files_modified": ["apps/server/core/clerk.py"], ...}
What it does:
context_index.py - Index All SDLC ArtifactsStatus: To be implemented (US-001D)
Usage:
python3 .claude/skills/docs-stories/scripts/context_index.py [--story-id US-XXX] [--output PATH]
Arguments:
--story-id (optional): Index specific story only--output (optional): Output path (default: .sdlc-workflow/.index/sdlc-index.json)Example:
# Index all stories
python3 .claude/skills/docs-stories/scripts/context_index.py
# Index specific story
python3 .claude/skills/docs-stories/scripts/context_index.py --story-id US-001
# Custom output path
python3 .claude/skills/docs-stories/scripts/context_index.py --output /tmp/index.json
What it does:
.sdlc-workflow/stories/ for story files.claude/tasks/ for task folders.sdlc-workflow/.index/sdlc-index.jsonIndex Schema:
{
"metadata": {
"generated": "2025-11-07T10:30:00Z",
"total_stories": 5,
"total_tasks": 12
},
"stories": {
"US-001": {
"id": "US-001",
"title": "Login Flow Validation",
"file": ".sdlc-workflow/stories/auth/US-001-...",
"tasks": ["TASK-001-file-headers"],
"commits": ["abc123"],
"implementation_files": ["apps/frontend/tests/..."]
}
},
"tasks": {
"TASK-001-file-headers": {
"story": "US-001",
"folder": ".claude/tasks/TASK-001/",
"decisions": "...",
"files_modified": ["..."]
}
},
"commits": {...},
"files": {...}
}
Once the index is built, retrieve full context:
import json
with open('.sdlc-workflow/.index/sdlc-index.json') as f:
index = json.load(f)
story = index['stories']['US-001']
# Returns: title, file, tasks, commits, files, acceptance_criteria
# Get all tasks for story
tasks = [index['tasks'][task_id] for task_id in story['tasks']]
# Get all commits for story
commits = [index['commits'][commit_hash] for commit_hash in story['commits']]
# Get all files for story
files = [index['files'][file_path] for file_path in story['implementation_files']]
Steps:
Expected Output:
# Full Context: US-001 - Login Flow Validation
## Story
- Title: Login Flow Validation
- Status: COMPLETED
- Acceptance Criteria:
- Valid credentials authenticate user
- Invalid credentials rejected
- E2E tests passing
## Tasks
1. TASK-001-file-headers
- Decision: Add file headers with design patterns for instant context
- Trade-offs: Maintenance overhead vs clarity
- Subagent: dev-backend-fastapi
## Timeline
- 2025-10-16: feat: add file headers (abc123)
- 2025-10-20: test: add E2E login tests (def456)
## Files Modified
- apps/server/core/clerk.py
- Design Pattern: Singleton
- Architecture Layer: Core Service
- Trade-offs: Vendor lock-in vs faster development
## Time to Context: < 3 minutes
Steps:
Expected Output:
Files changed in US-001:
- apps/server/core/clerk.py (Singleton, Core Service)
- apps/server/api/clerk_deps.py (Dependency Injection, API Layer)
- apps/frontend/tests/e2e/login.spec.ts (Test, E2E Layer)
Steps:
Expected Output:
Timeline for US-001:
- 2025-10-16 14:30: feat: add file headers to backend deps (abc123)
Files: clerk.py, deps.py
Task: TASK-001-file-headers
- 2025-10-20 10:15: test: add E2E login tests (def456)
Files: login.spec.ts
Task: TASK-002-login-tests
Steps:
Expected Output:
Decisions for US-001:
TASK-001-file-headers:
- Chose Clerk over Auth0 for authentication
- Trade-offs: Vendor lock-in vs faster development
- Added file headers with design patterns for instant context
TASK-002-login-tests:
- Chose Playwright over Cypress for E2E tests
- Trade-offs: Newer tool vs more examples available
Steps:
Expected Output:
Trade-offs for authentication:
apps/server/core/clerk.py (Singleton):
- Pro: Shared Clerk client reduces memory usage
- Con: Vendor lock-in to Clerk
- When to revisit: If Clerk pricing becomes prohibitive
apps/server/api/clerk_deps.py (Dependency Injection):
- Pro: Easy to mock for testing
- Con: Extra indirection layer
Indexing:
Retrieval:
sdlc-orchestrator skill:
task_update_phase.py TASK-001 IMPLEMENTATIONplanning-quality-gates skill:
planning/quality-gate-checklist.md via task folder structureMemory MCP:
For Coordinators:
For Subagents:
For Both:
Problem: story_create.py fails with "Not in a project with .claude/"
Solution: Run from project root or any subdirectory containing .claude/
Problem: task_create.py fails with "Task already exists"
Solution: Use different task number or delete existing task folder
Problem: Index is outdated after new commits
Solution: Re-run context_index.py to rebuild index
Problem: Context retrieval returns no results for recent story Solution: Ensure story file exists and index has been built
Skill Version: 1.0 Last Updated: 2025-11-07 Maintained By: Bestays SDLC Team
Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs