← all publishers

Norman-else

@norman-else source repo

11 published skills

  1. Navi Recap · norman-else bundle
    Use when the user asks to turn git commit history into a product-evolution story or presentation (in any language) — e.g. "summarize last month's product changes from git history", "monthly recap", "make a PPT/slide deck of what shipped to share", "navi-recap". Defaults to the Navi + engineering-agent-registry repos but works for any repo and time window.
    0 installs
  2. CI Deploy · norman-else bundle
    Use whenever the user asks to deploy a project to an environment through a CircleCI manual-approval gate — phrases like "deploy to dev", "ship to staging", "release to prod", "deploy this", or naming a repo you haven't cloned ("deploy backend delivery to sat"). Auto-detects the CircleCI project, workflow, and approval/deploy/test jobs from the current git repo (no per-repo config); also supports a remote mode that deploys a repo you have not cloned by resolving it from a natural-language name via `gh`. Approves the gate for the chosen environment, waits for tests if needed, then watches the deploy job until it succeeds or fails. Do NOT use for local docker runs or any deploy that doesn't go through a CircleCI approval gate.
    0 installs
  3. Vault Share · norman-else bundle
    Securely send a Vault secret or dynamic database credential to a Slack user by private DM without exposing the secret content in chat. Supports sharing only a subset of a KV secret's keys. Use when Codex needs to share credentials from Vault with a teammate in Slack, especially for requests like "share secret X with Y", "share only DB_HOST and DB_PORT of X with Y", "DM the db creds to Alice", "send dev db to Norman", "process the latest DB credential request", "process the pending DB credential requests" (handles multiple unprocessed requests for different services/recipients, not just the newest), covering for a teammate who is away ("process the requests assigned to Hansen", "Hansen is on leave, handle his DB requests"), or terse slash-style input such as "vault-share ENV TYPE TARGET USER" and "vault-share PATH USER".
    0 installs
  4. Navi Testing · norman-else bundle
    Run post-deploy smoke tests against the deployed Navi Slack agent. Drives a dedicated Slack test channel (@mentions Navi), then VERIFIES each scenario on three layers — the Slack reaction lifecycle, Navi's actual thread reply, AND the execution Trace queried from the dev PostgreSQL — and reports failures with the scenario, what Navi actually did, and what was expected. Use when the user says "run navi tests", "smoke test navi", "test navi after deploy", "navi-testing", or wants to validate a Navi deployment.
    0 installs
  5. Vault Web UI · norman-else bundle
    Open the Vault Web UI in a browser through the Vault MCP integration. Use when Codex needs to launch Vault's web interface for interactive inspection, or when the user says things like `open vault web ui`, `open vault ui`, or `launch vault in browser`.
    0 installs
  6. Vault Sync DB · norman-else bundle
    Sync a service's dynamic Vault database credentials into the local PostgreSQL MCP config (~/postgresql-mcp-config/environments.json) so the PostgreSQL MCP can connect, without exposing the credentials in chat. Use when the user wants fresh DB credentials wired into their Postgres MCP, especially for requests like "sync dev accounting db", "sync the item-management-service db creds to postgres mcp", "refresh my prod data db credentials", "my postgres mcp password expired for sat accounting", "把 dev 的 accounting-service 数据库凭证同步到 postgresql mcp", or terse slash-style input such as "vault-sync-db ENV SERVICE [SERVICE...]". Do NOT use for sending credentials to another person (use vault-share).
    0 installs
  7. Clean My Mac · norman-else bundle
    Safely audit and clean macOS disk usage by identifying temporary files, caches, build artifacts, stale development environments, and other disposable data. Also explain macOS storage usage by analyzing data-volume usage, large directory groups, snapshots, and category mismatches with System Settings. Use when Codex needs to help free disk space on a Mac, clean up junk files, remove caches, inspect large stale files, explain why storage usage looks high, diagnose System Settings storage discrepancies, or respond to requests like "clean my mac", "free up disk space", "remove temp files", "disk cleanup", "why is my Mac storage so high", or "explain my storage". Always show a dry-run summary first and require explicit user confirmation before deleting anything.
    0 installs
  8. Pr Autopilot · norman-else
    After a PR already exists, drive it to merged-and-deployed on autopilot. Polls its CI checks and review comments in a loop: fixes failing CI, applies the changes human reviewers and the mercoder-dev bot ask for (other bots are ignored), pushes each round, waits for the required approval, then squash-merges into the base branch and deploys that branch to a chosen environment via the ci-deploy skill. Use WHENEVER the user wants an open PR watched, fixed, merged and shipped hands-off: "盯着这个PR处理完评论就合并然后部署到sat", "自动合并并部署accounting-service到sat", "auto-merge this PR and deploy to sat", "ship this PR once it's green", "merge and deploy when ready", or /pr-autopilot (Claude) or $pr-autopilot (Codex) with just an environment. Also trigger it right after you open a PR yourself and the user asked for the whole flow. Do NOT use for opening a PR (that is a plain gh/commit task) or for a standalone deploy with no PR to merge first (use ci-deploy directly).
    0 installs
  9. Product Recap · norman-else bundle
    Product Recap — git history → product story → slide deck
    0 installs
  10. Remote Github Pr · norman-else bundle
    Create or update a GitHub pull request entirely through remote GitHub operations without cloning a repository locally. Use this skill whenever the user asks to modify GitHub-hosted code with `gh`, GitHub APIs, or direct remote edits, especially when they explicitly say not to clone the repo, want a new branch plus PR, or only need a small surgical change in an existing file.
    0 installs
  11. Maintain Xboard Node · norman-else
    Use when the user provides an existing VPN/Xboard node IP and asks to maintain, rotate, restart, stop/start, recover, or refresh a Lightsail-backed Xboard node.
    0 installs