Agent skill

Implement Task

by epam in epam/cloud-pipeline

Start here before the first edit of any file — a one-liner and a docs change included.

Apache-2.0Auto-check passedDevelopment

Install Implement Task

skills CLI
$ npx skills add epam/cloud-pipeline --skill implement-task -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install epam/cloud-pipeline implement-task --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/epam/cloud-pipeline.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/implement-task .claude/skills/implement-task && rm -rf skills-src

Use ~/.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/

Facts

Skill name
implement-task
GitHub stars
162
Token cost
~2.9k tokens
SKILL.md length
1,832 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Start here before the first edit of any file — a one-liner and a docs change included.

  • Tasks that involve Commit messages
  • SKILL.md covers Issue number, Workspace, Tests and Docs, plus 2 more sections
  • Calls gh and git

What it does

Implement Task is an agent skill from epam/cloud-pipeline. Start here before the first edit of any file — a one-liner and a docs change included. Holds the steps a task passes through, the issue number and branch it needs, the tests and docs it owes, and where the branch ends up. The plan-change, verify-changes and commit-changes skills are steps within it.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Commit messages. The repository describes itself as: Cloud agnostic genomics analysis, scientific computation and storage platform. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Commit messages

Example prompts

  • “/implement-task”

What it can do on your machine

Read from SKILL.md and the folder at commit 5017688. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Implement Task loads about 2.9k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 1,832 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from epam/cloud-pipeline at commit 5017688, republished under its Apache-2.0 licence (© epam). 1,832 words, ~2,853 tokens.

