All notable changes to the agentic-contributor plugin will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- New
reportscenario (scenario 9)./oss draft a bug report for <repo> about <symptom>and/oss draft a feature request for <repo>now route to the newreportscenario, which drafts a complete, evidence-structured issue (bug or feature) for the user's review. The draft is never posted — it is saved to.oss-drafts/report-<owner>-<repo>-<item>-<UTC>.mdand presented with the mandatory draft-tier notice. - New
issue-draftingskill (skills/issue-drafting/SKILL.md). Implements a three-step Pre-flight (duplicate search across open+closed issues, ISSUE_TEMPLATE fetch, title/label convention extraction) followed by two procedures: Procedure 2 — Bug Report (environment/version info, minimal reproducible example, steps to reproduce, expected vs. actual, error logs fenced, file:line references) and Procedure 3 — Feature Request (problem statement, proposed solution, alternatives considered, scope/impact, file:line references). Missing required evidence is always marked withTODO:placeholders; nothing is fabricated. - ISSUE_TEMPLATE application logic. The skill handles four cases: (a) markdown templates (
.md) — fills sections, strips HTML comments; (b) YAML issue forms (.yml/.yamlwithbody:) — maps content to form fields bylabel/id, flagsrequired: truefields; (c) multiple templates — picks the type-appropriate one and tells the user which was chosen; (d) no template — uses built-in structure and notes this in the draft. - Duplicate-search pre-flight. Before drafting,
oss-researchersearches open and closed issues with the symptom keywords and surfaces the top 3–5 candidates. If a strong duplicate exists, the skill recommends commenting on the existing issue instead of filing a new one. - New user story (
stories/draft-new-issue-bug-or-feature.md) covering duplicate search, ISSUE_TEMPLATE application, evidence requirements, monorepo component selection, security/Discussions redirect warnings, and draft-only behavior. - Routing, command, and docs updates.
oss-scenario-routingSKILL.md,commands/oss.md,docs/reference/scenarios.md,docs/reference/skills.md,docs/reference/commands.md,docs/guides/using-oss.md, anddocs/concepts/draft-files.mdupdated: nine scenarios, draft tier expanded to cover scenarios 5–9,issue-bug/issue-featureitem values added, new examples added. README.mdupdated. Features list, examples, scenarios table, skills table, and documentation links reflect the new scenario and skill.
- Draft file export for all 8 scenarios. The
/ossorchestrator now writes every scenario output to.oss-drafts/<scenario>-<owner>-<repo>-<item>-<UTC>.mdin the user's working directory using the Write tool. All scenarios (including read-only report scenarios 1–4) produce an editable markdown file with YAML frontmatter (plugin,scenario,repo,item,generated_at,status: draft). - Two-tier review protocol. Report tier (scenarios 1–4: status, find, norms, setup) shows "Saved to
<path>. Review and edit this report file as needed before using it." Draft tier (scenarios 5–8: clarify, claim, engage, review-reply) presents the draft in chat and shows the canonical notice: "DRAFT — saved to<path>. Review and edit this file before sending. This plugin will NOT post, comment, push, or send anything. Sending is handled by the separate execution/submission plugin." - Gitignore-ensure step. Before writing the first draft file in a run,
/ossappends.oss-drafts/to.git/info/excludein the user's project (non-invasive; does not dirty the tracked.gitignore). Falls back gracefully if not in a git repo. Writetool added to/ossallowed-tools. Local file writes via Write cannot reach GitHub and do not violate the draft-only constraint.- New
docs/concepts/draft-files.md. Canonical reference for the draft file convention: directory, naming, frontmatter schema, two-tier review protocol, gitignore-ensure behavior, guardrail safety rationale, and two-plugin handoff viastatus: draft. .oss-drafts/added to this plugin repo's.gitignore.
- Single
/ossorchestrator command with 8-scenario routing and an interactive scenario menu when arguments are omitted. - 8-scenario coverage: status (project news), find (issue/PR matching), norms (contribution guide + CLA/DCO), setup (dev environment walkthrough), clarify (draft maintainer questions), claim (availability check + draft claim comment), engage (draft in-progress PR feedback), review-reply (draft replies to review comments).
oss-researcherread-only subagent — fetches GitHub issues, PRs, releases, and contribution docs via the GitHub MCP server orghCLI fallback; paginated, timestamped, never mutates.oss-claim-analystread-only subagent — checks assignee, linked open PRs, and recent intent comments; emits an "appears free to take" / "appears already claimed" verdict with an evidence table; automatic claim→engage branch switch when already claimed.oss-scenario-routingskill — classifies$ARGUMENTSinto one of the 8 scenarios; handles the claim→engage branch transition; enforces one-question-max clarification.issue-matchingskill — structured contributor intake (5 questions), heuristic scoring, top-5–10 ranked shortlist with per-item rationale.smart-questionsskill — DRAFT-ONLY contract for scenarios clarify, engage, review-reply, and claim; four scenario-specific drafting procedures (A–D) with smart-questions principles.contribution-normsskill — locates and surfaces CONTRIBUTING, CODE_OF_CONDUCT, DCO, PR templates, and Apache-specific governance notes (ICLA, JIRA, dev@ mailing list, lazy consensus).dev-env-setupskill — step-by-step guided local setup extracted from official docs; flags heavy setups (Airflow Breeze, Spark JDK+Maven); defines an "environment ready" checkpoint; confirms before destructive actions.- Draft-only
PreToolUseguardrail hook (hooks/hooks.json+hooks/scripts/guard-outbound.sh) — DENIESgit push,gh pr/issue/release/repomutating subcommands,gh gist create,gh apiwrite calls,curl/wgetmutation flags, and all MCP write-verb tools; ALLOWS all read operations; denial message explains the two-plugin system. - GitHub MCP server configuration (
.mcp.json,GITHUB_MCP_TOKENenv var) withghCLI fallback for all subagents. - Configurable target-projects list (
config/targets.example.yaml) with per-project label filters and global defaults for recency window, item types, and shortlist size.