agentleFS
xsovad06xsovad06/sova/.agents/skills/sova-develop/SKILL.md

sova-develop

Skill3 starsChanged 4 days agoApache-2.0View on GitHub

Develop a feature or fix based on the provided description, then run tests to verify.

The file

Show its rules and text

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈18

    Distinctive · estimate

    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. Distinctive:

    Match existing patterns: Use the project's conventions, not generic patterns

    line 21
  2. Distinctive:

    Proper logging: Add meaningful logs for debugging and monitoring

    line 24
  3. Distinctive:

    Scout rule: Leave every file you touch better than you found it

    line 25
  4. Distinctive:

    Read the project's CLAUDE.md and AGENTS.md for conventions

    line 32
  5. Distinctive:

    Read agent memory files if they exist:

    line 33
  6. Distinctive:

    Follow existing codebase conventions:

    line 46
  7. Distinctive:

    Use the project's established architecture layers (see AGENTS.md)

    line 47
  8. Distinctive:

    Keep business logic in the appropriate layer (services, not controllers/views)

    line 49
  9. Distinctive:

    Use existing utilities and helpers: check before creating new ones

    line 50
  10. Distinctive:

    Keep scout fixes small and low-risk.

    line 60
  11. Distinctive:

    Check CLAUDE.md, AGENTS.md or the Makefile for build steps like these, and run every one that applies:

    line 66
  12. Distinctive:

    If the project compiles CSS utility classes, rebuild after adding new classes.

    line 67
  13. Distinctive:

    If it has a service-worker or static cache version, bump it when static assets change.

    line 68
  14. Distinctive:

    If it has translation catalogs, extract and compile them after adding user-facing strings, and clear any fuzzy entries (they are skipped at …

    line 69
  15. Very specific:

    Run the full CI-equivalent checks, skipping only when an identical check already passed earlier in this autonomous pipeline cycle for this …

    line 73
  16. Very specific:

    Testing issues?: Run the sova-test skill to iterate on failures

    line 97
  17. Very specific:

    Ready to review?: Run the sova-review skill for a self-review before pushing

    line 98
  18. Very specific:

    Full workflow?: Use the sova-develop-full skill instead for end-to-end (develop + test + review + PR)

    line 99
  19. Distinctive:

    Follow patterns from the project's existing code and CLAUDE.md/AGENTS.md

    line 103
  20. Distinctive:

    NEVER use emojis in any output

    line 104
  21. Distinctive:

    Do NOT add docstrings, comments, or type annotations to code you didn't change

    line 105
  22. Distinctive:

    Do NOT refactor or "improve" code outside the scope of the task

    line 106

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Develop the requested feature or fix, then verify with tests.

Instructions

You are a development agent. Your job is to implement the requested changes and verify they work. You are an expert in the project's tech stack (see CLAUDE.md and AGENTS.md for conventions).

Task to develop: the arguments provided when this skill is invoked


Core Principles

  1. Simplicity first: Make the smallest, simplest change possible
  2. Readability over cleverness: Code should be instantly understandable
  3. Match existing patterns: Use the project's conventions, not generic patterns
  4. Consistency: Match existing codebase style exactly
  5. Testability: Code MUST be testable; non-negotiable
  6. Proper logging: Add meaningful logs for debugging and monitoring
  7. Scout rule: Leave every file you touch better than you found it

Workflow

Step 1: Understand the Context

  1. Check for an approved spec: look for .claude/specs/{issue-number}-*.md (where issue-number matches the arguments provided when this skill is invoked if it's a number). If a spec exists with Status: approved, read it and use it as primary task context. The spec's steps, file references, and edge cases take precedence over ad-hoc exploration. When spec context is provided inline (below the arguments provided when this skill is invoked), use it directly. Do NOT re-fetch the raw issue body from the tracker, as the spec already encodes the same intent in distilled form.
  2. Read the project's CLAUDE.md and AGENTS.md for conventions
  3. Read agent memory files if they exist:
    • .claude/agent-memory/MEMORY.md and .claude/agent-memory/common-mistakes.md
    • The cookbook: when .claude/agent-memory/cookbook/ exists, read its README.md index and then only the domain files for the modules this work touches (the whole cookbook is too large to load); otherwise read .claude/agent-memory/cookbook.md
  4. Identify which module(s) this work touches and read relevant source code
  5. Understand the existing patterns before writing any code

Step 2: Write Tests First (TDD)

  • Define expected behavior before implementation
  • Cover positive paths, negative paths, and edge cases

Step 3: Implement the Solution

Follow existing codebase conventions:

  • Use the project's established architecture layers (see AGENTS.md)
  • Match naming conventions, error handling style, and code structure
  • Keep business logic in the appropriate layer (services, not controllers/views)
  • Use existing utilities and helpers: check before creating new ones

Step 4: Scout Check

For every file you touched, scan for pre-existing issues and fix them:

  • Failing or flaky tests in the same test file
  • Lint warnings or type errors in the same module
  • Obvious bugs adjacent to your changes (off-by-one, missing None checks)
  • Stale imports, dead code, or leftover debug prints in the same file

Keep scout fixes small and low-risk. Do not refactor entire files; just clean up what you see while you are already there. If a scout fix is non-trivial, note it for a separate task instead of doing it inline.

Step 5: Project-Specific Build Steps

Check CLAUDE.md, AGENTS.md or the Makefile for build steps like these, and run every one that applies:

  • If the project compiles CSS utility classes, rebuild after adding new classes.
  • If it has a service-worker or static cache version, bump it when static assets change.
  • If it has translation catalogs, extract and compile them after adding user-facing strings, and clear any fuzzy entries (they are skipped at compile time).

Step 6: Verify

Run the full CI-equivalent checks, skipping only when an identical check already passed earlier in this autonomous pipeline cycle for this exact worktree state (a no-op outside the autonomous pipeline: sova checks should-skip only ever reports a skip there):

if sova checks should-skip "make check"; then
  echo "Full check already passed for this worktree state earlier in the pipeline cycle; skipping re-run."
else
  make check && { sova checks record "make check" --passed || true; }
fi

That command is only as complete as the project configured it: if it is not the same target CI runs, also run the CI steps it omits (read the CI workflow file to list them).

If any check fails, fix and re-run the whole block above (up to 3 attempts). The chained sova checks record inside it is the only thing that records a pass, and it is harmless if the installed sova has no checks subcommand yet. Never run sova checks record ... --passed as a separate step: a fix loop usually re-runs only the failing tests or the linter, so recording outside the chain would claim a full-check pass for a worktree state the full check never verified, and a later call site would skip its own run on the strength of it.

Step 7: Self-Check

Before declaring done:

  • All tests pass
  • Linter is clean
  • No debug code or print statements left
  • No unnecessary changes outside the task scope
  • New code follows existing patterns exactly

Cross-References

  • Testing issues? Run the sova-test skill to iterate on failures
  • Ready to review? Run the sova-review skill for a self-review before pushing
  • Full workflow? Use the sova-develop-full skill instead for end-to-end (develop + test + review + PR)

Rules

  • Follow patterns from the project's existing code and CLAUDE.md/AGENTS.md
  • NEVER use emojis in any output
  • Do NOT add docstrings, comments, or type annotations to code you didn't change
  • Do NOT refactor or "improve" code outside the scope of the task

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.