feat: full Copilot CLI skill parity with Claude integration#63
feat: full Copilot CLI skill parity with Claude integration#63bilersan wants to merge 1 commit intoActiveMemory:mainfrom
Conversation
Port all 40 Claude skills to Copilot CLI format with proper YAML frontmatter (tools array instead of allowed-tools string). Includes lifecycle hook scripts (bash + PowerShell), agent instructions, and hook configuration. Contents: - 40 skill SKILL.md files under integrations/copilot-cli/skills/ - 8 hook scripts (session-start/end, pre/post-tool-use × bash/ps1) - INSTRUCTIONS.md agent bootstrap instructions - ctx-hooks.json lifecycle hook configuration - Updated embed.go to include integrations assets - Parity spec document (specs/copilot-feature-parity-kit.md) Signed-off-by: ersan bilik <ersanbilik@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: ersan bilik <ersanbilik@gmail.com>
|
@bilersan I'm seriously backlogged and having a hard time bending the space-time continuum. I'll look at this early next week, hopefully. |
|
Hey @bilersan — main had moved 31 commits ahead since this PR was opened, so branch protection was gating the merge on a refreshed CI run. I've rebased your commit onto current main as-is (authorship preserved) and pushed it to
Would you prefer to:
Happy either way — your call. Thanks for the contribution! |
will handle pr myself tonite ist time ^^ thanks |
Combines two in-flight workstreams into one commit. ## Docstring namespace sweep (parallel agent) Follow-up to the CLI namespace cleanup in 78fbdf7. Updates doc comments, blog posts, recipes, and the regenerated site to reflect current command names (e.g. `ctx pause` → `ctx hook pause`, `ctx resume` → `ctx hook resume`, `ctx message` → `ctx hook message`). Also refreshes the Copilot CLI integration skills added in edaac81 (PR #63) to match the new namespace. Scope: ~450 files across docs/, site/, internal/cli, internal/write, internal/config, .github/, integration skill templates, and .claude/ skill SKILL.md files. ## Git push regex hardening (this session) The `block-dangerous-command` hook's `MidGitPush` regex only matched `git push` mid-command after `;`, `&&`, or `||`. This session accidentally bypassed it with `git -C <path> push` — the permissions deny list `Bash(git push *)` only matches prefix `git push`, so `git -C <path> push` also slipped through. Replace `MidGitPush` with a broader `GitPush` that covers: - Bare `git push` at command start - All separator and subshell entry points (`;`, `&&`, `||`, `|`, `&`, `(`, `$(`, backtick, newline) - Env-var and command-wrapper prefixes (`GIT_DIR=/x git push`, `time git push`, `nice git push`) - Any flag shape between `git` and `push` (`-C path`, `-c key=val`, `--git-dir=/path`, `--no-pager`, `--bare`, `-p`, `-P`) - Tail anchor that distinguishes subcommand from ref names (`push-to-remote`, `push_branch`) via `[^a-zA-Z0-9._/-]|$` Documented trade-offs: accepted false positives on `git log push` and `git commit -m push` (push as literal arg); known blind spots for `eval` / `sh -c` quoting and shell aliases. Adds `internal/config/regex/cmd_test.go` with 42 table-driven cases covering all entry points, flag shapes, prefixes, negative cases (other subcommands, ref-name continuations), and the accepted false-positive classes. Renames the Go symbol `MidGitPush` → `GitPush` to accurately reflect scope; keeps legacy variant string `mid-git-push` and text key `block.mid-git-push` (user-facing message is already generic: "git push requires explicit user approval"). Spec: specs/git-push-regex-hardening.md Spec: specs/cli-namespace-cleanup.md Signed-off-by: Jose Alekhinne <jose@parlakisik.com>
Closes #61
Full Copilot CLI skill parity: ports all 40 Claude skills to Copilot CLI format.
Rebased cleanly on upstream/main — no conflicts.
What changed (51 files, +3337/-353)
Skills (40 total, matching Claude 1:1)
_ctx-alignment-audit, ctx-add-convention, ctx-add-decision, ctx-add-learning, ctx-add-task, ctx-agent, ctx-architecture, ctx-archive, ctx-blog, ctx-blog-changelog, ctx-brainstorm, ctx-check-links, ctx-commit, ctx-consolidate, ctx-doctor, ctx-drift, ctx-implement, ctx-import-plans, ctx-journal-enrich, ctx-journal-enrich-all, ctx-journal-normalize, ctx-loop, ctx-next, ctx-pad, ctx-pause, ctx-prompt, ctx-prompt-audit, ctx-recall, ctx-reflect, ctx-remember, ctx-remind, ctx-resume, ctx-sanitize-permissions, ctx-skill-audit, ctx-skill-creator, ctx-spec, ctx-status, ctx-verify, ctx-worktree, ctx-wrap-up
Format adaptation
Claude:
allowed-tools: Bash(ctx:*), Read(string)Copilot CLI:
tools: [bash, read, write, edit, glob, grep](YAML array)Verification
go buildpassesgo vet ./...cleango test ./internal/assets/...passesNote: pre-commit compliance hook has 6 pre-existing staticcheck SA5011 warnings in upstream test files (not introduced by this PR).
Signed-off-by: ersan bilik ersanbilik@gmail.com
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com