Release Workflow
Goldziher/spikard
Release/publish the spikard Rust core crate and CLI end-to-end.
Beta — Deploy the autonomous-repo feedback loop into a GitHub repo.
$ npx skills add tokencanopy/e2a --skill agentify -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tokencanopy/e2a agentify --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tokencanopy/e2a.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/e2a-labs/skills/agentify .claude/skills/agentify && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "agentify" agent skill from https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentify into .claude/skills/agentify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentify", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentifyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tokencanopy/e2a --skill agentify -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tokencanopy/e2a agentify --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tokencanopy/e2a.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/e2a-labs/skills/agentify .agents/skills/agentify && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agentify" agent skill from https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentify into .agents/skills/agentify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentify", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tokencanopy/e2a --skill agentify -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tokencanopy/e2a agentify --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tokencanopy/e2a.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/e2a-labs/skills/agentify .cursor/skills/agentify && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "agentify" agent skill from https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentify into .cursor/skills/agentify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentify", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tokencanopy/e2a.git --path plugins/e2a-labs/skills/agentify--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tokencanopy/e2a --skill agentify -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tokencanopy/e2a agentify --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tokencanopy/e2a.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/e2a-labs/skills/agentify .gemini/skills/agentify && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "agentify" agent skill from https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentify into .gemini/skills/agentify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentify", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tokencanopy/e2a agentifyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tokencanopy/e2a --skill agentify -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tokencanopy/e2a.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/e2a-labs/skills/agentify .github/skills/agentify && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "agentify" agent skill from https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentify into .github/skills/agentify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentify", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tokencanopy/e2a --skill agentify -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tokencanopy/e2a agentify --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tokencanopy/e2a.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/e2a-labs/skills/agentify .opencode/skills/agentify && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "agentify" agent skill from https://github.com/tokencanopy/e2a/tree/main/plugins/e2a-labs/skills/agentify into .opencode/skills/agentify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentify", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
agentifyBeta — Deploy the autonomous-repo feedback loop into a GitHub repo.
Agentify is an agent skill from tokencanopy/e2a. Beta — Deploy the autonomous-repo feedback loop into a GitHub repo. Scaffolds the lane workflows, the runtime skill, and one config file as a reviewed PR, then prints the one-time identity/secret setup checklist. Turns a repo into one that triages incoming feedback into issues and prepares human-gated fix PRs. Use when someone wants to make a repo self-managing / "agentify" it / install the feedback loop.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 75 other files, including reference files (for example `agentify-render.sh`, `examples/e2a/agentify-fix-verify-setup.sh` and `examples/e2a/autonomous-repo.config.yml`).
It sits in Backend & APIs, covering Project scaffolding and Transactional email. It works with GitHub. The repository describes itself as: Open-source email API for applications and AI agents. Managed hosting at e2a.dev, or self-host with Docker. The licence is Apache-2.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 776fe2c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell and JavaScript, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
CLAUDE_CODE_OAUTH_TOKENANTHROPIC_API_KEYE2A_API_KEYAUTOREPO_APP_PRIVATE_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agentify loads about 1.4k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 104 tokens; SKILL.md has 602 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tokencanopy/e2a at commit 776fe2c, republished under its Apache-2.0 licence (© tokencanopy). 602 words, ~1,392 tokens.
.claude/skills/agentify/SKILL.md (or your agent's skills folder). This skill also uses 68 other files; get the full folder from GitHub.Beta. 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 skill's own directory, next to this
SKILL.md—agentify-render.sh,templates/,references/. Substitute that absolute path for$AGENTIFY_DIRbelow; the scaffolder resolves its own resources, so any working directory works.
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 $AGENTIFY_DIR/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/*.sh (ticket_card.sh, comms_send.sh, released_markers.sh) | scripts/*.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.)"$AGENTIFY_DIR/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
($AGENTIFY_DIR/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 $AGENTIFY_DIR/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.© tokencanopy, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 68 other files (references) in plugins/e2a-labs/skills/agentify of tokencanopy/e2a.
Open the folder on GitHubat commit 776fe2c
Agentify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agentify this skilltokencanopy/e2a | 192 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Release WorkflowGoldziher/spikard | 123 | — | ~909 | Automated safety check: Pass | MIT | |
| Better Notifybetter-notify/better-notify | 313 | — | ~783 | Automated safety check: Pass | MIT | |
| Execute Issuelbedner/aegis-stack | 143 | — | ~1.1k | Automated safety check: Pass | MIT | |
| degit Project ScaffoldingRich-Harris/degit | 7.9k | — | ~534 | Automated safety check: Pass | MIT | |
| Rust Hygiene Audittsz-org/tsz | 572 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 |
Goldziher/spikard
Release/publish the spikard Rust core crate and CLI end-to-end.
better-notify/better-notify
End-to-end typed notification infrastructure for Node.js — typed catalog of email, SMS, push, web push, WhatsApp, Slack, Discord, Telegram, and GitHub notifications with provider-agnostic transports.
lbedner/aegis-stack
A skill your agent uses when handed a GitHub issue (number or URL) to execute end to end.
Rich-Harris/degit
Downloads a repository snapshot or template with degit into an empty folder, from GitHub, GitLab, Bitbucket, Sourcehut or a Gist, optionally at a branch, tag or commit.
tsz-org/tsz
Run a deep DRY + code-hygiene audit of the Rust workspace and turn the findings into verified, deduplicated, hierarchical GitHub tech-debt issues.
brunosabot/streamline-card
A skill your agent uses when the user asks to fix a bug, references a GitHub issue number, or describes an issue and wants a fix.
tokencanopy/e2a
Conversationally configure and operate a policy-first, always-on local e2a email agent.
tokencanopy/e2a
A skill your agent uses when operating an already-connected e2a inbox over MCP: reading, composing, sending, replying, forwarding, handling attachments, managing contacts/outreach, scheduling mail…
tokencanopy/e2a
Author and safely run deterministic email-agent evaluation suites with dedicated e2a test agents.
tokencanopy/e2a
Beta — Stay in the loop over email during a long-running coding session.
tokencanopy/e2a
A skill your agent uses when an existing e2a MCP connection, inbox, custom domain, protection policy, webhook, or message delivery is failing or unclear.
tokencanopy/e2a
A skill your agent uses when adding e2a email capabilities to an application or codebase: outbound sending, inbound signed webhooks, REST polling, or SDK integration.
Works with
Categories
Beta — Deploy the autonomous-repo feedback loop into a GitHub repo. Agentify is an agent skill from tokencanopy/e2a. Beta — Deploy the autonomous-repo feedback loop into a GitHub repo.
Agentify fits situations like: someone wants to make a repo self-managing / agentify it / install the feedback loop; tasks that involve Project scaffolding; tasks that involve Transactional email.
Run `npx skills add tokencanopy/e2a --skill agentify -a claude-code`. Or copy the skill folder (plugins/e2a-labs/skills/agentify in tokencanopy/e2a) into .claude/skills/agentify in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tokencanopy/e2a --skill agentify -a codex`. Or copy the skill folder (plugins/e2a-labs/skills/agentify in tokencanopy/e2a) into .agents/skills/agentify in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tokencanopy/e2a --skill agentify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agentify, .gemini/skills/agentify, .github/skills/agentify and .opencode/skills/agentify in your project.
Going by SKILL.md and its folder, Agentify needs a shell and JavaScript for the scripts in its folder and credentials named CLAUDE_CODE_OAUTH_TOKEN, ANTHROPIC_API_KEY, E2A_API_KEY and AUTOREPO_APP_PRIVATE_KEY. Our summary lists: Node.js; A Bash shell; A credential in CLAUDE_CODE_OAUTH_TOKEN; A credential in ANTHROPIC_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Agentify is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Agentify: Release Workflow (Goldziher/spikard, 123 stars), Better Notify (better-notify/better-notify, 313 stars), Execute Issue (lbedner/aegis-stack, 143 stars) and degit Project Scaffolding (Rich-Harris/degit, 7.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tokencanopy (a GitHub organization) maintains it in tokencanopy/e2a, which has 192 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.
Source: tokencanopy/e2a on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.