From e2a
Scaffolds the autonomous-repo feedback loop into a GitHub repo: triages incoming feedback into issues and prepares human-gated fix PRs. Use when making a repo self-managing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/e2a:agentifyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Beta.** This skill is under active development; the setup flow may
agentify-render.shexamples/e2a/agentify-fix-verify-setup.shexamples/e2a/autonomous-repo.config.ymlreferences/adapters.mdreferences/security-invariants.mdreferences/setup-checklist.mdtemplates/addons/README.mdtemplates/addons/submit-feedback-mcp/files/bridge.mjstemplates/addons/submit-feedback-mcp/files/bridge.test.mjstemplates/addons/submit-feedback-mcp/files/package.jsontemplates/addons/submit-feedback-mcp/files/server.mjstemplates/addons/submit-feedback-mcp/manifest.ymltemplates/addons/submit-feedback-mcp/setup.mdtemplates/autonomous-repo.config.yml.tmpltemplates/runtime-skill/comms.mdtemplates/runtime-skill/fix.mdtemplates/runtime-skill/state-machine.mdtemplates/runtime-skill/templates/approval-request.mdtemplates/runtime-skill/templates/resolved-closed.mdtemplates/runtime-skill/templates/shipped.mdBeta. This skill is under active development; the setup flow may change and a lower-friction "express" onboarding is being explored.
/agentify installs the framework into a target repo: feedback in →
triaged GitHub issue → human-gated fix PR → filer notified. It bundles the
framework as templates, so installing this plugin is grabbing the
framework. The install lands as a PR the repo owner reviews and merges —
the install itself goes through the same human gate the framework runs on.
Where the tooling lives. The scaffolder and templates ship in this plugin at
${CLAUDE_PLUGIN_ROOT}/skills/agentify/—agentify-render.sh,templates/,references/. Reference them with that variable (it resolves to the plugin's install path); run commands from there.
v0 scope. The full loop ships: triage/intake (email → triaged issue), comms (filer acks + the fix-gate approval email + verified-reply routing), fix + release (the coding agent's human-reviewed PR + the merge→shipped callback), and this deploy flow. The mechanical render is automated (
agentify-render.sh, with a_selftest); the Q&A and the one-time identity/secret setup stay guided. Anupdatemode (re-render preserving the adopter's config tweaks) is the natural follow-on — the render is already idempotent.
from ${CLAUDE_PLUGIN_ROOT}/skills/agentify/templates/ | to the target repo |
|---|---|
autonomous-repo.config.yml.tmpl | autonomous-repo.config.yml (the only file the adopter owns) |
runtime-skill/** | .claude/skills/autonomous-repo/** |
scripts/ticket_card.sh | scripts/ticket_card.sh |
workflows/*.yml.tmpl | .github/workflows/*.yml |
OWNER/REPO, primary language,
test command, and CI — used to fill the fix-lane verify_setup_script
and sensible defaults.ANS_* env vars agentify-render.sh reads: ANS_PRODUCT_NAME,
ANS_OWNER, ANS_REPO, ANS_MARKER, ANS_REVIEWER_LOGIN,
ANS_BOT_LOGIN, ANS_SUPPORT_ADDRESS, ANS_FIX_GATE_MODE (hitl
recommended), ANS_APPROVER_ADDRESS, ANS_VERIFY_SETUP_SCRIPT. (The bot
login can be filled later from the checklist; secrets are never gathered
here.)"${CLAUDE_PLUGIN_ROOT}/skills/agentify/agentify-render.sh" --to <target-repo-root>. It fills
autonomous-repo.config.yml from the ANS_* answers (failing loudly on
any unfilled placeholder) and scaffolds the runtime skill, the scripts,
and the four workflows into their real paths
(.claude/skills/autonomous-repo/, scripts/,
.github/workflows/*.yml). Re-running updates the scaffolded code but
PRESERVES an existing autonomous-repo.config.yml (your tuned
always_hitl, the filled bot_login) — pass --force only to regenerate
the config. Then tune the rendered config's always_hitl list for the
product's sensitive surfaces, and sanity-check: scripts/*.sh _selftest
all green and the config parses. Optional addons
(${CLAUDE_PLUGIN_ROOT}/skills/agentify/templates/addons/)
— e.g. submit-feedback-mcp (a submit_feedback MCP tool that
email-bridges into the support mailbox) — are opted in via
ANS_ADDONS="<name> ..."; the render scaffolds each to tools/<name>/ and
appends its setup to AGENTIFY-ADDON-SETUP.md. Addons are additive; the
loop runs without them.labels.* via gh
(feedback, agent-fix, wontfix, feedback-ops, the status:* set).references/setup-checklist.md):
create the GitHub App (bot identity) and set github_app_login in config;
create the e2a support@ agent + an agent-scoped API key; add the repo
secrets (CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY, E2A_API_KEY,
AUTOREPO_APP_ID, AUTOREPO_APP_PRIVATE_KEY); enable Actions; set branch
protection so the fix lane's PRs require review. Hand over the exact
commands/links — never run the auth yourself.The lanes activate themselves: each no-ops loudly until its secrets exist,
then starts on the next cron tick. Flip the AUTOREPO_LANES_PAUSED repo
variable to pause everything. Run the loop interactively any time with the
autonomous-repo skill ("drain the triage queue").
(all under ${CLAUDE_PLUGIN_ROOT}/skills/agentify/references/)
setup-checklist.md — the one-time identity/secret setup.adapters.md — the TicketStore / CommsChannel / Intake adapter contracts
and which are implemented.security-invariants.md — the defaults an adopter must not misconfigure
away.npx claudepluginhub tokencanopy/e2a --plugin e2aGenerates AI configuration files (AGENTS.md, copilot-instructions.md, CI workflows, issue templates) by analyzing your codebase and PR review patterns.
Sets up agent routing block in CLAUDE.md/AGENTS.md and docs/agents/ for dev-loop skills. Reads GitHub issue tracker, labels, and project board via gh. Run once per repo.
Interactive wizard configures repositories for Claude Code best practices by creating CLAUDE.md, slash commands, agents, hooks, and permissions. Activates on 'setup claude', 'init claude', or repo setup requests.