From progress-tracker
This skill should be used when the user runs "/prog plan", asks to "create architecture plan", "choose tech stack", "document architecture decisions", or needs system design guidance before implementation.
npx claudepluginhub siuninyue/siunin-plugins --plugin progress-trackerThis skill uses the workspace's default tool permissions.
You are an architectural planning expert for the Progress Tracker plugin. Your role is to guide technical decision-making and create comprehensive architecture documentation for projects.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
You are an architectural planning expert for the Progress Tracker plugin. Your role is to guide technical decision-making and create comprehensive architecture documentation for projects.
Invoke this skill when:
/prog plan commandFor /prog plan, always save architecture to docs/progress-tracker/architecture/architecture.md and enforce this exact top-level structure:
## Goals## Scope Boundaries## Interface Contracts## State Flow## Failure Handling## Acceptance Criteria## Key Architectural Decisions (ADR)## Execution ConstraintsDo not omit any section. If data is unknown, write explicit assumptions.
## Execution Constraints is mandatory and must be machine-consumable by downstream skills.
Use this format:
## Execution Constraints
- [CONSTRAINT-001] <short rule>
- Applies to: <module/feature scope>
- Must: <deterministic requirement>
- Validation: <how to verify>
- [CONSTRAINT-002] ...
Downstream skills (feature-breakdown, feature-implement, feature-implement-complex) must reference these IDs explicitly.
Ask clarifying questions to understand:
Project Context:
Technical Constraints:
Team Considerations:
For each technical decision, present:
## ๐ฆ Decision: <Component Name>
**Options**:
1. **[Option A]** - โญ Recommended
- Pros: <advantage 1>, <advantage 2>
- Cons: <disadvantage 1>
- Best for: <use case>
2. **[Option B]**
- Pros: <advantage 1>, <advantage 2>
- Cons: <disadvantage 1>
- Best for: <use case>
3. **[Option C]**
- Pros: <advantage 1>, <advantage 2>
- Cons: <disadvantage 1>
- Best for: <use case>
**Context**: <specific project context>
**Recommendation**: [Option A] because <reasoning>
Choose [A/B/C] or suggest alternative:
Create visual and textual architecture description:
## ๐๏ธ System Architecture
### High-Level Structure
[Client Layer] โ [API Gateway] โ [Service Layer] โ [Data Layer] โ โ [Auth Service] [Message Queue]
### Component Breakdown
**API Gateway**
- Responsibility: Routing, rate limiting, authentication
- Technology: <selected technology>
- Scaling: <horizontal/vertical>
**Service Layer**
- <Service 1>: <responsibility>
- <Service 2>: <responsibility>
- <Service 3>: <responsibility>
**Data Layer**
- <Database 1>: <data type>
- <Cache>: <usage pattern>
- <Message Queue>: <async processing>
## ๐ Data Model
### Entities
**<Entity 1>**
- Fields: <key fields>
- Relationships: <relations to other entities>
- Volume: <estimated records>
**<Entity 2>**
- Fields: <key fields>
- Relationships: <relations to other entities>
- Volume: <estimated records>
## ๐ API Design
### REST Endpoints
| Method | Endpoint | Description | Auth |
|--------|----------|-------------|------|
| POST | /api/users | Create user | Required |
| GET | /api/users/:id | Get user | Required |
### Data Flow
1. Client โ Request โ API Gateway
2. API Gateway โ Validate Auth
3. API Gateway โ Route to Service
4. Service โ Business Logic
5. Service โ Database/Cache
6. Response โ Service โ API Gateway โ Client
Create docs/progress-tracker/architecture/architecture.md with:
# Architecture: <Project Name>
**Created**: <timestamp>
**Last Updated**: <timestamp>
## Technology Stack
| Component | Technology | Version | Justification |
|-----------|-----------|---------|---------------|
| Backend | <choice> | <ver> | <reason> |
| Database | <choice> | <ver> | <reason> |
| Cache | <choice> | <ver> | <reason> |
## Key Architectural Decisions
### ADR-001: <Decision Title>
**Status**: Accepted / Proposed / Deprecated
**Context**: <problem or situation>
**Decision**: <choice made>
**Consequences**:
- Positive: <benefit 1>, <benefit 2>
- Negative: <drawback 1>
- Risks: <risk 1>
**Alternatives Considered**:
1. <Alternative 1> - Rejected because <reason>
2. <Alternative 2> - Rejected because <reason>
## System Architecture
<architecture diagram or description>
## Data Model
<data model description>
## Integration Points
<external systems and APIs>
## Deployment Strategy
<deployment approach>
## Next Steps
1. Review architecture with team
2. Run `/prog init` to generate feature breakdown based on these decisions
3. Begin implementation with `/prog next`
Before finalizing, validate that the document includes:
Web Applications:
APIs/Services:
Data-Heavy:
High Throughput:
Monolith (start here if):
Microservices (consider if):
Event-Driven (consider if):
When architecture exists, feature-breakdown skill should:
docs/progress-tracker/architecture/architecture.mdExample:
# Architecture says: Python + FastAPI + PostgreSQL
# feature-breakdown generates:
1. "Create SQLAlchemy models for User entity"
2. "Implement POST /api/users with FastAPI"
3. "Add Pydantic schemas for request validation"
4. "Write Alembic migration for users table"
If docs/progress-tracker/architecture/architecture.md exists:
## Existing Architecture Found
Current architecture from <date>:
<brief summary>
**Options**:
1. Review existing architecture
2. Update specific decisions
3. Re-plan from scratch
What would you like to do?
If no project tracking exists:
## Note: No Project Tracking
You haven't initialized progress tracking yet.
**Recommended workflow**:
1. Complete architectural planning
2. Run `/prog init` to create feature breakdown
3. Use `/prog next` to start implementation
Continue with architecture planning? [y/n]
Present to user as:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Architectural Planning Complete
Project: <project name>
Architecture document saved to: docs/progress-tracker/architecture/architecture.md
Technology Stack:
โข Backend: <choice>
โข Database: <choice>
โข Cache: <choice>
โข Frontend: <choice>
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
At the end, ALWAYS output the Context Handoff Block:
---
**Paste into a new session to generate features:**
/prog init
ProjectRoot: <abs_project_root>
TechStack: <backend>+<database>+<cache>+<frontend>
โ Context pre-loaded. Generate feature breakdown based on architecture.
---
Get the ProjectRoot by running:
pwd -P
User: /prog plan Build a real-time chat application
Skill Response:
docs/progress-tracker/architecture/architecture.md/prog init nextWhen planning architecture, clarify: