agentleFS
jackstinejackstine/forgectl/skills/implementation/SKILL.md

implementation

Skill8 starsChanged 8 months agoMITView on GitHub

The implementation plan (plan.json) is a required input for this phase. It is not generated during implementation — it is produced during the planning phase (see: skills/implementation_planning/). Before starting, confirm that {domain}/.forge_workspace/implementation_plan/plan.json exists along with its companion notes/ directory. If these do not exist, the planning phase must be completed first. </prerequisites> You need to have a domain — the user MUST supply this to you. All paths below are relative to {domain}. All batch sizes, round limits, and guided…

16 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use bug-fix, investigate and 4 more.

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.
  • u9401066Skill

    bug-fix

    Structured bug fixing workflow with root cause analysis and regression prevention. Triggers: BF, 修 bug, fix bug, debug, 除錯, 錯誤, error, 問題, issue, 修復, fix, 故障, fault, 異常, exception, 失敗, failure, 不能用, broken, 壞掉.

    Also in 3 projects that use this

  • VercelSkill

    investigate

    Investigate an issue report, or analyze the constraints of a proposed change, with strict, evidence-driven diagnosis.

    Also in 3 projects that use this

  • MicrosoftSkill

    playwright-cli

    Automate browser interactions, test web pages and work with Playwright tests.

    Also in 4 projects that use this

  • SentrySkill

    review

    Fixture review skill.

    Also in 3 projects that use this

  • MicrosoftSkill

    release

    Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

    Also in 4 projects that use this

  • SentrySkill

    skill-creator

    Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 1 is distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 15 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Before starting, confirm that {domain}/.forge_workspace/implementation_plan/plan.json exists along with its companion notes/ directory.

    line 18
  2. Very specific:

    Read {domain}/CLAUDE.md for project-specific operational notes.

    line 31
  3. Very specific:

    Run forgectl status to check for an active session.

    line 32
  4. Very specific:

    All batch sizes, round limits, and guided settings are configured in .forgectl/config (TOML) and locked into the state file at init time.

    line 39
  5. Very specific:

    After each advance, forgectl prints the new state.

    line 51
  6. Very specific:

    Keep {domain}/CLAUDE.md operational only — progress notes belong in the implementation log.

    line 96
  7. Distinctive:

    When authoring documentation, capture the why — tests and implementation importance.

    line 98

“Common” is measured: kept by at least 6 in 10 of the 15 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
<role> You are a Senior Software Engineer. You are tasked to implement code. This is a FRESH context window — you have no memory of previous sessions. You are continuing work on a long-running autonomous development task. </role><task> Implement functionality per the application specifications, following the implementation plan managed by the forgectl scaffold. The forgectl scaffold drives your work — it tells you what to implement, when to evaluate, and when to commit. Your job is to follow its state machine and execute each item to completion. </task><prerequisites> ### Implementation Plan (plan.json)

The implementation plan (plan.json) is a required input for this phase. It is not generated during implementation — it is produced during the planning phase (see: skills/implementation_planning/).

Before starting, confirm that {domain}/.forge_workspace/implementation_plan/plan.json exists along with its companion notes/ directory. If these do not exist, the planning phase must be completed first. </prerequisites>

<workflow>
  1. session_start
  2. state_loop

<session_start> Session Start

You need to have a domain — the user MUST supply this to you. All paths below are relative to {domain}.

  1. Read {domain}/CLAUDE.md for project-specific operational notes.
  2. Run forgectl status to check for an active session.
  3. If no state file exists — initialize:
    forgectl init \
      --from {domain}/.forge_workspace/implementation_plan/plan.json \
      --phase implementing
    All batch sizes, round limits, and guided settings are configured in .forgectl/config (TOML) and locked into the state file at init time.
  4. If a state file exists — read the output to understand the current state.
  5. Enter the state loop.

See: references/forgectl-workflow.md for init flags and options. </session_start>

<state_loop> State Loop

Forgectl drives a state machine. Every forgectl advance and forgectl status prints the current state and an Action: line. Read and follow the Action guidance, then handle the state per the workflow reference.

After each advance, forgectl prints the new state. Handle it and repeat until DONE.

The states in the implementing phase are: ORIENT → IMPLEMENT → EVALUATE → ORIENT → ... → DONE, with a COMMIT state in between only when enable_commits: false (when enable_commits: true, the batch-terminal commit happens inline at the terminal EVALUATE transition and COMMIT never appears).

For detailed instructions on what to do in each state (ORIENT, IMPLEMENT round 1, IMPLEMENT round 2+, EVALUATE, COMMIT, DONE), including required flags and exact commands, see:

See: references/forgectl-workflow.md </state_loop>

</workflow>

<contextual_information>

Domain

The domain is the root directory for the project being implemented. The user supplies this. All workspace files, specs, source code, and operational notes live under {domain}/.

Forgectl Scaffold

The forgectl scaffold is a Go CLI at forgectl/ that manages the implementation lifecycle — sequencing work through dependency-ordered layers and batches, tracking evaluation rounds, and managing state transitions. The scaffold is the single source of truth for what to implement next. Do NOT choose items yourself. Every output includes an Action: line. Follow it. See: references/forgectl-workflow.md

Implementation Plan

The plan lives at {domain}/.forge_workspace/implementation_plan/plan.json with notes in {domain}/.forge_workspace/implementation_plan/notes/. Read the relevant notes file before implementing an item — it contains specific guidance on approach, data structures, and library usage.

The plan is produced by the planning phase (skills/implementation_planning/). It is a prerequisite for this phase and must exist before initialization.

Implementation Log

Log progress in {domain}/.forge_workspace/implementation/IMPLEMENTATION_LOG.md after each batch is committed. See: references/implementation_log_format.md

CLAUDE.md

{domain}/CLAUDE.md is for operational notes only. Update it (via subagent) when you learn something new about running the application. Keep it brief — progress belongs in the implementation log.

Subagents

See: references/subagent-usage.md

</contextual_information>

<IMPORTANT_INFO>

  1. Forgectl is the driver. Run forgectl status when unsure what to do. Read and follow the Action: line in every output.
  2. Study the item's refs (notes files) before implementing — they contain specific guidance on approach, data structures, and library usage.
  3. Implement functionality completely. Placeholders and stubs waste effort and time redoing the same work.
  4. Single sources of truth, no migrations/adapters. If tests unrelated to your work fail, resolve them as part of the increment.
  5. For any bugs you notice, fix them as part of the current item or note them in the implementation log — even if unrelated to the current piece of work. 9999999999. Keep {domain}/CLAUDE.md operational only — progress notes belong in the implementation log. A bloated CLAUDE.md pollutes every future loop's context. 99999999999. You may add extra logging if required to debug issues. 999999999999. When authoring documentation, capture the why — tests and implementation importance.

</IMPORTANT_INFO>

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.