diff --git a/software/application-software/argos/defaults/.claude/skills/code-review/SKILL.md b/software/application-software/argos/defaults/.claude/skills/code-review/SKILL.md deleted file mode 100644 index bc9952f..0000000 --- a/software/application-software/argos/defaults/.claude/skills/code-review/SKILL.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: code-review -description: Review the changes since a fixed point (commit, branch, tag, or merge-base) on two axes, Standards and Spec, in parallel sub-agents. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X". ---- - -1. **Fixed point.** Use the one the user gives, or ask. Confirm `git rev-parse ` resolves and `git diff ...HEAD` is non-empty. -2. **Spec.** Use a path the user passes, else the issue referenced in the commits, else `docs/spec/`, else ask. If there is none, skip the Spec axis. -3. **Standards.** Read `CLAUDE.md`, plus `angular-client/CLAUDE.md` and `scylla-server/CLAUDE.md` for the parts the diff touches. -4. **Two parallel `general-purpose` sub-agents**, each given the diff command and commit list, and each asked to stay under 400 words: - - **Standards** (also give it the standards files): cite each violated rule by file. Also flag Fowler code smells (duplication, feature envy, speculative generality, unclear names, …) as judgement calls. Documented rules override smells. Skip anything prettier, eslint or clippy enforces. - - **Spec** (also give it the spec): missing or partial requirements, scope creep, and wrong implementations, quoting the spec line for each. -5. **Report** under `## Standards` and `## Spec`, unmerged, and end with the finding count and worst issue per axis. diff --git a/software/application-software/argos/workspaces/argos-dev/.claude/skills/code-review/SKILL.md b/software/application-software/argos/workspaces/argos-dev/.claude/skills/code-review/SKILL.md deleted file mode 100644 index bc9952f..0000000 --- a/software/application-software/argos/workspaces/argos-dev/.claude/skills/code-review/SKILL.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: code-review -description: Review the changes since a fixed point (commit, branch, tag, or merge-base) on two axes, Standards and Spec, in parallel sub-agents. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X". ---- - -1. **Fixed point.** Use the one the user gives, or ask. Confirm `git rev-parse ` resolves and `git diff ...HEAD` is non-empty. -2. **Spec.** Use a path the user passes, else the issue referenced in the commits, else `docs/spec/`, else ask. If there is none, skip the Spec axis. -3. **Standards.** Read `CLAUDE.md`, plus `angular-client/CLAUDE.md` and `scylla-server/CLAUDE.md` for the parts the diff touches. -4. **Two parallel `general-purpose` sub-agents**, each given the diff command and commit list, and each asked to stay under 400 words: - - **Standards** (also give it the standards files): cite each violated rule by file. Also flag Fowler code smells (duplication, feature envy, speculative generality, unclear names, …) as judgement calls. Documented rules override smells. Skip anything prettier, eslint or clippy enforces. - - **Spec** (also give it the spec): missing or partial requirements, scope creep, and wrong implementations, quoting the spec line for each. -5. **Report** under `## Standards` and `## Spec`, unmerged, and end with the finding count and worst issue per axis. diff --git a/software/application-software/argos/workspaces/argos-dev/.claude/skills/grill-with-docs/SKILL.md b/software/application-software/argos/workspaces/argos-dev/.claude/skills/grill-with-docs/SKILL.md deleted file mode 100644 index 16a6f81..0000000 --- a/software/application-software/argos/workspaces/argos-dev/.claude/skills/grill-with-docs/SKILL.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: grill-with-docs -description: Grill the user relentlessly about a plan or design, recording the glossary and ADRs as decisions land. Use when the user wants to stress-test a plan before building, or uses any 'grill' trigger phrases. ---- - -Interview me about every aspect of this plan until we share an understanding. Walk each branch of the design tree, resolving dependencies between decisions one by one. - -- Ask one question at a time, with your recommended answer, and wait for mine. -- Look up facts in the code yourself. Put decisions to me. If the code contradicts what I say, point it out. -- Hold me to `docs/CONTEXT.md`. Call out a term that conflicts with it, pin down fuzzy terms, and test boundaries with concrete edge-case scenarios. -- When a term is resolved, update `docs/CONTEXT.md` right away. It's a glossary only, with no implementation details. -- Offer an ADR in `docs/adr/` only when a decision is hard to reverse, surprising without context, and a real trade-off. Name it per `docs/agents/domain.md` and cover context, decision, and the alternatives considered. -- Don't enact the plan until I confirm we're aligned. Next step: `/to-spec`. diff --git a/software/application-software/argos/workspaces/argos-dev/.claude/skills/implement/SKILL.md b/software/application-software/argos/workspaces/argos-dev/.claude/skills/implement/SKILL.md deleted file mode 100644 index d456f78..0000000 --- a/software/application-software/argos/workspaces/argos-dev/.claude/skills/implement/SKILL.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: implement -description: Implement a piece of work based on a spec or set of tickets. -disable-model-invocation: true ---- - -Implement the ticket(s) the user names, one ticket per fresh context, each in its own worktree at `repos/worktrees/argos//` (never in `repos/argos/`). Create the worktree first if it doesn't exist. - -1. Work test-first at the spec's agreed seams, one behavior at a time: write a failing test, then the minimum code to pass it, and refactor only while green. Test behavior through public interfaces, and mock only at system boundaries. -2. Check as you go: - - **Frontend:** single specs with `ng test --include='src/**/thing.spec.ts' --watch=false` while iterating. At the end, run `ng test --watch=false` (bare `ng test` watches and blocks the shell), then the lint and format checks. - - **Backend:** `cargo build` and single tests while iterating, `cargo test` at the end. -3. Review with `/code-review` against `develop`, and fix what it finds. -4. Commit with `/commit`. Don't push or open a PR unless asked; that's `/open-pr`. diff --git a/software/application-software/argos/workspaces/argos-dev/.claude/skills/to-spec/SKILL.md b/software/application-software/argos/workspaces/argos-dev/.claude/skills/to-spec/SKILL.md deleted file mode 100644 index 2c37192..0000000 --- a/software/application-software/argos/workspaces/argos-dev/.claude/skills/to-spec/SKILL.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -name: to-spec -description: Turn the current conversation into a spec, review it as a PR, then publish it as an issue. No interview, just synthesis. -disable-model-invocation: true ---- - -Synthesize a spec from the conversation and the codebase. Don't interview the user. - -1. **Tracking issue.** Use the existing issue, or create a stub one. Its number names the branch (`{issue-number}-{slug}`). -2. **Explore** the code in the area, using `docs/CONTEXT.md` terms and respecting its ADRs. -3. **Test seams.** Propose where the feature will be tested: prefer existing seams, as high as possible, ideally one. Confirm with the user. -4. **Write** `docs/spec//spec.md` from the template and open it as a PR. Follow `docs/agents/spec-review.md` for review, publishing to the issue with `ready-for-agent`, and removing the file afterwards. - - -## Problem Statement -The problem, from the user's perspective. - -## Solution -The solution, from the user's perspective. - -## User Stories -An extensive numbered list: "As a , I want , so that ". - -## Implementation Decisions -Modules built or changed and their interfaces, architecture, schema and API contracts, and key interactions. - -## Testing Decisions -The agreed seams, which modules get tested, and prior art. Test external behavior only. - -## Out of Scope - -## Further Notes - diff --git a/software/application-software/argos/workspaces/argos-dev/.claude/skills/to-tickets/SKILL.md b/software/application-software/argos/workspaces/argos-dev/.claude/skills/to-tickets/SKILL.md deleted file mode 100644 index 13e83a4..0000000 --- a/software/application-software/argos/workspaces/argos-dev/.claude/skills/to-tickets/SKILL.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: to-tickets -description: Break a plan, spec, or the current conversation into tracer-bullet tickets with blocking edges, published to the issue tracker. Use when the user wants to turn a plan into issues or break down work. -disable-model-invocation: true ---- - -1. **Context.** Work from the conversation. If given a spec or issue, read its body and comments. Explore the code if needed, looking for prefactors that make the change easy. -2. **Slice** into tracer bullets. Each ticket: - - is a narrow but complete path through every layer (schema, API, UI, tests), demoable on its own, and fits one fresh context; - - is AFK (no human needed) where possible, HITL otherwise; - - lists the tickets that block it. Prefactors go first. - - A wide mechanical refactor (rename a column, retype a shared symbol) can't land as a vertical slice. Sequence it expand → migrate in batches → contract, one ticket per step. -3. **Quiz.** Show a numbered list of title, AFK/HITL, blocked by, and what it delivers. Ask about granularity, blocking edges, merges or splits, and AFK/HITL. Iterate until approved. -4. **Create** the issues in dependency order with `ready-for-agent`. Link blockers, and set `Parent` to the spec issue only if one exists. Don't modify the parent. - - -## Parent -The spec issue (omit if none). - -## What to build -The end-to-end behavior, from the user's perspective. - -## Acceptance criteria -- [ ] … - -## Blocked by -Blocking tickets, or "None — can start immediately". - diff --git a/software/application-software/argos/workspaces/argos-dev/CLAUDE.md b/software/application-software/argos/workspaces/argos-dev/CLAUDE.md index e3fabc6..c9dcf84 100644 --- a/software/application-software/argos/workspaces/argos-dev/CLAUDE.md +++ b/software/application-software/argos/workspaces/argos-dev/CLAUDE.md @@ -45,7 +45,7 @@ The Argos repo is checked out at `repos/argos/`. Paths below are relative to a c ## Workflow -Idea to ship: `/grill-with-docs` → `/to-spec` → `/to-tickets` → `/implement` (test-first, then `/code-review` and `/commit`) → `/open-pr`. A trivial one-liner goes straight to `/implement`. +Per ticket: `new-worktree` → implement and test in the worktree → `/commit` → `/open-pr`. ## PR Convention @@ -65,7 +65,7 @@ Frontend and backend conventions live alongside their code and auto-load when ed ## Issue tracker -Issues live in GitHub Issues on `Northeastern-Electric-Racing/Argos` via the `gh` CLI. See `docs/agents/issue-tracker.md` for title, label, and assignment conventions, and `docs/agents/triage-labels.md` for labels. Specs and tickets avoid file paths and code snippets; they go stale. +Issues live in GitHub Issues on `Northeastern-Electric-Racing/Argos` via the `gh` CLI. See `docs/agents/issue-tracker.md` for title, label, and assignment conventions. ## Domain docs