Manusで任意のスキルを実行
ワンクリックで
ワンクリックで
ワンクリックでManusで任意のスキルを実行
始める$pwd:
$ git log --oneline --stat
stars:2
forks:3
updated:2026年5月6日 00:43
SKILL.md
Merge local `main` into the current branch and resolve merge conflicts
Finalize the local feature branch and create or update a local PR record on
Use the local `tasks` CLI to read/write `tasks.json` — the offline-demo replacement for Linear. Covers reading issues, posting/editing comments, transitioning issue state, attaching local PRs, and creating follow-up issues. Use when working a ticket through Symphony in offline mode.
Create well-formed git commits from current changes. Use when staging and committing work-in-progress on the issue branch.
| name | land |
| description | Land a local PR by resolving conflicts and squash-merging the feature |
There is no remote, no GitHub PR, and no CI in this demo. "Land" means:
main.main.MERGED and move the issue to Done.main.main.tasks pr-merge) is marked MERGED.Done.symphony/<identifier>) with a clean
working tree.Merging state (the human approved it).OPEN.branch=$(git branch --show-current)
identifier=$(echo "$branch" | sed 's|^symphony/||' | tr '[:lower:]' '[:upper:]')
tasks pr-view "$identifier"
main:
git fetch . main:main 2>/dev/null || true
If the branch hasn't ingested recent main commits, run the pull skill
first. The pull skill is configured for this offline mode and merges
from local main rather than origin/main.tasks comment-list "$identifier"
[claude] comment that's actionable, choose: accept
(implement), clarify (ask), or push back (justified disagreement).[claude]-prefixed comment with your decision:
cat > /tmp/reply.md <<'EOF'
[claude] Re: "<paraphrase of the reviewer's point>"
<decision and rationale>
EOF
tasks comment-create "$identifier" --body-file /tmp/reply.md
commit skill, and
re-run the push skill to update the PR body before merging.# Whatever the issue's Validation section specifies, e.g.:
pytest -q
main. From the feature branch:
pr_title=$(tasks pr-view "$identifier" --json | python3 -c 'import sys,json;print(json.load(sys.stdin)["title"])')
pr_body=$(tasks pr-view "$identifier" --json | python3 -c 'import sys,json;print(json.load(sys.stdin)["body"])')
# Stash any in-flight uncommitted changes — there should be none at this point.
git switch main
git -c merge.ff=false merge --squash "$branch"
commit_msg=$(printf '%s\n\n%s' "$pr_title" "$pr_body")
git commit -m "$commit_msg"
merge_sha=$(git rev-parse HEAD)
Note: this is happening inside the agent's git worktree. The squashed
commit lands on the worktree's local main. The orchestrator's
before_remove hook will clean up the worktree afterwards. The squashed
commit is the deliverable for this issue.Done:
tasks pr-merge "$identifier" --merge-commit "$merge_sha"
tasks update-state "$identifier" --state "Done"
git switch "$branch"
pull skill, resolve, run the commit skill,
re-run the push skill, then start this skill from the top.main
diverged in unexpected ways): stop and surface the exact state in the
workpad. Don't try to recover with destructive commands.git push, git fetch origin, or gh .... There is no remote.--force anything; nothing forces in offline mode.git merge or git switch main outside this skill flow.[claude].Done,
unless you hit a true blocker.