Skip to content

Commit 8483403

Browse files
authored
chore: convert forum announcement instruction as a proper agent skill (codeigniter4#10031)
1 parent 61072c9 commit 8483403

4 files changed

Lines changed: 137 additions & 201 deletions

File tree

.ai/forum-announcement-instructions.md

Lines changed: 0 additions & 200 deletions
This file was deleted.

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
.gitignore export-ignore
99

1010
# admin files
11-
.ai/ export-ignore
1211
.github/ export-ignore
1312
admin/ export-ignore
1413
contributing/ export-ignore

.github/skills/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Skills
2+
3+
This directory contains workspace agent skills for maintainers.
4+
5+
## Available Skills
6+
- `forum-announcement`: Create CodeIgniter4 release forum announcements in myBB format.
7+
8+
## Structure
9+
- `.github/skills/<skill-name>/SKILL.md`: Skill metadata and workflow.
10+
- `.github/skills/<skill-name>/references/`: Optional supporting docs loaded on demand.
11+
- `.github/skills/<skill-name>/assets/`: Optional templates and reusable files.
12+
- `.github/skills/<skill-name>/scripts/`: Optional executables for automation.
13+
14+
## Usage
15+
1. Open Copilot Chat in this workspace.
16+
2. Invoke `/<skill-name>`.
17+
3. Provide inputs, for example:
18+
```
19+
/forum-announcement 4.7.0
20+
```
21+
22+
## Maintainer Notes
23+
- Keep `name` in `SKILL.md` identical to its folder name.
24+
- Keep the `description` keyword-rich so the skill is discoverable.
25+
- Use references only when needed; avoid duplicating guidance between `SKILL.md` and `references/`.
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
name: forum-announcement
3+
description: 'Create CodeIgniter4 release forum announcements in myBB format. Use when preparing release posts, dual-version announcements (maintenance + major), changelog summaries, contributor acknowledgements, upgrade guidance, and final forum-ready text files.'
4+
argument-hint: 'Target release version(s), e.g. "4.6.5 and 4.7.0" or "4.7.1"'
5+
user-invocable: true
6+
---
7+
8+
# Forum Announcement
9+
10+
Create a forum-ready CodeIgniter4 release announcement using myBB markup.
11+
12+
## When to Use
13+
- Publish a new CodeIgniter4 release announcement on the forum.
14+
- Convert changelog and RST details into a structured, readable post.
15+
- Produce a dual-release announcement with maintenance-first ordering.
16+
17+
## Inputs
18+
- One version (`4.x.y`) or two versions (`maintenance`, then `major`).
19+
20+
## Output Naming
21+
- `v{VERSION}` is a placeholder and must be replaced by an actual version string.
22+
- Single release example: `v4.7.1-announcement.txt`.
23+
- Dual release example (`4.6.5` + `4.7.0`): use the major version filename `v4.7.0-announcement.txt`.
24+
- Save the file at repository root.
25+
26+
## Procedure
27+
1. Read `CHANGELOG.md` for release summary and PR references.
28+
2. Read `user_guide_src/source/changelogs/v{VERSION}.rst` for each target version.
29+
3. Determine release mode:
30+
- Single release: one `4.x.y` version.
31+
- Dual release: maintenance + major; maintenance is presented first in the post.
32+
4. Draft the post with this structure (remove sections that do not apply):
33+
- Title.
34+
- Intro paragraphs.
35+
- Release links.
36+
- Which version to use (dual release only).
37+
- Maintenance release section (dual release only).
38+
- Highlights and new features.
39+
- Notable enhancements.
40+
- Security and quality.
41+
- Breaking changes.
42+
- Other notable changes.
43+
- Contributor thanks.
44+
- Upgrade links, issue reporting link, closing.
45+
- AI-assistance disclosure.
46+
5. Apply myBB formatting and escaping rules in this file.
47+
6. Save final content as `v{VERSION}-announcement.txt` at repository root, replacing `{VERSION}` with the actual version.
48+
49+
## Required Announcement Template
50+
```text
51+
[size=x-large][b]CodeIgniter {VERSION} Released![/b][/size]
52+
53+
Introduction paragraph(s)
54+
55+
[url=RELEASE_URL]GitHub Release[/url]
56+
[url=CHANGELOG_URL]Changelog[/url]
57+
58+
[hr]
59+
60+
[size=large][b]Highlights & New Features[/b][/size]
61+
62+
[hr]
63+
64+
[size=large][b]Notable Enhancements[/b][/size]
65+
66+
[hr]
67+
68+
[size=large][b]Breaking Changes[/b][/size]
69+
70+
[hr]
71+
72+
[size=large][b]Thanks to Our Contributors[/b][/size]
73+
74+
[hr]
75+
76+
[url=UPGRADE_GUIDE_URL]Upgrade Guide[/url]
77+
[url=ISSUES_URL]Report Issues[/url]
78+
79+
[hr]
80+
81+
[size=small][i]Note: This announcement was created with the assistance of GitHub Copilot (GPT-5.3-Codex).[/i][/size]
82+
```
83+
84+
For dual releases, adapt the title and body to include both versions, with maintenance version first, plus a dedicated "Which Version Should I Use?" section.
85+
86+
## myBB Rules
87+
- Use `[b]`, `[i]`, `[size=x-large]`, `[size=large]`, `[size=small]`, `[url=...]`, `[list]`, `[list=1]`, `[*]`, and `[hr]`.
88+
- Use double backticks for inline code-like text when needed.
89+
- Escape colon patterns that may trigger myBB emoticons by replacing `:` with `&#58;` in code-like snippets.
90+
91+
## Content Quality Rules
92+
- Tone is professional, friendly, and community-facing.
93+
- Do not use emojis.
94+
- Verify details against RST changelog entries before finalizing.
95+
- Explain breaking changes with old behavior versus new behavior.
96+
- Include a "Removed Deprecated Items" subsection when applicable.
97+
- For maintenance bug-fix summaries, prefer ordered lists with concise before/after statements.
98+
- Thank contributors by GitHub username.
99+
- Include upgrade links and issue reporting links.
100+
101+
## Version Guidance Rules
102+
- Dual releases must list maintenance before major.
103+
- The "Which Version Should I Use?" section is required for dual releases.
104+
- In version guidance, present the lower-PHP-support option first.
105+
- For single releases, omit the "Which Version Should I Use?" section.
106+
107+
## Self-Check
108+
- Maintenance version is presented before major version.
109+
- PHP-version guidance and upgrade links are included.
110+
- Breaking changes are clearly explained.
111+
- Final AI-assistance disclosure is present and should be adjusted to the actual AI model used if different from the template.
112+
- Output filename is concrete and does not include braces.

0 commit comments

Comments
 (0)