Develop task flow
Use for ordinary implementation tasks in this repository that should start from develop, create a feature/fix/chore branch, complete changes and tests, squash-merge the branch back into develop locally, and push develop. No pull requests.From its SKILL.md
npx -y skills add 0x0w1/spai --skill develop-task-flowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.4 KB, as published. Nobody here has run it
Develop Task Flow
Use this repository skill for normal development work requested by the user.
Branch Model
- Start from
origin/develop. - Create one task branch:
feature/<slug>for user-visible features or enhancements.fix/<slug>for bug, regression, or security fixes.chore/<slug>for tooling, dependencies, refactors, docs, or automation setup.
- Finish the task by squash-merging the branch into
developlocally and pushingdevelop. There are no pull requests. - Ordinary code, config, documentation, generated
dist, workflow, and installer changes must follow this flow before any release can include them. - A release promotes
developtomainwith a fast-forward push; it is not a task. Usegithub-releasefor releases.
Commit Message Rules
The squash commit on develop is the release-note source. Every squash commit must follow this format:
- Subject:
<type>: <concise user-facing summary>with<type>one offeat,fix,chore,docs,refactor,test,ci. - Release note sections derive from the prefix:
feat:renders under๐ Enhancements,fix:under๐ Fixes,chore:under๐งฐ Chores, and any other prefix becomes its own section named after it (docs:โ๐ Documentation). Pick the prefix that describes the change, not the section you want. - Body: bullet items describing the change from the user's perspective, release-note ready. Write them in the language the repository already uses for its commit bodies, defaulting to English; match the existing history rather than switching it.
- In body bullets, wrap useful technical terms in backticks, such as file paths, config keys, branch names, workflow names, command names, and env vars.
Phase Rules
If the task is large, split it into phases:
- Inspect repo, worktree, branch state, and available test commands.
- Create or reuse the task branch from
origin/develop. - Implement the requested change.
- Run focused tests, then broader tests when practical.
- Commit on the task branch, squash-merge into
develop, pushdevelop. - Report results and any remaining action.
Documentation Rules
- If a change affects installation behavior, user-facing workflows, supported targets, repository policy, CLI output, or public project usage, update
README.mdin the same task. - If the change is broad or would make
README.mdtoo dense, create or update a focused Markdown file under top-leveldocs/and add a link near the top ofREADME.md. - If top-level
docs/already exists, reuse it instead of creating another documentation directory. - This repository is itself managed by the SPAI setup skills, and its documentation, skills, and installer are distributed publicly. Every example must stay generic: use placeholders such as
your-account,[email protected], and/absolute/path/to/<name>. Never include local machine paths, personal identifiers, or examples taken from local or other projects. - During validation, check that the README/docs update explains the new behavior clearly.
Safety Rules
- Do not force push.
- Do not bypass git hooks: never pass
--no-verifytogit push. - Do not delete branches without explicit user confirmation; merged task branches may remain.
- Do not push directly to
main;mainonly updates throughgithub-release. - Do not modify or revert unrelated user changes.
- Do not overwrite files with different content without explicit confirmation.
- Do not merge into
developif tests fail or the squash commit would include changes outside the current task. - Do not use this skill for release execution; use
github-release. - If the user has not explicitly asked for a release, stop after
developis pushed.
Procedure
- Inspect:
git status --short --branchgit fetch origin --prunegit branch --list --all- available test scripts or project docs
- Classify branch prefix:
featurefor new behavior or user-visible enhancement.fixfor bug/security/regression correction.chorefor tooling, docs, refactor, config, dependency, or automation work.
- Create a short kebab-case slug from the task.
- Create or reuse
<prefix>/<slug>fromorigin/develop. - Implement the task while preserving unrelated changes.
- Run tests:
- Always run the most relevant focused test command if one exists.
- Run the broad project test command when practical.
- If no tests exist, run syntax/config validation appropriate to changed files and report the gap.
- Apply the Documentation Rules before committing.
- Commit only the task changes on the task branch.
- Update
develop:git checkout developthengit pull --ff-only origin develop. - Squash-merge:
git merge --squash <prefix>/<slug>, then commit once following the Commit Message Rules. - Push
developwithout force. - Leave the task branch in place; offer cleanup only as an optional next action.
Final Report
Keep reports short and include:
- Branch created or reused
- Files changed
- Tests run and result
- README/docs update status
- Squash commit subject pushed to
develop - Commands that could not run and why
- User next actions, if any