Implement
SkillDev toolsLets your agent implement a requested code change in EmDash, run focused checks, and report the results.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Implement skill
About this capability
Implement a maintainer-directed EmDash enhancement or change without forcing it through bug-reproduction fields. Run focused checks, publish the candidate, and report the results accurately.
What this skill tells your AI
The instructions your AI receives, as published by emdash-cms/emdash in infra/emdash-bot/.flue/skills/implement/SKILL.md and read by ahel’s review.
A maintainer explicitly asked you to build the issue's requested change. Treat the issue body and directive as the specification. This lane is for enhancements and directed changes; do not invent a bug verdict or describe an enhancement as reproduced.
Delivery priorities
The working candidate is the deliverable; tests are evidence for it. TDD controls ordering for a confirmed bug, not how much of the run test construction may consume. Enhancements do not need a failing test first.
- Use an existing test file, helper, and configuration at the lowest layer that proves the requested behavior. One focused regression case is normally enough.
- Do not add a test configuration, package script, custom harness, or dependency inspection solely to make the change testable. Do not inspect
node_modulesunless the requested behavior depends on third-party internals. - If one test approach has not converged after three attempts or about ten minutes, stop using it. Choose a lower-level seam or implement the scoped change and report the test gap. For a confirmed bug, do not claim completion without a meaningful regression test; publish the partial candidate and state what is missing.
- Protect the final fifteen minutes for metadata, one verification pass,
publish_candidate, and reporting. Stop optional investigation before that window. - Update the public plan after the first source edit and when moving from editing to verification or publication. Do not leave it on an obsolete test step.
Procedure
- Read
AGENTS.mdand the relevant implementation, tests, and contributor guidance before editing. - The harness installs dependencies and builds the base workspace before this turn. Do not run
pnpm install, the rootpnpm build, or a pre-edit lint baseline. - Choose the smallest final verification set before editing: the focused behavior test, affected package tests and typechecks, final lint, and a check-only formatter. Do not plan a monorepo-wide test suite when focused or package-level checks cover the changed behavior.
- Resolve ambiguity from existing APIs, sibling code, and backwards-compatible behavior. If a missing decision would materially change the public contract, stop and report it instead of guessing.
- Edit through
edit_file,write_file, or a shell command throughexec. Shell-produced changes are checkpointed into the durable workspace. Keep the change scoped to the request. Do not modify.github/workflowsor generated Lingui catalogs. - Add the smallest behavior-level test that uses existing infrastructure. For a directed bug fix, follow the repository's failing-test-first rule within the test-construction limit above.
- Finish every candidate edit before final verification. Run formatting through
execand add the changeset now, when a published package changed. If a transformation fails after writing files, repair or restore its checkpoint before continuing. - Run the planned final checks with
exec, once each on the final candidate. Fix failures caused by the change and rerun the affected check after editing. Do not hide failures with shell fallbacks. If a relevant failure remains, preserve the candidate and report it accurately instead of withholding the work from CI. - Call
publish_candidateafter the final checks, including when a check remains failing. The trusted tool commits and pushes only tobot/fix-<issue>through the issue-scoped Git proxy; never rungit commit,git push, or create a PR yourself. - Call
report_implementationexactly once. Setimplemented: trueonly after publication succeeds. Summarize the observable change and verification, not a bug verdict.
Verification scope
- Prefer the focused regression test and affected package checks. Run a broader root check once only when the change crosses its surface or
AGENTS.mdexplicitly requires it. - Treat install and the initial workspace build as bootstrap, not verification. Reuse them for the whole run and across resume when the saved container is still available.
- Treat all coordinated edits for one change as one edit round. Do not run lint, typecheck, and tests after each individual file edit.
- If a broad final check fails only in untouched files, report it and use the narrow authoritative check for your files. Never repair unrelated failures.
- If a broad suite times out, do not immediately run it again. Run the smallest relevant subsets, report the omitted or timed-out suite, and preserve time for publication and reporting.
- A command counts as verification only when it leaves the candidate tree unchanged. Run formatters and generators before the final pass.
Finalization and resume
When a deadline warning arrives, stop investigation and broad verification. Do not start a check that could consume the remaining window. Run only short missing checks from the existing plan, then publish and report. If relevant verification cannot finish, report the useful partial outcome instead of starting another long command.
After a resume, use the saved checkpoint and candidate. Complete listed metadata such as a missing changeset before checks, then make one final verification pass. Do not reopen settled design work, repeat a timed-out broad suite, or investigate unrelated failures.
Boundaries
- No direct GitHub writes, tags, package publication, or workflow edits.
- No
|| trueon final checks. Source-modifying shell commands are allowed before verification because their output is durably checkpointed. - If you edit after a check, rerun the checks affected by that edit before publication.
- No drive-by refactors or broad cleanup.
- Do not weaken a test to make it pass.
The candidate preview and draft-PR lifecycle remain owned by the orchestrator.
Signals
- GitHub stars
- 12k
- Forks
- 1k
- Last commit
- Sep 2026
- Hacker News mentions
- 20
Advanced
- Catalog kind
- skill
- Gateway key
implement-emdash-cms- Source
- github.com/emdash-cms/emdash