ask-matt
무료Ask which skill or flow fits your situation. A router over the skills in this repo.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Check for compound-engineering plugin updates and sync skills/agents into the project
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Check if the project's compound-engineering snapshot is outdated and optionally sync to the latest version via a PR.
A .ce-manifest file in the project root tracks which skills and agents were synced from CE. This is used to distinguish CE files from project-owned files, and to handle deletions when CE removes a skill or agent upstream.
cat .ce-version 2>/dev/null || echo "NOT_FOUND"
If NOT_FOUND, tell the user no .ce-version file exists and this will be treated as a first-time sync.
Try the GitHub API for releases first:
curl -s https://api.github.com/repos/EveryInc/compound-engineering-plugin/releases/latest | jq -r '.tag_name'
If that returns null, fall back to plugin.json on the default branch:
curl -s https://raw.githubusercontent.com/EveryInc/compound-engineering-plugin/main/plugins/compound-engineering/.claude-plugin/plugin.json | jq -r '.version'
.ce-version exists: report the version difference.Clone the upstream repo to a temp directory and compare against the project snapshot:
Resolve the version from step 2 to a specific git tag. Clone that tag (not main) so the scan and copy operate on a deterministic artifact:
TEMP_DIR=$(mktemp -d)
git clone --depth 1 --branch "v<upstream-version>" --quiet https://github.com/EveryInc/compound-engineering-plugin.git "$TEMP_DIR"
If no matching tag exists, fall back to cloning main but warn the user that the clone is not pinned to a specific release.
Read the existing .ce-manifest to know which skills and agents are CE-owned. Then compare:
Present this as a short summary table, not a full diff. Keep it under 20 lines.
Do NOT delete the temp directory yet — it's needed if the user confirms.
This is a best-effort heuristic screen, not a deterministic security gate. It may miss obfuscated or novel patterns. Do not over-trust a clean scan — the user should still review the PR diff before merging.
Scan all new and modified files in the upstream skills/ and agents/ directories for potentially malicious content. Check for:
curl, wget, nc, ssh commands that send data to unknown hosts (not github.com or known package registries)GITHUB_TOKEN, AWS_SECRET, API keys, or other credentials~/.ssh, ~/.aws, ~/.config, /etc/passwd, or any absolute paths outside the working directoryrm -rf /, git push --force, DROP TABLE, or similarFor each flag, report:
HIGH (likely malicious), MEDIUM (suspicious, needs review), LOW (probably fine but unusual)Present the results as a summary. If there are any HIGH severity flags, warn the user strongly and recommend they do not proceed without manual review. If only LOW/MEDIUM, note them but don't block.
If no flags are found, report "No suspicious content detected."
Present the diff summary and security scan results together, then ask the user: "Do you want to sync to vX.Y.Z? This will create a new branch and PR."
If the user declines or says no: clean up the temp directory and stop.
If the user confirms: proceed to Phase 2.
Get the git user's name and GitHub username:
git config user.name
gh api user --jq '.login'
Derive the user's initials from their git username for the branch name. Use 2-letter uppercase initials.
The branch name MUST follow the project's naming convention:
00-00-XX-chore-ce-sync-vX-Y-Z
Where:
XX is the user's 2-letter uppercase initialsvX-Y-Z is the upstream version with dots replaced by hyphens (e.g. v2-45-0)Branch format is load-bearing.
.github/workflows/autofix.ci.ymlmatches-chore-ce-sync-to skip lint on sync PRs. If you change this format, update the workflow'sif:condition in lockstep.Commit message is also load-bearing. The same workflow matches the substring
sync compound-engineering skills and agentsagainst the queued head commit message onmerge_groupevents (where the original branch name is no longer visible). Step 12'sgit commit -m "chore: sync compound-engineering skills and agents"and step 13's PR title must keep that exact substring intact, or the merge queue will re-run lint and fail.
Create a git worktree for this branch:
git worktree add ../sync-ce-worktree -b <branch-name> main
Read the .ce-manifest from the worktree. For each skill and agent listed in the manifest, check if it still exists in the upstream repo. If not, delete it from the worktree:
# For each skill in manifest [skills] section that is NOT in upstream skills/
rm -rf ../sync-ce-worktree/.claude/skills/<removed-skill>
# For each agent in manifest [agents] section that is NOT in upstream agents/
rm -f ../sync-ce-worktree/.claude/agents/<removed-agent>
Only delete files listed in the manifest — never touch files that aren't CE-owned.
Important: CE-owned files (those listed in .ce-manifest) are treated as read-only. Any local modifications to CE-owned files will be overwritten on sync. If you need to customize a CE skill, create a separate project-owned skill instead.
# Copy skills (overwrites CE-owned files)
cp -r "$TEMP_DIR/plugins/compound-engineering/skills/"* ../sync-ce-worktree/.claude/skills/
# Copy agents (overwrites CE-owned files)
cp -r "$TEMP_DIR/plugins/compound-engineering/agents/"* ../sync-ce-worktree/.claude/agents/
# Copy LICENSE to both directories
cp "$TEMP_DIR/plugins/compound-engineering/LICENSE" ../sync-ce-worktree/.claude/skills/CE-LICENSE
cp "$TEMP_DIR/plugins/compound-engineering/LICENSE" ../sync-ce-worktree/.claude/agents/CE-LICENSE
# Update version file
echo "<new-version>" > ../sync-ce-worktree/.ce-version
Generate a new .ce-manifest from the upstream repo contents:
# Compound Engineering manifest — tracks which files were synced from upstream.
# Auto-generated by /sync-ce. Do not edit manually.
# version: <new-version>
[skills]
<list each skill directory name from upstream, one per line, sorted>
[agents]
<list each agent file path relative to agents/, one per line, sorted>
Write this to ../sync-ce-worktree/.ce-manifest.
Clean up the temp directory:
rm -rf "$TEMP_DIR"
Working inside the worktree:
cd ../sync-ce-worktree
git add .claude/skills/ .claude/agents/ .ce-version .ce-manifest
git commit -m "chore: sync compound-engineering skills and agents"
git push -u origin <branch-name>
Create a PR using the GitHub CLI, assigned to the person who ran the command:
gh pr create \
--title "chore: sync compound-engineering skills and agents" \
--assignee "<github-username>" \
--body "$(cat <<'PREOF'
## Summary
- Syncs compound-engineering skills and agents from upstream plugin repo
- Version bump: vOLD -> vNEW
- New skills: <list or "none">
- Removed skills: <list or "none">
- New agents: <list or "none">
- Removed agents: <list or "none">
## Test plan
- [ ] Verify skills load correctly in local Claude Code session
- [ ] Verify Dispatch-spawned tasks can discover the updated skills
🤖 Generated with `/sync-ce`
PREOF
)"
cd -
git worktree remove ../sync-ce-worktree
Tell the user:
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Ask which skill or flow fits your situation. A router over the skills in this repo.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools, implementing self-modifying systems, or building apps where features are outcomes achieved by agents operating in a loop.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Run comprehensive agent-native architecture review with scored principles
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Explore requirements and approaches through collaborative dialogue before writing a right-sized requirements document and planning implementation. Use for feature ideas, problem framing, when the user says 'let's brainstorm', or when they want to think through options before deciding what to build. Also use when a user describes a vague or ambitious feature request, asks 'what should we build', 'help me think through X', presents a problem with multiple valid solutions, or seems unsure about scope or direction — even if they don't explicitly ask to brainstorm.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Clean up local branches whose remote tracking branch is gone. Use when the user says "clean up branches", "delete gone branches", "prune local branches", "clean gone", or wants to remove stale local branches that no longer exist on the remote. Also handles removing associated worktrees for branches that have them.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Structured code review using tiered persona agents, confidence-gated findings, and a merge/dedup pipeline. Use when reviewing code changes before creating a PR.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.