workflow-context
Auto-load workflow settings when working in a project directory
When & Why to Use This Skill
The Workflow Context skill is an essential infrastructure tool that automates the loading of project-specific settings from a `.claude/workflow.json` file. It serves as a centralized configuration hub, providing Claude with the necessary environment context—such as Git strategies, Jira project keys, and Notion database IDs—to ensure all subsequent agent actions are consistent with the project's established workflow and standards.
Use Cases
- Automated Git Workflow Enforcement: Automatically apply branching strategies (e.g., Git-flow or Trunk-based) and format commit messages with Jira issue keys based on local project configurations.
- Seamless Tool Integration: Enable Jira, Notion, and Confluence plugins to instantly access correct project IDs and space keys without manual user input, streamlining cross-platform task management.
- Project-Specific Environment Loading: Automatically switch context when moving between different repositories, ensuring the AI agent uses the correct documentation databases and tracking tools for each specific project.
- Standardizing Team Operations: Distribute a unified `.claude/workflow.json` file within a team to ensure every developer's AI agent follows the same merge methods and documentation sync protocols.
| name | workflow-context |
|---|---|
| description | Auto-load workflow settings when working in a project directory |
Workflow Context
Automatically load and apply workflow settings when working in a project.
When to Use
This skill should be used implicitly by other plugins (git, jira, confluence, notion) when they need to read workflow configuration.
Loading Configuration
Step 1: Check for workflow.json
cat .claude/workflow.json 2>/dev/null
Step 2: Parse Configuration
If file exists, parse and extract:
Git Settings:
git.strategy- Branching strategy (github-flow, git-flow, trunk-based)git.branches.main- Main branch namegit.branches.develop- Develop branch name (for git-flow)git.merge.method- Merge method (squash, merge, rebase)git.pr.defaultTarget- Default PR target branch
Jira Settings:
jira.enabled- Whether Jira integration is activejira.cloudId- Atlassian cloud IDjira.projectKey- Current project keyjira.includeInBranch- Include issue key in branch namesjira.includeInCommit- Include issue key in commit messages
Notion Settings:
notion.enabled- Whether Notion integration is activenotion.databases.todo.id- TODO database IDnotion.databases.til.id- TIL database IDnotion.databases.blog.id- BLOG database ID
Confluence Settings:
confluence.enabled- Whether Confluence sync is activeconfluence.spaceKey- Confluence space key
Usage by Other Plugins
git plugin
# In git:branch, git:commit, git:pr
## Step 0: Load Workflow Context
cat .claude/workflow.json 2>/dev/null
If jira.enabled && jira.includeInBranch:
- Offer to link Jira issue to branch
- Include issue key in branch name
If jira.enabled && jira.includeInCommit:
- Extract issue key from branch name
- Append [ISSUE-KEY] to commit message
jira plugin
# In jira:start, jira:create, jira:done
## Step 0: Load Workflow Context
cat .claude/workflow.json 2>/dev/null
Use jira.cloudId for API calls
Use jira.projectKey for issue queries
Use notion.databases.todo.id for Notion sync
confluence plugin
# In confluence:sync
## Step 0: Load Workflow Context
cat .claude/workflow.json 2>/dev/null
If confluence.enabled:
- Sync files to Confluence
- Use confluence.spaceKey for page creation
notion plugin
# In notion:til, notion:blog
## Step 0: Load Workflow Context
cat .claude/workflow.json 2>/dev/null
If notion.enabled:
- Use notion.databases.til.id for TIL
- Use notion.databases.blog.id for BLOG
Configuration Not Found
When .claude/workflow.json does not exist:
- Inform user that workflow is not configured
- Suggest running
/workflow:init - Continue with default behavior (if applicable)
Example message:
ℹ Workflow not configured. Run /workflow:init to set up Jira and Git integration.
Default Values
When workflow.json exists but specific settings are missing:
| Setting | Default |
|---|---|
| git.strategy | github-flow |
| git.branches.main | main |
| git.merge.method | squash |
| jira.enabled | false |
| jira.includeInBranch | true |
| jira.includeInCommit | true |
| notion.enabled | false |
| confluence.enabled | false |