.claude/skills/workflow-best-practices/SKILL.md
# Workflow Best Practices ## Overview This skill provides context and examples for the enforced development workflow. The workflow is **physically enforced** by the `workflow-enforcer` MCP server. ## The Mandatory Workflow You MUST follow this exact sequence: 1. **Start Issue** → `workflow_start_issue` 2. **Write Code** → Use normal file tools 3. **Run Tests** → `workflow_run_tests` 4. **Commit** → `workflow_commit` (only after tests pass) 5. **Deploy** → `workflow_deploy` 6. **Verify Produ
npx skillsauth add scarter4work/workflow-compliance-enforcer .claude/skills/workflow-best-practicesInstall 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.
This skill provides context and examples for the enforced development workflow.
The workflow is physically enforced by the workflow-enforcer MCP server.
You MUST follow this exact sequence:
workflow_start_issueworkflow_run_testsworkflow_commit (only after tests pass)workflow_deployworkflow_verify_prodworkflow_close_issueYou: workflow_run_tests
MCP: ❌ Tests failed! [output]
CORRECT RESPONSE:
1. Analyze the test failure
2. Fix the code
3. Run workflow_run_tests again
4. DO NOT try to commit
WRONG RESPONSE:
- "I'll commit anyway and fix it later" ❌
- Trying to use git commit directly ❌
You: *writes code*
You: workflow_run_tests
MCP: ❌ No active issue. Use workflow_start_issue first.
CORRECT RESPONSE:
1. Use workflow_start_issue with the issue number
2. Then proceed with testing
This happens because you skipped step 1.
You: workflow_verify_prod
MCP: ❌ Production tests failed!
CORRECT RESPONSE:
1. Investigate the prod failure
2. Fix the code locally
3. Run workflow_run_tests
4. workflow_commit with fix
5. workflow_deploy again
6. workflow_verify_prod again
The issue remains open until prod tests pass.
You: workflow_commit("Fix bug")
MCP: ❌ Cannot commit. Current state: NO_ACTIVE_ISSUE
CORRECT RESPONSE:
1. Use workflow_start_issue first
2. Then write your code
3. Then run tests
4. Then commit
You cannot commit without an active issue.
Use this when confused about what to do next.
Shows:
Example:
workflow_status
→ State: TESTS_PASSED
Active Issue: #42
Available: workflow_commit
Always use this FIRST before any coding.
Parameters:
issue_number: The GitHub issue numberExample:
workflow_start_issue({ issue_number: 123 })
This verifies the issue exists and is open via GitHub CLI.
Always use this after writing or changing code.
Parameters:
test_command (optional): Custom test command (default: npm test)Examples:
workflow_run_tests()
workflow_run_tests({ test_command: "yarn test" })
workflow_run_tests({ test_command: "./run-tests.sh" })
Don't skip this even if you think your code is perfect.
Only available after tests pass.
Parameters:
message: Commit message (issue reference is auto-added)Example:
workflow_commit({ message: "Add user authentication feature" })
This will automatically add "Refs #123" to your commit.
Only available after commit.
Parameters:
environment (optional): Target environment (default: production)Example:
workflow_deploy()
workflow_deploy({ environment: "staging" })
Looks for deploy scripts in this order:
./deploy.sh./scripts/deploy.shnpm run deployREQUIRED after deploy.
Parameters:
test_command (optional): Custom prod test (default: npm run test:prod)Examples:
workflow_verify_prod()
workflow_verify_prod({ test_command: "curl https://myapp.com/health" })
Only available after prod tests pass.
No parameters needed.
Example:
workflow_close_issue()
This closes the GitHub issue with a comment about the verified deployment.
"The code looks good, I'll just commit it." → NO. Run tests. Always.
"I'll just use git commit directly." → Won't work. The MCP enforces workflow_commit only.
"Sorry, I forgot to run tests. I'll commit and fix it later." → The workflow prevents this. Just run the tests now.
"Production tests take too long, let's just close the issue." → Cannot close until prod tests pass. This is intentional.
"I'll work on issue #123 and #124 at the same time." → One issue at a time. Close the current one first.
You still have access to:
str_replace, create_file, etc.)bash_tool for other commandsview for reading filesThe workflow tools only enforce the commit/deploy/close gates.
NO_ACTIVE_ISSUE
↓ workflow_start_issue
ISSUE_ACTIVE
↓ workflow_run_tests
TESTS_FAILED ←┐ (fix code and retry)
↓ │
TESTS_PASSED │
↓ workflow_commit
COMMITTED
↓ workflow_deploy
DEPLOYED
↓ workflow_verify_prod
PROD_VERIFIED
↓ workflow_close_issue
NO_ACTIVE_ISSUE (ready for next issue)
Fix your code, then run workflow_run_tests again.
Close it manually via GitHub, then the workflow will reset. Or fix the tests.
No. One issue at a time. Close the current one first.
workflow_statusYou can override the test command:
workflow_run_tests({ test_command: "npm test -- --fast" })
But don't skip tests entirely.
workflow_start_issue({ issue_number: 123 })
→ ✅ Started issue #123
*write code using str_replace, create_file, etc.*
workflow_run_tests()
→ ✅ Tests passed
workflow_commit({ message: "Add feature X" })
→ ✅ Committed
workflow_deploy()
→ ✅ Deployed
workflow_verify_prod()
→ ✅ Prod tests passed
workflow_close_issue()
→ 🎉 Issue #123 closed
This is the happy path. Follow it.
workflow_run_tests againworkflow_deploy againworkflow_run_testsworkflow_commitworkflow_deployworkflow_verify_prodUse workflow_status when:
The MCP server makes it impossible to:
These are not suggestions. These are enforced constraints.
Work with the workflow, not against it.
tools
# Workflow Best Practices ## Overview This skill provides context and examples for the enforced development workflow. The workflow is **physically enforced** by the `workflow-enforcer` MCP server. ## The Mandatory Workflow You MUST follow this exact sequence: 1. **Start Issue** → `workflow_start_issue` 2. **Write Code** → Use normal file tools 3. **Run Tests** → `workflow_run_tests` 4. **Commit** → `workflow_commit` (only after tests pass) 5. **Deploy** → `workflow_deploy` 6. **Verify Produ
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------