Skip to content

Commit d5c2483

Browse files
authored
chore: establish agent-first development ethos across project (#293)
* docs: enhance AGENTS.md as primary agent entrypoint Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: add opencode agent definitions for sub-agent workflows Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * docs: overhaul CONTRIBUTING.md for agent-first workflow Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * docs: reframe README.md with agent-first identity Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: add bug report and feature request issue templates Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: add issue template config with agent-first contact links Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: add pull request template Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: add CODEOWNERS Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: update .claude/ README to document skill symlink and consolidation Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * chore: remove github-rest-api skill Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * feat: add triage-issue skill for community issue assessment Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * refactor: update create-github-issue skill for template conformance Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * refactor: update create-github-pr skill for template conformance Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * refactor: update build-from-issue skill for template conformance and triage awareness Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * ci: add issue triage gate workflow Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> * feat: add sync-agent-infra skill to detect and fix infrastructure drift Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com> --------- Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
1 parent b0f296b commit d5c2483

18 files changed

Lines changed: 1153 additions & 453 deletions

File tree

.agents/skills/build-from-issue/SKILL.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ gh issue view <id> --json number,title,body,state,labels,author
9393

9494
If the issue is closed, report that and stop.
9595

96+
If the issue has the `needs-agent-triage` label, report that the issue has not been triaged yet. Suggest using the `triage-issue` skill first to assess and classify the issue before planning implementation. Stop.
97+
9698
## Step 2: Fetch and Classify Comments
9799

98100
Fetch all comments:
@@ -480,30 +482,36 @@ gh pr create \
480482
--body "$(cat <<'EOF'
481483
> **🏗️ build-from-issue-agent**
482484
483-
Closes #<issue-id>
484-
485485
## Summary
486486
<1-3 sentences describing what was built and the approach taken>
487487
488-
## Changes Made
488+
## Related Issue
489+
Closes #<issue-id>
490+
491+
## Changes
489492
- `<file1>`: <what changed and why>
490493
- `<file2>`: <what changed and why>
491494
492-
## Deviations from Plan
495+
### Deviations from Plan
493496
<any deviations from the approved plan, or "None — implemented as planned">
494497
495-
## Tests Added
498+
## Testing
499+
- [x] `mise run pre-commit` passes
500+
- [x] Unit tests added/updated
501+
- [x] E2E tests added/updated (if applicable)
502+
503+
**Tests added:**
496504
- **Unit:** <test file(s) and what they cover>
497505
- **Integration:** <test file(s) and what they cover, or "N/A">
498506
- **E2E:** <test file(s) and what they cover, or "N/A">
499507
500-
## Documentation Updated
501-
- `<architecture/doc.md>`: <what was updated>
508+
## Checklist
509+
- [x] Follows Conventional Commits
510+
- [x] Commits are signed off (DCO)
511+
- [x] Architecture docs updated (if applicable)
502512
503-
## Verification
504-
- [x] Pre-commit checks passing (unit tests, lint, format)
505-
- [x] E2E tests passing (if e2e/ files were modified)
506-
- [x] Architecture documentation updated
513+
**Documentation updated:**
514+
- `<architecture/doc.md>`: <what was updated>
507515
EOF
508516
)"
509517
```

.agents/skills/create-github-issue/SKILL.md

Lines changed: 74 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,66 +5,107 @@ description: Create GitHub issues using the gh CLI. Use when the user wants to c
55

66
# Create GitHub Issue
77

8-
Create issues on GitHub using the `gh` CLI.
8+
Create issues on GitHub using the `gh` CLI. Issues must conform to the project's issue templates.
99

1010
## Prerequisites
1111

1212
The `gh` CLI must be authenticated (`gh auth status`).
1313

14-
## Creating an Issue
14+
## Issue Templates
1515

16-
Use `gh issue create` with title and body:
16+
This project uses YAML form issue templates. When creating issues, match the template structure so the output aligns with what GitHub renders.
1717

18-
```bash
19-
gh issue create --title "Issue title" --body "Issue description"
20-
```
18+
### Bug Reports
2119

22-
### With Labels
20+
Use the `bug` label. The body must include an **Agent Diagnostic** section — this is required by the template and enforced by project convention.
2321

2422
```bash
25-
gh issue create --title "Title" --body "Description" --label "bug" --label "priority:high"
26-
```
23+
gh issue create \
24+
--title "bug: <concise description>" \
25+
--label "bug" \
26+
--body "$(cat <<'EOF'
27+
## Agent Diagnostic
2728
28-
### Assign to Someone
29+
<Paste the output from the agent's investigation. What skills were loaded?
30+
What was found? What was tried?>
2931
30-
```bash
31-
gh issue create --title "Title" --body "Description" --assignee "username"
32-
```
32+
## Description
3333
34-
### Assign to Yourself
34+
**Actual behavior:** <what happened>
3535
36-
```bash
37-
gh issue create --title "Title" --body "Description" --assignee "@me"
38-
```
36+
**Expected behavior:** <what should happen>
3937
40-
## Issue Formatting Guidelines
38+
## Reproduction Steps
4139
42-
Format the description based on the issue type:
40+
1. <step>
41+
2. <step>
4342
44-
### Bug Reports
43+
## Environment
4544
46-
Include:
45+
- OS: <os>
46+
- Docker: <version>
47+
- OpenShell: <version>
4748
48-
- What happened (actual behavior)
49-
- What should happen (expected behavior)
50-
- Steps to reproduce
51-
- Environment details if relevant
49+
## Logs
50+
51+
```
52+
<relevant output>
53+
```
54+
EOF
55+
)"
56+
```
5257

