Skip to content

feat(#482): /report-apexyard-bug + /request-apexyard-feature (upstream framework feedback)#484

Merged
atlas-apex merged 1 commit into
me2resh:devfrom
atlas-apex:feature/GH-482-upstream-feedback-skills
Jun 2, 2026
Merged

feat(#482): /report-apexyard-bug + /request-apexyard-feature (upstream framework feedback)#484
atlas-apex merged 1 commit into
me2resh:devfrom
atlas-apex:feature/GH-482-upstream-feedback-skills

Conversation

@atlas-apex

Copy link
Copy Markdown
Collaborator

Summary

  • Adds /report-apexyard-bug + /request-apexyard-feature ([Feature] /report-apexyard-bug + /request-apexyard-feature — upstream framework feedback skills #482) — two thin skills that let someone using the apexyard framework file a bug report / feature request about the framework itself upstream to me2resh/apexyard. Closes the adopter→maintainer feedback loop that didn't exist.
  • Distinct from /bug and /feature, which file into the adopter's own project tracker. The new skills always file upstream (resolved via git remote get-url upstream, fallback to the canonical me2resh/apexyard), regardless of the adopter's fork origin.
    • /report-apexyard-bug — Given/When/Then + repro + severity + which hook/skill/rule is affected → [Bug] issue.
    • /request-apexyard-feature — problem-first + proposed behaviour + adopter benefit → [Feature] issue.
  • Mandatory leak-scrubbing — both write to a PUBLIC repo, so they scrub private registered-project names at authoring time and rely on block-private-refs-in-public-repos.sh as the backstop (per .claude/rules/leak-protection.md). The <!-- private-refs: allow --> escape is used only on explicit confirmation.
  • Both capture the framework version (git describe/short SHA) so reports are actionable, confirm before filing (yes/edit/cancel), and use the active-issue-skill marker ([Feature] Block raw ticket-create CLIs — force routing through /task, /feature, /bug, etc. (multi-tracker) #268) so require-skill-for-issue-create.sh permits the gh issue create.
  • CLAUDE.md skills table + counts 57→59; site/* counts refreshed; AgDR-0059 records the decision (named-not-/feedback, upstream target, leak-scrubbing). No new hook/role/agent.

Testing

  • bash .claude/hooks/tests/test_site_counts.shgreen (skills 57→59; hooks/roles unchanged).
  • markdownlint-cli2 (CI ruleset) — 0 errors on the two SKILL.md + AgDR-0059 + CLAUDE.md (only MD060, not in CI's pinned linter).
  • require-skill-for-issue-create.sh accepts the new skill names — verified it checks only for a non-empty active-issue-skill marker (no fixed allowlist), so report-apexyard-bug / request-apexyard-feature work without a hook change.
  • Manual: both skills are intent-named, interactive (one question at a time), confirm-before-file, and target upstream — consistent with /bug / /feature's shape.

Glossary

Term Definition
Upstream feedback A bug/feature about the apexyard framework filed to me2resh/apexyard, vs a project ticket filed to the adopter's own repo.
Leak scrubbing Removing registered private project names before writing to the public framework repo (per .claude/rules/leak-protection.md).
active-issue-skill marker The session marker (#268) that lets a structured ticket skill's gh issue create through the require-skill gate.

Closes #482

@atlas-apex atlas-apex left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review: PR #484

Commit: 5c4be13498b6ad67e5035c208ed70c7939fa3a74

Summary

Adds two intent-named skills — /report-apexyard-bug and /request-apexyard-feature — that file structured bug reports / feature requests about the apexyard framework itself upstream to me2resh/apexyard, distinct from /bug and /feature which file into the adopter's own project tracker. Ships AgDR-0059, refreshes the CLAUDE.md skills table + counts (57→59), and updates site/* counts. No new hook/role/agent.

Checklist Results

  • Architecture & Design: Pass — thin, well-scoped skills; reuse existing plumbing (issue-skill marker, leak backstop)
  • Code Quality: Pass — docs-only; consistent with /bug conventions
  • Testing: Pass — site-counts green; no executable tests applicable to skill docs
  • Security: Pass — leak-protection is load-bearing and correctly wired (see below)
  • Performance: N/A
  • PR Description & Glossary: Pass — Glossary present; AgDR linked via <!-- agdr: --> marker
  • Summary Bullet Narrative: Pass — bullets are narrative (what + why)
  • Technical Decisions (AgDR): Pass — AgDR-0059 present at HEAD, referenced in body
  • Adopter Handbooks: N/A — no handbooks loaded (diff is framework docs only)

Issues Found

None blocking.

Verification performed

  • AgDR linkage — body opens with <!-- agdr: docs/agdr/AgDR-0059-upstream-feedback-skills.md -->; file confirmed present at HEAD SHA. AgDR follows the template (context / options / decision / consequences / artifacts) and records the three load-bearing calls: upstream target, named-not-/feedback, mandatory leak-scrubbing.
  • Leak protection (the load-bearing safety property) — verified on both skills: a mandatory callout, explicit reference to .claude/rules/leak-protection.md, naming of the block-private-refs-in-public-repos.sh backstop (confirmed both exist on disk), authoring-time scrub instruction, a re-scan of the rendered body before the confirm step, and the <!-- private-refs: allow --> escape gated behind explicit user confirmation only. Correct and complete.
  • Upstream resolutiongit remote get-url upstream with fallback to the canonical me2resh/apexyard; confirms with the user (or defaults to canonical) if a fork owner crept into a mis-set upstream. Never defaults to the adopter's fork or a managed project. Sound.
  • Issue-skill marker gate — confirmed by reading require-skill-for-issue-create.sh: lines 132–138 accept ANY non-empty marker value (no fixed allowlist), so report-apexyard-bug / request-apexyard-feature pass the gate without a hook change, exactly as the PR claims. Both skills write the marker at entry and rm -f it on every exit path.
  • Skill conventions — frontmatter (name/description/argument-hint/allowed-tools) matches /bug; one-question-at-a-time; confirm-before-create (yes/edit/cancel); framework-version capture for actionable reports.
  • Counts — actual skill count on disk at HEAD = 59. test_site_counts.sh PASSES (skills 59, hooks 37, roles 20; payload meta within 5%). CLAUDE.md table + counts and all site/* headline counts flip 57→59 consistently.
  • Commit SHA — HEAD 5c4be134... unchanged during review.

Suggestions

  • nit (non-blocking, pre-existing): site/index.md.gen narrative prose still reads "and 46 more" / "54 of these in total". Not introduced by this PR (the diff only touches headline count lines) and out of scope for the site-counts test — worth a follow-up sweep but no action needed here.

Verdict

APPROVED (posted as comment — GitHub blocks self-approval)


🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: 5c4be13498b6ad67e5035c208ed70c7939fa3a74

…m framework feedback)

Two thin skills that file a bug report / feature request about the apexyard
FRAMEWORK itself upstream to me2resh/apexyard — distinct from /bug and /feature,
which file into the adopter's own project tracker. Closes the adopter→maintainer
feedback loop.

- report-apexyard-bug: Given/When/Then + repro + severity + affected-part →
  [Bug] issue upstream
- request-apexyard-feature: problem-first + proposed behaviour + adopter benefit
  → [Feature] issue upstream
- Both file to upstream (git remote upstream, fallback me2resh/apexyard), capture
  the framework version, confirm-before-file, and use the active-issue-skill
  marker (#268)
- Mandatory leak-scrubbing of private project names before writing to the public
  repo (per .claude/rules/leak-protection.md + the block-private-refs backstop)
- CLAUDE.md skills table + counts 57→59; site/* counts; AgDR-0059

No new hook/role/agent.

Closes #482

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@atlas-apex atlas-apex force-pushed the feature/GH-482-upstream-feedback-skills branch from 5c4be13 to bc9f1c6 Compare June 2, 2026 17:34

@atlas-apex atlas-apex left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review (re-review): PR #484

Commit: bc9f1c609b886f5ba6aa4649d2ce97a45275cd22 (new HEAD)
Prior approved commit: 5c4be13

Summary

Fast confirmation re-review after a mechanical rebase onto the updated dev (#483 merged first, bumping the hooks count). No fresh full review — verifying the rebase introduced nothing beyond the count-line conflict resolution.

Verification

  • Skill files + AgDR byte-identical.claude/skills/report-apexyard-bug/SKILL.md, .claude/skills/request-apexyard-feature/SKILL.md, and docs/agdr/AgDR-0059-upstream-feedback-skills.md are byte-for-byte identical to the approved 5c4be13 tree (shasum match on all three).
  • Only count-line resolution in site filessite/llms.txt and site/llms-full.txt differ from the prior HEAD solely on 37 hooks38 hooks (hooks count carried forward from #483; skills=59 from this PR). No skill content, no logic, no AgDR change.
  • No leftover conflict markers — clean across CLAUDE.md, all site/* files, and the full gh pr diff (no <<<<<<< / ======= / >>>>>>> in added lines).
  • site-counts internally consistenttest_site_counts.sh PASS: skills=59, hooks=38, roles=20 match actuals across CLAUDE.md + all scanned site files; per-page LLM payload meta tags within 5%.

Note: a raw git diff 5c4be13 bc9f1c6 surfaces #483's reindex-hook content as well — that's a cross-rebase tree artifact (the dev base shifted), not a change in this PR. The authoritative gh pr diff shows exactly the expected PR contents (two skill files + AgDR-0059 + count bumps).

Verdict

APPROVED — carries forward the prior approval at the new HEAD. The rebase was clean and limited to the count-line resolution.


🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: bc9f1c609b886f5ba6aa4649d2ce97a45275cd22

@atlas-apex atlas-apex merged commit f9575b0 into me2resh:dev Jun 2, 2026
4 checks passed
me2resh added a commit that referenced this pull request Jun 5, 2026
…m framework feedback) (#484)

Two thin skills that file a bug report / feature request about the apexyard
FRAMEWORK itself upstream to me2resh/apexyard — distinct from /bug and /feature,
which file into the adopter's own project tracker. Closes the adopter→maintainer
feedback loop.

- report-apexyard-bug: Given/When/Then + repro + severity + affected-part →
  [Bug] issue upstream
- request-apexyard-feature: problem-first + proposed behaviour + adopter benefit
  → [Feature] issue upstream
- Both file to upstream (git remote upstream, fallback me2resh/apexyard), capture
  the framework version, confirm-before-file, and use the active-issue-skill
  marker (#268)
- Mandatory leak-scrubbing of private project names before writing to the public
  repo (per .claude/rules/leak-protection.md + the block-private-refs backstop)
- CLAUDE.md skills table + counts 57→59; site/* counts; AgDR-0059

No new hook/role/agent.

Closes #482

Co-authored-by: me2resh <ahmed.abdelaliem@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants