Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions .agents/skills/refined-github-projects/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
```markdown
# refined-github-projects Development Patterns

> Auto-generated skill from repository analysis

## Overview

This skill teaches you the core development patterns and workflows used in the `refined-github-projects` TypeScript codebase. You'll learn the project's coding conventions, how to approach common UI refactorings and enhancements (especially for modals and sprint features), and how to write and organize tests. This guide is ideal for contributors aiming to maintain consistency and efficiency in this repository.

## Coding Conventions

- **Language:** TypeScript
- **Framework:** None (vanilla React/TS)
- **File Naming:** Use kebab-case for all file names.
- Example: `bulk-actions-bar.tsx`, `modal-shell.tsx`
- **Import Style:** Use alias imports for modules.
```typescript
import { ModalShell } from '@/ui/modal-shell'
```
- **Export Style:** Use named exports (avoid default exports).
```typescript
// Good
export function BulkCloseModal() { ... }

// Avoid
// export default BulkCloseModal;
```
- **Commit Messages:** Follow conventional commits with type prefixes such as `fix` or `refactor`.
- Example: `fix: correct modal closing behavior on escape key`
- Example: `refactor: consolidate sprint modal logic`

## Workflows

### Modal Shell Refactor or Bugfix
**Trigger:** When you need to refactor, consolidate, or fix modal UI logic and behavior.
**Command:** `/refactor-modal-shell`

1. **Update or Refactor Shared Modal Shell**
- Edit `src/ui/modal-shell.tsx` to improve or fix modal logic.
2. **Update Individual Modal Components**
- Modify files like `src/features/bulk-actions-modals.tsx`, `src/features/bulk-close-modal.tsx`, or any `src/features/bulk-*-modal.tsx` as needed.
3. **Update or Add Tests**
- Ensure modal logic is covered in tests such as `src/ui/__tests__/modal-shell.test.tsx` and `src/features/__tests__/*.test.tsx`.
4. **Update Related UI or Utility Files**
- Adjust supporting files like `src/lib/modal-factory.tsx` or `src/features/bulk-actions-bar.tsx` if modal usage changes.

**Example:**
```typescript
// src/ui/modal-shell.tsx
export function ModalShell({ isOpen, onClose, children }) {
if (!isOpen) return null;
return (
<div className="modal-backdrop" onClick={onClose}>
<div className="modal-content">{children}</div>
</div>
);
}
```

### Sprint UI Enhancement or Bugfix
**Trigger:** When you want to update, fix, or enhance sprint UI features or their underlying utilities.
**Command:** `/update-sprint-ui`

1. **Modify Sprint UI Components**
- Edit files like `src/features/sprint-modal.tsx`, `src/features/sprint-progress-view.tsx`, or any `src/features/sprint-*.tsx`.
2. **Update Sprint Utility Files and Tests**
- Change logic in `src/features/sprint-settings-utils.ts` and ensure coverage in `src/features/sprint-settings-utils.test.ts`.
3. **Update Injection Points or Widgets**
- Adjust files such as `src/features/sprint-injections.tsx` and `src/features/sprint-table-widget.tsx` to reflect UI or logic changes.

**Example:**
```typescript
// src/features/sprint-settings-utils.ts
export function calculateSprintProgress(issues: Issue[]) {
const completed = issues.filter(i => i.closed).length;
return completed / issues.length;
}
```

## Testing Patterns

- **Framework:** [Vitest](https://vitest.dev/)
- **Test File Pattern:** Name test files as `*.test.tsx` and place them alongside or within a `__tests__` directory.
- **Test Example:**
```typescript
// src/ui/__tests__/modal-shell.test.tsx
import { render } from '@testing-library/react'
import { ModalShell } from '../modal-shell'

test('renders children when open', () => {
const { getByText } = render(
<ModalShell isOpen={true} onClose={() => {}}>Hello</ModalShell>
)
expect(getByText('Hello')).toBeInTheDocument()
})
```

## Commands

| Command | Purpose |
|------------------------|--------------------------------------------------------------|
| /refactor-modal-shell | Start a modal shell refactor or bugfix workflow |
| /update-sprint-ui | Begin a sprint UI enhancement or bugfix workflow |
```
6 changes: 6 additions & 0 deletions .agents/skills/refined-github-projects/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
interface:
display_name: "Refined Github Projects"
short_description: "Repo-specific patterns and workflows for refined-github-projects"
default_prompt: "Use the refined-github-projects repo skill to follow existing architecture, testing, and workflow conventions."
policy:
allow_implicit_invocation: true
41 changes: 41 additions & 0 deletions .claude/commands/modal-shell-refactor-or-bugfix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: modal-shell-refactor-or-bugfix
description: Workflow command scaffold for modal-shell-refactor-or-bugfix in refined-github-projects.
allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
---

# /modal-shell-refactor-or-bugfix

Use this workflow when working on **modal-shell-refactor-or-bugfix** in `refined-github-projects`.

## Goal

Refactoring or fixing modal-related UI components by updating shared modal shells, related modal components, and their tests.

## Common Files

- `src/ui/modal-shell.tsx`
- `src/features/bulk-actions-modals.tsx`
- `src/features/bulk-close-modal.tsx`
- `src/features/bulk-actions-bar.tsx`
- `src/features/bulk-*-modal.tsx`
- `src/ui/__tests__/modal-shell.test.tsx`

## Suggested Sequence

1. Understand the current state and failure mode before editing.
2. Make the smallest coherent change that satisfies the workflow goal.
3. Run the most relevant verification for touched files.
4. Summarize what changed and what still needs review.

## Typical Commit Signals

- Update or refactor shared modal shell (src/ui/modal-shell.tsx)
- Update individual modal components (src/features/bulk-*-modal.tsx, src/features/bulk-actions-modals.tsx)
- Update or add tests for modal shell or modal logic (src/ui/__tests__/modal-shell.test.tsx, src/features/__tests__/*.test.tsx)
- Update related UI or utility files as needed (e.g., src/lib/modal-factory.tsx, src/features/bulk-actions-bar.tsx)

## Notes

- Treat this as a scaffold, not a hard-coded script.
- Update the command if the workflow evolves materially.
40 changes: 40 additions & 0 deletions .claude/commands/sprint-ui-enhancement-or-bugfix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: sprint-ui-enhancement-or-bugfix
description: Workflow command scaffold for sprint-ui-enhancement-or-bugfix in refined-github-projects.
allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
---

# /sprint-ui-enhancement-or-bugfix

Use this workflow when working on **sprint-ui-enhancement-or-bugfix** in `refined-github-projects`.

## Goal

Making enhancements or bugfixes to sprint-related UI components and utilities, often in conjunction with modal changes.

## Common Files

- `src/features/sprint-injections.tsx`
- `src/features/sprint-modal.tsx`
- `src/features/sprint-progress-view.tsx`
- `src/features/sprint-settings-utils.ts`
- `src/features/sprint-settings-utils.test.ts`
- `src/features/sprint-settings-view.tsx`

## Suggested Sequence

1. Understand the current state and failure mode before editing.
2. Make the smallest coherent change that satisfies the workflow goal.
3. Run the most relevant verification for touched files.
4. Summarize what changed and what still needs review.

## Typical Commit Signals

- Modify sprint UI components (src/features/sprint-*.tsx)
- Update sprint utility files and add/modify their tests (src/features/sprint-settings-utils.ts, src/features/sprint-settings-utils.test.ts)
- Update injection points or widgets (src/features/sprint-injections.tsx, src/features/sprint-table-widget.tsx)

## Notes

- Treat this as a scaffold, not a hard-coded script.
- Update the command if the workflow evolves materially.
Loading
Loading