From solo
Generates docs/workflow.md with TDD policy, dev commands, and stack workflows from CLAUDE.md, PRD, package manifests, and MCP tools. Use after /scaffold before /plan.
npx claudepluginhub fortunto2/solo-factory --plugin soloThis skill is limited to using the following tools:
Auto-generate project workflow config from existing PRD and CLAUDE.md. Zero interactive questions — all answers extracted from project data that already exists after `/scaffold`.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Auto-generate project workflow config from existing PRD and CLAUDE.md. Zero interactive questions — all answers extracted from project data that already exists after /scaffold.
After /scaffold creates a project, before /plan. Creates docs/workflow.md so /plan and /build can work.
project_info(name) — get project details, detected stackkb_search(query) — search for dev principles, manifest, stack templatescodegraph_query(query) — check project dependencies in code graphIf MCP tools are not available, fall back to reading local files only.
Detect project root:
$ARGUMENTS is provided, look for a project with that name in the current directory or projects_dir from ~/.solo-factory/defaults.yaml.CLAUDE.md.Check if already initialized:
docs/workflow.md exists, warn and ask whether to regenerate.Read project data (parallel — all reads at once):
CLAUDE.md — tech stack, architecture, commands, Do/Don'tdocs/prd.md — problem, users, solution, features, metrics, pricingpackage.json or pyproject.toml — exact dependency versionsMakefile — available commands.eslintrc*, eslint.config.*, .swiftlint.yml, ruff.toml, detekt.yml)Read ecosystem sources (optional — enhances quality):
kb_search available: search for stack template and dev-principles.stacks/<stack>.yaml and dev-principles.md + dev-principles-my.md (personal extensions) in .solo/ or plugin templates directory (if accessible).Detect languages from package manifest:
package.json → TypeScriptpyproject.toml → Python*.xcodeproj or Package.swift → Swiftbuild.gradle.kts → KotlinCreate docs directory if needed:
mkdir -p docs
Generate docs/workflow.md:
Based on dev-principles (from MCP/KB or built-in defaults):
# Workflow — {ProjectName}
## TDD Policy
**Moderate** — Tests encouraged but not blocking. Write tests for:
- Business logic and validation
- API route handlers
- Complex algorithms
Tests optional for: UI components, one-off scripts, prototypes.
## Test Framework
{from package manifest devDeps: vitest/jest/pytest/xctest}
## Commit Strategy
**Conventional Commits**
Format: `<type>(<scope>): <description>`
Types: feat, fix, refactor, test, docs, chore, perf, style
## Verification Checkpoints
**After each phase completion:**
1. Run tests — all pass
2. Run linter — no errors
3. Run build — successful (if applicable)
4. Manual smoke test
## Branch Strategy
- `main` — production-ready
- `feat/<track-id>` — feature branches
- `fix/<description>` — hotfixes
Update CLAUDE.md — add workflow reference to Key Documents section if not present.
Show summary and suggest next step:
Setup complete for {ProjectName}!
Created:
docs/workflow.md — TDD moderate, conventional commits
Next: /plan "Your first feature"
Cause: Project not scaffolded or running from wrong directory.
Fix: Run /scaffold first, or ensure you're in the project root with CLAUDE.md.
Cause: Previously set up. Fix: Skill warns and asks whether to regenerate. Existing file is preserved unless you confirm overwrite.
Cause: Multiple test frameworks in devDependencies.
Fix: Skill picks the first found. Edit docs/workflow.md manually to specify the correct framework.