Download SKILL.mdSave it as .claude/skills/implement-task/SKILL.md (or your agent's skills folder).
name
implement-task
description
Start here before the first edit of any file — a one-liner and a docs change included. Holds the steps a task passes through, the issue number and branch it needs, the tests and docs it owes, and where the branch ends up. The plan-change, verify-changes and commit-changes skills are steps within it.

Implementing a task

Ten steps. Every task passes all of them, and most collapse to a sentence on a small change — Verify and Diff review never collapse. They are internal structure rather than a script to recite: name a step in prose where you need to ("the Verify step"), never a bare number, and don't narrate the walk through them at whoever asked.

#StepLeave it whenMechanics
0Intakeyou can state the task, the area(s) it touches, and its issue number without guessing at any of the three — Issue number, belowgh issue view
1Orientyou can name the files that will change and the ones that constrain themthe subtree's AGENTS.md, the module's README.md
2Planattended: the person asking has agreed to it · unattended: it is written down, to go in the pull request bodyplan-change skill
3Workspacethe branch exists, on a base you established rather than assumed, and you are working where you were told to — Workspace, belowgit worktree add
4Implementthe change is complete, including the tests and docs it owes — Tests and Docs, belowCONTRIBUTIONS.md
5Verifythe checks you owe for everything the diff touches, and everything it reaches, have run — or are recorded as skipped, and what was missingverify-changes skill
6Diff reviewyou have read your own diff (no debug leftovers, no unrelated files, nothing outside the scope agreed at Plan), and an agent that did not write it has reviewed it — Fresh-eyes review, belowa fresh subagent
7Publishattended: you were told to · unattended: the trigger is the instruction, and the pull request is a draftcommit-changes skill
8Reviewevery comment answered, checks re-run, pushed to the same pull request — never a second onegh api .../pulls/{n}/comments (inline review comments), gh pr checks
9Aftercarethe issue's labels match reality — its state/* one, and intel/artificial 🤖 — and the branch has gone where it was meant to — Handing the branch back, belowgh issue edit

Plans live under .agents/plans.local/ (gitignored) or .agents/plans/ (shared), each with a .ledger.md beside it. A branch you did not create may carry some, and the ledger is the only record of where that work stopped — so read them at Intake rather than re-deriving the task.

Unattended when you cannot get an answer before the next step — no user in the loop, empty stdin, or CI/GITHUB_ACTIONS set. Where a step below would have you ask, the unattended answer is given alongside it; where none is given, stop and report rather than guess. A stopped task is a useful result; a wrong base or an invented issue number is not.

Skip only what this table names; an unstated skip is still an oversight.

KindMay skip
Question / read-onlythis whole skill
Instruction, skill or comment text only — no product behaviourtests, live browser, user-manual docs
client/ with no user-visible pixel, route or client statethe verify-client-live skill
Small, one module, no new behaviour, attendeda plan file

The hand-back is what you say when the work is done, and it is the same four things whether the reader is a terminal or a pull request body: what changed, and why where the diff doesn't say so; checks, which ran, what they said, which were skipped and what was missing; assumptions, every point where you decided something the request left open; and left out, anything in scope you did not do. An empty "left out" is a claim about the work rather than a formality — make sure it is true.

Issue number

A task has an issue number, and Intake is where you get it. Attended, ask for it whenever the request arrives without one, and ask before the branch exists — the branch name embeds the number, and renaming a branch that already carries commits is worse than a question.

If the answer is that no issue exists, say that the task needs one and offer to file it (the file-issue skill): the state/* labels, the branch, the pull request and the verification that follows all key off the number, so work without one is invisible to everyone not in the room. Only once the person declines does the change proceed unnumbered, on a feature/ or fix/ branch, and the hand-back records that as an assumption.

Unattended, the trigger names the number or states that there is none. Neither: stop and report.

Never invent a number, and never reach for a plain descriptive subject to sidestep the question — a number belonging to an unrelated issue silently attaches your change to someone else's work.

Workspace

A task gets its own branch. What varies is whether you ask first.

You are onAttendedUnattended
develop matched exactly, release/*, stage/*new branch, no question — nothing gets committed on a shared branchnew branch
any other branchask whether to cut a new branch from it; if the answer is no, keep working on itnew branch

The base is an exact ref name, or the current HEAD. A version like "0.16", a release line or a description is not one — ask, or stop and report where you cannot. Never fall back to develop: it is the base only when it is what is checked out.

CONTRIBUTIONS.md → "Branch naming" owns the name. The rule to get right is that the area is a _<area> suffix and never a second path segment: issue_4538/tags/<area> makes issue_4538/tags permanently unusable. Given a name, use it exactly.

Where that branch already exists and it is this task's branch, it is the branch — a re-run continues on it rather than inventing a -2. Where you cannot tell whose branch an existing one is, treat it as someone else's and pick another name.

Once the branch exists, add state/underway to the issue if it doesn't carry it already.

Worktree

A new branch is what gets a worktree. Attended, ask whether to work in one, together with the branch question rather than as a second round; staying in this checkout is a legitimate answer, not the default you assume. Unattended, always use one.

Its path is .worktrees/<branch>, which is gitignored. A vendor's own worktree action picks its own location and names the branch itself, so use it only if it can be pointed at that path — the name is CONTRIBUTIONS.md's to decide.

Copy or link the gitignored working state a check needs — installed dependencies, build caches, .agents/localenv/, local environment files — from the main checkout instead of reinstalling it. Copy an environment file without opening it: those are among the files agents must not read.

Remove the worktree once the branch has been handed back.

Show full SKILL.md (731 more words)Show less

Tests

Every code change needs a test. Test every file you changed, not the easiest one: if you move logic into a new helper and edit the files that call it, the helper's test covers the helper, and the callers still need their own. If nothing in the module is tested at that level today, that is the gap, not a reason to skip.

Where the change is testable but the module has no runner for it, the runner is part of the work. Attended, say what is missing and ask whether to stand it up, since it is larger than the change that revealed it and may be wanted as its own task; where the answer is no, the test you could not write is a stated skip in the hand-back. Unattended, make the change and record the missing runner in the pull request body as a skip. Never stand one up silently, and never let its absence quietly cost the test.

Where the thing you changed has no behaviour to test at all, say so in the hand-back. An unstated skip reads as an oversight, and stating it is the only way anyone can tell the two apart.

The test you owe is for what you changed, never for the area's accumulated coverage debt: broadening past that is scope creep, and Diff review should catch it.

Docs

A user-visible change updates the manual page covering it — under docs/md/manual/, as its own Docs: <what> commit on the same branch. That the functionality is undocumented today is not a reason to leave it undocumented; it is the gap itself. Where no page covers it, attended, ask which page it belongs in or whether to add one; unattended, add the page and say so in the pull request body. A new page also goes into the nav in docs/mkdocs.yml, which lists every page by hand — one that isn't there is not in the built manual.

Where the page already describes the behaviour correctly — a fix restoring what the manual says all along — the change owes nothing but the sentence saying so. That is the third answer, and reaching it is not the same as deciding a change needs no documentation.

The release note a change owes is CONTRIBUTIONS.md → "Documenting". The notes are kept per version under docs/md/release_notes/.

A change with no user-visible surface — internal refactoring, build wiring, agent instructions — owes neither. Say so in the hand-back rather than leaving documentation unmentioned: deciding on your own that a change needs none, and staying quiet about it, is what this rule exists to catch.

Fresh-eyes review

The diff is reviewed by an agent that did not write it — spawn a subagent with its own context, never a fork, and hand it the diff rather than the conversation.

Give it the range — the branch against its base, or the pull request number — and tell it to read the AGENTS.md covering every path in that diff. Give it no checklist of conventions; those files are the checklist.

Where the session cannot spawn one, review the diff yourself as its own pass, reading those AGENTS.md files rather than trusting your memory of having written it, and say in the hand-back that no second agent saw it — weaker, not a skip.

It reports findings back as a short list (none is allowed). The implementing agent decides what to act on, and acting on one owes the Verify step again.

Attended, this runs before the branch is published, and again after a push that changes the diff. Unattended, once before the draft pull request opens.

Handing the branch back

Attended, once the work is done and its checks pass, ask what happens to the branch: merged into the one you cut it from, or left as it is for a pull request. Where merging is asked for and the new branch has never been pushed, rebase it onto that branch and fast-forward — linear history, and nothing published gets rewritten. Once the branch has been pushed, merge instead: rewriting published history invalidates the review comments already on it, and force-pushing is out of the question either way.

Unattended, do what the task asked for and nothing more. No instruction means the branch stays as it is, with its draft pull request — finishing the work does not imply merging it.

Then the issue's labels, which the commit-changes skill → "Hand back" covers.

© epam, 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

Files

Just SKILL.md in .agents/skills/implement-task of epam/cloud-pipeline.

Open the folder on GitHubat commit 5017688

Compare with similar skills

Implement Task 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.

Implement Task compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Implement Task this skillepam/cloud-pipeline162—~2.9kAutomated safety check: PassApache-2.0
Contextual Commit Messagesyamadashy/repomix29k1 repos~2.7kAutomated safety check: PassMIT
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
PR Finalize Reviewmicrosoft/garnet12k—~3.1kAutomated safety check: PassMIT
Caveman Commitvishiri/fantasia-archive40913 repos~642Automated safety check: PassGPL-3.0
ToolJet Multi-Repo CommitToolJet/ToolJet41k—~1.3kAutomated safety check: PassAGPL-3.0

Similar skills

  • Writes Conventional Commits whose bodies carry action lines recording the intent, decisions and constraints behind a change, not only what changed.

    29k GitHub starsUsed in 1 repo~2.7k tokens
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Finalize Review

    microsoft/garnet

    Official

    Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.

    12k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Caveman Commit

    vishiri/fantasia-archive

    Ultra-compressed commit message generator. An agent skill from vishiri/fantasia-archive.

    409 GitHub starsUsed in 13 repos~642 tokens
    DevelopmentAuto-check passed
  • Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes

More from epam/cloud-pipeline

All 8 skills in this repo
  • Verify Client Live

    epam/cloud-pipeline

    Open a user-visible client/ change in a browser against a real Cloud Pipeline deployment.

    162 GitHub stars~511 tokensUpdated yesterday
    Auto-check passed
  • Configure Dev Environment

    epam/cloud-pipeline

    Learn which toolchains and environments this workstation has and how to invoke them, or set them up when they are missing.

    162 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Commit Changes

    epam/cloud-pipeline

    Required before you commit, push or open a pull request here, asked or not.

    162 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Modifying Instructions

    epam/cloud-pipeline

    Required before adding or changing anything an agent reads — a convention in AGENTS.md, a procedure as a skill, a pattern-scoped rule.

    162 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: warnings
  • Plan Change

    epam/cloud-pipeline

    Plan the work before you edit — its phases, the model and effort each takes, and whether it is worth a plan file with a ledger beside it.

    162 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Verify Changes

    epam/cloud-pipeline

    Find and run the checks a change owes, from what it touches and what that can reach.

    162 GitHub stars~748 tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Implement Task

What does Implement Task do?

Start here before the first edit of any file — a one-liner and a docs change included. Implement Task is an agent skill from epam/cloud-pipeline. Start here before the first edit of any file — a one-liner and a docs change included.

When should I use Implement Task?

Implement Task fits situations like: tasks that involve Commit messages.

How do I install Implement Task in Claude Code?

Run `npx skills add epam/cloud-pipeline --skill implement-task -a claude-code`. Or copy the skill folder (.agents/skills/implement-task in epam/cloud-pipeline) into .claude/skills/implement-task in your project. Claude Code loads it when a task matches its description.

How do I install Implement Task in Codex?

Run `npx skills add epam/cloud-pipeline --skill implement-task -a codex`. Or copy the skill folder (.agents/skills/implement-task in epam/cloud-pipeline) into .agents/skills/implement-task in your project. Codex loads it when a task matches its description.

Can I use Implement Task in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add epam/cloud-pipeline --skill implement-task -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/implement-task, .gemini/skills/implement-task, .github/skills/implement-task and .opencode/skills/implement-task in your project.

What does Implement Task need to run?

Going by SKILL.md and its folder, Implement Task needs the command-line tools its instructions call (gh and git).

Does Implement Task access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Implement Task safe to install?

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.

What licence does Implement Task use?

Implement Task 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.

How many tokens does Implement Task use?

About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Implement Task?

Skills that share tags, products or a category with Implement Task: Contextual Commit Messages (yamadashy/repomix, 29k stars), React Router Release Notes Prep (remix-run/react-router, 57k stars), PR Finalize Review (microsoft/garnet, 12k stars) and Caveman Commit (vishiri/fantasia-archive, 409 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Implement Task?

epam (a GitHub organization) maintains it in epam/cloud-pipeline, which has 162 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.

Source: epam/cloud-pipeline on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.