Code Assist logo

Code Assist

CommunityPopular
mikeyobrien
code-assist

Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical Implementation Partner and TDD Coach — following existing patterns, avoiding over-engineering, and producing idiomatic, modern code.

Overview

Publishermikeyobrien
Repositoryralph-orchestrator
Skill namecode-assist
Stars
3.2K
Forks
299
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by mikeyobrien on GitHub. Read the source before you install it.

Installation

Install the Code Assist AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/mikeyobrien/ralph-orchestrator/tree/main/.claude/skills/code-assist
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mikeyobrien/ralph-orchestrator.git /tmp/ralph-orchestrator
mkdir -p .claude/skills
cp -r /tmp/ralph-orchestrator/.claude/skills/code-assist .claude/skills/code-assist
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Code Assist in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Code Assist on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Code Assist is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Code Assist

Overview

Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Balances automation with user collaboration while adhering to existing package patterns and prioritizing readability and extensibility.

Parameters

  • task_description (required): Task specification, rough idea, file path to .code-task.md, or URL
  • additional_context (optional): Supplementary information for implementation context
  • documentation_dir (optional, default: ".sop/planning"): Directory for planning documents
  • repo_root (optional, default: current working directory): Repository root for code implementation
  • task_name (optional): Short descriptive name (auto-generated if not provided)
  • mode (optional, default: "auto"): "interactive" (confirmation at each step) or "auto" (autonomous execution)

Constraints:

  • You MUST ask for all parameters upfront in a single prompt to avoid repeated interruptions
  • You MUST validate inputs: normalize mode to "interactive"/"auto", verify paths, generate task_name if needed

Mode Behavior

Apply these patterns throughout all steps:

Interactive Mode: Present actions for confirmation. Explain pros/cons when multiple approaches exist. Ask clarifying questions. Pause at key decision points. Provide educational context.

Auto Mode: Execute autonomously. Document all decisions and reasoning in progress.md. Select the most appropriate approach and document why. Provide comprehensive summaries at completion.

Important Notes

Separation of Concerns: Documentation goes in {documentation_dir}. Code (tests and implementation) goes in repo_root. Never mix them. Documentation should guide implementation with high-level concepts — not provide it. When including code snippets in documentation, keep them brief and clearly label them as examples or references.

CODEASSIST.md Integration: If CODEASSIST.md exists in repo_root, read it and apply its constraints throughout.

Steps

1. Setup

Initialize the project environment and create necessary directory structures.

Constraints:

  • You MUST create {documentation_dir}/implementation/{task_name}/ (with logs subdirectory) and verify it exists before proceeding
  • You MUST discover instruction files (CODEASSIST.md, README.md, CONTRIBUTING.md, ARCHITECTURE.md, etc.) and summarize relevant information in context.md
  • You MUST create context.md (project structure, requirements, patterns, dependencies) and progress.md (execution tracking with markdown checklists)
  • If task_description points to a .code-task.md with YAML frontmatter, update status: in_progress and started: <date> (if not already set)

💬 See Mode Behavior for mode-specific interaction guidance

2. Explore Phase

2.1 Analyze Requirements and Context

Analyze the task description and existing documentation to identify core functionality, edge cases, and constraints.

Constraints:

  • You MUST produce a clear list of functional requirements and acceptance criteria, even from rough descriptions
  • You MUST determine appropriate file paths, language, and alignment with existing project structure
  • In interactive mode, discuss requirements with the user, clarify ambiguities, and validate your understanding

💬 See Mode Behavior for mode-specific interaction guidance

2.2 Research Existing Patterns

Search for similar implementations and identify interfaces, libraries, and components the implementation will interact with.

Constraints:

  • You MUST search the repository for relevant code, patterns, and conventions
  • You MUST create a dependency map and update context.md with implementation paths

💬 See Mode Behavior for mode-specific interaction guidance

3. Plan Phase

3.1 Design Test Strategy

Create test scenarios covering normal operation, edge cases, and error conditions.

Constraints:

  • You MUST cover all acceptance criteria with at least one test scenario
  • You MUST define explicit input/output pairs and save scenarios to plan.md
  • You MUST design tests that will initially fail (no mock implementations during design)

💬 See Mode Behavior for mode-specific interaction guidance

3.2 Implementation Planning & Tracking

Outline the high-level structure and create an implementation plan.

Constraints:

  • You MUST save the plan to plan.md with key implementation tasks
  • You MUST maintain an implementation checklist in progress.md using markdown checkbox format
  • In interactive mode, present multiple approaches with pros/cons and discuss trade-offs

💬 See Mode Behavior for mode-specific interaction guidance

4. Code Phase

Phase-wide constraints:

  • You MUST place all code (tests and implementation) in repo_root, never in documentation_dir
  • You MUST verify tests/builds pass before advancing to the next sub-step
  • You MUST follow the existing codebase's conventions (naming, patterns, error handling, testing style)
  • Pipe build output to {documentation_dir}/implementation/{task_name}/logs/ and search for success/failure indicators
4.1 Implement Test Cases

Write test cases following strict TDD principles.

Constraints:

  • You MUST implement tests for ALL requirements before writing ANY implementation code
  • You MUST execute tests to verify they fail as expected, documenting failure reasons
  • You MUST follow the testing framework conventions used in the existing codebase

💬 See Mode Behavior for mode-specific interaction guidance

4.2 Develop Implementation Code

Write implementation code to pass the tests, focusing on simplicity and correctness first.

Constraints:

  • You MUST follow the TDD cycle: RED → GREEN → REFACTOR
  • You MUST implement only what is needed to make current tests pass (YAGNI, KISS, SOLID)
  • You MUST execute tests after each implementation step to verify they pass

💬 See Mode Behavior for mode-specific interaction guidance

4.3 Refactor and Optimize

Review the implementation for simplification, improvement, and convention alignment.

Constraints:

  • You MUST verify all tests and builds pass before starting — fix any failures first
  • You MUST align implementation with surrounding codebase conventions (naming, structure, error handling, imports, logging)
  • You MUST maintain test-passing status throughout refactoring

💬 See Mode Behavior for mode-specific interaction guidance

4.4 Validate Implementation

Verify the implementation is complete and correct.

Constraints:

  • You MUST run the full test suite and build, verifying all pass
  • You MUST verify all implementation plan items are completed
  • You MUST NOT claim completion while any tests are failing

💬 See Mode Behavior for mode-specific interaction guidance

5. Commit Phase

Draft a conventional commit message and perform the git commit.

Constraints:

  • You MUST NOT commit until builds AND tests are verified passing
  • You MUST follow the Conventional Commits specification
  • You MUST NOT push to remote repositories
  • If task_description was a .code-task.md, update frontmatter to status: completed and completed: <date> before committing
  • Document the commit hash in progress.md

💬 See Mode Behavior for mode-specific interaction guidance

Desired Outcome

  • Complete, well-tested implementation meeting all requirements
  • Comprehensive test suite validating the implementation
  • Clean code following existing patterns, prioritizing readability, avoiding over-engineering
  • Implementation artifacts in {documentation_dir}/implementation/{task_name}/ (context.md, plan.md, progress.md, logs/)
  • Properly committed changes with conventional commit messages

Examples

Feature Implementation

Input:

task_description: "Create a utility function that validates email addresses"
mode: "interactive"

Expected Process:

  1. Check for CODEASSIST.md and discover instruction files
  2. Detect project type from existing files (pom.xml, package.json, etc.)
  3. Set up directory structure in .sop/planning/implementation/email-validator/
  4. Explore requirements and create context documentation
  5. Plan test scenarios for valid/invalid email formats
  6. Implement tests first (TDD approach)
  7. Implement the validation function
  8. Commit with conventional commit message

Troubleshooting

Directory/Permission Issues: Create directories if possible, inform user of permission issues, suggest alternatives.

Build Failures: Check CODEASSIST.md for guidance, verify correct directory, try clean builds, check dependencies.

Multi-Package Coordination: Verify dependency order, build in order, create separate commits per package.

Task File Frontmatter Issues: Skip frontmatter updates if missing/malformed. Don't fail the task due to frontmatter issues.

Implementation Challenges: Document in progress.md, propose alternatives. In interactive mode ask for guidance; in auto mode select the most promising approach and document the decision.

Artifacts

• {documentation_dir}/implementation/{task_name}/context.md — Workspace structure, requirements, patterns, dependencies, implementation paths • {documentation_dir}/implementation/{task_name}/plan.md — Test scenarios, implementation strategy • {documentation_dir}/implementation/{task_name}/progress.md — Execution tracking, TDD cycles, commit status, challenges • {documentation_dir}/implementation/{task_name}/logs/ — Build outputs

Frequently asked questions

What does the Code Assist AI skill do?

Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical Implementation Partner and TDD Coach — following existing patterns, avoiding over-engineering, and producing idiomatic, modern code.

Why use Code Assist on TypingMind?

Because you install it once and use it with any model. Code Assist is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Code Assist in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mikeyobrien/ralph-orchestrator/tree/main/.claude/skills/code-assist. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Code Assist?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Code Assist?

As many as you like. As long as a model supports skills, you can use Code Assist with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Code Assist AI skill free?

Yes. It is published on GitHub by mikeyobrien under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