5358
### Feature Requests
5459

55-
Include:
60+
Use the `feat` label. The body must include a **Proposed Design** — not a "please build this" request.
61+
62+
```bash
63+
gh issue create \
64+
--title "feat: <concise description>" \
65+
--label "feat" \
66+
--body "$(cat <<'EOF'
67+
## Problem Statement
5668
57-
- Problem or use case being addressed
58-
- Proposed solution
59-
- Acceptance criteria (what "done" looks like)
69+
<What problem does this solve? Why does it matter?>
70+
71+
## Proposed Design
72+
73+
<How should this work? Describe the system behavior, components involved,
74+
and user-facing interface.>
75+
76+
## Alternatives Considered
77+
78+
<What other approaches were evaluated? Why is this design better?>
79+
80+
## Agent Investigation
81+
82+
<If the agent explored the codebase to assess feasibility, paste findings here.>
83+
EOF
84+
)"
85+
```
6086

6187
### Tasks
6288

63-
Include:
89+
For internal tasks that don't fit bug/feature templates:
6490

65-
- Clear description of the work
66-
- Any context or dependencies
67-
- Definition of done
91+
```bash
92+
gh issue create \
93+
--title "<type>: <description>" \
94+
--body "$(cat <<'EOF'
95+
## Description
96+
97+
<Clear description of the work>
98+
99+
## Context
100+
101+
<Any dependencies, related issues, or background>
102+
103+
## Definition of Done
104+
105+
- [ ] <criterion>
106+
EOF
107+
)"
108+
```
68109

69110
## Useful Options
70111

.agents/skills/create-github-pr/SKILL.md

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -152,39 +152,68 @@ Default target is `main`. To target a different branch:
152152
gh pr create --base "release-1.0"
153153
```
154154

155-
## PR Description Guidelines
155+
## PR Description Format
156156

157-
A good PR description includes:
157+
PR descriptions must follow the project's [PR template](.github/PULL_REQUEST_TEMPLATE.md) structure:
158158

159-
### Summary
160-
161-
Brief description of changes (2-3 bullet points).
159+
```markdown
160+
## Summary
161+
<!-- 1-3 sentences: what this PR does and why -->
162162

163-
### Test Plan
163+
## Related Issue
164+
<!-- Fixes #NNN or Closes #NNN -->
164165

165-
How the changes were tested:
166+
## Changes
167+
<!-- Bullet list of key changes -->
166168

167-
- Unit tests added/updated
168-
- Manual testing performed
169-
- Integration tests
169+
## Testing
170+
<!-- What testing was done? -->
171+
- [ ] `mise run pre-commit` passes
172+
- [ ] Unit tests added/updated
173+
- [ ] E2E tests added/updated (if applicable)
170174

171-
### Related Issues
175+
## Checklist
176+
- [ ] Follows Conventional Commits
177+
- [ ] Commits are signed off (DCO)
178+
- [ ] Architecture docs updated (if applicable)
179+
```
172180

173-
Link to related issues using `Closes #123` or `Related to #456`.
181+
Populate the testing checklist based on what was actually run. Check boxes for steps that were completed.
174182

175183
## Example PR (Complete)
176184

177185
```bash
178186
gh pr create \
179-
--title "feat(files): add pagination to dataset list endpoint" \
187+
--title "feat(cli): add pagination to sandbox list" \
180188
--assignee "@me" \
181-
--milestone "Platform 26.02" \
182-
--body "Closes #456
183-
189+
--body "$(cat <<'EOF'
184190
## Summary
185-
- Added \`offset\` and \`limit\` query parameters to GET /datasets
191+
192+
Add `--limit` and `--offset` flags to `openshell sandbox list` for pagination.
193+
194+
## Related Issue
195+
196+
Closes #456
197+
198+
## Changes
199+
200+
- Added `offset` and `limit` query parameters to the sandbox list API call
186201
- Default limit is 20, max is 100
187-
- Response includes \`total_count\` field"
202+
- Response includes `total_count` field
203+
204+
## Testing
205+
206+
- [x] `mise run pre-commit` passes
207+
- [x] Unit tests added/updated
208+
- [ ] E2E tests added/updated (if applicable)
209+
210+
## Checklist
211+
212+
- [x] Follows Conventional Commits
213+
- [x] Commits are signed off (DCO)
214+
- [ ] Architecture docs updated (if applicable)
215+
EOF
216+
)"
188217
```
189218

190219
## Useful Options

0 commit comments

Comments
 (0)