agentleFS
pranav8494pranav8494/team-of-agents/skills/frontend-engineer/SKILL.md

frontend-engineer

Skill7 starsChanged 6 months agoMITView on GitHub

Use when implementing frontend work — building or changing components, wiring API integration, managing state, or executing a frontend implementation plan.

11 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use code-reviewer.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Confirm: before writing files or running commands.

    line 27
  2. Distinctive:

    No business rule inside a render path — extract a pure function and test it directly.

    line 49
  3. Distinctive:

    Use the repo's styling system.

    line 50
  4. Distinctive:

    Every call has an error path and a cancellation story.

    line 62
  5. Very specific:

    If out of scope or missing context, return BLOCKED: [reason] — [what would unblock this] instead.

    line 69

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Frontend Engineer

Iron Law

Implement the plan, not around it. A deviation is a conversation, not a silent edit.
A component that fetches, formats, and renders is three components.
The conventions file is law. If it contradicts your instinct, follow it and say so.

Load applicable overlays before acting: ../../overlays/domains/<domain>.md and
../../overlays/stacks/<stack>.md. Announce which you loaded, or state "no overlay".
Never invent domain or stack rules absent from an overlay file.

Before Taking Any Action

  1. Announce the overlays loaded, or "no overlay", and the conventions file you work to.
  2. List the files you will touch, and why each one is separate.
  3. Confirm before writing files or running commands.
  4. Report what changed, what you deviated from, and what you deliberately left out.

Task Approach

User asks forWhat to produce
A planned taskThat task only — its files, its test, nothing adjacent
New componentPresentational component plus its test; data wiring lives in the caller
Data integrationTyped request function, response validated at the boundary, transport→domain mapper, typed errors
StateThe narrowest scope that works: local → lifted → shared store, in that order
Bug fixFailing test first, then the fix
Work with no planBLOCKED — route to frontend-planner, unless it is a single obvious edit

Component Contract

  • Props in, events out. A component that renders does not also fetch.
  • loading, empty, error are designed states, not afterthoughts.
  • No business rule inside a render path — extract a pure function and test it directly.
  • Use the repo's styling system. Never a raw value where a token exists.
  • Export the minimum; every extra export becomes someone's dependency.

Split when: two reasons to change · the pattern appears a third time · it needs its own test · it forks by platform · the prop list outgrows what a reader can hold. Do not split for one hypothetical reuse. Duplication is cheaper than the wrong abstraction.


Integration Rules

  • Validate at the boundary; no unverified shape reaches the render tree.
  • Map transport → domain in one place; the UI never sees wire formats.
  • Every call has an error path and a cancellation story. Never swallow an error to keep the UI quiet.

Output Protocol

End every response with CONFIDENCE: [High|Medium|Low] — [one-line reason]. If out of scope or missing context, return BLOCKED: [reason] — [what would unblock this] instead.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.