push
Resolve targets, run scoped local gates, then push. The only sanctioned path for pushing Rust changes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Resolve targets, run scoped local gates, then push. The only sanctioned path for pushing Rust changes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
ICN development companion for the InterCooperative Network Rust monorepo. Use when working on ICN code, docs, deployment, or protocol design. Provides crate-aware routing to specialist agents (icn-architect, icn-economist, icn-ops), enforces project conventions, and understands the current sprint state, cluster topology, and demo flow status. Triggers on: any ICN crate names, "cooperative contract", "mutual credit", "governance", "gossip", "K3s", "icn-dev", "ops/mcp", "Sprint", "demo flow", "CCL", "federation", "DID", "ledger", "trust graph", "icnd", "icnctl".
Full sprint-batch or stacked-PR integration pipeline. Owns merge order, rebases, local gates, and main sync.
Full sprint-batch or stacked-PR integration pipeline. Owns merge order, rebases, local gates, and main sync.
Show full ICN development status dashboard — active sessions, sprint tasks, worktree freshness, CI state, and cluster health
ICN session preflight. This skill should be used when the user explicitly invokes "/icn-agent-pack:preflight", or asks to "run preflight", "orient me on ICN", or "check the ICN session environment". Loads canonical docs and the latest handoff, then verifies branch, gh auth, ports, toolchain, and a light cargo check. Read-only; reports, never fixes.
ICN repo navigator / knowledge graph. This skill should be used when the user explicitly invokes "/icn-agent-pack:navigator", or asks to "map the repo", "build/refresh the knowledge graph", "trace this concept to its source", or "show the conceptual map / impact map". Begins the living repository knowledge-graph and conceptual-map workflow, grounded in the icn-ops MCP tools and (future) generated graph artifacts.
| name | push |
| description | Resolve targets, run scoped local gates, then push. The only sanctioned path for pushing Rust changes. |
| argument-hint | [--skip-test] [--force-with-lease] |
| user-invocable | true |
| allowed-tools | Bash |
| truth_contract | {"canonical_sources":["ops/state/config/repo-map.json","ops/state/truth/policy.json"],"live_load_required":["git branch --show-current","git diff --name-only $(git merge-base HEAD origin/main)..HEAD","cargo metadata --no-deps --format-version 1"],"examples_only":[],"never_hardcode":["package names (always resolve via cargo metadata)","branch name"]} |
Gated push with scoped verification. Resolves affected packages first, runs the minimum sufficient gate set, classifies any lint failures by known remediation class, then pushes.
REPO_ROOT="$(git rev-parse --show-toplevel)"
bash "${REPO_ROOT}/ops/scripts/drift-check.sh" 2>/dev/null | tail -3 || true
If drift-check reports FAIL → warn loudly. Pushing while agent tooling has drift means CI may evaluate your PR with stale policy. Fix drift or acknowledge explicitly before continuing.
Confirm branch and status:
git branch --show-current
git status --short
Resolve touched packages to determine verification scope:
# Files changed on this branch
git diff --name-only $(git merge-base HEAD origin/main)..HEAD
# Map to workspace package names (never guess)
cargo metadata --no-deps --format-version 1 \
| python3 -c "
import sys, json
md = json.load(sys.stdin)
for p in md['packages']:
root = p['manifest_path'].replace('/Cargo.toml','')
print(f\"{p['name']:40s} {root}\")
" | sort
Scope decision:
icnd/src/main.rs, lifecycle.rs, or cross multiple crate boundaries → workspace-wideRun format check (always workspace-wide, fast):
cargo fmt --all --check
Run clippy (scoped if possible):
# Scoped (preferred — must use --all-targets to match CI):
cargo clippy -p <pkg1> -p <pkg2> --all-targets -- -D warnings
# Workspace (when cross-cutting):
cargo clippy --workspace --all-targets -- -D warnings
On failure, classify before fixing (see fix-rust-lints for canonical patterns):
field_reassign_with_default → struct update syntaxuse of deprecated in tests → replace with recommended APIchecked_sub / checked_mulRun tests (unless $ARGUMENTS includes --skip-test):
cargo test -p <pkg1> -p <pkg2> # scoped
cargo test --workspace # workspace
If any gate fails: report lint class and canonical fix, do NOT push.
If all gates pass:
git push # normal push
git push -u origin <branch> # first push (no upstream)
git push --force-with-lease # after rebase (if $ARGUMENTS includes --force-with-lease)
Report: pushed branch, commit SHA, scope used, gate results.
--skip-test skips the test suite. fmt + clippy always run.cargo clippy -p <crate> pass does NOT guarantee --workspace --all-targets passes.
Use --all-targets to match CI behavior.cargo metadata to confirm. See known confusions below.| Human label | Correct -p argument |
|---|---|
| "ledger" (crate) | icn-ledger |
| "ledger app" / "icn-ledger-app" | icn-ledger-actor (apps/ledger) |
| "obs" | icn-obs |
| "security" | icn-security |
| "compute" | icn-compute |
| "core" | icn-core |
| "daemon" / "icnd" | icnd (bin — triggers workspace-wide) |
| "governance app" | icn-governance-actor |
| "membership app" | icn-membership-app |