Commit graph

18 commits

Author SHA256 Message Date
Clement Verna
e3f27d1fb6 Onboard repo to skillsaw linting
All checks were successful
Validate manifests / validate (pull_request) Successful in 24s
Creates skillsaw configuration and CI workflow for Forgejo.
Fixes weak-language and context-budget violations in skill files.

Signed-off-by: Clement Verna <cverna@tutanota.com>
2026-07-19 18:25:15 +02:00
Clement Verna
83a30c7719 fedora-compose-triage: hyperlink Bug IDs in Related Bugs table
Addresses feedback from issue #9450.

Assisted-by: opencode
2026-07-10 20:14:24 +00:00
Clement Verna
a429d82637 docs: sync README with current skills, drop skills/README.md
Update the top-level README skills table to list all four skills
(fedora-compose-triage, fedora-ftbfs-search, meeting-secretary,
packit-pull-from-upstream-onboarding).
Remove skills/README.md (redundant) and clean up references to it.

Signed-off-by: Clement Verna <cverna@tutanota.com>
Assisted-by: OpenCode
2026-07-09 19:26:28 +02:00
1bb423deab skills: add fedora-compose-triage skill (#9)
Add a new skill for triaging Fedora compose-tracker issues.
The skill implements a 6-stage workflow (Gather, Parse, Logs,
Analyze, Classify, Summarize) for investigating FINISHED_INCOMPLETE
and DOOMED composes.

Assisted-by: OpenCode
Signed-off-by: Clement Verna <cverna@tutanota.com>

Reviewed-on: #9
2026-07-08 17:53:59 +00:00
1d409fe796 feat(skill): Add packit pull-from-upstream onboarding skill
Step-by-step guide for setting up automated upstream-release tracking
in Fedora dist-git using packit pull_from_upstream, covering config
generation, Anitya mapping, and common pitfalls.

Based on hands-on experience onboarding python-llama-cpp-python.

Fixes #5

Assisted-by: Claude Sonnet 4.6
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2026-07-02 09:44:52 +02:00
Clement Verna
fd63a60b89 docs: Reframe repo-level files as a skills library
Address review feedback on PR #2: the repo-level files were written
as if this is a single-skill project (Meeting Secretary) rather than
a library where Meeting Secretary is the first entry.

Changes:
- README.md: retitle as 'Fedora AI Skills Library', frame the repo
  as a library, reduce to library-level content, add Clement Verna
  to contributors
- AGENTS.md: reframe objective as building a skills library, drop
  meeting-secretary-specific details (those live in SKILL.md),
  describe the generic skills structure, update common tasks and
  layout table to library scope
- CONTRIBUTING.md: rewrite as library-level contribution guide
  (add a skill, improve a skill) rather than Meeting Secretary
  instructions
- CLAUDE.md: replace with a symlink to AGENTS.md

Assisted-by: Claude claude-sonnet-4-6@default
2026-05-26 19:30:09 +00:00
Clement Verna
9417f93eea restructure: Reshape to Agent Skills format
Reorganize the repository to follow the agentskills.io open format,
matching the structure used in coreos/ai-helpers.

Changes:
- Add skills/meeting-secretary/SKILL.md (frontmatter + condensed
  workflow instructions from definition.md)
- Move knowledge/ -> skills/meeting-secretary/references/
- Move templates/ -> skills/meeting-secretary/assets/
- Move examples/output/2026-04-21-docs-discourse.md ->
  skills/meeting-secretary/assets/example-discourse-post.md
- Add skills/README.md (skills index table)
- Convert README.adoc -> README.md (Markdown, updated layout)
- Update AGENTS.md, CONTRIBUTING.md, CLAUDE.md for new paths
- Delete definition.md, docs/, examples/ (HTML inputs and .gitkeep)

The skill is now self-contained: SKILL.md references supporting
files in references/ and assets/ via relative paths, keeping the
main instructions under the recommended 500-line limit.

Assisted-by: Claude claude-sonnet-4-6@default
2026-05-26 12:33:15 +00:00
ce5a6d5261
definition: Add conventions, inline example, and template fidelity
Strengthen the Gem definition based on systematic analysis of the first
real use (2026-04-21 Docs Team meeting), where the AI output deviated
from Fedora community conventions in ways the original definition did
not anticipate.

New `<conventions>` section encodes seven categories of rules:
- People references: `FirstName (@username)` in exec summary, bare
  `@username` in detailed log
- Ticket references: `### Ticket:` prefix with linked Forgejo cross-repo
  shorthand (`org/repo#number`)
- Proper nouns: correct capitalization (AsciiDoc, Quick Docs)
- Fedora org naming: "Mindshare branch" not "Mindshare & Outreach"
- Off-topic tangents: omit unless they produce outcomes
- Completed action items: auto-strikethrough for "post summary"
- Topics list: substantive topics only, no housekeeping

New `<example>` section provides condensed excerpts from the golden
reference demonstrating all key conventions. This gives the Gem few-shot
learning signal for the specific patterns it got wrong, without
embedding the full 100+ line example inline.

New template fidelity constraint explicitly requires matching heading
levels, bullet styles, and link syntax from the template. Context
section now references the golden example file as a knowledge file for
the Gem to consult.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-22 19:30:45 -04:00
65b8a48a0b
♻️ templates(discourse-post): Refine structure from first-use feedback
Update the Discourse post template based on lessons from the first real
use of the Gem (2026-04-21 Docs Team meeting).

Greeting: Replace the fixed "Happy {{DAY_OF_WEEK}}, Fedora folks!" with
a flexible `{{GREETING}}` placeholder that allows natural variation
across posts. This prevents the output from feeling robotic when the
same person posts summaries for multiple teams.

Headings: Downgrade section headings from h1 to h2 with emoji prefixes
(📝, , 📜). In Discourse, h1 is visually overpowering and typically
reserved for the post title. The emoji prefixes improve visual scanning.

Meeting links: Change from bold text label to h2 heading with 🔗 emoji,
consistent with the other section headings.

Placeholders: Update `{{MEETING_DATE}}` to long format,
`{{TEAM_CONTEXT_SENTENCE}}` to allow 1-2 sentences, and
`{{TOPICS_BULLETED_LIST}}` to specify substantive topics only. Remove
`{{DAY_OF_WEEK}}` (absorbed into `{{GREETING}}`).

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-22 19:29:17 -04:00
34226aaac7
📝 examples/output: Add golden reference output from Docs Team meeting
Add the first validated golden reference output to `examples/output/`.
This is the human-edited Discourse post from the 2026-04-21 Fedora Docs
Team meeting, originally generated by Google Gemini and then edited by
@jflory7 to match Fedora community conventions.

This example serves dual purposes: it is attached to the Gem as a
knowledge file for few-shot learning, and it provides a concrete quality
baseline for contributors reviewing or customizing the template. The
example uses real Meetbot URLs, real @usernames, and real Forgejo ticket
links — it is a real post, not a synthetic template.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-22 19:28:18 -04:00
dabbf35688
📝 docs: Add Gem refinement spec and implementation plan
After the first real use of the Meeting Secretary Gem for a Fedora Docs
Team meeting (2026-04-21), the AI-generated output required significant
human editing. The spec captures the systematic differences between the
AI output and the human-edited final version across four categories:
template compliance failures, missing community conventions, editorial
judgment gaps, and URL construction.

Design decisions were made collaboratively through a structured
brainstorming session exploring alternatives for greeting style, URL
construction, @username conventions, topic list filtering, ticket
reference format, tangent handling, strikethrough rules, and example
placement strategy (hybrid approach: condensed inline excerpts in the
definition plus a full golden reference file).

The implementation plan breaks the refinement into six tasks covering
the example file, template updates, definition changes, and placeholder
consistency verification.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-22 19:27:05 -04:00
dfd6d4ad71
🐛 README: Fix link to CONTRIBUTING.md
Replace the `CONTRIBUTING.md` relative link with the canonical Forgejo
URL, since Forgejo does not resolve internal links reliably.

Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-20 01:56:33 -04:00
30f80479cb
📝 docs: Add design spec and implementation plan
Include the design specification and implementation plan created during
the initial repository setup to show the reasoning and decisions behind
the project's modular architecture.

- Design spec (2026-04-10): Documents the goals, repository structure,
  knowledge file design, template placeholder conventions, and SDLC
  integration decisions.

- Implementation plan (2026-04-15): The step-by-step task breakdown used
  to execute the design, covering file removals, content creation, and
  documentation rewrites.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-20 01:48:41 -04:00
c142e85f00
📝 examples: Add sample Meetbot HTML logs
Add two example Meetbot HTML log files covering both output formats that
the Meeting Secretary Gem must handle:

- 2026-04-02 Mindshare Committee (Minutes view)
- 2026-04-08 Fedora Council (Logs view)

These serve as a reference corpus for validating Gem output quality when
the prompt or templates change. The `examples/output/` directory is
ready for validated golden outputs to be added in the future.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-20 01:47:39 -04:00
01a8a009b5
🐛 README: fix AsciiDoc rendering for Forgejo web UI
Forgejo's AsciiDoc renderer does not handle top-level document titles
(= Title) the same way as Asciidoctor does locally. Downgrade section
headings by one level (== to ===) so the document hierarchy renders
correctly in the Fedora Forge web UI. Also adjust the `CONTRIBUTING.md`
link to use an absolute repo path for Forgejo's link resolution.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-20 01:45:55 -04:00
eeba95b0b1
📝 Add README.adoc, AGENTS.md, CLAUDE.md, and CONTRIBUTING.md
Rewrite project documentation from Mike McGrath's Agentic SDLC Starter
Kit for the Meeting Secretary repository:

- `AGENTS.md`: Full rewrite replacing all [EXAMPLE] boilerplate with
  actual project context — objective, architecture (Gem + knowledge +
  templates), repository layout, conventions, common contributor tasks,
  and pitfalls agents commonly hit with meeting log data.

- `README.adoc`: Expanded from a three-line stub into the primary
  project README with purpose, repository layout table, quick start
  guide, and customization instructions.

- `CONTRIBUTING.md`: Adapted from the enterprise SDLC workflow to a
  prompt-engineering contribution model — how to fork templates, add
  examples, update the team registry and propose Gem definition changes.

- `CLAUDE.md`: Updated with project-specific context for Claude Code,
  including template placeholder consistency checks and the ventilated
  prose convention.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-20 01:39:48 -04:00
789383bb60
core: Add Gem definition, knowledge files, and output templates
Use a modular architecture for the Meeting Secretary Google Gemini Gem:

- `definition.md`: Refactored system prompt that delegates data concerns
  to knowledge files and output formatting to template files. The
  definition retains rich behavioral instructions while making the
  project forkable and customizable. Adds multi-output workflow
  (Discourse post + per-ticket Forgejo comments) and explicit semantic
  weighting guidance for Meetbot commands.

- `knowledge/teams.md`: Structured reference of the Fedora Project
  organizational chart (April 2023), mapping teams to the three main
  branches (FESCo/Engineering, Mindshare/Outreach, Council center).

- `knowledge/meetbot-commands.md`: Complete Meetbot command reference
  with semantic meaning, output mapping, priority weighting, and
  detection rules for the two HTML formats (Minutes view and Logs view).

- `templates/discourse-post.md`: Fill-in-the-blanks template for Fedora
  Discussion summary posts with `{{PLACEHOLDER}}` syntax.

- `templates/forgejo-comment.md`: Per-ticket comment template with max
  5-sentence summary and verbatim `!agreed`/`!rejected` reproduction.

The decision to externalize data and templates is for modularity and
forkability — contributors can customize output without touching the
core Gem prompt. The `definition.md` remains verbose and detailed in its
behavioral instructions by design.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-15 22:28:47 -04:00
2f9c810cda
🎉 Initial commit: Integrate Agentic SDLC Starter Kit
Establish the Meeting Secretary repository with foundational files for
an agentic-first development workflow. This includes guiding principles
for teams working with AI coding assistants, a reference for Red Hat's
AI-assisted contribution policy, and documentation on the agentic-first
software development philosophy.

These foundational files provide common guardrails and conventions for
Fedora contributors collaborating on prompt engineering and AI/LLM
tooling in a public, community-driven context.

Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@redhat.com>
2026-04-15 19:21:41 -04:00