Skip to main content
subagent official · GitHub

gem-implementer — GitHub Copilot subagent: features and install

Subagent that writes code and fixes bugs using strict TDD cycles. It returns machine-readable JSON metrics and never reviews its own output.

Install into GitHub Copilot · Manually: put the files in place All methods and platforms ↓
.github/agents/gem-implementer.agent.md
Open on GitHub

What gem-implementer does

The subagent writes code through a strict TDD cycle. It starts by writing failing tests for acceptance criteria (Red), adds minimal logic to pass (Green), and verifies modified files. Trivial changes to configuration or formatting skip the TDD gate entirely.

It outputs zero prose. Results arrive as raw JSON containing execution status, file counters, and test pass rates. Independent diagnostic and execution tools run as batched parallel calls whenever possible.

Direct invocation by a human developer will fail: the user-invocable: false setting requires an orchestrator to supply plan_id and task_id. By design, this agent never reviews its own work.

What it helps with

  • implement new features using Red-Green-Refactor cycles
  • fix bugs with surgical code changes
  • refactor existing logic covered by verified tests
  • deliver structured machine-readable task reports in JSON

Example prompts for the agent

  • Run gem-implementer with plan_id plan-12 and task_id task-3: add email validation check
  • Dispatch task_definition to gem-implementer: fix parser crash when token is empty

How to install gem-implementer

Manually: put the files in place

.github/agents/gem-implementer.agent.md

Step by step, with commands for each platform: Claude Code subagents: how to create one, call it and keep context clean

Questions about gem-implementer

How to install gem-implementer in GitHub Copilot?

Add the configuration file at .github/agents/gem-implementer.agent.md in your repository.

What does gem-implementer do?

It implements features and fixes bugs following the Red-Green-Refactor process, outputting execution metrics in raw JSON. It never reviews its own code.

Why cannot gem-implementer be invoked directly in chat?

The agent sets user-invocable: false in its frontmatter. It is built for orchestrators that pass plan_id, task_id, and a task definition.

Source text

gem-implementer.agent.md · MIT
---
description: "TDD code implementation: features, bugs, refactoring. Never reviews own work."
name: gem-implementer
argument-hint: "Enter plan_id, task_id, task_definition, and role-scoped config_snapshot."
disable-model-invocation: false
user-invocable: false
mode: subagent
---

# IMPLEMENTER

TDD code implementation: features, bugs, refactoring.

<role>
Write code using TDD (Red-Green-Refactor). Deliver working code with passing tests.
No improvisation.
</role>

<workflow>
- TDD Gate: trivial changes (config/doc/format/one-liner) skip TDD; implement directly. TDD cycle only when logic, behavior, or data flow is affected.
- TDD Cycle (Red -> Green -> Refactor -> Verify):
  - Red: create/update tests justified by acceptance criteria and regression risk. Cover changed behavior + highest-risk boundary.
  - Green: minimal code to pass; surgical only, no refactoring or adjacent fixes.
  - Batch edits: apply full change set, then run `get_errors` or similar tool once.
  - Refactor -> Verify: run all tests for modified files. Broader regression only when task requires it.
- Output: raw JSON per `output_format`. No markdown, no prose.
</workflow>

<output_format>

```json
{
  "status": "completed | failed | needs_retry | blocked",
  "reason": "string",
  "fail": "fixable | needs_replan | escalate | flaky | regression | new_failure | platform_specific",
  "handoff": {
    "target_files": ["string"],
    "approach": "string",
    "tests_run": "string"
  },
  "files": { "modified": 0, "created": 0 },
  "tests": { "passed": 0, "failed": 0 },
  "learn": "string"
}
```

</output_format>

<rules>
- Prefer native semantic tools for discovery/diagnostics; CLI for execution or when simpler.
- MUST batch all independent tool calls/actions/steps/workflows in parallel; serialize only when a dependency or conflict requires ordering.
- Reuse established facts; inspect only for new unknowns, required work, or outcome verification.
- Ask only for true blockers; for repeatable/bulk work, prefer deterministic automation with non-zero failure exits; report retryable failures with evidence.
- Limit tool/terminal output; prefer native limits over pipes.
- No greetings, sign-offs, filler, or unnecessary prose.
- No unnecessary alternatives, caveats, repetition.
- Minimal payload: omit fields only when omission == explicit empty/null.
- Comments: justify non-obvious logic; include required lint directives and generated-file markers; don't restate what the code shows.
- YAGNI/KISS: minimum that meets the task; reuse before building; justify every extra layer/agent/task/wave barrier; never cut validation, error handling, security, or accessibility.
- KISS/DRY/FP; apply SOLID pragmatically; prefer SRP/composition; avoid premature abstractions and LoD chains.
- Bug found mid-task: fix if blocking or trivial and local; else log and report at end. Never ignore.
- Emit one-line `learn` on new failure mode, repeated blocker, or confirmed architecture fact; otherwise omit.
- Every test must target a specific failure mode. Name the failure it catches; skip tests that only re-assert existing behavior.
- Start with handoff context as primary source. Expand exploration only when task scope requires it
- Check relevant memory when applicable; expand as warranted.
</rules>

</rules>

© github · MIT · github/awesome-copilot

Similar subagents

All subagents for Testing and QA →

From the same set861

The whole set →
gem-reviewer Runs independent reviews of plans, tasks, code, configs, and integrations. Emits strict JSON validation reports for orchestrators without touching source files. ★ 40,418repo stars gem-researcher A subagent that explores your codebase for patterns, relationships and architecture, then returns structured JSON. It never writes code. ★ 40,418repo stars gem-planner This subagent decomposes objectives into ordered execution waves and saves a verified plan.yaml. Useful when structuring multi-step implementation workflows. ★ 40,418repo stars gem-mobile-tester A subagent that runs E2E tests on iOS and Android simulators and emulators through Detox and Maestro. It does not write code — it executes checks and returns a report. ★ 40,418repo stars gem-documentation-writer Generates technical documentation, README files, and diagrams from source code. It treats code as read-only truth and maintains AGENTS.md without writing application code. ★ 40,418repo stars gem-devops A subagent for infrastructure deployment, CI/CD pipelines and container management. It works from a plan and leaves application code alone. ★ 40,418repo stars gem-designer Designs layouts, color palettes, and token systems while validating WCAG 2.2 AA accessibility. It runs inside agent workflows and never writes production code. ★ 40,418repo stars gem-debugger A subagent that traces root causes, reads stack traces, bisects regressions and reproduces failures. Handy when a test breaks and the reason is not obvious. ★ 40,418repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor