agentleFS
ethosagentethosagent/ethos/skills/software-development/writing-plans/SKILL.md

writing-plans

Skill22 starsChanged 9 days agoMITView on GitHub

Meta-skill that teaches the shape of a good Ethos plan file — sections, level of detail, deliverable tagging. Improves every subsequent plan invocation. Loads automatically alongside the plan skill.

187 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use chinese-code-review, chinese-commit-conventions and 10 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.
  • Leodorareluctant259Skill

    chinese-code-review

    中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈

    Also in 8 projects that use this

  • Leodorareluctant259Skill

    chinese-commit-conventions

    中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化

    Also in 8 projects that use this

  • ryanportfolioSkill

    addskill

    Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.

    Also in 6 projects that use this

  • ryanportfolioSkill

    apply-firmware

    Bring current folder (plain folder, existing repo, old or partial firmware copy) up to full Harness Firmware in place. Mirror external repo → adopt-repo.

    Also in 6 projects that use this

  • +2 more from Leodorareluctant259
  • +6 more from ryanportfolio

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 169 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

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

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

    Every personal plan under .ethos-work/plans/ and every long-form plan under plan/<topic>.md in the repo follows this shape.

    line 31
  2. Very specific:

    Use relative paths: (./other_plan.md), (../docs/content/skills/overview.md).

    line 64
  3. Very specific:

    Do not link to absolute paths or to file:// URLs.

    line 65
  4. Very specific:

    When referencing a section: Section title.

    line 66

“Common” is measured: kept by at least 6 in 10 of the 169 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

Writing Plans

Advisory skill. It is loaded together with plan and shapes every Ethos plan file you write. No tools to invoke; the body below is the spec.

The 7-section Ethos plan template

Every personal plan under .ethos-work/plans/ and every long-form plan under plan/<topic>.md in the repo follows this shape.

  1. Header — title and one-blockquote summary. Two sentences max. The reader should know what the plan is for from the header alone.
  2. Status — a status legend at the top (or a 🔲 / ⚠️ / ✅ marker per section). Use the legend below.
  3. Body — the actual proposal: motivation, design, sub-sections per concern. The bulk of the document.
  4. Sequencing — the rollout order. A numbered list or a small table with phases. Every plan that ships in more than one PR needs a sequencing block.
  5. Acceptance gate — what must be true before the plan is considered done. Concrete, verifiable items. Tests pass / docs updated / migration applied / metric x in range.
  6. Decisions log — every non-obvious decision gets one row: | Date | Decision | Rationale |. The rationale matters most — it tells future readers why a path was chosen over alternatives.
  7. Session log — append-only record of when work happened on this plan and what changed. One entry per session, dated.

Status legend

MarkerMeaning
🔲Not started
⏳In progress
⚠️Blocked or needs decision
✅Done
❌Dropped (with rationale in decisions log)

File path conventions

  • Repo plans: plan/<topic>.md. Topic uses snake_case to match the existing files.
  • Personal plans: .ethos-work/plans/<slug>.md in the workspace, kept out of git by adding .ethos-work/ to .git/info/exclude. Slug uses kebab-case. Not under ~/.ethos: the default fs_reach refuses a write_file there (see the plan skill).

Cross-link conventions

  • Use relative paths: (./other_plan.md), (../docs/content/skills/overview.md).
  • Do not link to absolute paths or to file:// URLs.
  • When referencing a section: [Section title](./other_plan.md#section-title).

Decisions log discipline

A decision row is required when any of the following is true:

  • You picked one approach over a clearly viable alternative.
  • You set a value (cap, timeout, threshold) that future readers will wonder about.
  • You declared something out of scope.
  • You changed direction from a prior decision.

Format:

| 2026-05-06 | Use mtime cache instead of inotify | Cross-platform; mtime is sub-millisecond on every fs we run on |

Sources section

Whenever a plan involves external research (other agents, papers, docs), end with a ## Sources block listing every link the plan was informed by. This is research provenance — it lets future readers re-verify the design.

Anti-patterns

  • A plan with no open questions, no risks, and no decisions log. That plan was not thought through.
  • Section headers without bodies. Either fill them or drop them.
  • A "session log" that contains the plan body. The session log is a record of when work happened, not the work itself.
  • Mixing plan content with execution output. If the LLM writes a plan and immediately starts executing, both halves are corrupted — write the plan, stop, get review.

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.